` element.
+
+Props:
+
+- See inherited props: [Box](#box)
+
+### `Table.Cell`
+
+A straight forward mapping to `` element.
+
+Props:
+
+- See inherited props: [Box](#box)
+- `collapsing: boolean` - Collapses table cell to the smallest possible size,
+and stops any text inside from wrapping.
+
+### `Tabs`
+
+Tabs make it easy to explore and switch between different views.
+
+Here is an example of how you would construct a simple tabbed view:
+
+```jsx
+
+
+ Content for Item one.
+
+
+ Content for Item two.
+
+
+```
+
+This is a rather simple example. In the real world, you might be
+constructing very complex tabbed views which can tax UI performance.
+This is because your tabs are being rendered regardless of their
+visibility status!
+
+There is a simple fix however. Tabs accept functions as children, which
+will be called to retrieve content only when the tab is visible:
+
+```jsx
+
+
+ {() => (
+
+ Content for Item one.
+
+ )}
+
+
+ {() => (
+
+ Content for Item two.
+
+ )}
+
+
+```
+
+You might not always need this, but it is highly recommended to always
+use this method. Notice the `key` prop on tabs - it uniquely identifies
+the tab and is used for determining which tab is currently active. It can
+be either explicitly provided as a `key` prop, or if omitted, it will be
+implicitly derived from the tab's `label` prop.
+
+Props:
+
+- `vertical: boolean` - Use a vertical configuration, where tabs will appear
+stacked on the left side of the container.
+- `children: Tab[]` - This component only accepts tabs as its children.
+
+### `Tabs.Tab`
+
+An individual tab element. Tabs function like buttons, so they inherit
+a lot of `Button` props.
+
+Props:
+
+- See inherited props: [Button](#button)
+- `key: string` - A unique identifier for the tab.
+- `label: string` - Tab label.
+- `icon: string` - Tab icon.
+- `content/children: any` - Content to render inside the tab.
+- `onClick: function` - Called when element is clicked.
+
+### `Tooltip`
+
+A boxy tooltip from tgui 1. It is very hacky in its current state, and
+requires setting `position: relative` on the container.
+
+Please note, that [Button](#button) component has a `tooltip` prop, and
+it is recommended to use that prop instead.
+
+Usage:
+
+```jsx
+
+ Sample text.
+
+
+```
+
+Props:
+
+- `position: string` - Tooltip position.
+- `content/children: string` - Content of the tooltip. Must be a plain string.
+Fragments or other elements are **not** supported.
diff --git a/tgui-next/bin/tgui b/tgui-next/bin/tgui
new file mode 100644
index 0000000000..401d67b622
--- /dev/null
+++ b/tgui-next/bin/tgui
@@ -0,0 +1,159 @@
+#!/bin/bash
+set -e
+shopt -s globstar
+shopt -s expand_aliases
+
+## Initial set-up
+## --------------------------------------------------------
+
+## Returns an absolute path to file
+alias tgui-realpath="readlink -f"
+
+## Fallbacks for GNU readlink
+## Detecting GNU coreutils http://stackoverflow.com/a/8748344/319952
+if ! readlink --version >/dev/null 2>&1; then
+ if hash greadlink 2>/dev/null; then
+ alias tgui-realpath="greadlink -f"
+ else
+ alias tgui-realpath="perl -MCwd -le 'print Cwd::abs_path(shift)'"
+ fi
+fi
+
+## Find a canonical path to project root
+base_dir="$(dirname "$(tgui-realpath "${0}")")/.."
+base_dir="$(tgui-realpath "${base_dir}")"
+
+## Add locally installed node programs to path
+PATH="${PATH}:node_modules/.bin"
+
+
+## Functions
+## --------------------------------------------------------
+
+## Installs node modules
+task-install() {
+ cd "${base_dir}"
+ yarn install
+}
+
+## Runs webpack
+task-webpack() {
+ cd "${base_dir}/packages/tgui"
+ webpack "${@}"
+}
+
+## Runs a development server
+task-dev-server() {
+ cd "${base_dir}/packages/tgui-dev-server"
+ exec node --experimental-modules index.js "${@}"
+}
+
+## Run a linter through all packages
+task-eslint() {
+ cd "${base_dir}"
+ eslint ./packages "${@}"
+}
+
+## Mr. Proper
+task-clean() {
+ cd "${base_dir}"
+ rm -rf packages/tgui/public/.tmp
+ rm -rf **/node_modules
+ rm -f **/package-lock.json
+}
+
+## Installs merge drivers and git hooks
+task-install-git-hooks() {
+ cd "${base_dir}"
+ local git_root
+ local git_base_dir
+ git_root="$(git rev-parse --show-toplevel)"
+ git_base_dir="${base_dir/${git_root}/.}"
+ git config --replace-all merge.tgui-merge-bundle.driver \
+ "${git_base_dir}/bin/tgui --merge=bundle %O %A %B %L"
+ echo "tgui: Merge drivers have been successfully installed!"
+}
+
+## Bundle merge driver
+task-merge-bundle() {
+ local file_ancestor="${1}"
+ local file_current="${2}"
+ local file_other="${3}"
+ local conflict_marker_size="${4}"
+ echo "tgui: Discarding a local tgui build"
+ ## Do nothing (file_current will be merged and is what we want to keep).
+ exit 0
+}
+
+
+## Main
+## --------------------------------------------------------
+
+if [[ ${1} == "--merge"* ]]; then
+ if [[ ${1} == "--merge=bundle" ]]; then
+ shift 1
+ task-merge-bundle "${@}"
+ fi
+ echo "Unknown merge strategy: ${1}"
+ exit 1
+fi
+
+if [[ ${1} == "--install-git-hooks" ]]; then
+ shift 1
+ task-install-git-hooks
+ exit 0
+fi
+
+## Continuous integration scenario
+if [[ ${1} == "--ci" ]]; then
+ task-clean
+ task-install
+ task-eslint
+ task-webpack --mode=production
+ exit 0
+fi
+
+if [[ ${1} == "--clean" ]]; then
+ task-clean
+ exit 0
+fi
+
+if [[ ${1} == "--dev" ]]; then
+ shift
+ task-install
+ task-dev-server "${@}"
+ exit 0
+fi
+
+if [[ ${1} == '--lint' ]]; then
+ shift 1
+ task-install
+ task-eslint "${@}"
+ exit 0
+fi
+
+if [[ ${1} == '--lint-harder' ]]; then
+ shift 1
+ task-install
+ task-eslint -c .eslintrc-harder.yml "${@}"
+ exit 0
+fi
+
+## Analyze the bundle
+if [[ ${1} == '--analyze' ]]; then
+ task-install
+ task-webpack --mode=production --analyze
+ exit 0
+fi
+
+## Make a production webpack build
+if [[ -z ${1} ]]; then
+ task-install
+ task-eslint
+ task-webpack --mode=production
+ exit 0
+fi
+
+## Run webpack with custom flags
+task-install
+task-webpack "${@}"
diff --git a/tgui-next/bin/tgui-build.bat b/tgui-next/bin/tgui-build.bat
new file mode 100644
index 0000000000..89e1aca915
--- /dev/null
+++ b/tgui-next/bin/tgui-build.bat
@@ -0,0 +1,5 @@
+@echo off
+cd "%~dp0\.."
+call yarn install
+call yarn run build
+timeout /t 9
diff --git a/tgui-next/bin/tgui-dev-server.bat b/tgui-next/bin/tgui-dev-server.bat
new file mode 100644
index 0000000000..1b5bdcfb1d
--- /dev/null
+++ b/tgui-next/bin/tgui-dev-server.bat
@@ -0,0 +1,4 @@
+@echo off
+cd "%~dp0\.."
+call yarn install
+call yarn run watch
diff --git a/tgui-next/docs/converting-old-tgui-interfaces.md b/tgui-next/docs/converting-old-tgui-interfaces.md
new file mode 100644
index 0000000000..c92cefca5e
--- /dev/null
+++ b/tgui-next/docs/converting-old-tgui-interfaces.md
@@ -0,0 +1,322 @@
+# Converting old tgui interfaces to tgui-next
+
+This guide is going to assume you already know roughly how tgui-next works, how to make new uis, etc. It's mostly aimed at helping translate concepts between tgui and tgui-next, and clarify some confusing parts of the transition.
+
+## Backend
+
+Backend in almost every case does not require any changes. In particularly heavy ui cases, something to be aware of is the new `ui_static_data()` proc. This proc allows you to split some data sent to the interface off into data that will only be sent on ui initialize and when manually updated by elsewhere in the code. Useful for things like cargo where you have a very large set of mostly identical code.
+
+Keep in mind that for uis where *all* data doesn't need to be live updating, you can just toggle off autoupdate for the ui instead of messing with static data.
+
+## Frontend
+
+The very first thing to note is the name of the `ract` file containing the old interface. Whatever the name is (minus the extension) is going to be what the route key is going to be.
+
+One thing I like to do before starting work on a conversion is screenshot what the old interface looks like so I have something to reference to make sure that the styling can line up as well.
+
+## General syntax changes
+
+Ractive has a fairly different templating syntax from React.
+
+### `data`
+
+You likely already know that React data inserts look like this
+
+```jsx
+{data.example_data}
+```
+
+Ractive looks very similar, the only real difference is that React uses one paranthesis instead of two.
+
+```ractive
+{{data.example_data}}
+```
+
+However, you may occasionally come across data inserts that instead of referencing the `data` var or things contained within it instead reference `adata`. `adata` was short for animated data, and was used for smooth number animations in interfaces. instead of having a seperate data structure for this. tgui-next instead uses a component, which is `AnimatedNumber`.
+
+`AnimatedNumber` is used like this
+
+```jsx
+
+```
+
+Make sure you don't forget to import it.
+
+### Conditionals
+
+Ractive conditionals look very different from React conditionals.
+
+A ractive `if` (only render if result of expression is true) looks like this
+
+```ractive
+{{#if data.condition}}
+ Example Render
+{{/if}}
+```
+
+The equivalent React would be
+
+```jsx
+{!!data.condition && (
+ Example Render
+)}
+```
+
+This might look a bit intimidating compared to the reactive part but it's not as complicated as it seems:
+
+1. A new jsx context is opened with `{}`
+2. jsx contexts like this always render whatever the return value is, so we can use `&&` to return a value we want. `&&` returns the last true value (or not "falsey" because this is js).
+3. jsx tags are never "falsey", so a conditioned paired with a jsx tag will mean the condition being true will continue on and return the tag. `()` is just used to contain the tag
+4. The `!!` is not a special operator, it is a literal double negation. This is because most `false` values coming from byond are going to actually be `0`, which would be rendered if the condition is false. Negating `0` returns `true`, negating `true` returns `false`, which isn't rendered.
+5. `Fragment` is actually a true "dead tag". It's similar to `span` in that it just contains things without providing functionality, but it's unwrapped before the final render and children of it are injected into its parent. In a case where you only need to render text without any styling, it's probably better to just return a string literal (`"Example Render"`), but this was just to illustrate that you can put any tag in this expression.
+
+You don't really need to know all this to understand how to use it, but I find it helps with understanding when things go wrong.
+
+Ractive conditionals can have an `else` as well
+```ractive
+{{#if data.condition}}
+ value
+{{else}}
+ other value
+{{/if}}
+```
+
+Similarly to the previous example, just add a `||` operator to handle the
+"falsy" condition:
+
+```jsx
+{!!data.condition && (
+ value
+) || (
+ other value
+)}
+```
+
+There's also our good old friend - the ternary:
+
+```jsx
+{data.condition ? 'value' : 'other value'}
+```
+
+Keep in mind you can also use tags here like the conditional example,
+and you can mix string literals, values, and tags as well.
+
+```jsx
+{data.is_robot ? (
+
+) : 'Not a robot'}
+```
+
+### Loops
+
+Ractive has loops for iterating over data and inserting something for each
+member of an array or object
+
+```
+{{#each data.list_of_foo}}
+ foo {{number}} is here.
+{{/each}}
+```
+
+This didn't care whether the data was an array or an object, and members of each entry of the loop were "unwrapped" so to say. `{{number}}` in that example is referring to the `{{number}}` value on the entry of the list for that iterate.
+
+The React equivalent to this is going to be `map`.
+
+_AN IMPORTANT DISTINCTION HERE IS THAT NOW WE CARE WHETHER THIS IS AN OBJECT OR AN ARRAY BEING ACTED ON._
+
+Objects are represented by `{}`, arrays by `[]`
+
+"How can I tell?" you may ask. It's fairly simple, associated lists on the byond side are going to be turned into objects when they get json converted, normal lists are going to be turned into arrays.
+
+`list("bla", "blo")` would become `["bla", "blo"]` and `list("foo" = 1, "bar" = 2)` would become `{"foo": 1, "bar": 2}`
+
+First things first, above the `return` of the function you're making the interface in, you're going to want to add something like this
+```jsx
+const things = data.things || [];
+```
+
+This ensures that you'll never be reading a null entry by mistake. Substitute `{}` for objects as appropriate.
+
+If it's an array, you'll want to do this in the template
+```jsx
+{things.map(thing => (
+ Thing {thing.number} is here!
+))}
+```
+
+`map` is a function that calls a passed function (a lambda) on each entry, and returns the value. You should already know that returned tags and values (except `false`) get rendered, so that's how it's rendering each time.
+
+A lambda is what's known as an anonymous function, it's a function that doesn't have a name that's only used for a specific usage. `map` wants a function that has one parameter, so we define one parameter then use `=>` to say the parameter has to do with the following block.
+
+`parameter => ()` is just a shorthand for `parameter => {return();}`
+
+This is quite a bit higher concept than ractive's each statements, so feel free to look around and ~~copy paste~~ learn from how other interfaces use this.
+
+Now for objects, there's a genuinely pretty gross syntax here. We apoligize, it's related to ie8 compatibility nonsense.
+
+```jsx
+{map((value, key) => {
+ return (
+ Key is {key}, value is {value}
+ );
+})(fooObject)}
+```
+
+Again, sorry for this syntax. `fooObject` would be the object being iterated on, value would be the value of the iterated entry on the list, and key would be the key. the naming of value and key isn't important here, but knowing that it goes `value`, `key` in that order is important.
+
+It is sometimes better to preemptively convert an object to array before
+the big return statement, like this:
+
+```jsx
+const fooArray = map((value, key) => {
+ return { key, value };
+})(fooObject);
+```
+
+Or if you just want to discard all keys, this will also work nicely:
+
+```jsx
+const fooArray = toArray(fooObject);
+```
+
+Also occasionally you'd see an else:
+
+```
+{{#each data.potentially_empty_list}}
+ Thing "{{name}}" is in this list!
+{{else}}
+ None found!
+{{/each}}
+```
+
+This would iterate using the first contents each time, or display the second option if the list was empty.
+
+To do a similar thing in JSX, just check if array is empty like this:
+
+```jsx
+{fooArray.length === 0 && 'fooArray is empty.'}
+{fooArray.map(foo => (
+ Foo is {foo}
+))}
+```
+
+### Extra Stuff
+
+I'll put some extra stuff here when I think of it.
+
+## Components
+
+This will be a reference of tgui components and the tgui-next equivalent.
+
+### `ui-display`
+
+Equivalent of `` is ``
+
+```
+
+ Contents
+
+```
+
+becomes
+
+```jsx
+
+```
+
+A feature sometimes used is if `ui-display` has the `button` property, it will contain a `partial` command. This becomes the `buttons` property on `Section`:
+
+```
+
+ {{#partial button}}
+ // lots more button bullshit here
+ {{/partial}}
+ Contents
+
+```
+
+becomes
+
+```jsx
+
+ )}>
+ Contents
+
+```
+
+### `ui-section`
+
+Very important to note `ui-section` is NOT the equivalent of `Section`
+
+`` does not have a direct equivalent, but the closest equivalent is ``
+
+```
+
+ No Power
+
+
+ No Connection
+
+```
+
+becomes
+
+```jsx
+
+
+ No Power
+
+
+ No Connection
+
+
+```
+
+Important to note that `LabeledList.Item` has `buttons` as well.
+
+Also good to know that if you need the contents of a `LabeledList.Item` to be colored, you can just set the `color` prop on it instead of putting a `span` inside it.
+
+### `ui-notice`
+
+`` has a direct equivalent in ``
+
+```
+
+ Notice stuff!
+
+```
+
+becomes
+
+```jsx
+
+ Notice stuff!
+
+```
+
+### `ui-button`
+
+The equivalent of `ui-button` is `Button` but it works quite a bit differently.
+
+```
+
+ Click
+
+```
+
+becomes
+
+```
+ act(ref, "ui_action", {param: value})}/>
+```
diff --git a/tgui-next/docs/tutorial-and-examples.md b/tgui-next/docs/tutorial-and-examples.md
new file mode 100644
index 0000000000..d038c1de61
--- /dev/null
+++ b/tgui-next/docs/tutorial-and-examples.md
@@ -0,0 +1,245 @@
+# Tutorial and Examples
+
+## Main concepts
+
+Basic tgui backend code consists of the following vars and procs:
+
+```
+ui_interact(mob/user, ui_key, datum/tgui/ui, force_open,
+ datum/tgui/master_ui, datum/ui_state/state)
+ui_data(mob/user)
+ui_act(action, params)
+```
+
+- `src_object` - The atom, which UI corresponds to in the game world.
+- `ui_interact` - The proc where you will handle a request to open an
+interface. Typically, you would update an existing UI (if it exists),
+or set up a new instance of UI by calling the `SStgui` subsystem.
+- `ui_data` - In this proc you munges whatever complex data your `src_object`
+has into an associative list, which will then be sent to UI as a JSON string.
+- `ui_act` - This proc receives user actions and reacts to them by changing
+the state of the game.
+- `ui_state` (set in `ui_interact`) - This var dictates under what conditions
+a UI may be interacted with. This may be the standard checks that check if
+you are in range and conscious, or more.
+
+Once backend is complete, you create an new interface component on the
+frontend, which will receive this JSON data and render it on screen.
+
+States are easy to write and extend, and what make tgui interactions so
+powerful. Because states can be overridden from other procs, you can build
+powerful interactions for embedded objects or remote access.
+
+## Using It
+
+### Backend
+
+Let's start with a very basic hello world.
+
+```dm
+/obj/machinery/my_machine/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = default_state)
+ ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
+ if(!ui)
+ ui = new(user, src, ui_key, "my_machine", name, 300, 300, master_ui, state)
+ ui.open()
+```
+
+This is the proc that defines our interface. There's a bit going on here, so
+let's break it down. First, we override the ui_interact proc on our object. This
+will be called by `interact` for you, which is in turn called by `attack_hand`
+(or `attack_self` for items). `ui_interact` is also called to update a UI (hence
+the `try_update_ui`), so we accept an existing UI to update. The `state` is a
+default argument so that a caller can overload it with named arguments
+(`ui_interact(state = overloaded_state)`) if needed.
+
+Inside the `if(!ui)` block (which means we are creating a new UI), we choose our
+template, title, and size; we can also set various options like `style` (for
+themes), or autoupdate. These options will be elaborated on later (as will
+`ui_state`s).
+
+After `ui_interact`, we need to define `ui_data`. This just returns a list of
+data for our object to use. Let's imagine our object has a few vars:
+
+```dm
+/obj/machinery/my_machine/ui_data(mob/user)
+ var/list/data = list()
+ data["health"] = health
+ data["color"] = color
+
+ return data
+```
+
+The `ui_data` proc is what people often find the hardest about tgui, but its
+really quite simple! You just need to represent your object as numbers, strings,
+and lists, instead of atoms and datums.
+
+Finally, the `ui_act` proc is called by the interface whenever the user used an
+input. The input's `action` and `params` are passed to the proc.
+
+```dm
+/obj/machinery/my_machine/ui_act(action, params)
+ if(..())
+ return
+ switch(action)
+ if("change_color")
+ var/new_color = params["color"]
+ if(!(color in allowed_coors))
+ return
+ color = new_color
+ . = TRUE
+ update_icon()
+```
+
+The `..()` (parent call) is very important here, as it is how we check that the
+user is allowed to use this interface (to avoid so-called href exploits). It is
+also very important to clamp and sanitize all input here. Always assume the user
+is attempting to exploit the game.
+
+Also note the use of `. = TRUE` (or `FALSE`), which is used to notify the UI
+that this input caused an update. This is especially important for UIs that do
+not auto-update, as otherwise the user will never see their change.
+
+### Frontend
+
+Finally, you have to make a UI component. This is also a source of
+confusion for many new users. If you got some basic javascript and HTML
+knowledge, that should ease the learning process, although we recommend
+getting yourself introduced to
+[React and JSX](https://reactjs.org/docs/introducing-jsx.html).
+
+A component is not a regular HTML. A component is a pure function, which
+accepts a `props` object (it contains properties passed to a component),
+and outputs an HTML-like structure consisting of regular HTML elements and
+other UI components.
+
+Interface component will always receive 1 prop which is called `state`.
+This object contains a few special values:
+
+- `config` is always the same and is part of core tgui
+(it will be explained later),
+- `data` is the data returned from `ui_data`
+
+```jsx
+import { Section, LabeledList } from '../components';
+
+const SampleInterface = props => {
+ const { state } = props;
+ const { config, data } = state;
+ const { ref } = config;
+ return (
+
+
+
+ {data.health}
+
+
+ {data.color}
+
+
+
+ );
+};
+```
+
+This syntax can be very confusing at first, but it is very important to
+realize that this is just a natural extension of javascript. Here's a few
+examples of this syntax:
+
+Return a different element based on a condition:
+
+```jsx
+if (condition) {
+ return ;
+}
+return ;
+```
+
+Conditionally render a element inside of another element:
+
+```jsx
+
+ {showProgress && (
+
+ )}
+
+```
+
+Looping over the array to make an element for each item:
+
+```jsx
+
+ {items.map(item => (
+
+ {item.content}
+
+ ))}
+
+```
+
+### Routing table
+
+Once you finished creating your interface, you need to add a route entry to
+the large `ROUTES` object, otherwise tgui won't know when and how to render
+your interface. Key of this `ROUTES` object corresponds to the interface
+name you use in DM code.
+
+```js
+import { SampleInterface } from './interfaces/SampleInterface';
+
+const ROUTES = {
+ sample_interface: {
+ component: () => SampleInterface,
+ scrollable: true,
+ },
+};
+```
+
+## Copypasta
+
+We all do it, even the best of us. If you just want to make a tgui **fast**,
+here's what you need (note that you'll probably be forced to clean your shit up
+upon code review):
+
+```dm
+/obj/copypasta/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = default_state) // Remember to use the appropriate state.
+ ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
+ if(!ui)
+ ui = new(user, src, ui_key, "copypasta", name, 300, 300, master_ui, state)
+ ui.open()
+
+/obj/copypasta/ui_data(mob/user)
+ var/list/data = list()
+ data["var"] = var
+ return data
+
+/obj/copypasta/ui_act(action, params)
+ if(..())
+ return
+ if(action == "copypasta")
+ var/newvar = params["var"]
+ // A demo of proper input sanitation.
+ var = CLAMP(newvar, min_val, max_val)
+ return TRUE
+ update_icon() // Not applicable to all objects.
+```
+
+And the template:
+
+```jsx
+import { Section, LabeledList } from '../components';
+
+const SampleInterface = props => {
+ const { state } = props;
+ const { config, data } = state;
+ const { ref } = config;
+ return (
+
+ );
+};
+```
diff --git a/tgui-next/node_modules/.bin/acorn b/tgui-next/node_modules/.bin/acorn
deleted file mode 100644
index 558ebb98b3..0000000000
--- a/tgui-next/node_modules/.bin/acorn
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../acorn/bin/acorn" "$@"
- ret=$?
-else
- node "$basedir/../acorn/bin/acorn" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/acorn.cmd b/tgui-next/node_modules/.bin/acorn.cmd
deleted file mode 100644
index 61e50de9a1..0000000000
--- a/tgui-next/node_modules/.bin/acorn.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\acorn\bin\acorn" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\acorn\bin\acorn" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/atob b/tgui-next/node_modules/.bin/atob
deleted file mode 100644
index 508967941e..0000000000
--- a/tgui-next/node_modules/.bin/atob
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../atob/bin/atob.js" "$@"
- ret=$?
-else
- node "$basedir/../atob/bin/atob.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/atob.cmd b/tgui-next/node_modules/.bin/atob.cmd
deleted file mode 100644
index 4eac0fbcef..0000000000
--- a/tgui-next/node_modules/.bin/atob.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\atob\bin\atob.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\atob\bin\atob.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/browserslist b/tgui-next/node_modules/.bin/browserslist
deleted file mode 100644
index 1df3f2a4e1..0000000000
--- a/tgui-next/node_modules/.bin/browserslist
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../browserslist/cli.js" "$@"
- ret=$?
-else
- node "$basedir/../browserslist/cli.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/browserslist.cmd b/tgui-next/node_modules/.bin/browserslist.cmd
deleted file mode 100644
index 8698a52c88..0000000000
--- a/tgui-next/node_modules/.bin/browserslist.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\browserslist\cli.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\browserslist\cli.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/cssesc b/tgui-next/node_modules/.bin/cssesc
deleted file mode 100644
index d26a79a5cf..0000000000
--- a/tgui-next/node_modules/.bin/cssesc
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../cssesc/bin/cssesc" "$@"
- ret=$?
-else
- node "$basedir/../cssesc/bin/cssesc" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/cssesc.cmd b/tgui-next/node_modules/.bin/cssesc.cmd
deleted file mode 100644
index bec7f63fe5..0000000000
--- a/tgui-next/node_modules/.bin/cssesc.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\cssesc\bin\cssesc" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\cssesc\bin\cssesc" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/errno b/tgui-next/node_modules/.bin/errno
deleted file mode 100644
index 9532c97e99..0000000000
--- a/tgui-next/node_modules/.bin/errno
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../errno/cli.js" "$@"
- ret=$?
-else
- node "$basedir/../errno/cli.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/errno.cmd b/tgui-next/node_modules/.bin/errno.cmd
deleted file mode 100644
index 7c233e8f21..0000000000
--- a/tgui-next/node_modules/.bin/errno.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\errno\cli.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\errno\cli.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/eslint b/tgui-next/node_modules/.bin/eslint
deleted file mode 100644
index 9f3ac3149d..0000000000
--- a/tgui-next/node_modules/.bin/eslint
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../eslint/bin/eslint.js" "$@"
- ret=$?
-else
- node "$basedir/../eslint/bin/eslint.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/eslint.cmd b/tgui-next/node_modules/.bin/eslint.cmd
deleted file mode 100644
index 9d31668ac7..0000000000
--- a/tgui-next/node_modules/.bin/eslint.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\eslint\bin\eslint.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\eslint\bin\eslint.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/esparse b/tgui-next/node_modules/.bin/esparse
deleted file mode 100644
index 2525527135..0000000000
--- a/tgui-next/node_modules/.bin/esparse
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../esprima/bin/esparse.js" "$@"
- ret=$?
-else
- node "$basedir/../esprima/bin/esparse.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/esparse.cmd b/tgui-next/node_modules/.bin/esparse.cmd
deleted file mode 100644
index 7c180bffb2..0000000000
--- a/tgui-next/node_modules/.bin/esparse.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\esprima\bin\esparse.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\esprima\bin\esparse.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/esvalidate b/tgui-next/node_modules/.bin/esvalidate
deleted file mode 100644
index 2137cd5cce..0000000000
--- a/tgui-next/node_modules/.bin/esvalidate
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../esprima/bin/esvalidate.js" "$@"
- ret=$?
-else
- node "$basedir/../esprima/bin/esvalidate.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/esvalidate.cmd b/tgui-next/node_modules/.bin/esvalidate.cmd
deleted file mode 100644
index 107c4fd1ba..0000000000
--- a/tgui-next/node_modules/.bin/esvalidate.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\esprima\bin\esvalidate.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\esprima\bin\esvalidate.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/import-local-fixture b/tgui-next/node_modules/.bin/import-local-fixture
deleted file mode 100644
index ceb37d3da8..0000000000
--- a/tgui-next/node_modules/.bin/import-local-fixture
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../import-local/fixtures/cli.js" "$@"
- ret=$?
-else
- node "$basedir/../import-local/fixtures/cli.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/import-local-fixture.cmd b/tgui-next/node_modules/.bin/import-local-fixture.cmd
deleted file mode 100644
index a7f9d903c7..0000000000
--- a/tgui-next/node_modules/.bin/import-local-fixture.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\import-local\fixtures\cli.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\import-local\fixtures\cli.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/js-yaml b/tgui-next/node_modules/.bin/js-yaml
deleted file mode 100644
index 460d9df40b..0000000000
--- a/tgui-next/node_modules/.bin/js-yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../js-yaml/bin/js-yaml.js" "$@"
- ret=$?
-else
- node "$basedir/../js-yaml/bin/js-yaml.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/js-yaml.cmd b/tgui-next/node_modules/.bin/js-yaml.cmd
deleted file mode 100644
index 74091a9c21..0000000000
--- a/tgui-next/node_modules/.bin/js-yaml.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\js-yaml\bin\js-yaml.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\js-yaml\bin\js-yaml.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/jsesc b/tgui-next/node_modules/.bin/jsesc
deleted file mode 100644
index e59ea439d5..0000000000
--- a/tgui-next/node_modules/.bin/jsesc
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../jsesc/bin/jsesc" "$@"
- ret=$?
-else
- node "$basedir/../jsesc/bin/jsesc" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/jsesc.cmd b/tgui-next/node_modules/.bin/jsesc.cmd
deleted file mode 100644
index a7c5118e17..0000000000
--- a/tgui-next/node_modules/.bin/jsesc.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\jsesc\bin\jsesc" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\jsesc\bin\jsesc" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/json5 b/tgui-next/node_modules/.bin/json5
deleted file mode 100644
index 71e29db4c2..0000000000
--- a/tgui-next/node_modules/.bin/json5
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../json5/lib/cli.js" "$@"
- ret=$?
-else
- node "$basedir/../json5/lib/cli.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/json5.cmd b/tgui-next/node_modules/.bin/json5.cmd
deleted file mode 100644
index e61880fa22..0000000000
--- a/tgui-next/node_modules/.bin/json5.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\json5\lib\cli.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\json5\lib\cli.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/loose-envify b/tgui-next/node_modules/.bin/loose-envify
deleted file mode 100644
index 0939216fc8..0000000000
--- a/tgui-next/node_modules/.bin/loose-envify
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../loose-envify/cli.js" "$@"
- ret=$?
-else
- node "$basedir/../loose-envify/cli.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/loose-envify.cmd b/tgui-next/node_modules/.bin/loose-envify.cmd
deleted file mode 100644
index d5a53abb14..0000000000
--- a/tgui-next/node_modules/.bin/loose-envify.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\loose-envify\cli.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\loose-envify\cli.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/miller-rabin b/tgui-next/node_modules/.bin/miller-rabin
deleted file mode 100644
index 1fd4071fec..0000000000
--- a/tgui-next/node_modules/.bin/miller-rabin
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../miller-rabin/bin/miller-rabin" "$@"
- ret=$?
-else
- node "$basedir/../miller-rabin/bin/miller-rabin" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/miller-rabin.cmd b/tgui-next/node_modules/.bin/miller-rabin.cmd
deleted file mode 100644
index 10e7ba977b..0000000000
--- a/tgui-next/node_modules/.bin/miller-rabin.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\miller-rabin\bin\miller-rabin" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\miller-rabin\bin\miller-rabin" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/mime b/tgui-next/node_modules/.bin/mime
deleted file mode 100644
index 0dbddf0718..0000000000
--- a/tgui-next/node_modules/.bin/mime
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../mime/cli.js" "$@"
- ret=$?
-else
- node "$basedir/../mime/cli.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/mime.cmd b/tgui-next/node_modules/.bin/mime.cmd
deleted file mode 100644
index 546cb592a8..0000000000
--- a/tgui-next/node_modules/.bin/mime.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\mime\cli.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\mime\cli.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/mkdirp b/tgui-next/node_modules/.bin/mkdirp
deleted file mode 100644
index 4b0046722f..0000000000
--- a/tgui-next/node_modules/.bin/mkdirp
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../mkdirp/bin/cmd.js" "$@"
- ret=$?
-else
- node "$basedir/../mkdirp/bin/cmd.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/mkdirp.cmd b/tgui-next/node_modules/.bin/mkdirp.cmd
deleted file mode 100644
index 7253eeb8b6..0000000000
--- a/tgui-next/node_modules/.bin/mkdirp.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\mkdirp\bin\cmd.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\mkdirp\bin\cmd.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/opencollective-postinstall b/tgui-next/node_modules/.bin/opencollective-postinstall
deleted file mode 100644
index c7c7786d27..0000000000
--- a/tgui-next/node_modules/.bin/opencollective-postinstall
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../opencollective-postinstall/index.js" "$@"
- ret=$?
-else
- node "$basedir/../opencollective-postinstall/index.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/opencollective-postinstall.cmd b/tgui-next/node_modules/.bin/opencollective-postinstall.cmd
deleted file mode 100644
index 0d223d43e3..0000000000
--- a/tgui-next/node_modules/.bin/opencollective-postinstall.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\opencollective-postinstall\index.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\opencollective-postinstall\index.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/opener b/tgui-next/node_modules/.bin/opener
deleted file mode 100644
index ae35a6e537..0000000000
--- a/tgui-next/node_modules/.bin/opener
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../opener/bin/opener-bin.js" "$@"
- ret=$?
-else
- node "$basedir/../opener/bin/opener-bin.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/opener.cmd b/tgui-next/node_modules/.bin/opener.cmd
deleted file mode 100644
index d90704436c..0000000000
--- a/tgui-next/node_modules/.bin/opener.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\opener\bin\opener-bin.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\opener\bin\opener-bin.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/parser b/tgui-next/node_modules/.bin/parser
deleted file mode 100644
index 5925785693..0000000000
--- a/tgui-next/node_modules/.bin/parser
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../@babel/parser/bin/babel-parser.js" "$@"
- ret=$?
-else
- node "$basedir/../@babel/parser/bin/babel-parser.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/parser.cmd b/tgui-next/node_modules/.bin/parser.cmd
deleted file mode 100644
index 22b9726182..0000000000
--- a/tgui-next/node_modules/.bin/parser.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\@babel\parser\bin\babel-parser.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\@babel\parser\bin\babel-parser.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/regjsparser b/tgui-next/node_modules/.bin/regjsparser
deleted file mode 100644
index a0add0f81e..0000000000
--- a/tgui-next/node_modules/.bin/regjsparser
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../regjsparser/bin/parser" "$@"
- ret=$?
-else
- node "$basedir/../regjsparser/bin/parser" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/regjsparser.cmd b/tgui-next/node_modules/.bin/regjsparser.cmd
deleted file mode 100644
index 1ad2da4c5c..0000000000
--- a/tgui-next/node_modules/.bin/regjsparser.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\regjsparser\bin\parser" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\regjsparser\bin\parser" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/rimraf b/tgui-next/node_modules/.bin/rimraf
deleted file mode 100644
index 55152ef51d..0000000000
--- a/tgui-next/node_modules/.bin/rimraf
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../flat-cache/node_modules/rimraf/bin.js" "$@"
- ret=$?
-else
- node "$basedir/../flat-cache/node_modules/rimraf/bin.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/rimraf.cmd b/tgui-next/node_modules/.bin/rimraf.cmd
deleted file mode 100644
index ce9eb46e2b..0000000000
--- a/tgui-next/node_modules/.bin/rimraf.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\flat-cache\node_modules\rimraf\bin.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\flat-cache\node_modules\rimraf\bin.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/sass b/tgui-next/node_modules/.bin/sass
deleted file mode 100644
index 57fa1c015a..0000000000
--- a/tgui-next/node_modules/.bin/sass
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../sass/sass.js" "$@"
- ret=$?
-else
- node "$basedir/../sass/sass.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/sass.cmd b/tgui-next/node_modules/.bin/sass.cmd
deleted file mode 100644
index 2699ebda10..0000000000
--- a/tgui-next/node_modules/.bin/sass.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\sass\sass.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\sass\sass.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/semver b/tgui-next/node_modules/.bin/semver
deleted file mode 100644
index d0652d67a2..0000000000
--- a/tgui-next/node_modules/.bin/semver
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../@babel/core/node_modules/semver/bin/semver" "$@"
- ret=$?
-else
- node "$basedir/../@babel/core/node_modules/semver/bin/semver" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/semver.cmd b/tgui-next/node_modules/.bin/semver.cmd
deleted file mode 100644
index ce26d7abdf..0000000000
--- a/tgui-next/node_modules/.bin/semver.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\@babel\core\node_modules\semver\bin\semver" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\@babel\core\node_modules\semver\bin\semver" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/svgo b/tgui-next/node_modules/.bin/svgo
deleted file mode 100644
index 88aa6206b3..0000000000
--- a/tgui-next/node_modules/.bin/svgo
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../svgo/bin/svgo" "$@"
- ret=$?
-else
- node "$basedir/../svgo/bin/svgo" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/svgo.cmd b/tgui-next/node_modules/.bin/svgo.cmd
deleted file mode 100644
index deb1c1934b..0000000000
--- a/tgui-next/node_modules/.bin/svgo.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\svgo\bin\svgo" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\svgo\bin\svgo" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/terser b/tgui-next/node_modules/.bin/terser
deleted file mode 100644
index 490042d86d..0000000000
--- a/tgui-next/node_modules/.bin/terser
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../terser/bin/terser" "$@"
- ret=$?
-else
- node "$basedir/../terser/bin/terser" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/terser.cmd b/tgui-next/node_modules/.bin/terser.cmd
deleted file mode 100644
index 0c20141226..0000000000
--- a/tgui-next/node_modules/.bin/terser.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\terser\bin\terser" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\terser\bin\terser" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/webpack b/tgui-next/node_modules/.bin/webpack
deleted file mode 100644
index eb57292ac1..0000000000
--- a/tgui-next/node_modules/.bin/webpack
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../webpack/bin/webpack.js" "$@"
- ret=$?
-else
- node "$basedir/../webpack/bin/webpack.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/webpack-bundle-analyzer b/tgui-next/node_modules/.bin/webpack-bundle-analyzer
deleted file mode 100644
index b0c7e93d0a..0000000000
--- a/tgui-next/node_modules/.bin/webpack-bundle-analyzer
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../webpack-bundle-analyzer/lib/bin/analyzer.js" "$@"
- ret=$?
-else
- node "$basedir/../webpack-bundle-analyzer/lib/bin/analyzer.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/webpack-bundle-analyzer.cmd b/tgui-next/node_modules/.bin/webpack-bundle-analyzer.cmd
deleted file mode 100644
index 032738fa98..0000000000
--- a/tgui-next/node_modules/.bin/webpack-bundle-analyzer.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\webpack-bundle-analyzer\lib\bin\analyzer.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\webpack-bundle-analyzer\lib\bin\analyzer.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/webpack-cli b/tgui-next/node_modules/.bin/webpack-cli
deleted file mode 100644
index 1f00321217..0000000000
--- a/tgui-next/node_modules/.bin/webpack-cli
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../webpack-cli/bin/cli.js" "$@"
- ret=$?
-else
- node "$basedir/../webpack-cli/bin/cli.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/webpack-cli.cmd b/tgui-next/node_modules/.bin/webpack-cli.cmd
deleted file mode 100644
index 6a82d8b381..0000000000
--- a/tgui-next/node_modules/.bin/webpack-cli.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\webpack-cli\bin\cli.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\webpack-cli\bin\cli.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/webpack.cmd b/tgui-next/node_modules/.bin/webpack.cmd
deleted file mode 100644
index 15c8da6dcc..0000000000
--- a/tgui-next/node_modules/.bin/webpack.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\webpack\bin\webpack.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\webpack\bin\webpack.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.bin/which b/tgui-next/node_modules/.bin/which
deleted file mode 100644
index cbe872c61b..0000000000
--- a/tgui-next/node_modules/.bin/which
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../which/bin/which" "$@"
- ret=$?
-else
- node "$basedir/../which/bin/which" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/.bin/which.cmd b/tgui-next/node_modules/.bin/which.cmd
deleted file mode 100644
index c5f131981c..0000000000
--- a/tgui-next/node_modules/.bin/which.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\which\bin\which" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\which\bin\which" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/.yarn-integrity b/tgui-next/node_modules/.yarn-integrity
deleted file mode 100644
index f6c04bb75a..0000000000
--- a/tgui-next/node_modules/.yarn-integrity
+++ /dev/null
@@ -1,1094 +0,0 @@
-{
- "systemParams": "win32-x64-72",
- "modulesFolders": [
- "node_modules",
- "node_modules",
- "packages\\tgui-dev-server\\node_modules",
- "packages\\tgui\\node_modules"
- ],
- "flags": [],
- "linkedModules": [],
- "topLevelPatterns": [
- "@babel/core@^7.6.2",
- "@babel/plugin-transform-jscript@^7.2.0",
- "@babel/preset-env@^7.6.2",
- "babel-eslint@^10.0.3",
- "babel-eslint@^10.0.3",
- "babel-loader@^8.0.6",
- "babel-plugin-inferno@^6.1.0",
- "babel-plugin-transform-remove-console@^6.9.4",
- "common@0.1.0",
- "core-js@^3.2.1",
- "css-loader@^3.2.0",
- "cssnano@^4.1.10",
- "eslint-plugin-react@^7.17.0",
- "eslint-plugin-react@^7.17.0",
- "eslint@^6.7.2",
- "eslint@^6.7.2",
- "extract-css-chunks-webpack-plugin@^4.6.0",
- "fg-loadcss@^2.1.0",
- "file-loader@^5.0.2",
- "glob@^7.1.4",
- "inferno@^7.3.2",
- "optimize-css-assets-webpack-plugin@^5.0.3",
- "regenerator-runtime@^0.13.3",
- "sass-loader@^8.0.0",
- "sass@^1.22.12",
- "source-map@^0.7.3",
- "stacktrace-parser@^0.1.7",
- "style-loader@^1.0.0",
- "terser-webpack-plugin@^2.1.0",
- "tgui-dev-server@0.1.0",
- "tgui@0.1.0",
- "url-loader@^3.0.0",
- "webpack-build-notifier@^2.0.0",
- "webpack-bundle-analyzer@^3.5.1",
- "webpack-cli@^3.3.9",
- "webpack@^4.40.2",
- "ws@^7.1.2"
- ],
- "lockfileEntries": {
- "@babel/code-frame@^7.0.0": "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d",
- "@babel/code-frame@^7.5.5": "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d",
- "@babel/core@^7.6.2": "https://registry.yarnpkg.com/@babel/core/-/core-7.7.5.tgz#ae1323cd035b5160293307f50647e83f8ba62f7e",
- "@babel/generator@^7.7.4": "https://registry.yarnpkg.com/@babel/generator/-/generator-7.7.4.tgz#db651e2840ca9aa66f327dcec1dc5f5fa9611369",
- "@babel/helper-annotate-as-pure@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz#bb3faf1e74b74bd547e867e48f551fa6b098b6ce",
- "@babel/helper-builder-binary-assignment-operator-visitor@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz#5f73f2b28580e224b5b9bd03146a4015d6217f5f",
- "@babel/helper-call-delegate@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz#621b83e596722b50c0066f9dc37d3232e461b801",
- "@babel/helper-create-regexp-features-plugin@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz#6d5762359fd34f4da1500e4cff9955b5299aaf59",
- "@babel/helper-define-map@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz#2841bf92eb8bd9c906851546fe6b9d45e162f176",
- "@babel/helper-explode-assignable-expression@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz#fa700878e008d85dc51ba43e9fb835cddfe05c84",
- "@babel/helper-function-name@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz#ab6e041e7135d436d8f0a3eca15de5b67a341a2e",
- "@babel/helper-get-function-arity@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz#cb46348d2f8808e632f0ab048172130e636005f0",
- "@babel/helper-hoist-variables@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz#612384e3d823fdfaaf9fce31550fe5d4db0f3d12",
- "@babel/helper-member-expression-to-functions@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz#356438e2569df7321a8326644d4b790d2122cb74",
- "@babel/helper-module-imports@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz#e5a92529f8888bf319a6376abfbd1cebc491ad91",
- "@babel/helper-module-transforms@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.7.5.tgz#d044da7ffd91ec967db25cd6748f704b6b244835",
- "@babel/helper-module-transforms@^7.7.5": "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.7.5.tgz#d044da7ffd91ec967db25cd6748f704b6b244835",
- "@babel/helper-optimise-call-expression@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz#034af31370d2995242aa4df402c3b7794b2dcdf2",
- "@babel/helper-plugin-utils@^7.0.0": "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250",
- "@babel/helper-regex@^7.0.0": "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351",
- "@babel/helper-regex@^7.4.4": "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351",
- "@babel/helper-remap-async-to-generator@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz#c68c2407350d9af0e061ed6726afb4fff16d0234",
- "@babel/helper-replace-supers@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz#3c881a6a6a7571275a72d82e6107126ec9e2cdd2",
- "@babel/helper-simple-access@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz#a169a0adb1b5f418cfc19f22586b2ebf58a9a294",
- "@babel/helper-split-export-declaration@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz#57292af60443c4a3622cf74040ddc28e68336fd8",
- "@babel/helper-wrap-function@^7.7.4": "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz#37ab7fed5150e22d9d7266e830072c0cdd8baace",
- "@babel/helpers@^7.7.4": "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.7.4.tgz#62c215b9e6c712dadc15a9a0dcab76c92a940302",
- "@babel/highlight@^7.0.0": "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540",
- "@babel/parser@^7.0.0": "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.5.tgz#cbf45321619ac12d83363fcf9c94bb67fa646d71",
- "@babel/parser@^7.7.4": "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.5.tgz#cbf45321619ac12d83363fcf9c94bb67fa646d71",
- "@babel/parser@^7.7.5": "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.5.tgz#cbf45321619ac12d83363fcf9c94bb67fa646d71",
- "@babel/plugin-proposal-async-generator-functions@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz#0351c5ac0a9e927845fffd5b82af476947b7ce6d",
- "@babel/plugin-proposal-dynamic-import@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz#dde64a7f127691758cbfed6cf70de0fa5879d52d",
- "@babel/plugin-proposal-json-strings@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz#7700a6bfda771d8dc81973249eac416c6b4c697d",
- "@babel/plugin-proposal-object-rest-spread@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz#cc57849894a5c774214178c8ab64f6334ec8af71",
- "@babel/plugin-proposal-optional-catch-binding@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz#ec21e8aeb09ec6711bc0a39ca49520abee1de379",
- "@babel/plugin-proposal-unicode-property-regex@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz#7c239ccaf09470dbe1d453d50057460e84517ebb",
- "@babel/plugin-syntax-async-generators@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz#331aaf310a10c80c44a66b238b6e49132bd3c889",
- "@babel/plugin-syntax-dynamic-import@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz#29ca3b4415abfe4a5ec381e903862ad1a54c3aec",
- "@babel/plugin-syntax-json-strings@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz#86e63f7d2e22f9e27129ac4e83ea989a382e86cc",
- "@babel/plugin-syntax-jsx@^7": "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.7.4.tgz#dab2b56a36fb6c3c222a1fbc71f7bf97f327a9ec",
- "@babel/plugin-syntax-object-rest-spread@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz#47cf220d19d6d0d7b154304701f468fc1cc6ff46",
- "@babel/plugin-syntax-optional-catch-binding@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz#a3e38f59f4b6233867b4a92dcb0ee05b2c334aa6",
- "@babel/plugin-syntax-top-level-await@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz#bd7d8fa7b9fee793a36e4027fd6dd1aa32f946da",
- "@babel/plugin-transform-arrow-functions@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz#76309bd578addd8aee3b379d809c802305a98a12",
- "@babel/plugin-transform-async-to-generator@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz#694cbeae6d613a34ef0292713fa42fb45c4470ba",
- "@babel/plugin-transform-block-scoped-functions@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz#d0d9d5c269c78eaea76227ace214b8d01e4d837b",
- "@babel/plugin-transform-block-scoping@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz#200aad0dcd6bb80372f94d9e628ea062c58bf224",
- "@babel/plugin-transform-classes@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz#c92c14be0a1399e15df72667067a8f510c9400ec",
- "@babel/plugin-transform-computed-properties@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz#e856c1628d3238ffe12d668eb42559f79a81910d",
- "@babel/plugin-transform-destructuring@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz#2b713729e5054a1135097b6a67da1b6fe8789267",
- "@babel/plugin-transform-dotall-regex@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz#f7ccda61118c5b7a2599a72d5e3210884a021e96",
- "@babel/plugin-transform-duplicate-keys@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz#3d21731a42e3f598a73835299dd0169c3b90ac91",
- "@babel/plugin-transform-exponentiation-operator@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz#dd30c0191e3a1ba19bcc7e389bdfddc0729d5db9",
- "@babel/plugin-transform-for-of@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz#248800e3a5e507b1f103d8b4ca998e77c63932bc",
- "@babel/plugin-transform-function-name@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz#75a6d3303d50db638ff8b5385d12451c865025b1",
- "@babel/plugin-transform-jscript@^7.2.0": "https://registry.yarnpkg.com/@babel/plugin-transform-jscript/-/plugin-transform-jscript-7.7.4.tgz#c44778475e82213c9add7d46cb2223e5ee1c6c1d",
- "@babel/plugin-transform-literals@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz#27fe87d2b5017a2a5a34d1c41a6b9f6a6262643e",
- "@babel/plugin-transform-member-expression-literals@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz#aee127f2f3339fc34ce5e3055d7ffbf7aa26f19a",
- "@babel/plugin-transform-modules-amd@^7.7.5": "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.5.tgz#39e0fb717224b59475b306402bb8eedab01e729c",
- "@babel/plugin-transform-modules-commonjs@^7.7.5": "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.5.tgz#1d27f5eb0bcf7543e774950e5b2fa782e637b345",
- "@babel/plugin-transform-modules-systemjs@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz#cd98152339d3e763dfe838b7d4273edaf520bb30",
- "@babel/plugin-transform-modules-umd@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz#1027c355a118de0aae9fee00ad7813c584d9061f",
- "@babel/plugin-transform-named-capturing-groups-regex@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz#fb3bcc4ee4198e7385805007373d6b6f42c98220",
- "@babel/plugin-transform-new-target@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz#4a0753d2d60639437be07b592a9e58ee00720167",
- "@babel/plugin-transform-object-super@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz#48488937a2d586c0148451bf51af9d7dda567262",
- "@babel/plugin-transform-parameters@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.4.tgz#da4555c97f39b51ac089d31c7380f03bca4075ce",
- "@babel/plugin-transform-property-literals@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz#2388d6505ef89b266103f450f9167e6bd73f98c2",
- "@babel/plugin-transform-regenerator@^7.7.5": "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.5.tgz#3a8757ee1a2780f390e89f246065ecf59c26fce9",
- "@babel/plugin-transform-reserved-words@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz#6a7cf123ad175bb5c69aec8f6f0770387ed3f1eb",
- "@babel/plugin-transform-shorthand-properties@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz#74a0a9b2f6d67a684c6fbfd5f0458eb7ba99891e",
- "@babel/plugin-transform-spread@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz#aa673b356fe6b7e70d69b6e33a17fef641008578",
- "@babel/plugin-transform-sticky-regex@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz#ffb68c05090c30732076b1285dc1401b404a123c",
- "@babel/plugin-transform-template-literals@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz#1eb6411736dd3fe87dbd20cc6668e5121c17d604",
- "@babel/plugin-transform-typeof-symbol@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz#3174626214f2d6de322882e498a38e8371b2140e",
- "@babel/plugin-transform-unicode-regex@^7.7.4": "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz#a3c0f65b117c4c81c5b6484f2a5e7b95346b83ae",
- "@babel/preset-env@^7.6.2": "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.7.6.tgz#39ac600427bbb94eec6b27953f1dfa1d64d457b2",
- "@babel/template@^7.7.4": "https://registry.yarnpkg.com/@babel/template/-/template-7.7.4.tgz#428a7d9eecffe27deac0a98e23bf8e3675d2a77b",
- "@babel/traverse@^7.0.0": "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.4.tgz#9c1e7c60fb679fe4fcfaa42500833333c2058558",
- "@babel/traverse@^7.7.4": "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.4.tgz#9c1e7c60fb679fe4fcfaa42500833333c2058558",
- "@babel/types@^7": "https://registry.yarnpkg.com/@babel/types/-/types-7.7.4.tgz#516570d539e44ddf308c07569c258ff94fde9193",
- "@babel/types@^7.0.0": "https://registry.yarnpkg.com/@babel/types/-/types-7.7.4.tgz#516570d539e44ddf308c07569c258ff94fde9193",
- "@babel/types@^7.7.4": "https://registry.yarnpkg.com/@babel/types/-/types-7.7.4.tgz#516570d539e44ddf308c07569c258ff94fde9193",
- "@types/q@^1.5.1": "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8",
- "@webassemblyjs/ast@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359",
- "@webassemblyjs/floating-point-hex-parser@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721",
- "@webassemblyjs/helper-api-error@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7",
- "@webassemblyjs/helper-buffer@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204",
- "@webassemblyjs/helper-code-frame@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e",
- "@webassemblyjs/helper-fsm@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452",
- "@webassemblyjs/helper-module-context@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245",
- "@webassemblyjs/helper-wasm-bytecode@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61",
- "@webassemblyjs/helper-wasm-section@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf",
- "@webassemblyjs/ieee754@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e",
- "@webassemblyjs/leb128@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10",
- "@webassemblyjs/utf8@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc",
- "@webassemblyjs/wasm-edit@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a",
- "@webassemblyjs/wasm-gen@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc",
- "@webassemblyjs/wasm-opt@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264",
- "@webassemblyjs/wasm-parser@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d",
- "@webassemblyjs/wast-parser@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c",
- "@webassemblyjs/wast-printer@1.8.5": "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc",
- "@xtuc/ieee754@^1.2.0": "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790",
- "@xtuc/long@4.2.2": "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d",
- "abbrev@1": "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8",
- "accepts@~1.3.7": "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd",
- "acorn-jsx@^5.1.0": "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384",
- "acorn-walk@^6.1.1": "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c",
- "acorn@^6.0.7": "https://registry.yarnpkg.com/acorn/-/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784",
- "acorn@^6.2.1": "https://registry.yarnpkg.com/acorn/-/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784",
- "acorn@^7.1.0": "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c",
- "aggregate-error@^3.0.0": "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0",
- "ajv-errors@^1.0.0": "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d",
- "ajv-keywords@^3.1.0": "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da",
- "ajv-keywords@^3.4.1": "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da",
- "ajv@^6.1.0": "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52",
- "ajv@^6.10.0": "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52",
- "ajv@^6.10.2": "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52",
- "alphanum-sort@^1.0.0": "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3",
- "ansi-escapes@^4.2.1": "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.0.tgz#a4ce2b33d6b214b7950d8595c212f12ac9cc569d",
- "ansi-regex@^2.0.0": "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df",
- "ansi-regex@^3.0.0": "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998",
- "ansi-regex@^4.1.0": "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997",
- "ansi-regex@^5.0.0": "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75",
- "ansi-styles@^3.2.0": "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d",
- "ansi-styles@^3.2.1": "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d",
- "anymatch@^2.0.0": "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb",
- "anymatch@~3.1.1": "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142",
- "aproba@^1.0.3": "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a",
- "aproba@^1.1.1": "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a",
- "are-we-there-yet@~1.1.2": "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21",
- "argparse@^1.0.7": "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911",
- "arr-diff@^4.0.0": "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520",
- "arr-flatten@^1.1.0": "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1",
- "arr-union@^3.1.0": "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4",
- "array-flatten@1.1.1": "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2",
- "array-includes@^3.0.3": "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d",
- "array-unique@^0.3.2": "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428",
- "asn1.js@^4.0.0": "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0",
- "assert@^1.1.1": "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb",
- "assign-symbols@^1.0.0": "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367",
- "astral-regex@^1.0.0": "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9",
- "async-each@^1.0.1": "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf",
- "async-limiter@^1.0.0": "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd",
- "async-limiter@~1.0.0": "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd",
- "atob@^2.1.1": "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9",
- "babel-eslint@^10.0.3": "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.3.tgz#81a2c669be0f205e19462fed2482d33e4687a88a",
- "babel-loader@^8.0.6": "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb",
- "babel-plugin-dynamic-import-node@^2.3.0": "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f",
- "babel-plugin-inferno@^6.1.0": "https://registry.yarnpkg.com/babel-plugin-inferno/-/babel-plugin-inferno-6.1.0.tgz#5fb0e1fb21848e1014f2753c3c99df1d2ac94b34",
- "babel-plugin-transform-remove-console@^6.9.4": "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz#b980360c067384e24b357a588d807d3c83527780",
- "balanced-match@^1.0.0": "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767",
- "base64-js@^1.0.2": "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1",
- "base@^0.11.1": "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f",
- "bfj@^6.1.1": "https://registry.yarnpkg.com/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f",
- "big.js@^5.2.2": "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328",
- "binary-extensions@^1.0.0": "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65",
- "binary-extensions@^2.0.0": "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c",
- "bluebird@^3.5.5": "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f",
- "bn.js@^4.0.0": "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f",
- "bn.js@^4.1.0": "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f",
- "bn.js@^4.1.1": "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f",
- "bn.js@^4.4.0": "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f",
- "body-parser@1.19.0": "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a",
- "boolbase@^1.0.0": "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e",
- "boolbase@~1.0.0": "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e",
- "brace-expansion@^1.1.7": "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd",
- "braces@^2.3.1": "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729",
- "braces@^2.3.2": "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729",
- "braces@~3.0.2": "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107",
- "brorand@^1.0.1": "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f",
- "browserify-aes@^1.0.0": "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48",
- "browserify-aes@^1.0.4": "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48",
- "browserify-cipher@^1.0.0": "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0",
- "browserify-des@^1.0.0": "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c",
- "browserify-rsa@^4.0.0": "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524",
- "browserify-sign@^4.0.0": "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298",
- "browserify-zlib@^0.2.0": "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f",
- "browserslist@^4.0.0": "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.2.tgz#b45720ad5fbc8713b7253c20766f701c9a694289",
- "browserslist@^4.6.0": "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.2.tgz#b45720ad5fbc8713b7253c20766f701c9a694289",
- "browserslist@^4.8.2": "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.2.tgz#b45720ad5fbc8713b7253c20766f701c9a694289",
- "buffer-from@^1.0.0": "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef",
- "buffer-xor@^1.0.3": "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9",
- "buffer@^4.3.0": "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8",
- "builtin-status-codes@^3.0.0": "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8",
- "bytes@3.1.0": "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6",
- "cacache@^12.0.2": "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390",
- "cacache@^13.0.1": "https://registry.yarnpkg.com/cacache/-/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c",
- "cache-base@^1.0.1": "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2",
- "caller-callsite@^2.0.0": "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134",
- "caller-path@^2.0.0": "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4",
- "callsites@^2.0.0": "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50",
- "callsites@^3.0.0": "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73",
- "camelcase@^5.0.0": "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320",
- "camelcase@^5.3.1": "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320",
- "caniuse-api@^3.0.0": "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0",
- "caniuse-lite@^1.0.0": "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001015.tgz#15a7ddf66aba786a71d99626bc8f2b91c6f0f5f0",
- "caniuse-lite@^1.0.30001015": "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001015.tgz#15a7ddf66aba786a71d99626bc8f2b91c6f0f5f0",
- "chalk@2.4.2": "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424",
- "chalk@^2.0.0": "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424",
- "chalk@^2.1.0": "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424",
- "chalk@^2.4.1": "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424",
- "chalk@^2.4.2": "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424",
- "chardet@^0.7.0": "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e",
- "check-types@^8.0.3": "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552",
- "chokidar@>=2.0.0 <4.0.0": "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.0.tgz#12c0714668c55800f659e262d4962a97faf554a6",
- "chokidar@^2.0.2": "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917",
- "chownr@^1.1.1": "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142",
- "chownr@^1.1.2": "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142",
- "chrome-trace-event@^1.0.2": "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4",
- "cipher-base@^1.0.0": "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de",
- "cipher-base@^1.0.1": "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de",
- "cipher-base@^1.0.3": "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de",
- "class-utils@^0.3.5": "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463",
- "clean-stack@^2.0.0": "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b",
- "cli-cursor@^3.1.0": "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307",
- "cli-width@^2.0.0": "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639",
- "cliui@^5.0.0": "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5",
- "clone-deep@^4.0.1": "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387",
- "coa@^2.0.2": "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3",
- "code-point-at@^1.0.0": "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77",
- "collection-visit@^1.0.0": "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0",
- "color-convert@^1.9.0": "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8",
- "color-convert@^1.9.1": "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8",
- "color-name@1.1.3": "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25",
- "color-name@^1.0.0": "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2",
- "color-string@^1.5.2": "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc",
- "color@^3.0.0": "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10",
- "commander@^2.18.0": "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33",
- "commander@^2.20.0": "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33",
- "commondir@^1.0.1": "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b",
- "component-emitter@^1.2.1": "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0",
- "concat-map@0.0.1": "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b",
- "concat-stream@^1.5.0": "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34",
- "console-browserify@^1.1.0": "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336",
- "console-control-strings@^1.0.0": "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e",
- "console-control-strings@~1.1.0": "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e",
- "constants-browserify@^1.0.0": "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75",
- "content-disposition@0.5.3": "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd",
- "content-type@~1.0.4": "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b",
- "convert-source-map@^1.7.0": "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442",
- "cookie-signature@1.0.6": "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c",
- "cookie@0.4.0": "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba",
- "copy-concurrently@^1.0.0": "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0",
- "copy-descriptor@^0.1.0": "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d",
- "core-js-compat@^3.4.7": "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.4.8.tgz#f72e6a4ed76437ea710928f44615f926a81607d5",
- "core-js@^3.2.1": "https://registry.yarnpkg.com/core-js/-/core-js-3.4.8.tgz#e0fc0c61f2ef90cbc10c531dbffaa46dfb7152dd",
- "core-util-is@~1.0.0": "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7",
- "cosmiconfig@^5.0.0": "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a",
- "create-ecdh@^4.0.0": "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff",
- "create-hash@^1.1.0": "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196",
- "create-hash@^1.1.2": "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196",
- "create-hmac@^1.1.0": "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff",
- "create-hmac@^1.1.2": "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff",
- "create-hmac@^1.1.4": "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff",
- "cross-spawn@6.0.5": "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4",
- "cross-spawn@^6.0.0": "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4",
- "cross-spawn@^6.0.5": "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4",
- "crypto-browserify@^3.11.0": "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec",
- "css-color-names@0.0.4": "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0",
- "css-color-names@^0.0.4": "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0",
- "css-declaration-sorter@^4.0.1": "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22",
- "css-loader@^3.2.0": "https://registry.yarnpkg.com/css-loader/-/css-loader-3.3.0.tgz#65f889807baec3197313965d6cda9899f936734d",
- "css-select-base-adapter@^0.1.1": "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7",
- "css-select@^2.0.0": "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef",
- "css-tree@1.0.0-alpha.37": "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22",
- "css-unit-converter@^1.1.1": "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996",
- "css-what@^3.2.1": "https://registry.yarnpkg.com/css-what/-/css-what-3.2.1.tgz#f4a8f12421064621b456755e34a03a2c22df5da1",
- "cssesc@^2.0.0": "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703",
- "cssesc@^3.0.0": "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee",
- "cssnano-preset-default@^4.0.7": "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76",
- "cssnano-util-get-arguments@^4.0.0": "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f",
- "cssnano-util-get-match@^4.0.0": "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d",
- "cssnano-util-raw-cache@^4.0.1": "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282",
- "cssnano-util-same-parent@^4.0.0": "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3",
- "cssnano@^4.1.10": "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2",
- "csso@^4.0.2": "https://registry.yarnpkg.com/csso/-/csso-4.0.2.tgz#e5f81ab3a56b8eefb7f0092ce7279329f454de3d",
- "cyclist@^1.0.1": "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9",
- "debug@2.6.9": "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f",
- "debug@^2.2.0": "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f",
- "debug@^2.3.3": "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f",
- "debug@^3.2.6": "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b",
- "debug@^4.0.1": "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791",
- "debug@^4.1.0": "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791",
- "decamelize@^1.2.0": "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290",
- "decode-uri-component@^0.2.0": "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545",
- "deep-extend@^0.6.0": "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac",
- "deep-is@~0.1.3": "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34",
- "define-properties@^1.1.2": "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1",
- "define-properties@^1.1.3": "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1",
- "define-property@^0.2.5": "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116",
- "define-property@^1.0.0": "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6",
- "define-property@^2.0.2": "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d",
- "delegates@^1.0.0": "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a",
- "depd@~1.1.2": "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9",
- "des.js@^1.0.0": "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843",
- "destroy@~1.0.4": "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80",
- "detect-file@^1.0.0": "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7",
- "detect-libc@^1.0.2": "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b",
- "diffie-hellman@^5.0.0": "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875",
- "dimport@^1.0.0": "https://registry.yarnpkg.com/dimport/-/dimport-1.0.0.tgz#d5c09564f621e7b24b2e333cccdf9b2303011644",
- "doctrine@^2.1.0": "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d",
- "doctrine@^3.0.0": "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961",
- "dom-serializer@0": "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51",
- "domain-browser@^1.1.1": "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda",
- "domelementtype@1": "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f",
- "domelementtype@^2.0.1": "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d",
- "domutils@^1.7.0": "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a",
- "dot-prop@^4.1.1": "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57",
- "duplexer@^0.1.1": "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1",
- "duplexify@^3.4.2": "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309",
- "duplexify@^3.6.0": "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309",
- "ee-first@1.1.1": "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d",
- "ejs@^2.6.1": "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba",
- "electron-to-chromium@^1.3.322": "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.322.tgz#a6f7e1c79025c2b05838e8e344f6e89eb83213a8",
- "elliptic@^6.0.0": "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762",
- "emoji-regex@^7.0.1": "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156",
- "emoji-regex@^8.0.0": "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37",
- "emojis-list@^2.0.0": "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389",
- "encodeurl@~1.0.2": "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59",
- "end-of-stream@^1.0.0": "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0",
- "end-of-stream@^1.1.0": "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0",
- "enhanced-resolve@4.1.0": "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f",
- "enhanced-resolve@^4.1.0": "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66",
- "entities@^2.0.0": "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4",
- "errno@^0.1.3": "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618",
- "errno@~0.1.7": "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618",
- "error-ex@^1.3.1": "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf",
- "es-abstract@^1.12.0": "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.3.tgz#52490d978f96ff9f89ec15b5cf244304a5bca161",
- "es-abstract@^1.15.0": "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.3.tgz#52490d978f96ff9f89ec15b5cf244304a5bca161",
- "es-abstract@^1.5.1": "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.3.tgz#52490d978f96ff9f89ec15b5cf244304a5bca161",
- "es-abstract@^1.7.0": "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.3.tgz#52490d978f96ff9f89ec15b5cf244304a5bca161",
- "es-to-primitive@^1.2.1": "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a",
- "escape-html@~1.0.3": "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988",
- "escape-string-regexp@^1.0.5": "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4",
- "eslint-plugin-eslint-plugin@^2.1.0": "https://registry.yarnpkg.com/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-2.1.0.tgz#a7a00f15a886957d855feacaafee264f039e62d5",
- "eslint-plugin-react@^7.17.0": "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.17.0.tgz#a31b3e134b76046abe3cd278e7482bd35a1d12d7",
- "eslint-scope@^4.0.3": "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848",
- "eslint-scope@^5.0.0": "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9",
- "eslint-utils@^1.4.3": "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f",
- "eslint-visitor-keys@^1.0.0": "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2",
- "eslint-visitor-keys@^1.1.0": "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2",
- "eslint@^6.7.2": "https://registry.yarnpkg.com/eslint/-/eslint-6.7.2.tgz#c17707ca4ad7b2d8af986a33feba71e18a9fecd1",
- "espree@^6.1.2": "https://registry.yarnpkg.com/espree/-/espree-6.1.2.tgz#6c272650932b4f91c3714e5e7b5f5e2ecf47262d",
- "esprima@^4.0.0": "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71",
- "esquery@^1.0.1": "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708",
- "esrecurse@^4.1.0": "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf",
- "estraverse@^4.0.0": "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d",
- "estraverse@^4.1.0": "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d",
- "estraverse@^4.1.1": "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d",
- "esutils@^2.0.2": "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64",
- "etag@~1.8.1": "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887",
- "events@^3.0.0": "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88",
- "evp_bytestokey@^1.0.0": "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02",
- "evp_bytestokey@^1.0.3": "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02",
- "execa@^1.0.0": "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8",
- "expand-brackets@^2.1.4": "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622",
- "expand-tilde@^2.0.0": "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502",
- "expand-tilde@^2.0.2": "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502",
- "express@^4.16.3": "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134",
- "extend-shallow@^2.0.1": "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f",
- "extend-shallow@^3.0.0": "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8",
- "extend-shallow@^3.0.2": "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8",
- "external-editor@^3.0.3": "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495",
- "extglob@^2.0.4": "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543",
- "extract-css-chunks-webpack-plugin@^4.6.0": "https://registry.yarnpkg.com/extract-css-chunks-webpack-plugin/-/extract-css-chunks-webpack-plugin-4.7.1.tgz#8bfb94463a8d31c80d88b9c419507c472d810657",
- "fast-deep-equal@^2.0.1": "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49",
- "fast-json-stable-stringify@^2.0.0": "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2",
- "fast-levenshtein@~2.0.6": "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917",
- "fg-loadcss@^2.1.0": "https://registry.yarnpkg.com/fg-loadcss/-/fg-loadcss-2.1.0.tgz#b3cbdf2ab5ee82a13ddb26340f10e3ac43fe2233",
- "figgy-pudding@^3.5.1": "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790",
- "figures@^3.0.0": "https://registry.yarnpkg.com/figures/-/figures-3.1.0.tgz#4b198dd07d8d71530642864af2d45dd9e459c4ec",
- "file-entry-cache@^5.0.1": "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c",
- "file-loader@^5.0.2": "https://registry.yarnpkg.com/file-loader/-/file-loader-5.0.2.tgz#7f3d8b4ac85a5e8df61338cfec95d7405f971caa",
- "filesize@^3.6.1": "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317",
- "fill-range@^4.0.0": "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7",
- "fill-range@^7.0.1": "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40",
- "finalhandler@~1.1.2": "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d",
- "find-cache-dir@^2.0.0": "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7",
- "find-cache-dir@^2.1.0": "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7",
- "find-cache-dir@^3.1.0": "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.1.0.tgz#9935894999debef4cf9f677fdf646d002c4cdecb",
- "find-up@^3.0.0": "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73",
- "find-up@^4.0.0": "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19",
- "findup-sync@3.0.0": "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1",
- "flat-cache@^2.0.1": "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0",
- "flatted@^2.0.0": "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08",
- "flush-write-stream@^1.0.0": "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8",
- "for-in@^1.0.2": "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80",
- "forwarded@~0.1.2": "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84",
- "fragment-cache@^0.2.1": "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19",
- "fresh@0.5.2": "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7",
- "from2@^2.1.0": "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af",
- "fs-extra@^8.1.0": "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0",
- "fs-minipass@^1.2.5": "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7",
- "fs-minipass@^2.0.0": "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.0.0.tgz#a6415edab02fae4b9e9230bc87ee2e4472003cd1",
- "fs-write-stream-atomic@^1.0.8": "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9",
- "fs.realpath@^1.0.0": "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f",
- "fsevents@^1.2.7": "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f",
- "fsevents@~2.1.1": "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805",
- "function-bind@^1.1.1": "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d",
- "functional-red-black-tree@^1.0.1": "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327",
- "gauge@~2.7.3": "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7",
- "get-caller-file@^2.0.1": "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e",
- "get-stream@^4.0.0": "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5",
- "get-value@^2.0.3": "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28",
- "get-value@^2.0.6": "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28",
- "glob-parent@^3.1.0": "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae",
- "glob-parent@^5.0.0": "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2",
- "glob-parent@~5.1.0": "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2",
- "glob@^7.1.3": "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6",
- "glob@^7.1.4": "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6",
- "global-modules@2.0.0": "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780",
- "global-modules@^1.0.0": "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea",
- "global-prefix@^1.0.1": "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe",
- "global-prefix@^3.0.0": "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97",
- "globals@^11.1.0": "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e",
- "globals@^12.1.0": "https://registry.yarnpkg.com/globals/-/globals-12.3.0.tgz#1e564ee5c4dded2ab098b0f88f24702a3c56be13",
- "graceful-fs@^4.1.11": "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423",
- "graceful-fs@^4.1.15": "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423",
- "graceful-fs@^4.1.2": "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423",
- "graceful-fs@^4.1.6": "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423",
- "graceful-fs@^4.2.0": "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423",
- "graceful-fs@^4.2.2": "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423",
- "growly@^1.3.0": "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081",
- "gzip-size@^5.0.0": "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274",
- "has-flag@^3.0.0": "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd",
- "has-symbols@^1.0.0": "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8",
- "has-symbols@^1.0.1": "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8",
- "has-unicode@^2.0.0": "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9",
- "has-value@^0.3.1": "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f",
- "has-value@^1.0.0": "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177",
- "has-values@^0.1.4": "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771",
- "has-values@^1.0.0": "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f",
- "has@^1.0.0": "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796",
- "has@^1.0.1": "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796",
- "has@^1.0.3": "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796",
- "hash-base@^3.0.0": "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918",
- "hash.js@^1.0.0": "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42",
- "hash.js@^1.0.3": "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42",
- "hex-color-regex@^1.1.0": "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e",
- "hmac-drbg@^1.0.0": "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1",
- "homedir-polyfill@^1.0.1": "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8",
- "hoopy@^0.1.4": "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d",
- "hsl-regex@^1.0.0": "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e",
- "hsla-regex@^1.0.0": "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38",
- "html-comment-regex@^1.1.0": "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7",
- "http-errors@1.7.2": "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f",
- "http-errors@~1.7.2": "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06",
- "https-browserify@^1.0.0": "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73",
- "iconv-lite@0.4.24": "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b",
- "iconv-lite@^0.4.24": "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b",
- "iconv-lite@^0.4.4": "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b",
- "icss-utils@^4.0.0": "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467",
- "icss-utils@^4.1.1": "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467",
- "ieee754@^1.1.4": "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84",
- "iferr@^0.1.5": "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501",
- "ignore-walk@^3.0.1": "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37",
- "ignore@^4.0.6": "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc",
- "import-fresh@^2.0.0": "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546",
- "import-fresh@^3.0.0": "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66",
- "import-local@2.0.0": "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d",
- "imurmurhash@^0.1.4": "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea",
- "indent-string@^4.0.0": "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251",
- "indexes-of@^1.0.1": "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607",
- "infer-owner@^1.0.3": "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467",
- "infer-owner@^1.0.4": "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467",
- "inferno-shared@7.3.3": "https://registry.yarnpkg.com/inferno-shared/-/inferno-shared-7.3.3.tgz#aa4b70a38d1f37498766f31c6a99f5c5dfc58b63",
- "inferno-vnode-flags@7.3.3": "https://registry.yarnpkg.com/inferno-vnode-flags/-/inferno-vnode-flags-7.3.3.tgz#aebaddea1569dd16512f44b92bf587837328db9d",
- "inferno@^7.3.2": "https://registry.yarnpkg.com/inferno/-/inferno-7.3.3.tgz#4098d5313c53281e44a857619764e74ab4438415",
- "inflight@^1.0.4": "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9",
- "inherits@2": "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c",
- "inherits@2.0.1": "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1",
- "inherits@2.0.3": "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de",
- "inherits@2.0.4": "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c",
- "inherits@^2.0.1": "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c",
- "inherits@^2.0.3": "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c",
- "inherits@~2.0.1": "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c",
- "inherits@~2.0.3": "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c",
- "ini@^1.3.4": "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927",
- "ini@^1.3.5": "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927",
- "ini@~1.3.0": "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927",
- "inquirer@^7.0.0": "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.0.tgz#9e2b032dde77da1db5db804758b8fea3a970519a",
- "interpret@1.2.0": "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296",
- "invariant@^2.2.2": "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6",
- "invert-kv@^2.0.0": "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02",
- "ipaddr.js@1.9.0": "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65",
- "is-absolute-url@^2.0.0": "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6",
- "is-accessor-descriptor@^0.1.6": "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6",
- "is-accessor-descriptor@^1.0.0": "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656",
- "is-arrayish@^0.2.1": "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d",
- "is-arrayish@^0.3.1": "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03",
- "is-binary-path@^1.0.0": "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898",
- "is-binary-path@~2.1.0": "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09",
- "is-buffer@^1.1.5": "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be",
- "is-callable@^1.1.4": "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75",
- "is-color-stop@^1.0.0": "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345",
- "is-data-descriptor@^0.1.4": "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56",
- "is-data-descriptor@^1.0.0": "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7",
- "is-date-object@^1.0.1": "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16",
- "is-descriptor@^0.1.0": "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca",
- "is-descriptor@^1.0.0": "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec",
- "is-descriptor@^1.0.2": "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec",
- "is-directory@^0.3.1": "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1",
- "is-extendable@^0.1.0": "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89",
- "is-extendable@^0.1.1": "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89",
- "is-extendable@^1.0.1": "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4",
- "is-extglob@^2.1.0": "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2",
- "is-extglob@^2.1.1": "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2",
- "is-fullwidth-code-point@^1.0.0": "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb",
- "is-fullwidth-code-point@^2.0.0": "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f",
- "is-fullwidth-code-point@^3.0.0": "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d",
- "is-glob@^3.1.0": "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a",
- "is-glob@^4.0.0": "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc",
- "is-glob@^4.0.1": "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc",
- "is-glob@~4.0.1": "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc",
- "is-number@^3.0.0": "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195",
- "is-number@^7.0.0": "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b",
- "is-obj@^1.0.0": "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f",
- "is-plain-obj@^1.0.0": "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e",
- "is-plain-object@^2.0.3": "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677",
- "is-plain-object@^2.0.4": "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677",
- "is-promise@^2.1.0": "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa",
- "is-regex@^1.0.4": "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491",
- "is-resolvable@^1.0.0": "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88",
- "is-stream@^1.1.0": "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44",
- "is-svg@^3.0.0": "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75",
- "is-symbol@^1.0.2": "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937",
- "is-windows@^1.0.1": "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d",
- "is-windows@^1.0.2": "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d",
- "is-wsl@^1.1.0": "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d",
- "is-wsl@^2.1.1": "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d",
- "isarray@1.0.0": "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11",
- "isarray@^1.0.0": "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11",
- "isarray@~1.0.0": "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11",
- "isexe@^2.0.0": "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10",
- "isobject@^2.0.0": "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89",
- "isobject@^3.0.0": "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df",
- "isobject@^3.0.1": "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df",
- "jest-worker@^24.9.0": "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5",
- "js-levenshtein@^1.1.3": "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d",
- "js-tokens@^3.0.0 || ^4.0.0": "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499",
- "js-tokens@^4.0.0": "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499",
- "js-yaml@^3.13.1": "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847",
- "jsesc@^2.5.1": "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4",
- "jsesc@~0.5.0": "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d",
- "json-parse-better-errors@^1.0.1": "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9",
- "json-parse-better-errors@^1.0.2": "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9",
- "json-schema-traverse@^0.4.1": "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660",
- "json-stable-stringify-without-jsonify@^1.0.1": "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651",
- "json5@^1.0.1": "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe",
- "json5@^2.1.0": "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6",
- "jsonfile@^4.0.0": "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb",
- "jsx-ast-utils@^2.2.3": "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz#8a9364e402448a3ce7f14d357738310d9248054f",
- "kind-of@^3.0.2": "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64",
- "kind-of@^3.0.3": "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64",
- "kind-of@^3.2.0": "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64",
- "kind-of@^4.0.0": "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57",
- "kind-of@^5.0.0": "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d",
- "kind-of@^6.0.0": "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051",
- "kind-of@^6.0.2": "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051",
- "last-call-webpack-plugin@^3.0.0": "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555",
- "lcid@^2.0.0": "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf",
- "levn@^0.3.0": "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee",
- "levn@~0.3.0": "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee",
- "loader-runner@^2.4.0": "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357",
- "loader-utils@1.2.3": "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7",
- "loader-utils@^1.0.2": "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7",
- "loader-utils@^1.1.0": "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7",
- "loader-utils@^1.2.3": "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7",
- "loadjs@^3.6.1": "https://registry.yarnpkg.com/loadjs/-/loadjs-3.6.1.tgz#1e756ccd4f4c5ed4988085b330e1b4ad9b6a8340",
- "locate-path@^3.0.0": "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e",
- "locate-path@^5.0.0": "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0",
- "lodash.memoize@^4.1.2": "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe",
- "lodash.uniq@^4.5.0": "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773",
- "lodash@^4.17.13": "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548",
- "lodash@^4.17.14": "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548",
- "lodash@^4.17.15": "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548",
- "lodash@^4.17.5": "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548",
- "loose-envify@^1.0.0": "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf",
- "loose-envify@^1.4.0": "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf",
- "lru-cache@^5.1.1": "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920",
- "make-dir@^2.0.0": "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5",
- "make-dir@^3.0.0": "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.0.tgz#1b5f39f6b9270ed33f9f054c5c0f84304989f801",
- "mamacro@^0.0.3": "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4",
- "map-age-cleaner@^0.1.1": "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a",
- "map-cache@^0.2.2": "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf",
- "map-visit@^1.0.0": "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f",
- "md5.js@^1.3.4": "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f",
- "mdn-data@2.0.4": "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b",
- "media-typer@0.3.0": "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748",
- "mem@^4.0.0": "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178",
- "memory-fs@^0.4.0": "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552",
- "memory-fs@^0.4.1": "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552",
- "memory-fs@^0.5.0": "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c",
- "merge-descriptors@1.0.1": "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61",
- "merge-stream@^2.0.0": "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60",
- "methods@~1.1.2": "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee",
- "micromatch@^3.0.4": "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23",
- "micromatch@^3.1.10": "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23",
- "micromatch@^3.1.4": "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23",
- "miller-rabin@^4.0.0": "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d",
- "mime-db@1.42.0": "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac",
- "mime-types@~2.1.24": "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.25.tgz#39772d46621f93e2a80a856c53b86a62156a6437",
- "mime@1.6.0": "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1",
- "mime@^2.4.4": "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5",
- "mimic-fn@^2.0.0": "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b",
- "mimic-fn@^2.1.0": "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b",
- "minimalistic-assert@^1.0.0": "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7",
- "minimalistic-assert@^1.0.1": "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7",
- "minimalistic-crypto-utils@^1.0.0": "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a",
- "minimalistic-crypto-utils@^1.0.1": "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a",
- "minimatch@^3.0.4": "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083",
- "minimist@0.0.8": "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d",
- "minimist@^1.2.0": "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284",
- "minipass-collect@^1.0.2": "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617",
- "minipass-flush@^1.0.5": "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373",
- "minipass-pipeline@^1.2.2": "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz#3dcb6bb4a546e32969c7ad710f2c79a86abba93a",
- "minipass@^2.6.0": "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6",
- "minipass@^2.8.6": "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6",
- "minipass@^2.9.0": "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6",
- "minipass@^3.0.0": "https://registry.yarnpkg.com/minipass/-/minipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5",
- "minipass@^3.1.1": "https://registry.yarnpkg.com/minipass/-/minipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5",
- "minizlib@^1.2.1": "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d",
- "mississippi@^3.0.0": "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022",
- "mixin-deep@^1.2.0": "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566",
- "mkdirp@^0.5.0": "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903",
- "mkdirp@^0.5.1": "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903",
- "mkdirp@~0.5.1": "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903",
- "move-concurrently@^1.0.1": "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92",
- "ms@2.0.0": "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8",
- "ms@2.1.1": "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a",
- "ms@^2.1.1": "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009",
- "mute-stream@0.0.8": "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d",
- "nan@^2.12.1": "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c",
- "nanomatch@^1.2.9": "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119",
- "natural-compare@^1.4.0": "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7",
- "needle@^2.2.1": "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c",
- "negotiator@0.6.2": "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb",
- "neo-async@^2.5.0": "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c",
- "neo-async@^2.6.1": "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c",
- "nice-try@^1.0.4": "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366",
- "node-libs-browser@^2.2.1": "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425",
- "node-notifier@6.0.0": "https://registry.yarnpkg.com/node-notifier/-/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12",
- "node-pre-gyp@^0.12.0": "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149",
- "node-releases@^1.1.42": "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.42.tgz#a999f6a62f8746981f6da90627a8d2fc090bbad7",
- "nopt@^4.0.1": "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d",
- "normalize-path@^2.1.1": "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9",
- "normalize-path@^3.0.0": "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65",
- "normalize-path@~3.0.0": "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65",
- "normalize-url@1.9.1": "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c",
- "normalize-url@^3.0.0": "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559",
- "npm-bundled@^1.0.1": "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b",
- "npm-normalize-package-bin@^1.0.1": "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2",
- "npm-packlist@^1.1.6": "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.7.tgz#9e954365a06b80b18111ea900945af4f88ed4848",
- "npm-run-path@^2.0.0": "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f",
- "npmlog@^4.0.2": "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b",
- "nth-check@^1.0.2": "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c",
- "number-is-nan@^1.0.0": "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d",
- "object-assign@^4.0.1": "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863",
- "object-assign@^4.1.0": "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863",
- "object-assign@^4.1.1": "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863",
- "object-copy@^0.1.0": "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c",
- "object-inspect@^1.7.0": "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67",
- "object-keys@^1.0.11": "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e",
- "object-keys@^1.0.12": "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e",
- "object-keys@^1.1.1": "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e",
- "object-visit@^1.0.0": "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb",
- "object.assign@^4.1.0": "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da",
- "object.entries@^1.1.0": "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519",
- "object.fromentries@^2.0.1": "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.1.tgz#050f077855c7af8ae6649f45c80b16ee2d31e704",
- "object.getownpropertydescriptors@^2.0.3": "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16",
- "object.pick@^1.3.0": "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747",
- "object.values@^1.1.0": "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9",
- "on-finished@~2.3.0": "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947",
- "once@^1.3.0": "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1",
- "once@^1.3.1": "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1",
- "once@^1.4.0": "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1",
- "onetime@^5.1.0": "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5",
- "opencollective-postinstall@^2.0.2": "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89",
- "opener@^1.5.1": "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed",
- "optimize-css-assets-webpack-plugin@^5.0.3": "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572",
- "optionator@^0.8.3": "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495",
- "os-browserify@^0.3.0": "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27",
- "os-homedir@^1.0.0": "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3",
- "os-locale@^3.1.0": "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a",
- "os-tmpdir@^1.0.0": "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274",
- "os-tmpdir@~1.0.2": "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274",
- "osenv@^0.1.4": "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410",
- "p-defer@^1.0.0": "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c",
- "p-finally@^1.0.0": "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae",
- "p-is-promise@^2.0.0": "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e",
- "p-limit@^2.0.0": "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537",
- "p-limit@^2.2.0": "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537",
- "p-locate@^3.0.0": "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4",
- "p-locate@^4.1.0": "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07",
- "p-map@^3.0.0": "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d",
- "p-try@^2.0.0": "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6",
- "pako@~1.0.5": "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732",
- "parallel-transform@^1.1.0": "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc",
- "parent-module@^1.0.0": "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2",
- "parse-asn1@^5.0.0": "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e",
- "parse-json@^4.0.0": "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0",
- "parse-passwd@^1.0.0": "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6",
- "parseurl@~1.3.3": "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4",
- "pascalcase@^0.1.1": "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14",
- "path-browserify@0.0.1": "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a",
- "path-dirname@^1.0.0": "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0",
- "path-exists@^3.0.0": "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515",
- "path-exists@^4.0.0": "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3",
- "path-is-absolute@^1.0.0": "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f",
- "path-key@^2.0.0": "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40",
- "path-key@^2.0.1": "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40",
- "path-parse@^1.0.6": "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c",
- "path-to-regexp@0.1.7": "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c",
- "pbkdf2@^3.0.3": "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6",
- "picomatch@^2.0.4": "https://registry.yarnpkg.com/picomatch/-/picomatch-2.1.1.tgz#ecdfbea7704adb5fe6fb47f9866c4c0e15e905c5",
- "pify@^4.0.1": "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231",
- "pkg-dir@^3.0.0": "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3",
- "pkg-dir@^4.1.0": "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3",
- "posix-character-classes@^0.1.0": "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab",
- "postcss-calc@^7.0.1": "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436",
- "postcss-colormin@^4.0.3": "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381",
- "postcss-convert-values@^4.0.1": "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f",
- "postcss-discard-comments@^4.0.2": "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033",
- "postcss-discard-duplicates@^4.0.2": "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb",
- "postcss-discard-empty@^4.0.1": "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765",
- "postcss-discard-overridden@^4.0.1": "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57",
- "postcss-merge-longhand@^4.0.11": "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24",
- "postcss-merge-rules@^4.0.3": "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650",
- "postcss-minify-font-values@^4.0.2": "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6",
- "postcss-minify-gradients@^4.0.2": "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471",
- "postcss-minify-params@^4.0.2": "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874",
- "postcss-minify-selectors@^4.0.2": "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8",
- "postcss-modules-extract-imports@^2.0.0": "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e",
- "postcss-modules-local-by-default@^3.0.2": "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915",
- "postcss-modules-scope@^2.1.1": "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.1.tgz#33d4fc946602eb5e9355c4165d68a10727689dba",
- "postcss-modules-values@^3.0.0": "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10",
- "postcss-normalize-charset@^4.0.1": "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4",
- "postcss-normalize-display-values@^4.0.2": "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a",
- "postcss-normalize-positions@^4.0.2": "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f",
- "postcss-normalize-repeat-style@^4.0.2": "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c",
- "postcss-normalize-string@^4.0.2": "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c",
- "postcss-normalize-timing-functions@^4.0.2": "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9",
- "postcss-normalize-unicode@^4.0.1": "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb",
- "postcss-normalize-url@^4.0.1": "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1",
- "postcss-normalize-whitespace@^4.0.2": "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82",
- "postcss-ordered-values@^4.1.2": "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee",
- "postcss-reduce-initial@^4.0.3": "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df",
- "postcss-reduce-transforms@^4.0.2": "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29",
- "postcss-selector-parser@^3.0.0": "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865",
- "postcss-selector-parser@^5.0.0-rc.4": "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c",
- "postcss-selector-parser@^6.0.0": "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c",
- "postcss-selector-parser@^6.0.2": "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c",
- "postcss-svgo@^4.0.2": "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258",
- "postcss-unique-selectors@^4.0.1": "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac",
- "postcss-value-parser@^3.0.0": "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281",
- "postcss-value-parser@^3.3.1": "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281",
- "postcss-value-parser@^4.0.0": "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9",
- "postcss-value-parser@^4.0.2": "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9",
- "postcss@^7.0.0": "https://registry.yarnpkg.com/postcss/-/postcss-7.0.24.tgz#972c3c5be431b32e40caefe6c81b5a19117704c2",
- "postcss@^7.0.1": "https://registry.yarnpkg.com/postcss/-/postcss-7.0.24.tgz#972c3c5be431b32e40caefe6c81b5a19117704c2",
- "postcss@^7.0.14": "https://registry.yarnpkg.com/postcss/-/postcss-7.0.24.tgz#972c3c5be431b32e40caefe6c81b5a19117704c2",
- "postcss@^7.0.16": "https://registry.yarnpkg.com/postcss/-/postcss-7.0.24.tgz#972c3c5be431b32e40caefe6c81b5a19117704c2",
- "postcss@^7.0.23": "https://registry.yarnpkg.com/postcss/-/postcss-7.0.24.tgz#972c3c5be431b32e40caefe6c81b5a19117704c2",
- "postcss@^7.0.5": "https://registry.yarnpkg.com/postcss/-/postcss-7.0.24.tgz#972c3c5be431b32e40caefe6c81b5a19117704c2",
- "postcss@^7.0.6": "https://registry.yarnpkg.com/postcss/-/postcss-7.0.24.tgz#972c3c5be431b32e40caefe6c81b5a19117704c2",
- "prelude-ls@~1.1.2": "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54",
- "prepend-http@^1.0.0": "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc",
- "private@^0.1.6": "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff",
- "process-nextick-args@~2.0.0": "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2",
- "process@^0.11.10": "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182",
- "progress@^2.0.0": "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8",
- "promise-inflight@^1.0.1": "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3",
- "prop-types@^15.7.2": "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5",
- "proxy-addr@~2.0.5": "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34",
- "prr@~1.0.1": "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476",
- "public-encrypt@^4.0.0": "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0",
- "pump@^2.0.0": "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909",
- "pump@^3.0.0": "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64",
- "pumpify@^1.3.3": "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce",
- "punycode@1.3.2": "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d",
- "punycode@^1.2.4": "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e",
- "punycode@^2.1.0": "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec",
- "q@^1.1.2": "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7",
- "qs@6.7.0": "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc",
- "query-string@^4.1.0": "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb",
- "querystring-es3@^0.2.0": "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73",
- "querystring@0.2.0": "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620",
- "randombytes@^2.0.0": "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a",
- "randombytes@^2.0.1": "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a",
- "randombytes@^2.0.5": "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a",
- "randomfill@^1.0.3": "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458",
- "range-parser@~1.2.1": "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031",
- "raw-body@2.4.0": "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332",
- "rc@^1.2.7": "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed",
- "react-is@^16.8.1": "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c",
- "readable-stream@1 || 2": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf",
- "readable-stream@^2.0.0": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf",
- "readable-stream@^2.0.1": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf",
- "readable-stream@^2.0.2": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf",
- "readable-stream@^2.0.6": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf",
- "readable-stream@^2.1.5": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf",
- "readable-stream@^2.2.2": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf",
- "readable-stream@^2.3.3": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf",
- "readable-stream@^2.3.6": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf",
- "readable-stream@~2.3.6": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf",
- "readdirp@^2.2.1": "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525",
- "readdirp@~3.2.0": "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839",
- "regenerate-unicode-properties@^8.1.0": "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e",
- "regenerate@^1.4.0": "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11",
- "regenerator-runtime@^0.13.3": "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5",
- "regenerator-transform@^0.14.0": "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb",
- "regex-not@^1.0.0": "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c",
- "regex-not@^1.0.2": "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c",
- "regexpp@^2.0.1": "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f",
- "regexpu-core@^4.6.0": "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6",
- "regjsgen@^0.5.0": "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c",
- "regjsparser@^0.6.0": "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c",
- "remove-trailing-separator@^1.0.1": "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef",
- "repeat-element@^1.1.2": "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce",
- "repeat-string@^1.6.1": "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637",
- "require-directory@^2.1.1": "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42",
- "require-main-filename@^2.0.0": "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b",
- "resolve-cwd@^2.0.0": "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a",
- "resolve-dir@^1.0.0": "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43",
- "resolve-dir@^1.0.1": "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43",
- "resolve-from@^3.0.0": "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748",
- "resolve-from@^4.0.0": "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6",
- "resolve-url@^0.2.1": "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a",
- "resolve@^1.12.0": "https://registry.yarnpkg.com/resolve/-/resolve-1.13.1.tgz#be0aa4c06acd53083505abb35f4d66932ab35d16",
- "resolve@^1.13.1": "https://registry.yarnpkg.com/resolve/-/resolve-1.13.1.tgz#be0aa4c06acd53083505abb35f4d66932ab35d16",
- "resolve@^1.3.2": "https://registry.yarnpkg.com/resolve/-/resolve-1.13.1.tgz#be0aa4c06acd53083505abb35f4d66932ab35d16",
- "restore-cursor@^3.1.0": "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e",
- "ret@~0.1.10": "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc",
- "rewrite-imports@^2.0.3": "https://registry.yarnpkg.com/rewrite-imports/-/rewrite-imports-2.0.3.tgz#210fc05ebda6a6c6a2e396608b0146003d510dda",
- "rgb-regex@^1.0.1": "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1",
- "rgba-regex@^1.0.0": "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3",
- "rimraf@2.6.3": "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab",
- "rimraf@^2.5.4": "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec",
- "rimraf@^2.6.1": "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec",
- "rimraf@^2.6.3": "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec",
- "rimraf@^2.7.1": "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec",
- "ripemd160@^2.0.0": "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c",
- "ripemd160@^2.0.1": "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c",
- "run-async@^2.2.0": "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0",
- "run-queue@^1.0.0": "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47",
- "run-queue@^1.0.3": "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47",
- "rxjs@^6.4.0": "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a",
- "safe-buffer@5.1.2": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d",
- "safe-buffer@^5.0.1": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519",
- "safe-buffer@^5.1.0": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519",
- "safe-buffer@^5.1.1": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519",
- "safe-buffer@^5.1.2": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519",
- "safe-buffer@~5.1.0": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d",
- "safe-buffer@~5.1.1": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d",
- "safe-buffer@~5.2.0": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519",
- "safe-regex@^1.1.0": "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e",
- "safer-buffer@>= 2.1.2 < 3": "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a",
- "sass-loader@^8.0.0": "https://registry.yarnpkg.com/sass-loader/-/sass-loader-8.0.0.tgz#e7b07a3e357f965e6b03dd45b016b0a9746af797",
- "sass@^1.22.12": "https://registry.yarnpkg.com/sass/-/sass-1.23.7.tgz#090254e006af1219d442f1bff31e139d5e085dff",
- "sax@^1.2.4": "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9",
- "sax@~1.2.4": "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9",
- "schema-utils@^1.0.0": "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770",
- "schema-utils@^2.0.1": "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.1.tgz#eb78f0b945c7bcfa2082b3565e8db3548011dc4f",
- "schema-utils@^2.1.0": "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.1.tgz#eb78f0b945c7bcfa2082b3565e8db3548011dc4f",
- "schema-utils@^2.5.0": "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.1.tgz#eb78f0b945c7bcfa2082b3565e8db3548011dc4f",
- "schema-utils@^2.6.0": "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.1.tgz#eb78f0b945c7bcfa2082b3565e8db3548011dc4f",
- "schema-utils@^2.6.1": "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.1.tgz#eb78f0b945c7bcfa2082b3565e8db3548011dc4f",
- "semver@^5.3.0": "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7",
- "semver@^5.4.1": "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7",
- "semver@^5.5.0": "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7",
- "semver@^5.6.0": "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7",
- "semver@^6.0.0": "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d",
- "semver@^6.1.2": "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d",
- "semver@^6.3.0": "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d",
- "send@0.17.1": "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8",
- "serialize-javascript@^2.1.1": "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61",
- "serve-static@1.14.1": "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9",
- "set-blocking@^2.0.0": "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7",
- "set-blocking@~2.0.0": "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7",
- "set-value@^2.0.0": "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b",
- "set-value@^2.0.1": "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b",
- "setimmediate@^1.0.4": "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285",
- "setprototypeof@1.1.1": "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683",
- "sha.js@^2.4.0": "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7",
- "sha.js@^2.4.8": "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7",
- "shallow-clone@^3.0.0": "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3",
- "shebang-command@^1.2.0": "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea",
- "shebang-regex@^1.0.0": "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3",
- "shellwords@^0.1.1": "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b",
- "signal-exit@^3.0.0": "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d",
- "signal-exit@^3.0.2": "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d",
- "simple-swizzle@^0.2.2": "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a",
- "slice-ansi@^2.1.0": "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636",
- "snapdragon-node@^2.0.1": "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b",
- "snapdragon-util@^3.0.1": "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2",
- "snapdragon@^0.8.1": "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d",
- "sort-keys@^1.0.0": "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad",
- "source-list-map@^2.0.0": "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34",
- "source-map-resolve@^0.5.0": "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259",
- "source-map-support@~0.5.12": "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042",
- "source-map-url@^0.4.0": "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3",
- "source-map@^0.5.0": "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc",
- "source-map@^0.5.6": "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc",
- "source-map@^0.6.0": "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263",
- "source-map@^0.6.1": "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263",
- "source-map@^0.7.3": "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383",
- "source-map@~0.6.1": "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263",
- "split-string@^3.0.1": "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2",
- "split-string@^3.0.2": "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2",
- "sprintf-js@~1.0.2": "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c",
- "ssri@^6.0.1": "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8",
- "ssri@^7.0.0": "https://registry.yarnpkg.com/ssri/-/ssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d",
- "stable@^0.1.8": "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf",
- "stacktrace-parser@^0.1.7": "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.8.tgz#28b0272bd9aeb41636f0c8265c03ba270c865e1b",
- "static-extend@^0.1.1": "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6",
- "statuses@>= 1.5.0 < 2": "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c",
- "statuses@~1.5.0": "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c",
- "stream-browserify@^2.0.1": "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b",
- "stream-each@^1.1.0": "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae",
- "stream-http@^2.7.2": "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc",
- "stream-shift@^1.0.0": "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952",
- "strict-uri-encode@^1.0.0": "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713",
- "string-width@^1.0.1": "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3",
- "string-width@^1.0.2 || 2": "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e",
- "string-width@^3.0.0": "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961",
- "string-width@^3.1.0": "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961",
- "string-width@^4.1.0": "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5",
- "string.prototype.trimleft@^2.1.0": "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634",
- "string.prototype.trimright@^2.1.0": "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58",
- "string_decoder@^1.0.0": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e",
- "string_decoder@~1.1.1": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8",
- "strip-ansi@^3.0.0": "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf",
- "strip-ansi@^3.0.1": "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf",
- "strip-ansi@^4.0.0": "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f",
- "strip-ansi@^5.0.0": "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae",
- "strip-ansi@^5.1.0": "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae",
- "strip-ansi@^5.2.0": "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae",
- "strip-ansi@^6.0.0": "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532",
- "strip-eof@^1.0.0": "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf",
- "strip-json-comments@^3.0.1": "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7",
- "strip-json-comments@~2.0.1": "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a",
- "style-loader@^1.0.0": "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.1.tgz#aec6d4c61d0ed8d0a442faed741d4dfc6573888a",
- "stylehacks@^4.0.0": "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5",
- "supports-color@6.1.0": "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3",
- "supports-color@^5.3.0": "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f",
- "supports-color@^6.1.0": "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3",
- "svgo@^1.0.0": "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167",
- "table@^5.2.3": "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e",
- "tapable@^1.0.0": "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2",
- "tapable@^1.1.3": "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2",
- "tar@^4": "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525",
- "terser-webpack-plugin@^1.4.1": "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.2.tgz#e23c0d554587d1f473bd0cf68627720e733890a4",
- "terser-webpack-plugin@^2.1.0": "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.2.2.tgz#2a6e00237125564a455ad69b22e08ee59420473a",
- "terser@^4.1.2": "https://registry.yarnpkg.com/terser/-/terser-4.4.2.tgz#448fffad0245f4c8a277ce89788b458bfd7706e8",
- "terser@^4.4.2": "https://registry.yarnpkg.com/terser/-/terser-4.4.2.tgz#448fffad0245f4c8a277ce89788b458bfd7706e8",
- "text-table@^0.2.0": "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4",
- "through2@^2.0.0": "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd",
- "through@^2.3.6": "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5",
- "timers-browserify@^2.0.4": "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f",
- "timsort@^0.3.0": "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4",
- "tmp@^0.0.33": "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9",
- "to-arraybuffer@^1.0.0": "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43",
- "to-fast-properties@^2.0.0": "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e",
- "to-object-path@^0.3.0": "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af",
- "to-regex-range@^2.1.0": "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38",
- "to-regex-range@^5.0.1": "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4",
- "to-regex@^3.0.1": "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce",
- "to-regex@^3.0.2": "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce",
- "toidentifier@1.0.0": "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553",
- "tryer@^1.0.1": "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8",
- "tslib@^1.9.0": "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a",
- "tty-browserify@0.0.0": "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6",
- "type-check@~0.3.2": "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72",
- "type-fest@^0.7.1": "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48",
- "type-fest@^0.8.1": "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d",
- "type-is@~1.6.17": "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131",
- "type-is@~1.6.18": "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131",
- "typedarray@^0.0.6": "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777",
- "unicode-canonical-property-names-ecmascript@^1.0.4": "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818",
- "unicode-match-property-ecmascript@^1.0.4": "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c",
- "unicode-match-property-value-ecmascript@^1.1.0": "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277",
- "unicode-property-aliases-ecmascript@^1.0.4": "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57",
- "union-value@^1.0.0": "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847",
- "uniq@^1.0.1": "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff",
- "uniqs@^2.0.0": "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02",
- "unique-filename@^1.1.1": "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230",
- "unique-slug@^2.0.0": "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c",
- "universalify@^0.1.0": "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66",
- "unpipe@1.0.0": "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec",
- "unpipe@~1.0.0": "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec",
- "unquote@~1.1.1": "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544",
- "unset-value@^1.0.0": "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559",
- "upath@^1.1.1": "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894",
- "uri-js@^4.2.2": "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0",
- "urix@^0.1.0": "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72",
- "url-loader@^3.0.0": "https://registry.yarnpkg.com/url-loader/-/url-loader-3.0.0.tgz#9f1f11b371acf6e51ed15a50db635e02eec18368",
- "url@^0.11.0": "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1",
- "use@^3.1.0": "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f",
- "util-deprecate@~1.0.1": "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf",
- "util.promisify@~1.0.0": "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030",
- "util@0.10.3": "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9",
- "util@^0.11.0": "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61",
- "utils-merge@1.0.1": "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713",
- "v8-compile-cache@2.0.3": "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe",
- "v8-compile-cache@^2.0.3": "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e",
- "vary@~1.1.2": "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc",
- "vendors@^1.0.0": "https://registry.yarnpkg.com/vendors/-/vendors-1.0.3.tgz#a6467781abd366217c050f8202e7e50cc9eef8c0",
- "vm-browserify@^1.0.1": "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0",
- "watchpack@^1.6.0": "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00",
- "webpack-build-notifier@^2.0.0": "https://registry.yarnpkg.com/webpack-build-notifier/-/webpack-build-notifier-2.0.0.tgz#4e2012f939dd3124d397fb881dbf3dc973596065",
- "webpack-bundle-analyzer@^3.5.1": "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.6.0.tgz#39b3a8f829ca044682bc6f9e011c95deb554aefd",
- "webpack-cli@^3.3.9": "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.10.tgz#17b279267e9b4fb549023fae170da8e6e766da13",
- "webpack-external-import@^0.3.0-beta.0": "https://registry.yarnpkg.com/webpack-external-import/-/webpack-external-import-0.3.0-beta.0.tgz#bceccdafb9572931ee93ffa84e39eea9f6d15dca",
- "webpack-sources@^1.1.0": "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933",
- "webpack-sources@^1.4.0": "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933",
- "webpack-sources@^1.4.1": "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933",
- "webpack-sources@^1.4.3": "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933",
- "webpack@^4.40.2": "https://registry.yarnpkg.com/webpack/-/webpack-4.41.2.tgz#c34ec76daa3a8468c9b61a50336d8e3303dce74e",
- "which-module@^2.0.0": "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a",
- "which@^1.2.14": "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a",
- "which@^1.2.9": "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a",
- "which@^1.3.1": "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a",
- "wide-align@^1.1.0": "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457",
- "word-wrap@~1.2.3": "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c",
- "worker-farm@^1.7.0": "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8",
- "wrap-ansi@^5.1.0": "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09",
- "wrappy@1": "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f",
- "write@1.0.3": "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3",
- "ws@^6.0.0": "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb",
- "ws@^7.1.2": "https://registry.yarnpkg.com/ws/-/ws-7.2.0.tgz#422eda8c02a4b5dba7744ba66eebbd84bcef0ec7",
- "xtend@^4.0.0": "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54",
- "xtend@~4.0.1": "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54",
- "y18n@^4.0.0": "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b",
- "yallist@^3.0.0": "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd",
- "yallist@^3.0.2": "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd",
- "yallist@^3.0.3": "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd",
- "yallist@^4.0.0": "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72",
- "yargs-parser@^13.1.0": "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0",
- "yargs@13.2.4": "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83"
- },
- "files": [],
- "artifacts": {}
-}
\ No newline at end of file
diff --git a/tgui-next/node_modules/@babel/code-frame/LICENSE b/tgui-next/node_modules/@babel/code-frame/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/code-frame/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/code-frame/README.md b/tgui-next/node_modules/@babel/code-frame/README.md
deleted file mode 100644
index 185f93d247..0000000000
--- a/tgui-next/node_modules/@babel/code-frame/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/code-frame
-
-> Generate errors that contain a code frame that point to source locations.
-
-See our website [@babel/code-frame](https://babeljs.io/docs/en/next/babel-code-frame.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/code-frame
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/code-frame --dev
-```
diff --git a/tgui-next/node_modules/@babel/code-frame/package.json b/tgui-next/node_modules/@babel/code-frame/package.json
deleted file mode 100644
index 99bd4ac061..0000000000
--- a/tgui-next/node_modules/@babel/code-frame/package.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "name": "@babel/code-frame",
- "version": "7.5.5",
- "description": "Generate errors that contain a code frame that point to source locations.",
- "author": "Sebastian McKenzie ",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-code-frame",
- "main": "lib/index.js",
- "dependencies": {
- "@babel/highlight": "^7.0.0"
- },
- "devDependencies": {
- "chalk": "^2.0.0",
- "strip-ansi": "^4.0.0"
- },
- "gitHead": "0407f034f09381b95e9cabefbf6b176c76485a43"
-}
diff --git a/tgui-next/node_modules/@babel/core/LICENSE b/tgui-next/node_modules/@babel/core/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/core/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/core/README.md b/tgui-next/node_modules/@babel/core/README.md
deleted file mode 100644
index 9b4b63dc47..0000000000
--- a/tgui-next/node_modules/@babel/core/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/core
-
-> Babel compiler core.
-
-See our website [@babel/core](https://babeljs.io/docs/en/next/babel-core.html) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20core%22+is%3Aopen) associated with this package.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/core
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/core --dev
-```
diff --git a/tgui-next/node_modules/@babel/core/node_modules/.bin/json5 b/tgui-next/node_modules/@babel/core/node_modules/.bin/json5
deleted file mode 100644
index 07f72226ba..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/.bin/json5
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../../../../json5/lib/cli.js" "$@"
- ret=$?
-else
- node "$basedir/../../../../json5/lib/cli.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/@babel/core/node_modules/.bin/json5.cmd b/tgui-next/node_modules/@babel/core/node_modules/.bin/json5.cmd
deleted file mode 100644
index 1335f2ed62..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/.bin/json5.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\..\..\..\json5\lib\cli.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\..\..\..\json5\lib\cli.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/@babel/core/node_modules/.bin/parser b/tgui-next/node_modules/@babel/core/node_modules/.bin/parser
deleted file mode 100644
index 193dfcec99..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/.bin/parser
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../../../parser/bin/babel-parser.js" "$@"
- ret=$?
-else
- node "$basedir/../../../parser/bin/babel-parser.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/@babel/core/node_modules/.bin/parser.cmd b/tgui-next/node_modules/@babel/core/node_modules/.bin/parser.cmd
deleted file mode 100644
index b7ddba7e21..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/.bin/parser.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\..\..\parser\bin\babel-parser.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\..\..\parser\bin\babel-parser.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/@babel/core/node_modules/.bin/semver b/tgui-next/node_modules/@babel/core/node_modules/.bin/semver
deleted file mode 100644
index d592e69304..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/.bin/semver
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../semver/bin/semver" "$@"
- ret=$?
-else
- node "$basedir/../semver/bin/semver" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/@babel/core/node_modules/.bin/semver.cmd b/tgui-next/node_modules/@babel/core/node_modules/.bin/semver.cmd
deleted file mode 100644
index eabc737647..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/.bin/semver.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\semver\bin\semver" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\semver\bin\semver" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/@babel/core/node_modules/debug/CHANGELOG.md b/tgui-next/node_modules/@babel/core/node_modules/debug/CHANGELOG.md
deleted file mode 100644
index 820d21e332..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/debug/CHANGELOG.md
+++ /dev/null
@@ -1,395 +0,0 @@
-
-3.1.0 / 2017-09-26
-==================
-
- * Add `DEBUG_HIDE_DATE` env var (#486)
- * Remove ReDoS regexp in %o formatter (#504)
- * Remove "component" from package.json
- * Remove `component.json`
- * Ignore package-lock.json
- * Examples: fix colors printout
- * Fix: browser detection
- * Fix: spelling mistake (#496, @EdwardBetts)
-
-3.0.1 / 2017-08-24
-==================
-
- * Fix: Disable colors in Edge and Internet Explorer (#489)
-
-3.0.0 / 2017-08-08
-==================
-
- * Breaking: Remove DEBUG_FD (#406)
- * Breaking: Use `Date#toISOString()` instead to `Date#toUTCString()` when output is not a TTY (#418)
- * Breaking: Make millisecond timer namespace specific and allow 'always enabled' output (#408)
- * Addition: document `enabled` flag (#465)
- * Addition: add 256 colors mode (#481)
- * Addition: `enabled()` updates existing debug instances, add `destroy()` function (#440)
- * Update: component: update "ms" to v2.0.0
- * Update: separate the Node and Browser tests in Travis-CI
- * Update: refactor Readme, fixed documentation, added "Namespace Colors" section, redid screenshots
- * Update: separate Node.js and web browser examples for organization
- * Update: update "browserify" to v14.4.0
- * Fix: fix Readme typo (#473)
-
-2.6.9 / 2017-09-22
-==================
-
- * remove ReDoS regexp in %o formatter (#504)
-
-2.6.8 / 2017-05-18
-==================
-
- * Fix: Check for undefined on browser globals (#462, @marbemac)
-
-2.6.7 / 2017-05-16
-==================
-
- * Fix: Update ms to 2.0.0 to fix regular expression denial of service vulnerability (#458, @hubdotcom)
- * Fix: Inline extend function in node implementation (#452, @dougwilson)
- * Docs: Fix typo (#455, @msasad)
-
-2.6.5 / 2017-04-27
-==================
-
- * Fix: null reference check on window.documentElement.style.WebkitAppearance (#447, @thebigredgeek)
- * Misc: clean up browser reference checks (#447, @thebigredgeek)
- * Misc: add npm-debug.log to .gitignore (@thebigredgeek)
-
-
-2.6.4 / 2017-04-20
-==================
-
- * Fix: bug that would occur if process.env.DEBUG is a non-string value. (#444, @LucianBuzzo)
- * Chore: ignore bower.json in npm installations. (#437, @joaovieira)
- * Misc: update "ms" to v0.7.3 (@tootallnate)
-
-2.6.3 / 2017-03-13
-==================
-
- * Fix: Electron reference to `process.env.DEBUG` (#431, @paulcbetts)
- * Docs: Changelog fix (@thebigredgeek)
-
-2.6.2 / 2017-03-10
-==================
-
- * Fix: DEBUG_MAX_ARRAY_LENGTH (#420, @slavaGanzin)
- * Docs: Add backers and sponsors from Open Collective (#422, @piamancini)
- * Docs: Add Slackin invite badge (@tootallnate)
-
-2.6.1 / 2017-02-10
-==================
-
- * Fix: Module's `export default` syntax fix for IE8 `Expected identifier` error
- * Fix: Whitelist DEBUG_FD for values 1 and 2 only (#415, @pi0)
- * Fix: IE8 "Expected identifier" error (#414, @vgoma)
- * Fix: Namespaces would not disable once enabled (#409, @musikov)
-
-2.6.0 / 2016-12-28
-==================
-
- * Fix: added better null pointer checks for browser useColors (@thebigredgeek)
- * Improvement: removed explicit `window.debug` export (#404, @tootallnate)
- * Improvement: deprecated `DEBUG_FD` environment variable (#405, @tootallnate)
-
-2.5.2 / 2016-12-25
-==================
-
- * Fix: reference error on window within webworkers (#393, @KlausTrainer)
- * Docs: fixed README typo (#391, @lurch)
- * Docs: added notice about v3 api discussion (@thebigredgeek)
-
-2.5.1 / 2016-12-20
-==================
-
- * Fix: babel-core compatibility
-
-2.5.0 / 2016-12-20
-==================
-
- * Fix: wrong reference in bower file (@thebigredgeek)
- * Fix: webworker compatibility (@thebigredgeek)
- * Fix: output formatting issue (#388, @kribblo)
- * Fix: babel-loader compatibility (#383, @escwald)
- * Misc: removed built asset from repo and publications (@thebigredgeek)
- * Misc: moved source files to /src (#378, @yamikuronue)
- * Test: added karma integration and replaced babel with browserify for browser tests (#378, @yamikuronue)
- * Test: coveralls integration (#378, @yamikuronue)
- * Docs: simplified language in the opening paragraph (#373, @yamikuronue)
-
-2.4.5 / 2016-12-17
-==================
-
- * Fix: `navigator` undefined in Rhino (#376, @jochenberger)
- * Fix: custom log function (#379, @hsiliev)
- * Improvement: bit of cleanup + linting fixes (@thebigredgeek)
- * Improvement: rm non-maintainted `dist/` dir (#375, @freewil)
- * Docs: simplified language in the opening paragraph. (#373, @yamikuronue)
-
-2.4.4 / 2016-12-14
-==================
-
- * Fix: work around debug being loaded in preload scripts for electron (#368, @paulcbetts)
-
-2.4.3 / 2016-12-14
-==================
-
- * Fix: navigation.userAgent error for react native (#364, @escwald)
-
-2.4.2 / 2016-12-14
-==================
-
- * Fix: browser colors (#367, @tootallnate)
- * Misc: travis ci integration (@thebigredgeek)
- * Misc: added linting and testing boilerplate with sanity check (@thebigredgeek)
-
-2.4.1 / 2016-12-13
-==================
-
- * Fix: typo that broke the package (#356)
-
-2.4.0 / 2016-12-13
-==================
-
- * Fix: bower.json references unbuilt src entry point (#342, @justmatt)
- * Fix: revert "handle regex special characters" (@tootallnate)
- * Feature: configurable util.inspect()`options for NodeJS (#327, @tootallnate)
- * Feature: %O`(big O) pretty-prints objects (#322, @tootallnate)
- * Improvement: allow colors in workers (#335, @botverse)
- * Improvement: use same color for same namespace. (#338, @lchenay)
-
-2.3.3 / 2016-11-09
-==================
-
- * Fix: Catch `JSON.stringify()` errors (#195, Jovan Alleyne)
- * Fix: Returning `localStorage` saved values (#331, Levi Thomason)
- * Improvement: Don't create an empty object when no `process` (Nathan Rajlich)
-
-2.3.2 / 2016-11-09
-==================
-
- * Fix: be super-safe in index.js as well (@TooTallNate)
- * Fix: should check whether process exists (Tom Newby)
-
-2.3.1 / 2016-11-09
-==================
-
- * Fix: Added electron compatibility (#324, @paulcbetts)
- * Improvement: Added performance optimizations (@tootallnate)
- * Readme: Corrected PowerShell environment variable example (#252, @gimre)
- * Misc: Removed yarn lock file from source control (#321, @fengmk2)
-
-2.3.0 / 2016-11-07
-==================
-
- * Fix: Consistent placement of ms diff at end of output (#215, @gorangajic)
- * Fix: Escaping of regex special characters in namespace strings (#250, @zacronos)
- * Fix: Fixed bug causing crash on react-native (#282, @vkarpov15)
- * Feature: Enabled ES6+ compatible import via default export (#212 @bucaran)
- * Feature: Added %O formatter to reflect Chrome's console.log capability (#279, @oncletom)
- * Package: Update "ms" to 0.7.2 (#315, @DevSide)
- * Package: removed superfluous version property from bower.json (#207 @kkirsche)
- * Readme: fix USE_COLORS to DEBUG_COLORS
- * Readme: Doc fixes for format string sugar (#269, @mlucool)
- * Readme: Updated docs for DEBUG_FD and DEBUG_COLORS environment variables (#232, @mattlyons0)
- * Readme: doc fixes for PowerShell (#271 #243, @exoticknight @unreadable)
- * Readme: better docs for browser support (#224, @matthewmueller)
- * Tooling: Added yarn integration for development (#317, @thebigredgeek)
- * Misc: Renamed History.md to CHANGELOG.md (@thebigredgeek)
- * Misc: Added license file (#226 #274, @CantemoInternal @sdaitzman)
- * Misc: Updated contributors (@thebigredgeek)
-
-2.2.0 / 2015-05-09
-==================
-
- * package: update "ms" to v0.7.1 (#202, @dougwilson)
- * README: add logging to file example (#193, @DanielOchoa)
- * README: fixed a typo (#191, @amir-s)
- * browser: expose `storage` (#190, @stephenmathieson)
- * Makefile: add a `distclean` target (#189, @stephenmathieson)
-
-2.1.3 / 2015-03-13
-==================
-
- * Updated stdout/stderr example (#186)
- * Updated example/stdout.js to match debug current behaviour
- * Renamed example/stderr.js to stdout.js
- * Update Readme.md (#184)
- * replace high intensity foreground color for bold (#182, #183)
-
-2.1.2 / 2015-03-01
-==================
-
- * dist: recompile
- * update "ms" to v0.7.0
- * package: update "browserify" to v9.0.3
- * component: fix "ms.js" repo location
- * changed bower package name
- * updated documentation about using debug in a browser
- * fix: security error on safari (#167, #168, @yields)
-
-2.1.1 / 2014-12-29
-==================
-
- * browser: use `typeof` to check for `console` existence
- * browser: check for `console.log` truthiness (fix IE 8/9)
- * browser: add support for Chrome apps
- * Readme: added Windows usage remarks
- * Add `bower.json` to properly support bower install
-
-2.1.0 / 2014-10-15
-==================
-
- * node: implement `DEBUG_FD` env variable support
- * package: update "browserify" to v6.1.0
- * package: add "license" field to package.json (#135, @panuhorsmalahti)
-
-2.0.0 / 2014-09-01
-==================
-
- * package: update "browserify" to v5.11.0
- * node: use stderr rather than stdout for logging (#29, @stephenmathieson)
-
-1.0.4 / 2014-07-15
-==================
-
- * dist: recompile
- * example: remove `console.info()` log usage
- * example: add "Content-Type" UTF-8 header to browser example
- * browser: place %c marker after the space character
- * browser: reset the "content" color via `color: inherit`
- * browser: add colors support for Firefox >= v31
- * debug: prefer an instance `log()` function over the global one (#119)
- * Readme: update documentation about styled console logs for FF v31 (#116, @wryk)
-
-1.0.3 / 2014-07-09
-==================
-
- * Add support for multiple wildcards in namespaces (#122, @seegno)
- * browser: fix lint
-
-1.0.2 / 2014-06-10
-==================
-
- * browser: update color palette (#113, @gscottolson)
- * common: make console logging function configurable (#108, @timoxley)
- * node: fix %o colors on old node <= 0.8.x
- * Makefile: find node path using shell/which (#109, @timoxley)
-
-1.0.1 / 2014-06-06
-==================
-
- * browser: use `removeItem()` to clear localStorage
- * browser, node: don't set DEBUG if namespaces is undefined (#107, @leedm777)
- * package: add "contributors" section
- * node: fix comment typo
- * README: list authors
-
-1.0.0 / 2014-06-04
-==================
-
- * make ms diff be global, not be scope
- * debug: ignore empty strings in enable()
- * node: make DEBUG_COLORS able to disable coloring
- * *: export the `colors` array
- * npmignore: don't publish the `dist` dir
- * Makefile: refactor to use browserify
- * package: add "browserify" as a dev dependency
- * Readme: add Web Inspector Colors section
- * node: reset terminal color for the debug content
- * node: map "%o" to `util.inspect()`
- * browser: map "%j" to `JSON.stringify()`
- * debug: add custom "formatters"
- * debug: use "ms" module for humanizing the diff
- * Readme: add "bash" syntax highlighting
- * browser: add Firebug color support
- * browser: add colors for WebKit browsers
- * node: apply log to `console`
- * rewrite: abstract common logic for Node & browsers
- * add .jshintrc file
-
-0.8.1 / 2014-04-14
-==================
-
- * package: re-add the "component" section
-
-0.8.0 / 2014-03-30
-==================
-
- * add `enable()` method for nodejs. Closes #27
- * change from stderr to stdout
- * remove unnecessary index.js file
-
-0.7.4 / 2013-11-13
-==================
-
- * remove "browserify" key from package.json (fixes something in browserify)
-
-0.7.3 / 2013-10-30
-==================
-
- * fix: catch localStorage security error when cookies are blocked (Chrome)
- * add debug(err) support. Closes #46
- * add .browser prop to package.json. Closes #42
-
-0.7.2 / 2013-02-06
-==================
-
- * fix package.json
- * fix: Mobile Safari (private mode) is broken with debug
- * fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript
-
-0.7.1 / 2013-02-05
-==================
-
- * add repository URL to package.json
- * add DEBUG_COLORED to force colored output
- * add browserify support
- * fix component. Closes #24
-
-0.7.0 / 2012-05-04
-==================
-
- * Added .component to package.json
- * Added debug.component.js build
-
-0.6.0 / 2012-03-16
-==================
-
- * Added support for "-" prefix in DEBUG [Vinay Pulim]
- * Added `.enabled` flag to the node version [TooTallNate]
-
-0.5.0 / 2012-02-02
-==================
-
- * Added: humanize diffs. Closes #8
- * Added `debug.disable()` to the CS variant
- * Removed padding. Closes #10
- * Fixed: persist client-side variant again. Closes #9
-
-0.4.0 / 2012-02-01
-==================
-
- * Added browser variant support for older browsers [TooTallNate]
- * Added `debug.enable('project:*')` to browser variant [TooTallNate]
- * Added padding to diff (moved it to the right)
-
-0.3.0 / 2012-01-26
-==================
-
- * Added millisecond diff when isatty, otherwise UTC string
-
-0.2.0 / 2012-01-22
-==================
-
- * Added wildcard support
-
-0.1.0 / 2011-12-02
-==================
-
- * Added: remove colors unless stderr isatty [TooTallNate]
-
-0.0.1 / 2010-01-03
-==================
-
- * Initial release
diff --git a/tgui-next/node_modules/@babel/core/node_modules/debug/LICENSE b/tgui-next/node_modules/@babel/core/node_modules/debug/LICENSE
deleted file mode 100644
index 658c933d28..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/debug/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2014 TJ Holowaychuk
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software
-and associated documentation files (the 'Software'), to deal in the Software without restriction,
-including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial
-portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
diff --git a/tgui-next/node_modules/@babel/core/node_modules/debug/README.md b/tgui-next/node_modules/@babel/core/node_modules/debug/README.md
deleted file mode 100644
index 88dae35d9f..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/debug/README.md
+++ /dev/null
@@ -1,455 +0,0 @@
-# debug
-[](https://travis-ci.org/visionmedia/debug) [](https://coveralls.io/github/visionmedia/debug?branch=master) [](https://visionmedia-community-slackin.now.sh/) [](#backers)
-[](#sponsors)
-
-
-
-A tiny JavaScript debugging utility modelled after Node.js core's debugging
-technique. Works in Node.js and web browsers.
-
-## Installation
-
-```bash
-$ npm install debug
-```
-
-## Usage
-
-`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole.
-
-Example [_app.js_](./examples/node/app.js):
-
-```js
-var debug = require('debug')('http')
- , http = require('http')
- , name = 'My App';
-
-// fake app
-
-debug('booting %o', name);
-
-http.createServer(function(req, res){
- debug(req.method + ' ' + req.url);
- res.end('hello\n');
-}).listen(3000, function(){
- debug('listening');
-});
-
-// fake worker of some kind
-
-require('./worker');
-```
-
-Example [_worker.js_](./examples/node/worker.js):
-
-```js
-var a = require('debug')('worker:a')
- , b = require('debug')('worker:b');
-
-function work() {
- a('doing lots of uninteresting work');
- setTimeout(work, Math.random() * 1000);
-}
-
-work();
-
-function workb() {
- b('doing some work');
- setTimeout(workb, Math.random() * 2000);
-}
-
-workb();
-```
-
-The `DEBUG` environment variable is then used to enable these based on space or
-comma-delimited names.
-
-Here are some examples:
-
-
-
-
-
-#### Windows command prompt notes
-
-##### CMD
-
-On Windows the environment variable is set using the `set` command.
-
-```cmd
-set DEBUG=*,-not_this
-```
-
-Example:
-
-```cmd
-set DEBUG=* & node app.js
-```
-
-##### PowerShell (VS Code default)
-
-PowerShell uses different syntax to set environment variables.
-
-```cmd
-$env:DEBUG = "*,-not_this"
-```
-
-Example:
-
-```cmd
-$env:DEBUG='app';node app.js
-```
-
-Then, run the program to be debugged as usual.
-
-npm script example:
-```js
- "windowsDebug": "@powershell -Command $env:DEBUG='*';node app.js",
-```
-
-## Namespace Colors
-
-Every debug instance has a color generated for it based on its namespace name.
-This helps when visually parsing the debug output to identify which debug instance
-a debug line belongs to.
-
-#### Node.js
-
-In Node.js, colors are enabled when stderr is a TTY. You also _should_ install
-the [`supports-color`](https://npmjs.org/supports-color) module alongside debug,
-otherwise debug will only use a small handful of basic colors.
-
-
-
-#### Web Browser
-
-Colors are also enabled on "Web Inspectors" that understand the `%c` formatting
-option. These are WebKit web inspectors, Firefox ([since version
-31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))
-and the Firebug plugin for Firefox (any version).
-
-
-
-
-## Millisecond diff
-
-When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls.
-
-
-
-When stdout is not a TTY, `Date#toISOString()` is used, making it more useful for logging the debug information as shown below:
-
-
-
-
-## Conventions
-
-If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". If you append a "*" to the end of your name, it will always be enabled regardless of the setting of the DEBUG environment variable. You can then use it for normal output as well as debug output.
-
-## Wildcards
-
-The `*` character may be used as a wildcard. Suppose for example your library has
-debuggers named "connect:bodyParser", "connect:compress", "connect:session",
-instead of listing all three with
-`DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do
-`DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.
-
-You can also exclude specific debuggers by prefixing them with a "-" character.
-For example, `DEBUG=*,-connect:*` would include all debuggers except those
-starting with "connect:".
-
-## Environment Variables
-
-When running through Node.js, you can set a few environment variables that will
-change the behavior of the debug logging:
-
-| Name | Purpose |
-|-----------|-------------------------------------------------|
-| `DEBUG` | Enables/disables specific debugging namespaces. |
-| `DEBUG_HIDE_DATE` | Hide date from debug output (non-TTY). |
-| `DEBUG_COLORS`| Whether or not to use colors in the debug output. |
-| `DEBUG_DEPTH` | Object inspection depth. |
-| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. |
-
-
-__Note:__ The environment variables beginning with `DEBUG_` end up being
-converted into an Options object that gets used with `%o`/`%O` formatters.
-See the Node.js documentation for
-[`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options)
-for the complete list.
-
-## Formatters
-
-Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting.
-Below are the officially supported formatters:
-
-| Formatter | Representation |
-|-----------|----------------|
-| `%O` | Pretty-print an Object on multiple lines. |
-| `%o` | Pretty-print an Object all on a single line. |
-| `%s` | String. |
-| `%d` | Number (both integer and float). |
-| `%j` | JSON. Replaced with the string '[Circular]' if the argument contains circular references. |
-| `%%` | Single percent sign ('%'). This does not consume an argument. |
-
-
-### Custom formatters
-
-You can add custom formatters by extending the `debug.formatters` object.
-For example, if you wanted to add support for rendering a Buffer as hex with
-`%h`, you could do something like:
-
-```js
-const createDebug = require('debug')
-createDebug.formatters.h = (v) => {
- return v.toString('hex')
-}
-
-// …elsewhere
-const debug = createDebug('foo')
-debug('this is hex: %h', new Buffer('hello world'))
-// foo this is hex: 68656c6c6f20776f726c6421 +0ms
-```
-
-
-## Browser Support
-
-You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify),
-or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest),
-if you don't want to build it yourself.
-
-Debug's enable state is currently persisted by `localStorage`.
-Consider the situation shown below where you have `worker:a` and `worker:b`,
-and wish to debug both. You can enable this using `localStorage.debug`:
-
-```js
-localStorage.debug = 'worker:*'
-```
-
-And then refresh the page.
-
-```js
-a = debug('worker:a');
-b = debug('worker:b');
-
-setInterval(function(){
- a('doing some work');
-}, 1000);
-
-setInterval(function(){
- b('doing some work');
-}, 1200);
-```
-
-
-## Output streams
-
- By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method:
-
-Example [_stdout.js_](./examples/node/stdout.js):
-
-```js
-var debug = require('debug');
-var error = debug('app:error');
-
-// by default stderr is used
-error('goes to stderr!');
-
-var log = debug('app:log');
-// set this namespace to log via console.log
-log.log = console.log.bind(console); // don't forget to bind to console!
-log('goes to stdout');
-error('still goes to stderr!');
-
-// set all output to go via console.info
-// overrides all per-namespace log settings
-debug.log = console.info.bind(console);
-error('now goes to stdout via console.info');
-log('still goes to stdout, but via console.info now');
-```
-
-## Extend
-You can simply extend debugger
-```js
-const log = require('debug')('auth');
-
-//creates new debug instance with extended namespace
-const logSign = log.extend('sign');
-const logLogin = log.extend('login');
-
-log('hello'); // auth hello
-logSign('hello'); //auth:sign hello
-logLogin('hello'); //auth:login hello
-```
-
-## Set dynamically
-
-You can also enable debug dynamically by calling the `enable()` method :
-
-```js
-let debug = require('debug');
-
-console.log(1, debug.enabled('test'));
-
-debug.enable('test');
-console.log(2, debug.enabled('test'));
-
-debug.disable();
-console.log(3, debug.enabled('test'));
-
-```
-
-print :
-```
-1 false
-2 true
-3 false
-```
-
-Usage :
-`enable(namespaces)`
-`namespaces` can include modes separated by a colon and wildcards.
-
-Note that calling `enable()` completely overrides previously set DEBUG variable :
-
-```
-$ DEBUG=foo node -e 'var dbg = require("debug"); dbg.enable("bar"); console.log(dbg.enabled("foo"))'
-=> false
-```
-
-`disable()`
-
-Will disable all namespaces. The functions returns the namespaces currently
-enabled (and skipped). This can be useful if you want to disable debugging
-temporarily without knowing what was enabled to begin with.
-
-For example:
-
-```js
-let debug = require('debug');
-debug.enable('foo:*,-foo:bar');
-let namespaces = debug.disable();
-debug.enable(namespaces);
-```
-
-Note: There is no guarantee that the string will be identical to the initial
-enable string, but semantically they will be identical.
-
-## Checking whether a debug target is enabled
-
-After you've created a debug instance, you can determine whether or not it is
-enabled by checking the `enabled` property:
-
-```javascript
-const debug = require('debug')('http');
-
-if (debug.enabled) {
- // do stuff...
-}
-```
-
-You can also manually toggle this property to force the debug instance to be
-enabled or disabled.
-
-
-## Authors
-
- - TJ Holowaychuk
- - Nathan Rajlich
- - Andrew Rhyne
-
-## Backers
-
-Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Sponsors
-
-Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## License
-
-(The MIT License)
-
-Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca>
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/core/node_modules/debug/package.json b/tgui-next/node_modules/@babel/core/node_modules/debug/package.json
deleted file mode 100644
index 86713156d9..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/debug/package.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "name": "debug",
- "version": "4.1.1",
- "repository": {
- "type": "git",
- "url": "git://github.com/visionmedia/debug.git"
- },
- "description": "small debugging utility",
- "keywords": [
- "debug",
- "log",
- "debugger"
- ],
- "files": [
- "src",
- "dist/debug.js",
- "LICENSE",
- "README.md"
- ],
- "author": "TJ Holowaychuk ",
- "contributors": [
- "Nathan Rajlich (http://n8.io)",
- "Andrew Rhyne "
- ],
- "license": "MIT",
- "scripts": {
- "lint": "xo",
- "test": "npm run test:node && npm run test:browser",
- "test:node": "istanbul cover _mocha -- test.js",
- "pretest:browser": "npm run build",
- "test:browser": "karma start --single-run",
- "prebuild:debug": "mkdir -p dist && browserify --standalone debug -o dist/debug.es6.js .",
- "build:debug": "babel -o dist/debug.js dist/debug.es6.js > dist/debug.js",
- "build:test": "babel -d dist test.js",
- "build": "npm run build:debug && npm run build:test",
- "clean": "rimraf dist coverage",
- "test:coverage": "cat ./coverage/lcov.info | coveralls"
- },
- "dependencies": {
- "ms": "^2.1.1"
- },
- "devDependencies": {
- "@babel/cli": "^7.0.0",
- "@babel/core": "^7.0.0",
- "@babel/preset-env": "^7.0.0",
- "browserify": "14.4.0",
- "chai": "^3.5.0",
- "concurrently": "^3.1.0",
- "coveralls": "^3.0.2",
- "istanbul": "^0.4.5",
- "karma": "^3.0.0",
- "karma-chai": "^0.1.0",
- "karma-mocha": "^1.3.0",
- "karma-phantomjs-launcher": "^1.0.2",
- "mocha": "^5.2.0",
- "mocha-lcov-reporter": "^1.2.0",
- "rimraf": "^2.5.4",
- "xo": "^0.23.0"
- },
- "main": "./src/index.js",
- "browser": "./src/browser.js",
- "unpkg": "./dist/debug.js"
-}
diff --git a/tgui-next/node_modules/@babel/core/node_modules/debug/src/browser.js b/tgui-next/node_modules/@babel/core/node_modules/debug/src/browser.js
deleted file mode 100644
index 5f34c0d0a7..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/debug/src/browser.js
+++ /dev/null
@@ -1,264 +0,0 @@
-/* eslint-env browser */
-
-/**
- * This is the web browser implementation of `debug()`.
- */
-
-exports.log = log;
-exports.formatArgs = formatArgs;
-exports.save = save;
-exports.load = load;
-exports.useColors = useColors;
-exports.storage = localstorage();
-
-/**
- * Colors.
- */
-
-exports.colors = [
- '#0000CC',
- '#0000FF',
- '#0033CC',
- '#0033FF',
- '#0066CC',
- '#0066FF',
- '#0099CC',
- '#0099FF',
- '#00CC00',
- '#00CC33',
- '#00CC66',
- '#00CC99',
- '#00CCCC',
- '#00CCFF',
- '#3300CC',
- '#3300FF',
- '#3333CC',
- '#3333FF',
- '#3366CC',
- '#3366FF',
- '#3399CC',
- '#3399FF',
- '#33CC00',
- '#33CC33',
- '#33CC66',
- '#33CC99',
- '#33CCCC',
- '#33CCFF',
- '#6600CC',
- '#6600FF',
- '#6633CC',
- '#6633FF',
- '#66CC00',
- '#66CC33',
- '#9900CC',
- '#9900FF',
- '#9933CC',
- '#9933FF',
- '#99CC00',
- '#99CC33',
- '#CC0000',
- '#CC0033',
- '#CC0066',
- '#CC0099',
- '#CC00CC',
- '#CC00FF',
- '#CC3300',
- '#CC3333',
- '#CC3366',
- '#CC3399',
- '#CC33CC',
- '#CC33FF',
- '#CC6600',
- '#CC6633',
- '#CC9900',
- '#CC9933',
- '#CCCC00',
- '#CCCC33',
- '#FF0000',
- '#FF0033',
- '#FF0066',
- '#FF0099',
- '#FF00CC',
- '#FF00FF',
- '#FF3300',
- '#FF3333',
- '#FF3366',
- '#FF3399',
- '#FF33CC',
- '#FF33FF',
- '#FF6600',
- '#FF6633',
- '#FF9900',
- '#FF9933',
- '#FFCC00',
- '#FFCC33'
-];
-
-/**
- * Currently only WebKit-based Web Inspectors, Firefox >= v31,
- * and the Firebug extension (any Firefox version) are known
- * to support "%c" CSS customizations.
- *
- * TODO: add a `localStorage` variable to explicitly enable/disable colors
- */
-
-// eslint-disable-next-line complexity
-function useColors() {
- // NB: In an Electron preload script, document will be defined but not fully
- // initialized. Since we know we're in Chrome, we'll just detect this case
- // explicitly
- if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
- return true;
- }
-
- // Internet Explorer and Edge do not support colors.
- if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
- return false;
- }
-
- // Is webkit? http://stackoverflow.com/a/16459606/376773
- // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
- return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
- // Is firebug? http://stackoverflow.com/a/398120/376773
- (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
- // Is firefox >= v31?
- // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
- (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||
- // Double check webkit in userAgent just in case we are in a worker
- (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
-}
-
-/**
- * Colorize log arguments if enabled.
- *
- * @api public
- */
-
-function formatArgs(args) {
- args[0] = (this.useColors ? '%c' : '') +
- this.namespace +
- (this.useColors ? ' %c' : ' ') +
- args[0] +
- (this.useColors ? '%c ' : ' ') +
- '+' + module.exports.humanize(this.diff);
-
- if (!this.useColors) {
- return;
- }
-
- const c = 'color: ' + this.color;
- args.splice(1, 0, c, 'color: inherit');
-
- // The final "%c" is somewhat tricky, because there could be other
- // arguments passed either before or after the %c, so we need to
- // figure out the correct index to insert the CSS into
- let index = 0;
- let lastC = 0;
- args[0].replace(/%[a-zA-Z%]/g, match => {
- if (match === '%%') {
- return;
- }
- index++;
- if (match === '%c') {
- // We only are interested in the *last* %c
- // (the user may have provided their own)
- lastC = index;
- }
- });
-
- args.splice(lastC, 0, c);
-}
-
-/**
- * Invokes `console.log()` when available.
- * No-op when `console.log` is not a "function".
- *
- * @api public
- */
-function log(...args) {
- // This hackery is required for IE8/9, where
- // the `console.log` function doesn't have 'apply'
- return typeof console === 'object' &&
- console.log &&
- console.log(...args);
-}
-
-/**
- * Save `namespaces`.
- *
- * @param {String} namespaces
- * @api private
- */
-function save(namespaces) {
- try {
- if (namespaces) {
- exports.storage.setItem('debug', namespaces);
- } else {
- exports.storage.removeItem('debug');
- }
- } catch (error) {
- // Swallow
- // XXX (@Qix-) should we be logging these?
- }
-}
-
-/**
- * Load `namespaces`.
- *
- * @return {String} returns the previously persisted debug modes
- * @api private
- */
-function load() {
- let r;
- try {
- r = exports.storage.getItem('debug');
- } catch (error) {
- // Swallow
- // XXX (@Qix-) should we be logging these?
- }
-
- // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
- if (!r && typeof process !== 'undefined' && 'env' in process) {
- r = process.env.DEBUG;
- }
-
- return r;
-}
-
-/**
- * Localstorage attempts to return the localstorage.
- *
- * This is necessary because safari throws
- * when a user disables cookies/localstorage
- * and you attempt to access it.
- *
- * @return {LocalStorage}
- * @api private
- */
-
-function localstorage() {
- try {
- // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
- // The Browser also has localStorage in the global context.
- return localStorage;
- } catch (error) {
- // Swallow
- // XXX (@Qix-) should we be logging these?
- }
-}
-
-module.exports = require('./common')(exports);
-
-const {formatters} = module.exports;
-
-/**
- * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
- */
-
-formatters.j = function (v) {
- try {
- return JSON.stringify(v);
- } catch (error) {
- return '[UnexpectedJSONParseError]: ' + error.message;
- }
-};
diff --git a/tgui-next/node_modules/@babel/core/node_modules/debug/src/common.js b/tgui-next/node_modules/@babel/core/node_modules/debug/src/common.js
deleted file mode 100644
index 2f82b8dc7d..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/debug/src/common.js
+++ /dev/null
@@ -1,266 +0,0 @@
-
-/**
- * This is the common logic for both the Node.js and web browser
- * implementations of `debug()`.
- */
-
-function setup(env) {
- createDebug.debug = createDebug;
- createDebug.default = createDebug;
- createDebug.coerce = coerce;
- createDebug.disable = disable;
- createDebug.enable = enable;
- createDebug.enabled = enabled;
- createDebug.humanize = require('ms');
-
- Object.keys(env).forEach(key => {
- createDebug[key] = env[key];
- });
-
- /**
- * Active `debug` instances.
- */
- createDebug.instances = [];
-
- /**
- * The currently active debug mode names, and names to skip.
- */
-
- createDebug.names = [];
- createDebug.skips = [];
-
- /**
- * Map of special "%n" handling functions, for the debug "format" argument.
- *
- * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
- */
- createDebug.formatters = {};
-
- /**
- * Selects a color for a debug namespace
- * @param {String} namespace The namespace string for the for the debug instance to be colored
- * @return {Number|String} An ANSI color code for the given namespace
- * @api private
- */
- function selectColor(namespace) {
- let hash = 0;
-
- for (let i = 0; i < namespace.length; i++) {
- hash = ((hash << 5) - hash) + namespace.charCodeAt(i);
- hash |= 0; // Convert to 32bit integer
- }
-
- return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
- }
- createDebug.selectColor = selectColor;
-
- /**
- * Create a debugger with the given `namespace`.
- *
- * @param {String} namespace
- * @return {Function}
- * @api public
- */
- function createDebug(namespace) {
- let prevTime;
-
- function debug(...args) {
- // Disabled?
- if (!debug.enabled) {
- return;
- }
-
- const self = debug;
-
- // Set `diff` timestamp
- const curr = Number(new Date());
- const ms = curr - (prevTime || curr);
- self.diff = ms;
- self.prev = prevTime;
- self.curr = curr;
- prevTime = curr;
-
- args[0] = createDebug.coerce(args[0]);
-
- if (typeof args[0] !== 'string') {
- // Anything else let's inspect with %O
- args.unshift('%O');
- }
-
- // Apply any `formatters` transformations
- let index = 0;
- args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
- // If we encounter an escaped % then don't increase the array index
- if (match === '%%') {
- return match;
- }
- index++;
- const formatter = createDebug.formatters[format];
- if (typeof formatter === 'function') {
- const val = args[index];
- match = formatter.call(self, val);
-
- // Now we need to remove `args[index]` since it's inlined in the `format`
- args.splice(index, 1);
- index--;
- }
- return match;
- });
-
- // Apply env-specific formatting (colors, etc.)
- createDebug.formatArgs.call(self, args);
-
- const logFn = self.log || createDebug.log;
- logFn.apply(self, args);
- }
-
- debug.namespace = namespace;
- debug.enabled = createDebug.enabled(namespace);
- debug.useColors = createDebug.useColors();
- debug.color = selectColor(namespace);
- debug.destroy = destroy;
- debug.extend = extend;
- // Debug.formatArgs = formatArgs;
- // debug.rawLog = rawLog;
-
- // env-specific initialization logic for debug instances
- if (typeof createDebug.init === 'function') {
- createDebug.init(debug);
- }
-
- createDebug.instances.push(debug);
-
- return debug;
- }
-
- function destroy() {
- const index = createDebug.instances.indexOf(this);
- if (index !== -1) {
- createDebug.instances.splice(index, 1);
- return true;
- }
- return false;
- }
-
- function extend(namespace, delimiter) {
- const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
- newDebug.log = this.log;
- return newDebug;
- }
-
- /**
- * Enables a debug mode by namespaces. This can include modes
- * separated by a colon and wildcards.
- *
- * @param {String} namespaces
- * @api public
- */
- function enable(namespaces) {
- createDebug.save(namespaces);
-
- createDebug.names = [];
- createDebug.skips = [];
-
- let i;
- const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
- const len = split.length;
-
- for (i = 0; i < len; i++) {
- if (!split[i]) {
- // ignore empty strings
- continue;
- }
-
- namespaces = split[i].replace(/\*/g, '.*?');
-
- if (namespaces[0] === '-') {
- createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
- } else {
- createDebug.names.push(new RegExp('^' + namespaces + '$'));
- }
- }
-
- for (i = 0; i < createDebug.instances.length; i++) {
- const instance = createDebug.instances[i];
- instance.enabled = createDebug.enabled(instance.namespace);
- }
- }
-
- /**
- * Disable debug output.
- *
- * @return {String} namespaces
- * @api public
- */
- function disable() {
- const namespaces = [
- ...createDebug.names.map(toNamespace),
- ...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)
- ].join(',');
- createDebug.enable('');
- return namespaces;
- }
-
- /**
- * Returns true if the given mode name is enabled, false otherwise.
- *
- * @param {String} name
- * @return {Boolean}
- * @api public
- */
- function enabled(name) {
- if (name[name.length - 1] === '*') {
- return true;
- }
-
- let i;
- let len;
-
- for (i = 0, len = createDebug.skips.length; i < len; i++) {
- if (createDebug.skips[i].test(name)) {
- return false;
- }
- }
-
- for (i = 0, len = createDebug.names.length; i < len; i++) {
- if (createDebug.names[i].test(name)) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Convert regexp to namespace
- *
- * @param {RegExp} regxep
- * @return {String} namespace
- * @api private
- */
- function toNamespace(regexp) {
- return regexp.toString()
- .substring(2, regexp.toString().length - 2)
- .replace(/\.\*\?$/, '*');
- }
-
- /**
- * Coerce `val`.
- *
- * @param {Mixed} val
- * @return {Mixed}
- * @api private
- */
- function coerce(val) {
- if (val instanceof Error) {
- return val.stack || val.message;
- }
- return val;
- }
-
- createDebug.enable(createDebug.load());
-
- return createDebug;
-}
-
-module.exports = setup;
diff --git a/tgui-next/node_modules/@babel/core/node_modules/debug/src/index.js b/tgui-next/node_modules/@babel/core/node_modules/debug/src/index.js
deleted file mode 100644
index bf4c57f259..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/debug/src/index.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
- * Detect Electron renderer / nwjs process, which is node, but we should
- * treat as a browser.
- */
-
-if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
- module.exports = require('./browser.js');
-} else {
- module.exports = require('./node.js');
-}
diff --git a/tgui-next/node_modules/@babel/core/node_modules/debug/src/node.js b/tgui-next/node_modules/@babel/core/node_modules/debug/src/node.js
deleted file mode 100644
index 5e1f1541a0..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/debug/src/node.js
+++ /dev/null
@@ -1,257 +0,0 @@
-/**
- * Module dependencies.
- */
-
-const tty = require('tty');
-const util = require('util');
-
-/**
- * This is the Node.js implementation of `debug()`.
- */
-
-exports.init = init;
-exports.log = log;
-exports.formatArgs = formatArgs;
-exports.save = save;
-exports.load = load;
-exports.useColors = useColors;
-
-/**
- * Colors.
- */
-
-exports.colors = [6, 2, 3, 4, 5, 1];
-
-try {
- // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)
- // eslint-disable-next-line import/no-extraneous-dependencies
- const supportsColor = require('supports-color');
-
- if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
- exports.colors = [
- 20,
- 21,
- 26,
- 27,
- 32,
- 33,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 56,
- 57,
- 62,
- 63,
- 68,
- 69,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 92,
- 93,
- 98,
- 99,
- 112,
- 113,
- 128,
- 129,
- 134,
- 135,
- 148,
- 149,
- 160,
- 161,
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 178,
- 179,
- 184,
- 185,
- 196,
- 197,
- 198,
- 199,
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 209,
- 214,
- 215,
- 220,
- 221
- ];
- }
-} catch (error) {
- // Swallow - we only care if `supports-color` is available; it doesn't have to be.
-}
-
-/**
- * Build up the default `inspectOpts` object from the environment variables.
- *
- * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
- */
-
-exports.inspectOpts = Object.keys(process.env).filter(key => {
- return /^debug_/i.test(key);
-}).reduce((obj, key) => {
- // Camel-case
- const prop = key
- .substring(6)
- .toLowerCase()
- .replace(/_([a-z])/g, (_, k) => {
- return k.toUpperCase();
- });
-
- // Coerce string value into JS value
- let val = process.env[key];
- if (/^(yes|on|true|enabled)$/i.test(val)) {
- val = true;
- } else if (/^(no|off|false|disabled)$/i.test(val)) {
- val = false;
- } else if (val === 'null') {
- val = null;
- } else {
- val = Number(val);
- }
-
- obj[prop] = val;
- return obj;
-}, {});
-
-/**
- * Is stdout a TTY? Colored output is enabled when `true`.
- */
-
-function useColors() {
- return 'colors' in exports.inspectOpts ?
- Boolean(exports.inspectOpts.colors) :
- tty.isatty(process.stderr.fd);
-}
-
-/**
- * Adds ANSI color escape codes if enabled.
- *
- * @api public
- */
-
-function formatArgs(args) {
- const {namespace: name, useColors} = this;
-
- if (useColors) {
- const c = this.color;
- const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c);
- const prefix = ` ${colorCode};1m${name} \u001B[0m`;
-
- args[0] = prefix + args[0].split('\n').join('\n' + prefix);
- args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m');
- } else {
- args[0] = getDate() + name + ' ' + args[0];
- }
-}
-
-function getDate() {
- if (exports.inspectOpts.hideDate) {
- return '';
- }
- return new Date().toISOString() + ' ';
-}
-
-/**
- * Invokes `util.format()` with the specified arguments and writes to stderr.
- */
-
-function log(...args) {
- return process.stderr.write(util.format(...args) + '\n');
-}
-
-/**
- * Save `namespaces`.
- *
- * @param {String} namespaces
- * @api private
- */
-function save(namespaces) {
- if (namespaces) {
- process.env.DEBUG = namespaces;
- } else {
- // If you set a process.env field to null or undefined, it gets cast to the
- // string 'null' or 'undefined'. Just delete instead.
- delete process.env.DEBUG;
- }
-}
-
-/**
- * Load `namespaces`.
- *
- * @return {String} returns the previously persisted debug modes
- * @api private
- */
-
-function load() {
- return process.env.DEBUG;
-}
-
-/**
- * Init logic for `debug` instances.
- *
- * Create a new `inspectOpts` object in case `useColors` is set
- * differently for a particular `debug` instance.
- */
-
-function init(debug) {
- debug.inspectOpts = {};
-
- const keys = Object.keys(exports.inspectOpts);
- for (let i = 0; i < keys.length; i++) {
- debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
- }
-}
-
-module.exports = require('./common')(exports);
-
-const {formatters} = module.exports;
-
-/**
- * Map %o to `util.inspect()`, all on a single line.
- */
-
-formatters.o = function (v) {
- this.inspectOpts.colors = this.useColors;
- return util.inspect(v, this.inspectOpts)
- .replace(/\s*\n\s*/g, ' ');
-};
-
-/**
- * Map %O to `util.inspect()`, allowing multiple lines if needed.
- */
-
-formatters.O = function (v) {
- this.inspectOpts.colors = this.useColors;
- return util.inspect(v, this.inspectOpts);
-};
diff --git a/tgui-next/node_modules/@babel/core/node_modules/semver/CHANGELOG.md b/tgui-next/node_modules/@babel/core/node_modules/semver/CHANGELOG.md
deleted file mode 100644
index 66304fdd23..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/semver/CHANGELOG.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# changes log
-
-## 5.7
-
-* Add `minVersion` method
-
-## 5.6
-
-* Move boolean `loose` param to an options object, with
- backwards-compatibility protection.
-* Add ability to opt out of special prerelease version handling with
- the `includePrerelease` option flag.
-
-## 5.5
-
-* Add version coercion capabilities
-
-## 5.4
-
-* Add intersection checking
-
-## 5.3
-
-* Add `minSatisfying` method
-
-## 5.2
-
-* Add `prerelease(v)` that returns prerelease components
-
-## 5.1
-
-* Add Backus-Naur for ranges
-* Remove excessively cute inspection methods
-
-## 5.0
-
-* Remove AMD/Browserified build artifacts
-* Fix ltr and gtr when using the `*` range
-* Fix for range `*` with a prerelease identifier
diff --git a/tgui-next/node_modules/@babel/core/node_modules/semver/LICENSE b/tgui-next/node_modules/@babel/core/node_modules/semver/LICENSE
deleted file mode 100644
index 19129e315f..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/semver/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/core/node_modules/semver/README.md b/tgui-next/node_modules/@babel/core/node_modules/semver/README.md
deleted file mode 100644
index f8dfa5a0df..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/semver/README.md
+++ /dev/null
@@ -1,412 +0,0 @@
-semver(1) -- The semantic versioner for npm
-===========================================
-
-## Install
-
-```bash
-npm install --save semver
-````
-
-## Usage
-
-As a node module:
-
-```js
-const semver = require('semver')
-
-semver.valid('1.2.3') // '1.2.3'
-semver.valid('a.b.c') // null
-semver.clean(' =v1.2.3 ') // '1.2.3'
-semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true
-semver.gt('1.2.3', '9.8.7') // false
-semver.lt('1.2.3', '9.8.7') // true
-semver.minVersion('>=1.0.0') // '1.0.0'
-semver.valid(semver.coerce('v2')) // '2.0.0'
-semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7'
-```
-
-As a command-line utility:
-
-```
-$ semver -h
-
-A JavaScript implementation of the https://semver.org/ specification
-Copyright Isaac Z. Schlueter
-
-Usage: semver [options] [ [...]]
-Prints valid versions sorted by SemVer precedence
-
-Options:
--r --range
- Print versions that match the specified range.
-
--i --increment []
- Increment a version by the specified level. Level can
- be one of: major, minor, patch, premajor, preminor,
- prepatch, or prerelease. Default level is 'patch'.
- Only one version may be specified.
-
---preid
- Identifier to be used to prefix premajor, preminor,
- prepatch or prerelease version increments.
-
--l --loose
- Interpret versions and ranges loosely
-
--p --include-prerelease
- Always include prerelease versions in range matching
-
--c --coerce
- Coerce a string into SemVer if possible
- (does not imply --loose)
-
-Program exits successfully if any valid version satisfies
-all supplied ranges, and prints all satisfying versions.
-
-If no satisfying versions are found, then exits failure.
-
-Versions are printed in ascending order, so supplying
-multiple versions to the utility will just sort them.
-```
-
-## Versions
-
-A "version" is described by the `v2.0.0` specification found at
- .
-
-A leading `"="` or `"v"` character is stripped off and ignored.
-
-## Ranges
-
-A `version range` is a set of `comparators` which specify versions
-that satisfy the range.
-
-A `comparator` is composed of an `operator` and a `version`. The set
-of primitive `operators` is:
-
-* `<` Less than
-* `<=` Less than or equal to
-* `>` Greater than
-* `>=` Greater than or equal to
-* `=` Equal. If no operator is specified, then equality is assumed,
- so this operator is optional, but MAY be included.
-
-For example, the comparator `>=1.2.7` would match the versions
-`1.2.7`, `1.2.8`, `2.5.3`, and `1.3.9`, but not the versions `1.2.6`
-or `1.1.0`.
-
-Comparators can be joined by whitespace to form a `comparator set`,
-which is satisfied by the **intersection** of all of the comparators
-it includes.
-
-A range is composed of one or more comparator sets, joined by `||`. A
-version matches a range if and only if every comparator in at least
-one of the `||`-separated comparator sets is satisfied by the version.
-
-For example, the range `>=1.2.7 <1.3.0` would match the versions
-`1.2.7`, `1.2.8`, and `1.2.99`, but not the versions `1.2.6`, `1.3.0`,
-or `1.1.0`.
-
-The range `1.2.7 || >=1.2.9 <2.0.0` would match the versions `1.2.7`,
-`1.2.9`, and `1.4.6`, but not the versions `1.2.8` or `2.0.0`.
-
-### Prerelease Tags
-
-If a version has a prerelease tag (for example, `1.2.3-alpha.3`) then
-it will only be allowed to satisfy comparator sets if at least one
-comparator with the same `[major, minor, patch]` tuple also has a
-prerelease tag.
-
-For example, the range `>1.2.3-alpha.3` would be allowed to match the
-version `1.2.3-alpha.7`, but it would *not* be satisfied by
-`3.4.5-alpha.9`, even though `3.4.5-alpha.9` is technically "greater
-than" `1.2.3-alpha.3` according to the SemVer sort rules. The version
-range only accepts prerelease tags on the `1.2.3` version. The
-version `3.4.5` *would* satisfy the range, because it does not have a
-prerelease flag, and `3.4.5` is greater than `1.2.3-alpha.7`.
-
-The purpose for this behavior is twofold. First, prerelease versions
-frequently are updated very quickly, and contain many breaking changes
-that are (by the author's design) not yet fit for public consumption.
-Therefore, by default, they are excluded from range matching
-semantics.
-
-Second, a user who has opted into using a prerelease version has
-clearly indicated the intent to use *that specific* set of
-alpha/beta/rc versions. By including a prerelease tag in the range,
-the user is indicating that they are aware of the risk. However, it
-is still not appropriate to assume that they have opted into taking a
-similar risk on the *next* set of prerelease versions.
-
-Note that this behavior can be suppressed (treating all prerelease
-versions as if they were normal versions, for the purpose of range
-matching) by setting the `includePrerelease` flag on the options
-object to any
-[functions](https://github.com/npm/node-semver#functions) that do
-range matching.
-
-#### Prerelease Identifiers
-
-The method `.inc` takes an additional `identifier` string argument that
-will append the value of the string as a prerelease identifier:
-
-```javascript
-semver.inc('1.2.3', 'prerelease', 'beta')
-// '1.2.4-beta.0'
-```
-
-command-line example:
-
-```bash
-$ semver 1.2.3 -i prerelease --preid beta
-1.2.4-beta.0
-```
-
-Which then can be used to increment further:
-
-```bash
-$ semver 1.2.4-beta.0 -i prerelease
-1.2.4-beta.1
-```
-
-### Advanced Range Syntax
-
-Advanced range syntax desugars to primitive comparators in
-deterministic ways.
-
-Advanced ranges may be combined in the same way as primitive
-comparators using white space or `||`.
-
-#### Hyphen Ranges `X.Y.Z - A.B.C`
-
-Specifies an inclusive set.
-
-* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`
-
-If a partial version is provided as the first version in the inclusive
-range, then the missing pieces are replaced with zeroes.
-
-* `1.2 - 2.3.4` := `>=1.2.0 <=2.3.4`
-
-If a partial version is provided as the second version in the
-inclusive range, then all versions that start with the supplied parts
-of the tuple are accepted, but nothing that would be greater than the
-provided tuple parts.
-
-* `1.2.3 - 2.3` := `>=1.2.3 <2.4.0`
-* `1.2.3 - 2` := `>=1.2.3 <3.0.0`
-
-#### X-Ranges `1.2.x` `1.X` `1.2.*` `*`
-
-Any of `X`, `x`, or `*` may be used to "stand in" for one of the
-numeric values in the `[major, minor, patch]` tuple.
-
-* `*` := `>=0.0.0` (Any version satisfies)
-* `1.x` := `>=1.0.0 <2.0.0` (Matching major version)
-* `1.2.x` := `>=1.2.0 <1.3.0` (Matching major and minor versions)
-
-A partial version range is treated as an X-Range, so the special
-character is in fact optional.
-
-* `""` (empty string) := `*` := `>=0.0.0`
-* `1` := `1.x.x` := `>=1.0.0 <2.0.0`
-* `1.2` := `1.2.x` := `>=1.2.0 <1.3.0`
-
-#### Tilde Ranges `~1.2.3` `~1.2` `~1`
-
-Allows patch-level changes if a minor version is specified on the
-comparator. Allows minor-level changes if not.
-
-* `~1.2.3` := `>=1.2.3 <1.(2+1).0` := `>=1.2.3 <1.3.0`
-* `~1.2` := `>=1.2.0 <1.(2+1).0` := `>=1.2.0 <1.3.0` (Same as `1.2.x`)
-* `~1` := `>=1.0.0 <(1+1).0.0` := `>=1.0.0 <2.0.0` (Same as `1.x`)
-* `~0.2.3` := `>=0.2.3 <0.(2+1).0` := `>=0.2.3 <0.3.0`
-* `~0.2` := `>=0.2.0 <0.(2+1).0` := `>=0.2.0 <0.3.0` (Same as `0.2.x`)
-* `~0` := `>=0.0.0 <(0+1).0.0` := `>=0.0.0 <1.0.0` (Same as `0.x`)
-* `~1.2.3-beta.2` := `>=1.2.3-beta.2 <1.3.0` Note that prereleases in
- the `1.2.3` version will be allowed, if they are greater than or
- equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but
- `1.2.4-beta.2` would not, because it is a prerelease of a
- different `[major, minor, patch]` tuple.
-
-#### Caret Ranges `^1.2.3` `^0.2.5` `^0.0.4`
-
-Allows changes that do not modify the left-most non-zero digit in the
-`[major, minor, patch]` tuple. In other words, this allows patch and
-minor updates for versions `1.0.0` and above, patch updates for
-versions `0.X >=0.1.0`, and *no* updates for versions `0.0.X`.
-
-Many authors treat a `0.x` version as if the `x` were the major
-"breaking-change" indicator.
-
-Caret ranges are ideal when an author may make breaking changes
-between `0.2.4` and `0.3.0` releases, which is a common practice.
-However, it presumes that there will *not* be breaking changes between
-`0.2.4` and `0.2.5`. It allows for changes that are presumed to be
-additive (but non-breaking), according to commonly observed practices.
-
-* `^1.2.3` := `>=1.2.3 <2.0.0`
-* `^0.2.3` := `>=0.2.3 <0.3.0`
-* `^0.0.3` := `>=0.0.3 <0.0.4`
-* `^1.2.3-beta.2` := `>=1.2.3-beta.2 <2.0.0` Note that prereleases in
- the `1.2.3` version will be allowed, if they are greater than or
- equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but
- `1.2.4-beta.2` would not, because it is a prerelease of a
- different `[major, minor, patch]` tuple.
-* `^0.0.3-beta` := `>=0.0.3-beta <0.0.4` Note that prereleases in the
- `0.0.3` version *only* will be allowed, if they are greater than or
- equal to `beta`. So, `0.0.3-pr.2` would be allowed.
-
-When parsing caret ranges, a missing `patch` value desugars to the
-number `0`, but will allow flexibility within that value, even if the
-major and minor versions are both `0`.
-
-* `^1.2.x` := `>=1.2.0 <2.0.0`
-* `^0.0.x` := `>=0.0.0 <0.1.0`
-* `^0.0` := `>=0.0.0 <0.1.0`
-
-A missing `minor` and `patch` values will desugar to zero, but also
-allow flexibility within those values, even if the major version is
-zero.
-
-* `^1.x` := `>=1.0.0 <2.0.0`
-* `^0.x` := `>=0.0.0 <1.0.0`
-
-### Range Grammar
-
-Putting all this together, here is a Backus-Naur grammar for ranges,
-for the benefit of parser authors:
-
-```bnf
-range-set ::= range ( logical-or range ) *
-logical-or ::= ( ' ' ) * '||' ( ' ' ) *
-range ::= hyphen | simple ( ' ' simple ) * | ''
-hyphen ::= partial ' - ' partial
-simple ::= primitive | partial | tilde | caret
-primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
-partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
-xr ::= 'x' | 'X' | '*' | nr
-nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) *
-tilde ::= '~' partial
-caret ::= '^' partial
-qualifier ::= ( '-' pre )? ( '+' build )?
-pre ::= parts
-build ::= parts
-parts ::= part ( '.' part ) *
-part ::= nr | [-0-9A-Za-z]+
-```
-
-## Functions
-
-All methods and classes take a final `options` object argument. All
-options in this object are `false` by default. The options supported
-are:
-
-- `loose` Be more forgiving about not-quite-valid semver strings.
- (Any resulting output will always be 100% strict compliant, of
- course.) For backwards compatibility reasons, if the `options`
- argument is a boolean value instead of an object, it is interpreted
- to be the `loose` param.
-- `includePrerelease` Set to suppress the [default
- behavior](https://github.com/npm/node-semver#prerelease-tags) of
- excluding prerelease tagged versions from ranges unless they are
- explicitly opted into.
-
-Strict-mode Comparators and Ranges will be strict about the SemVer
-strings that they parse.
-
-* `valid(v)`: Return the parsed version, or null if it's not valid.
-* `inc(v, release)`: Return the version incremented by the release
- type (`major`, `premajor`, `minor`, `preminor`, `patch`,
- `prepatch`, or `prerelease`), or null if it's not valid
- * `premajor` in one call will bump the version up to the next major
- version and down to a prerelease of that major version.
- `preminor`, and `prepatch` work the same way.
- * If called from a non-prerelease version, the `prerelease` will work the
- same as `prepatch`. It increments the patch version, then makes a
- prerelease. If the input version is already a prerelease it simply
- increments it.
-* `prerelease(v)`: Returns an array of prerelease components, or null
- if none exist. Example: `prerelease('1.2.3-alpha.1') -> ['alpha', 1]`
-* `major(v)`: Return the major version number.
-* `minor(v)`: Return the minor version number.
-* `patch(v)`: Return the patch version number.
-* `intersects(r1, r2, loose)`: Return true if the two supplied ranges
- or comparators intersect.
-* `parse(v)`: Attempt to parse a string as a semantic version, returning either
- a `SemVer` object or `null`.
-
-### Comparison
-
-* `gt(v1, v2)`: `v1 > v2`
-* `gte(v1, v2)`: `v1 >= v2`
-* `lt(v1, v2)`: `v1 < v2`
-* `lte(v1, v2)`: `v1 <= v2`
-* `eq(v1, v2)`: `v1 == v2` This is true if they're logically equivalent,
- even if they're not the exact same string. You already know how to
- compare strings.
-* `neq(v1, v2)`: `v1 != v2` The opposite of `eq`.
-* `cmp(v1, comparator, v2)`: Pass in a comparison string, and it'll call
- the corresponding function above. `"==="` and `"!=="` do simple
- string comparison, but are included for completeness. Throws if an
- invalid comparison string is provided.
-* `compare(v1, v2)`: Return `0` if `v1 == v2`, or `1` if `v1` is greater, or `-1` if
- `v2` is greater. Sorts in ascending order if passed to `Array.sort()`.
-* `rcompare(v1, v2)`: The reverse of compare. Sorts an array of versions
- in descending order when passed to `Array.sort()`.
-* `diff(v1, v2)`: Returns difference between two versions by the release type
- (`major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, or `prerelease`),
- or null if the versions are the same.
-
-### Comparators
-
-* `intersects(comparator)`: Return true if the comparators intersect
-
-### Ranges
-
-* `validRange(range)`: Return the valid range or null if it's not valid
-* `satisfies(version, range)`: Return true if the version satisfies the
- range.
-* `maxSatisfying(versions, range)`: Return the highest version in the list
- that satisfies the range, or `null` if none of them do.
-* `minSatisfying(versions, range)`: Return the lowest version in the list
- that satisfies the range, or `null` if none of them do.
-* `minVersion(range)`: Return the lowest version that can possibly match
- the given range.
-* `gtr(version, range)`: Return `true` if version is greater than all the
- versions possible in the range.
-* `ltr(version, range)`: Return `true` if version is less than all the
- versions possible in the range.
-* `outside(version, range, hilo)`: Return true if the version is outside
- the bounds of the range in either the high or low direction. The
- `hilo` argument must be either the string `'>'` or `'<'`. (This is
- the function called by `gtr` and `ltr`.)
-* `intersects(range)`: Return true if any of the ranges comparators intersect
-
-Note that, since ranges may be non-contiguous, a version might not be
-greater than a range, less than a range, *or* satisfy a range! For
-example, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9`
-until `2.0.0`, so the version `1.2.10` would not be greater than the
-range (because `2.0.1` satisfies, which is higher), nor less than the
-range (since `1.2.8` satisfies, which is lower), and it also does not
-satisfy the range.
-
-If you want to know if a version satisfies or does not satisfy a
-range, use the `satisfies(version, range)` function.
-
-### Coercion
-
-* `coerce(version)`: Coerces a string to semver if possible
-
-This aims to provide a very forgiving translation of a non-semver string to
-semver. It looks for the first digit in a string, and consumes all
-remaining characters which satisfy at least a partial semver (e.g., `1`,
-`1.2`, `1.2.3`) up to the max permitted length (256 characters). Longer
-versions are simply truncated (`4.6.3.9.2-alpha2` becomes `4.6.3`). All
-surrounding text is simply ignored (`v3.4 replaces v3.3.1` becomes
-`3.4.0`). Only text which lacks digits will fail coercion (`version one`
-is not valid). The maximum length for any semver component considered for
-coercion is 16 characters; longer components will be ignored
-(`10000000000000000.4.7.4` becomes `4.7.4`). The maximum value for any
-semver component is `Number.MAX_SAFE_INTEGER || (2**53 - 1)`; higher value
-components are invalid (`9999999999999999.4.7.4` is likely invalid).
diff --git a/tgui-next/node_modules/@babel/core/node_modules/semver/bin/semver b/tgui-next/node_modules/@babel/core/node_modules/semver/bin/semver
deleted file mode 100644
index 801e77f130..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/semver/bin/semver
+++ /dev/null
@@ -1,160 +0,0 @@
-#!/usr/bin/env node
-// Standalone semver comparison program.
-// Exits successfully and prints matching version(s) if
-// any supplied version is valid and passes all tests.
-
-var argv = process.argv.slice(2)
-
-var versions = []
-
-var range = []
-
-var inc = null
-
-var version = require('../package.json').version
-
-var loose = false
-
-var includePrerelease = false
-
-var coerce = false
-
-var identifier
-
-var semver = require('../semver')
-
-var reverse = false
-
-var options = {}
-
-main()
-
-function main () {
- if (!argv.length) return help()
- while (argv.length) {
- var a = argv.shift()
- var indexOfEqualSign = a.indexOf('=')
- if (indexOfEqualSign !== -1) {
- a = a.slice(0, indexOfEqualSign)
- argv.unshift(a.slice(indexOfEqualSign + 1))
- }
- switch (a) {
- case '-rv': case '-rev': case '--rev': case '--reverse':
- reverse = true
- break
- case '-l': case '--loose':
- loose = true
- break
- case '-p': case '--include-prerelease':
- includePrerelease = true
- break
- case '-v': case '--version':
- versions.push(argv.shift())
- break
- case '-i': case '--inc': case '--increment':
- switch (argv[0]) {
- case 'major': case 'minor': case 'patch': case 'prerelease':
- case 'premajor': case 'preminor': case 'prepatch':
- inc = argv.shift()
- break
- default:
- inc = 'patch'
- break
- }
- break
- case '--preid':
- identifier = argv.shift()
- break
- case '-r': case '--range':
- range.push(argv.shift())
- break
- case '-c': case '--coerce':
- coerce = true
- break
- case '-h': case '--help': case '-?':
- return help()
- default:
- versions.push(a)
- break
- }
- }
-
- var options = { loose: loose, includePrerelease: includePrerelease }
-
- versions = versions.map(function (v) {
- return coerce ? (semver.coerce(v) || { version: v }).version : v
- }).filter(function (v) {
- return semver.valid(v)
- })
- if (!versions.length) return fail()
- if (inc && (versions.length !== 1 || range.length)) { return failInc() }
-
- for (var i = 0, l = range.length; i < l; i++) {
- versions = versions.filter(function (v) {
- return semver.satisfies(v, range[i], options)
- })
- if (!versions.length) return fail()
- }
- return success(versions)
-}
-
-function failInc () {
- console.error('--inc can only be used on a single version with no range')
- fail()
-}
-
-function fail () { process.exit(1) }
-
-function success () {
- var compare = reverse ? 'rcompare' : 'compare'
- versions.sort(function (a, b) {
- return semver[compare](a, b, options)
- }).map(function (v) {
- return semver.clean(v, options)
- }).map(function (v) {
- return inc ? semver.inc(v, inc, options, identifier) : v
- }).forEach(function (v, i, _) { console.log(v) })
-}
-
-function help () {
- console.log(['SemVer ' + version,
- '',
- 'A JavaScript implementation of the https://semver.org/ specification',
- 'Copyright Isaac Z. Schlueter',
- '',
- 'Usage: semver [options] [ [...]]',
- 'Prints valid versions sorted by SemVer precedence',
- '',
- 'Options:',
- '-r --range ',
- ' Print versions that match the specified range.',
- '',
- '-i --increment []',
- ' Increment a version by the specified level. Level can',
- ' be one of: major, minor, patch, premajor, preminor,',
- " prepatch, or prerelease. Default level is 'patch'.",
- ' Only one version may be specified.',
- '',
- '--preid ',
- ' Identifier to be used to prefix premajor, preminor,',
- ' prepatch or prerelease version increments.',
- '',
- '-l --loose',
- ' Interpret versions and ranges loosely',
- '',
- '-p --include-prerelease',
- ' Always include prerelease versions in range matching',
- '',
- '-c --coerce',
- ' Coerce a string into SemVer if possible',
- ' (does not imply --loose)',
- '',
- 'Program exits successfully if any valid version satisfies',
- 'all supplied ranges, and prints all satisfying versions.',
- '',
- 'If no satisfying versions are found, then exits failure.',
- '',
- 'Versions are printed in ascending order, so supplying',
- 'multiple versions to the utility will just sort them.'
- ].join('\n'))
-}
diff --git a/tgui-next/node_modules/@babel/core/node_modules/semver/package.json b/tgui-next/node_modules/@babel/core/node_modules/semver/package.json
deleted file mode 100644
index 69d2db162c..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/semver/package.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "name": "semver",
- "version": "5.7.1",
- "description": "The semantic version parser used by npm.",
- "main": "semver.js",
- "scripts": {
- "test": "tap",
- "preversion": "npm test",
- "postversion": "npm publish",
- "postpublish": "git push origin --all; git push origin --tags"
- },
- "devDependencies": {
- "tap": "^13.0.0-rc.18"
- },
- "license": "ISC",
- "repository": "https://github.com/npm/node-semver",
- "bin": {
- "semver": "./bin/semver"
- },
- "files": [
- "bin",
- "range.bnf",
- "semver.js"
- ],
- "tap": {
- "check-coverage": true
- }
-}
diff --git a/tgui-next/node_modules/@babel/core/node_modules/semver/range.bnf b/tgui-next/node_modules/@babel/core/node_modules/semver/range.bnf
deleted file mode 100644
index d4c6ae0d76..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/semver/range.bnf
+++ /dev/null
@@ -1,16 +0,0 @@
-range-set ::= range ( logical-or range ) *
-logical-or ::= ( ' ' ) * '||' ( ' ' ) *
-range ::= hyphen | simple ( ' ' simple ) * | ''
-hyphen ::= partial ' - ' partial
-simple ::= primitive | partial | tilde | caret
-primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
-partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
-xr ::= 'x' | 'X' | '*' | nr
-nr ::= '0' | [1-9] ( [0-9] ) *
-tilde ::= '~' partial
-caret ::= '^' partial
-qualifier ::= ( '-' pre )? ( '+' build )?
-pre ::= parts
-build ::= parts
-parts ::= part ( '.' part ) *
-part ::= nr | [-0-9A-Za-z]+
diff --git a/tgui-next/node_modules/@babel/core/node_modules/semver/semver.js b/tgui-next/node_modules/@babel/core/node_modules/semver/semver.js
deleted file mode 100644
index d315d5d68b..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/semver/semver.js
+++ /dev/null
@@ -1,1483 +0,0 @@
-exports = module.exports = SemVer
-
-var debug
-/* istanbul ignore next */
-if (typeof process === 'object' &&
- process.env &&
- process.env.NODE_DEBUG &&
- /\bsemver\b/i.test(process.env.NODE_DEBUG)) {
- debug = function () {
- var args = Array.prototype.slice.call(arguments, 0)
- args.unshift('SEMVER')
- console.log.apply(console, args)
- }
-} else {
- debug = function () {}
-}
-
-// Note: this is the semver.org version of the spec that it implements
-// Not necessarily the package version of this code.
-exports.SEMVER_SPEC_VERSION = '2.0.0'
-
-var MAX_LENGTH = 256
-var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||
- /* istanbul ignore next */ 9007199254740991
-
-// Max safe segment length for coercion.
-var MAX_SAFE_COMPONENT_LENGTH = 16
-
-// The actual regexps go on exports.re
-var re = exports.re = []
-var src = exports.src = []
-var R = 0
-
-// The following Regular Expressions can be used for tokenizing,
-// validating, and parsing SemVer version strings.
-
-// ## Numeric Identifier
-// A single `0`, or a non-zero digit followed by zero or more digits.
-
-var NUMERICIDENTIFIER = R++
-src[NUMERICIDENTIFIER] = '0|[1-9]\\d*'
-var NUMERICIDENTIFIERLOOSE = R++
-src[NUMERICIDENTIFIERLOOSE] = '[0-9]+'
-
-// ## Non-numeric Identifier
-// Zero or more digits, followed by a letter or hyphen, and then zero or
-// more letters, digits, or hyphens.
-
-var NONNUMERICIDENTIFIER = R++
-src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'
-
-// ## Main Version
-// Three dot-separated numeric identifiers.
-
-var MAINVERSION = R++
-src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' +
- '(' + src[NUMERICIDENTIFIER] + ')\\.' +
- '(' + src[NUMERICIDENTIFIER] + ')'
-
-var MAINVERSIONLOOSE = R++
-src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
- '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
- '(' + src[NUMERICIDENTIFIERLOOSE] + ')'
-
-// ## Pre-release Version Identifier
-// A numeric identifier, or a non-numeric identifier.
-
-var PRERELEASEIDENTIFIER = R++
-src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +
- '|' + src[NONNUMERICIDENTIFIER] + ')'
-
-var PRERELEASEIDENTIFIERLOOSE = R++
-src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +
- '|' + src[NONNUMERICIDENTIFIER] + ')'
-
-// ## Pre-release Version
-// Hyphen, followed by one or more dot-separated pre-release version
-// identifiers.
-
-var PRERELEASE = R++
-src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +
- '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))'
-
-var PRERELEASELOOSE = R++
-src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +
- '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'
-
-// ## Build Metadata Identifier
-// Any combination of digits, letters, or hyphens.
-
-var BUILDIDENTIFIER = R++
-src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'
-
-// ## Build Metadata
-// Plus sign, followed by one or more period-separated build metadata
-// identifiers.
-
-var BUILD = R++
-src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] +
- '(?:\\.' + src[BUILDIDENTIFIER] + ')*))'
-
-// ## Full Version String
-// A main version, followed optionally by a pre-release version and
-// build metadata.
-
-// Note that the only major, minor, patch, and pre-release sections of
-// the version string are capturing groups. The build metadata is not a
-// capturing group, because it should not ever be used in version
-// comparison.
-
-var FULL = R++
-var FULLPLAIN = 'v?' + src[MAINVERSION] +
- src[PRERELEASE] + '?' +
- src[BUILD] + '?'
-
-src[FULL] = '^' + FULLPLAIN + '$'
-
-// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.
-// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty
-// common in the npm registry.
-var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] +
- src[PRERELEASELOOSE] + '?' +
- src[BUILD] + '?'
-
-var LOOSE = R++
-src[LOOSE] = '^' + LOOSEPLAIN + '$'
-
-var GTLT = R++
-src[GTLT] = '((?:<|>)?=?)'
-
-// Something like "2.*" or "1.2.x".
-// Note that "x.x" is a valid xRange identifer, meaning "any version"
-// Only the first item is strictly required.
-var XRANGEIDENTIFIERLOOSE = R++
-src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'
-var XRANGEIDENTIFIER = R++
-src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*'
-
-var XRANGEPLAIN = R++
-src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' +
- '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
- '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
- '(?:' + src[PRERELEASE] + ')?' +
- src[BUILD] + '?' +
- ')?)?'
-
-var XRANGEPLAINLOOSE = R++
-src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
- '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
- '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
- '(?:' + src[PRERELEASELOOSE] + ')?' +
- src[BUILD] + '?' +
- ')?)?'
-
-var XRANGE = R++
-src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$'
-var XRANGELOOSE = R++
-src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$'
-
-// Coercion.
-// Extract anything that could conceivably be a part of a valid semver
-var COERCE = R++
-src[COERCE] = '(?:^|[^\\d])' +
- '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +
- '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
- '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
- '(?:$|[^\\d])'
-
-// Tilde ranges.
-// Meaning is "reasonably at or greater than"
-var LONETILDE = R++
-src[LONETILDE] = '(?:~>?)'
-
-var TILDETRIM = R++
-src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+'
-re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g')
-var tildeTrimReplace = '$1~'
-
-var TILDE = R++
-src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'
-var TILDELOOSE = R++
-src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'
-
-// Caret ranges.
-// Meaning is "at least and backwards compatible with"
-var LONECARET = R++
-src[LONECARET] = '(?:\\^)'
-
-var CARETTRIM = R++
-src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+'
-re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g')
-var caretTrimReplace = '$1^'
-
-var CARET = R++
-src[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'
-var CARETLOOSE = R++
-src[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'
-
-// A simple gt/lt/eq thing, or just "" to indicate "any version"
-var COMPARATORLOOSE = R++
-src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$'
-var COMPARATOR = R++
-src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$'
-
-// An expression to strip any whitespace between the gtlt and the thing
-// it modifies, so that `> 1.2.3` ==> `>1.2.3`
-var COMPARATORTRIM = R++
-src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] +
- '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'
-
-// this one has to use the /g flag
-re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g')
-var comparatorTrimReplace = '$1$2$3'
-
-// Something like `1.2.3 - 1.2.4`
-// Note that these all use the loose form, because they'll be
-// checked against either the strict or loose comparator form
-// later.
-var HYPHENRANGE = R++
-src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' +
- '\\s+-\\s+' +
- '(' + src[XRANGEPLAIN] + ')' +
- '\\s*$'
-
-var HYPHENRANGELOOSE = R++
-src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' +
- '\\s+-\\s+' +
- '(' + src[XRANGEPLAINLOOSE] + ')' +
- '\\s*$'
-
-// Star ranges basically just allow anything at all.
-var STAR = R++
-src[STAR] = '(<|>)?=?\\s*\\*'
-
-// Compile to actual regexp objects.
-// All are flag-free, unless they were created above with a flag.
-for (var i = 0; i < R; i++) {
- debug(i, src[i])
- if (!re[i]) {
- re[i] = new RegExp(src[i])
- }
-}
-
-exports.parse = parse
-function parse (version, options) {
- if (!options || typeof options !== 'object') {
- options = {
- loose: !!options,
- includePrerelease: false
- }
- }
-
- if (version instanceof SemVer) {
- return version
- }
-
- if (typeof version !== 'string') {
- return null
- }
-
- if (version.length > MAX_LENGTH) {
- return null
- }
-
- var r = options.loose ? re[LOOSE] : re[FULL]
- if (!r.test(version)) {
- return null
- }
-
- try {
- return new SemVer(version, options)
- } catch (er) {
- return null
- }
-}
-
-exports.valid = valid
-function valid (version, options) {
- var v = parse(version, options)
- return v ? v.version : null
-}
-
-exports.clean = clean
-function clean (version, options) {
- var s = parse(version.trim().replace(/^[=v]+/, ''), options)
- return s ? s.version : null
-}
-
-exports.SemVer = SemVer
-
-function SemVer (version, options) {
- if (!options || typeof options !== 'object') {
- options = {
- loose: !!options,
- includePrerelease: false
- }
- }
- if (version instanceof SemVer) {
- if (version.loose === options.loose) {
- return version
- } else {
- version = version.version
- }
- } else if (typeof version !== 'string') {
- throw new TypeError('Invalid Version: ' + version)
- }
-
- if (version.length > MAX_LENGTH) {
- throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')
- }
-
- if (!(this instanceof SemVer)) {
- return new SemVer(version, options)
- }
-
- debug('SemVer', version, options)
- this.options = options
- this.loose = !!options.loose
-
- var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL])
-
- if (!m) {
- throw new TypeError('Invalid Version: ' + version)
- }
-
- this.raw = version
-
- // these are actually numbers
- this.major = +m[1]
- this.minor = +m[2]
- this.patch = +m[3]
-
- if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
- throw new TypeError('Invalid major version')
- }
-
- if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
- throw new TypeError('Invalid minor version')
- }
-
- if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
- throw new TypeError('Invalid patch version')
- }
-
- // numberify any prerelease numeric ids
- if (!m[4]) {
- this.prerelease = []
- } else {
- this.prerelease = m[4].split('.').map(function (id) {
- if (/^[0-9]+$/.test(id)) {
- var num = +id
- if (num >= 0 && num < MAX_SAFE_INTEGER) {
- return num
- }
- }
- return id
- })
- }
-
- this.build = m[5] ? m[5].split('.') : []
- this.format()
-}
-
-SemVer.prototype.format = function () {
- this.version = this.major + '.' + this.minor + '.' + this.patch
- if (this.prerelease.length) {
- this.version += '-' + this.prerelease.join('.')
- }
- return this.version
-}
-
-SemVer.prototype.toString = function () {
- return this.version
-}
-
-SemVer.prototype.compare = function (other) {
- debug('SemVer.compare', this.version, this.options, other)
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options)
- }
-
- return this.compareMain(other) || this.comparePre(other)
-}
-
-SemVer.prototype.compareMain = function (other) {
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options)
- }
-
- return compareIdentifiers(this.major, other.major) ||
- compareIdentifiers(this.minor, other.minor) ||
- compareIdentifiers(this.patch, other.patch)
-}
-
-SemVer.prototype.comparePre = function (other) {
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options)
- }
-
- // NOT having a prerelease is > having one
- if (this.prerelease.length && !other.prerelease.length) {
- return -1
- } else if (!this.prerelease.length && other.prerelease.length) {
- return 1
- } else if (!this.prerelease.length && !other.prerelease.length) {
- return 0
- }
-
- var i = 0
- do {
- var a = this.prerelease[i]
- var b = other.prerelease[i]
- debug('prerelease compare', i, a, b)
- if (a === undefined && b === undefined) {
- return 0
- } else if (b === undefined) {
- return 1
- } else if (a === undefined) {
- return -1
- } else if (a === b) {
- continue
- } else {
- return compareIdentifiers(a, b)
- }
- } while (++i)
-}
-
-// preminor will bump the version up to the next minor release, and immediately
-// down to pre-release. premajor and prepatch work the same way.
-SemVer.prototype.inc = function (release, identifier) {
- switch (release) {
- case 'premajor':
- this.prerelease.length = 0
- this.patch = 0
- this.minor = 0
- this.major++
- this.inc('pre', identifier)
- break
- case 'preminor':
- this.prerelease.length = 0
- this.patch = 0
- this.minor++
- this.inc('pre', identifier)
- break
- case 'prepatch':
- // If this is already a prerelease, it will bump to the next version
- // drop any prereleases that might already exist, since they are not
- // relevant at this point.
- this.prerelease.length = 0
- this.inc('patch', identifier)
- this.inc('pre', identifier)
- break
- // If the input is a non-prerelease version, this acts the same as
- // prepatch.
- case 'prerelease':
- if (this.prerelease.length === 0) {
- this.inc('patch', identifier)
- }
- this.inc('pre', identifier)
- break
-
- case 'major':
- // If this is a pre-major version, bump up to the same major version.
- // Otherwise increment major.
- // 1.0.0-5 bumps to 1.0.0
- // 1.1.0 bumps to 2.0.0
- if (this.minor !== 0 ||
- this.patch !== 0 ||
- this.prerelease.length === 0) {
- this.major++
- }
- this.minor = 0
- this.patch = 0
- this.prerelease = []
- break
- case 'minor':
- // If this is a pre-minor version, bump up to the same minor version.
- // Otherwise increment minor.
- // 1.2.0-5 bumps to 1.2.0
- // 1.2.1 bumps to 1.3.0
- if (this.patch !== 0 || this.prerelease.length === 0) {
- this.minor++
- }
- this.patch = 0
- this.prerelease = []
- break
- case 'patch':
- // If this is not a pre-release version, it will increment the patch.
- // If it is a pre-release it will bump up to the same patch version.
- // 1.2.0-5 patches to 1.2.0
- // 1.2.0 patches to 1.2.1
- if (this.prerelease.length === 0) {
- this.patch++
- }
- this.prerelease = []
- break
- // This probably shouldn't be used publicly.
- // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction.
- case 'pre':
- if (this.prerelease.length === 0) {
- this.prerelease = [0]
- } else {
- var i = this.prerelease.length
- while (--i >= 0) {
- if (typeof this.prerelease[i] === 'number') {
- this.prerelease[i]++
- i = -2
- }
- }
- if (i === -1) {
- // didn't increment anything
- this.prerelease.push(0)
- }
- }
- if (identifier) {
- // 1.2.0-beta.1 bumps to 1.2.0-beta.2,
- // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0
- if (this.prerelease[0] === identifier) {
- if (isNaN(this.prerelease[1])) {
- this.prerelease = [identifier, 0]
- }
- } else {
- this.prerelease = [identifier, 0]
- }
- }
- break
-
- default:
- throw new Error('invalid increment argument: ' + release)
- }
- this.format()
- this.raw = this.version
- return this
-}
-
-exports.inc = inc
-function inc (version, release, loose, identifier) {
- if (typeof (loose) === 'string') {
- identifier = loose
- loose = undefined
- }
-
- try {
- return new SemVer(version, loose).inc(release, identifier).version
- } catch (er) {
- return null
- }
-}
-
-exports.diff = diff
-function diff (version1, version2) {
- if (eq(version1, version2)) {
- return null
- } else {
- var v1 = parse(version1)
- var v2 = parse(version2)
- var prefix = ''
- if (v1.prerelease.length || v2.prerelease.length) {
- prefix = 'pre'
- var defaultResult = 'prerelease'
- }
- for (var key in v1) {
- if (key === 'major' || key === 'minor' || key === 'patch') {
- if (v1[key] !== v2[key]) {
- return prefix + key
- }
- }
- }
- return defaultResult // may be undefined
- }
-}
-
-exports.compareIdentifiers = compareIdentifiers
-
-var numeric = /^[0-9]+$/
-function compareIdentifiers (a, b) {
- var anum = numeric.test(a)
- var bnum = numeric.test(b)
-
- if (anum && bnum) {
- a = +a
- b = +b
- }
-
- return a === b ? 0
- : (anum && !bnum) ? -1
- : (bnum && !anum) ? 1
- : a < b ? -1
- : 1
-}
-
-exports.rcompareIdentifiers = rcompareIdentifiers
-function rcompareIdentifiers (a, b) {
- return compareIdentifiers(b, a)
-}
-
-exports.major = major
-function major (a, loose) {
- return new SemVer(a, loose).major
-}
-
-exports.minor = minor
-function minor (a, loose) {
- return new SemVer(a, loose).minor
-}
-
-exports.patch = patch
-function patch (a, loose) {
- return new SemVer(a, loose).patch
-}
-
-exports.compare = compare
-function compare (a, b, loose) {
- return new SemVer(a, loose).compare(new SemVer(b, loose))
-}
-
-exports.compareLoose = compareLoose
-function compareLoose (a, b) {
- return compare(a, b, true)
-}
-
-exports.rcompare = rcompare
-function rcompare (a, b, loose) {
- return compare(b, a, loose)
-}
-
-exports.sort = sort
-function sort (list, loose) {
- return list.sort(function (a, b) {
- return exports.compare(a, b, loose)
- })
-}
-
-exports.rsort = rsort
-function rsort (list, loose) {
- return list.sort(function (a, b) {
- return exports.rcompare(a, b, loose)
- })
-}
-
-exports.gt = gt
-function gt (a, b, loose) {
- return compare(a, b, loose) > 0
-}
-
-exports.lt = lt
-function lt (a, b, loose) {
- return compare(a, b, loose) < 0
-}
-
-exports.eq = eq
-function eq (a, b, loose) {
- return compare(a, b, loose) === 0
-}
-
-exports.neq = neq
-function neq (a, b, loose) {
- return compare(a, b, loose) !== 0
-}
-
-exports.gte = gte
-function gte (a, b, loose) {
- return compare(a, b, loose) >= 0
-}
-
-exports.lte = lte
-function lte (a, b, loose) {
- return compare(a, b, loose) <= 0
-}
-
-exports.cmp = cmp
-function cmp (a, op, b, loose) {
- switch (op) {
- case '===':
- if (typeof a === 'object')
- a = a.version
- if (typeof b === 'object')
- b = b.version
- return a === b
-
- case '!==':
- if (typeof a === 'object')
- a = a.version
- if (typeof b === 'object')
- b = b.version
- return a !== b
-
- case '':
- case '=':
- case '==':
- return eq(a, b, loose)
-
- case '!=':
- return neq(a, b, loose)
-
- case '>':
- return gt(a, b, loose)
-
- case '>=':
- return gte(a, b, loose)
-
- case '<':
- return lt(a, b, loose)
-
- case '<=':
- return lte(a, b, loose)
-
- default:
- throw new TypeError('Invalid operator: ' + op)
- }
-}
-
-exports.Comparator = Comparator
-function Comparator (comp, options) {
- if (!options || typeof options !== 'object') {
- options = {
- loose: !!options,
- includePrerelease: false
- }
- }
-
- if (comp instanceof Comparator) {
- if (comp.loose === !!options.loose) {
- return comp
- } else {
- comp = comp.value
- }
- }
-
- if (!(this instanceof Comparator)) {
- return new Comparator(comp, options)
- }
-
- debug('comparator', comp, options)
- this.options = options
- this.loose = !!options.loose
- this.parse(comp)
-
- if (this.semver === ANY) {
- this.value = ''
- } else {
- this.value = this.operator + this.semver.version
- }
-
- debug('comp', this)
-}
-
-var ANY = {}
-Comparator.prototype.parse = function (comp) {
- var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]
- var m = comp.match(r)
-
- if (!m) {
- throw new TypeError('Invalid comparator: ' + comp)
- }
-
- this.operator = m[1]
- if (this.operator === '=') {
- this.operator = ''
- }
-
- // if it literally is just '>' or '' then allow anything.
- if (!m[2]) {
- this.semver = ANY
- } else {
- this.semver = new SemVer(m[2], this.options.loose)
- }
-}
-
-Comparator.prototype.toString = function () {
- return this.value
-}
-
-Comparator.prototype.test = function (version) {
- debug('Comparator.test', version, this.options.loose)
-
- if (this.semver === ANY) {
- return true
- }
-
- if (typeof version === 'string') {
- version = new SemVer(version, this.options)
- }
-
- return cmp(version, this.operator, this.semver, this.options)
-}
-
-Comparator.prototype.intersects = function (comp, options) {
- if (!(comp instanceof Comparator)) {
- throw new TypeError('a Comparator is required')
- }
-
- if (!options || typeof options !== 'object') {
- options = {
- loose: !!options,
- includePrerelease: false
- }
- }
-
- var rangeTmp
-
- if (this.operator === '') {
- rangeTmp = new Range(comp.value, options)
- return satisfies(this.value, rangeTmp, options)
- } else if (comp.operator === '') {
- rangeTmp = new Range(this.value, options)
- return satisfies(comp.semver, rangeTmp, options)
- }
-
- var sameDirectionIncreasing =
- (this.operator === '>=' || this.operator === '>') &&
- (comp.operator === '>=' || comp.operator === '>')
- var sameDirectionDecreasing =
- (this.operator === '<=' || this.operator === '<') &&
- (comp.operator === '<=' || comp.operator === '<')
- var sameSemVer = this.semver.version === comp.semver.version
- var differentDirectionsInclusive =
- (this.operator === '>=' || this.operator === '<=') &&
- (comp.operator === '>=' || comp.operator === '<=')
- var oppositeDirectionsLessThan =
- cmp(this.semver, '<', comp.semver, options) &&
- ((this.operator === '>=' || this.operator === '>') &&
- (comp.operator === '<=' || comp.operator === '<'))
- var oppositeDirectionsGreaterThan =
- cmp(this.semver, '>', comp.semver, options) &&
- ((this.operator === '<=' || this.operator === '<') &&
- (comp.operator === '>=' || comp.operator === '>'))
-
- return sameDirectionIncreasing || sameDirectionDecreasing ||
- (sameSemVer && differentDirectionsInclusive) ||
- oppositeDirectionsLessThan || oppositeDirectionsGreaterThan
-}
-
-exports.Range = Range
-function Range (range, options) {
- if (!options || typeof options !== 'object') {
- options = {
- loose: !!options,
- includePrerelease: false
- }
- }
-
- if (range instanceof Range) {
- if (range.loose === !!options.loose &&
- range.includePrerelease === !!options.includePrerelease) {
- return range
- } else {
- return new Range(range.raw, options)
- }
- }
-
- if (range instanceof Comparator) {
- return new Range(range.value, options)
- }
-
- if (!(this instanceof Range)) {
- return new Range(range, options)
- }
-
- this.options = options
- this.loose = !!options.loose
- this.includePrerelease = !!options.includePrerelease
-
- // First, split based on boolean or ||
- this.raw = range
- this.set = range.split(/\s*\|\|\s*/).map(function (range) {
- return this.parseRange(range.trim())
- }, this).filter(function (c) {
- // throw out any that are not relevant for whatever reason
- return c.length
- })
-
- if (!this.set.length) {
- throw new TypeError('Invalid SemVer Range: ' + range)
- }
-
- this.format()
-}
-
-Range.prototype.format = function () {
- this.range = this.set.map(function (comps) {
- return comps.join(' ').trim()
- }).join('||').trim()
- return this.range
-}
-
-Range.prototype.toString = function () {
- return this.range
-}
-
-Range.prototype.parseRange = function (range) {
- var loose = this.options.loose
- range = range.trim()
- // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
- var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]
- range = range.replace(hr, hyphenReplace)
- debug('hyphen replace', range)
- // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
- range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace)
- debug('comparator trim', range, re[COMPARATORTRIM])
-
- // `~ 1.2.3` => `~1.2.3`
- range = range.replace(re[TILDETRIM], tildeTrimReplace)
-
- // `^ 1.2.3` => `^1.2.3`
- range = range.replace(re[CARETTRIM], caretTrimReplace)
-
- // normalize spaces
- range = range.split(/\s+/).join(' ')
-
- // At this point, the range is completely trimmed and
- // ready to be split into comparators.
-
- var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]
- var set = range.split(' ').map(function (comp) {
- return parseComparator(comp, this.options)
- }, this).join(' ').split(/\s+/)
- if (this.options.loose) {
- // in loose mode, throw out any that are not valid comparators
- set = set.filter(function (comp) {
- return !!comp.match(compRe)
- })
- }
- set = set.map(function (comp) {
- return new Comparator(comp, this.options)
- }, this)
-
- return set
-}
-
-Range.prototype.intersects = function (range, options) {
- if (!(range instanceof Range)) {
- throw new TypeError('a Range is required')
- }
-
- return this.set.some(function (thisComparators) {
- return thisComparators.every(function (thisComparator) {
- return range.set.some(function (rangeComparators) {
- return rangeComparators.every(function (rangeComparator) {
- return thisComparator.intersects(rangeComparator, options)
- })
- })
- })
- })
-}
-
-// Mostly just for testing and legacy API reasons
-exports.toComparators = toComparators
-function toComparators (range, options) {
- return new Range(range, options).set.map(function (comp) {
- return comp.map(function (c) {
- return c.value
- }).join(' ').trim().split(' ')
- })
-}
-
-// comprised of xranges, tildes, stars, and gtlt's at this point.
-// already replaced the hyphen ranges
-// turn into a set of JUST comparators.
-function parseComparator (comp, options) {
- debug('comp', comp, options)
- comp = replaceCarets(comp, options)
- debug('caret', comp)
- comp = replaceTildes(comp, options)
- debug('tildes', comp)
- comp = replaceXRanges(comp, options)
- debug('xrange', comp)
- comp = replaceStars(comp, options)
- debug('stars', comp)
- return comp
-}
-
-function isX (id) {
- return !id || id.toLowerCase() === 'x' || id === '*'
-}
-
-// ~, ~> --> * (any, kinda silly)
-// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0
-// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0
-// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0
-// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0
-// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0
-function replaceTildes (comp, options) {
- return comp.trim().split(/\s+/).map(function (comp) {
- return replaceTilde(comp, options)
- }).join(' ')
-}
-
-function replaceTilde (comp, options) {
- var r = options.loose ? re[TILDELOOSE] : re[TILDE]
- return comp.replace(r, function (_, M, m, p, pr) {
- debug('tilde', comp, _, M, m, p, pr)
- var ret
-
- if (isX(M)) {
- ret = ''
- } else if (isX(m)) {
- ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'
- } else if (isX(p)) {
- // ~1.2 == >=1.2.0 <1.3.0
- ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'
- } else if (pr) {
- debug('replaceTilde pr', pr)
- ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
- ' <' + M + '.' + (+m + 1) + '.0'
- } else {
- // ~1.2.3 == >=1.2.3 <1.3.0
- ret = '>=' + M + '.' + m + '.' + p +
- ' <' + M + '.' + (+m + 1) + '.0'
- }
-
- debug('tilde return', ret)
- return ret
- })
-}
-
-// ^ --> * (any, kinda silly)
-// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0
-// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0
-// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0
-// ^1.2.3 --> >=1.2.3 <2.0.0
-// ^1.2.0 --> >=1.2.0 <2.0.0
-function replaceCarets (comp, options) {
- return comp.trim().split(/\s+/).map(function (comp) {
- return replaceCaret(comp, options)
- }).join(' ')
-}
-
-function replaceCaret (comp, options) {
- debug('caret', comp, options)
- var r = options.loose ? re[CARETLOOSE] : re[CARET]
- return comp.replace(r, function (_, M, m, p, pr) {
- debug('caret', comp, _, M, m, p, pr)
- var ret
-
- if (isX(M)) {
- ret = ''
- } else if (isX(m)) {
- ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'
- } else if (isX(p)) {
- if (M === '0') {
- ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'
- } else {
- ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'
- }
- } else if (pr) {
- debug('replaceCaret pr', pr)
- if (M === '0') {
- if (m === '0') {
- ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
- ' <' + M + '.' + m + '.' + (+p + 1)
- } else {
- ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
- ' <' + M + '.' + (+m + 1) + '.0'
- }
- } else {
- ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
- ' <' + (+M + 1) + '.0.0'
- }
- } else {
- debug('no pr')
- if (M === '0') {
- if (m === '0') {
- ret = '>=' + M + '.' + m + '.' + p +
- ' <' + M + '.' + m + '.' + (+p + 1)
- } else {
- ret = '>=' + M + '.' + m + '.' + p +
- ' <' + M + '.' + (+m + 1) + '.0'
- }
- } else {
- ret = '>=' + M + '.' + m + '.' + p +
- ' <' + (+M + 1) + '.0.0'
- }
- }
-
- debug('caret return', ret)
- return ret
- })
-}
-
-function replaceXRanges (comp, options) {
- debug('replaceXRanges', comp, options)
- return comp.split(/\s+/).map(function (comp) {
- return replaceXRange(comp, options)
- }).join(' ')
-}
-
-function replaceXRange (comp, options) {
- comp = comp.trim()
- var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]
- return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
- debug('xRange', comp, ret, gtlt, M, m, p, pr)
- var xM = isX(M)
- var xm = xM || isX(m)
- var xp = xm || isX(p)
- var anyX = xp
-
- if (gtlt === '=' && anyX) {
- gtlt = ''
- }
-
- if (xM) {
- if (gtlt === '>' || gtlt === '<') {
- // nothing is allowed
- ret = '<0.0.0'
- } else {
- // nothing is forbidden
- ret = '*'
- }
- } else if (gtlt && anyX) {
- // we know patch is an x, because we have any x at all.
- // replace X with 0
- if (xm) {
- m = 0
- }
- p = 0
-
- if (gtlt === '>') {
- // >1 => >=2.0.0
- // >1.2 => >=1.3.0
- // >1.2.3 => >= 1.2.4
- gtlt = '>='
- if (xm) {
- M = +M + 1
- m = 0
- p = 0
- } else {
- m = +m + 1
- p = 0
- }
- } else if (gtlt === '<=') {
- // <=0.7.x is actually <0.8.0, since any 0.7.x should
- // pass. Similarly, <=7.x is actually <8.0.0, etc.
- gtlt = '<'
- if (xm) {
- M = +M + 1
- } else {
- m = +m + 1
- }
- }
-
- ret = gtlt + M + '.' + m + '.' + p
- } else if (xm) {
- ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'
- } else if (xp) {
- ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'
- }
-
- debug('xRange return', ret)
-
- return ret
- })
-}
-
-// Because * is AND-ed with everything else in the comparator,
-// and '' means "any version", just remove the *s entirely.
-function replaceStars (comp, options) {
- debug('replaceStars', comp, options)
- // Looseness is ignored here. star is always as loose as it gets!
- return comp.trim().replace(re[STAR], '')
-}
-
-// This function is passed to string.replace(re[HYPHENRANGE])
-// M, m, patch, prerelease, build
-// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
-// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do
-// 1.2 - 3.4 => >=1.2.0 <3.5.0
-function hyphenReplace ($0,
- from, fM, fm, fp, fpr, fb,
- to, tM, tm, tp, tpr, tb) {
- if (isX(fM)) {
- from = ''
- } else if (isX(fm)) {
- from = '>=' + fM + '.0.0'
- } else if (isX(fp)) {
- from = '>=' + fM + '.' + fm + '.0'
- } else {
- from = '>=' + from
- }
-
- if (isX(tM)) {
- to = ''
- } else if (isX(tm)) {
- to = '<' + (+tM + 1) + '.0.0'
- } else if (isX(tp)) {
- to = '<' + tM + '.' + (+tm + 1) + '.0'
- } else if (tpr) {
- to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr
- } else {
- to = '<=' + to
- }
-
- return (from + ' ' + to).trim()
-}
-
-// if ANY of the sets match ALL of its comparators, then pass
-Range.prototype.test = function (version) {
- if (!version) {
- return false
- }
-
- if (typeof version === 'string') {
- version = new SemVer(version, this.options)
- }
-
- for (var i = 0; i < this.set.length; i++) {
- if (testSet(this.set[i], version, this.options)) {
- return true
- }
- }
- return false
-}
-
-function testSet (set, version, options) {
- for (var i = 0; i < set.length; i++) {
- if (!set[i].test(version)) {
- return false
- }
- }
-
- if (version.prerelease.length && !options.includePrerelease) {
- // Find the set of versions that are allowed to have prereleases
- // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0
- // That should allow `1.2.3-pr.2` to pass.
- // However, `1.2.4-alpha.notready` should NOT be allowed,
- // even though it's within the range set by the comparators.
- for (i = 0; i < set.length; i++) {
- debug(set[i].semver)
- if (set[i].semver === ANY) {
- continue
- }
-
- if (set[i].semver.prerelease.length > 0) {
- var allowed = set[i].semver
- if (allowed.major === version.major &&
- allowed.minor === version.minor &&
- allowed.patch === version.patch) {
- return true
- }
- }
- }
-
- // Version has a -pre, but it's not one of the ones we like.
- return false
- }
-
- return true
-}
-
-exports.satisfies = satisfies
-function satisfies (version, range, options) {
- try {
- range = new Range(range, options)
- } catch (er) {
- return false
- }
- return range.test(version)
-}
-
-exports.maxSatisfying = maxSatisfying
-function maxSatisfying (versions, range, options) {
- var max = null
- var maxSV = null
- try {
- var rangeObj = new Range(range, options)
- } catch (er) {
- return null
- }
- versions.forEach(function (v) {
- if (rangeObj.test(v)) {
- // satisfies(v, range, options)
- if (!max || maxSV.compare(v) === -1) {
- // compare(max, v, true)
- max = v
- maxSV = new SemVer(max, options)
- }
- }
- })
- return max
-}
-
-exports.minSatisfying = minSatisfying
-function minSatisfying (versions, range, options) {
- var min = null
- var minSV = null
- try {
- var rangeObj = new Range(range, options)
- } catch (er) {
- return null
- }
- versions.forEach(function (v) {
- if (rangeObj.test(v)) {
- // satisfies(v, range, options)
- if (!min || minSV.compare(v) === 1) {
- // compare(min, v, true)
- min = v
- minSV = new SemVer(min, options)
- }
- }
- })
- return min
-}
-
-exports.minVersion = minVersion
-function minVersion (range, loose) {
- range = new Range(range, loose)
-
- var minver = new SemVer('0.0.0')
- if (range.test(minver)) {
- return minver
- }
-
- minver = new SemVer('0.0.0-0')
- if (range.test(minver)) {
- return minver
- }
-
- minver = null
- for (var i = 0; i < range.set.length; ++i) {
- var comparators = range.set[i]
-
- comparators.forEach(function (comparator) {
- // Clone to avoid manipulating the comparator's semver object.
- var compver = new SemVer(comparator.semver.version)
- switch (comparator.operator) {
- case '>':
- if (compver.prerelease.length === 0) {
- compver.patch++
- } else {
- compver.prerelease.push(0)
- }
- compver.raw = compver.format()
- /* fallthrough */
- case '':
- case '>=':
- if (!minver || gt(minver, compver)) {
- minver = compver
- }
- break
- case '<':
- case '<=':
- /* Ignore maximum versions */
- break
- /* istanbul ignore next */
- default:
- throw new Error('Unexpected operation: ' + comparator.operator)
- }
- })
- }
-
- if (minver && range.test(minver)) {
- return minver
- }
-
- return null
-}
-
-exports.validRange = validRange
-function validRange (range, options) {
- try {
- // Return '*' instead of '' so that truthiness works.
- // This will throw if it's invalid anyway
- return new Range(range, options).range || '*'
- } catch (er) {
- return null
- }
-}
-
-// Determine if version is less than all the versions possible in the range
-exports.ltr = ltr
-function ltr (version, range, options) {
- return outside(version, range, '<', options)
-}
-
-// Determine if version is greater than all the versions possible in the range.
-exports.gtr = gtr
-function gtr (version, range, options) {
- return outside(version, range, '>', options)
-}
-
-exports.outside = outside
-function outside (version, range, hilo, options) {
- version = new SemVer(version, options)
- range = new Range(range, options)
-
- var gtfn, ltefn, ltfn, comp, ecomp
- switch (hilo) {
- case '>':
- gtfn = gt
- ltefn = lte
- ltfn = lt
- comp = '>'
- ecomp = '>='
- break
- case '<':
- gtfn = lt
- ltefn = gte
- ltfn = gt
- comp = '<'
- ecomp = '<='
- break
- default:
- throw new TypeError('Must provide a hilo val of "<" or ">"')
- }
-
- // If it satisifes the range it is not outside
- if (satisfies(version, range, options)) {
- return false
- }
-
- // From now on, variable terms are as if we're in "gtr" mode.
- // but note that everything is flipped for the "ltr" function.
-
- for (var i = 0; i < range.set.length; ++i) {
- var comparators = range.set[i]
-
- var high = null
- var low = null
-
- comparators.forEach(function (comparator) {
- if (comparator.semver === ANY) {
- comparator = new Comparator('>=0.0.0')
- }
- high = high || comparator
- low = low || comparator
- if (gtfn(comparator.semver, high.semver, options)) {
- high = comparator
- } else if (ltfn(comparator.semver, low.semver, options)) {
- low = comparator
- }
- })
-
- // If the edge version comparator has a operator then our version
- // isn't outside it
- if (high.operator === comp || high.operator === ecomp) {
- return false
- }
-
- // If the lowest version comparator has an operator and our version
- // is less than it then it isn't higher than the range
- if ((!low.operator || low.operator === comp) &&
- ltefn(version, low.semver)) {
- return false
- } else if (low.operator === ecomp && ltfn(version, low.semver)) {
- return false
- }
- }
- return true
-}
-
-exports.prerelease = prerelease
-function prerelease (version, options) {
- var parsed = parse(version, options)
- return (parsed && parsed.prerelease.length) ? parsed.prerelease : null
-}
-
-exports.intersects = intersects
-function intersects (r1, r2, options) {
- r1 = new Range(r1, options)
- r2 = new Range(r2, options)
- return r1.intersects(r2)
-}
-
-exports.coerce = coerce
-function coerce (version) {
- if (version instanceof SemVer) {
- return version
- }
-
- if (typeof version !== 'string') {
- return null
- }
-
- var match = version.match(re[COERCE])
-
- if (match == null) {
- return null
- }
-
- return parse(match[1] +
- '.' + (match[2] || '0') +
- '.' + (match[3] || '0'))
-}
diff --git a/tgui-next/node_modules/@babel/core/node_modules/source-map/CHANGELOG.md b/tgui-next/node_modules/@babel/core/node_modules/source-map/CHANGELOG.md
deleted file mode 100644
index 3a8c066c66..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/source-map/CHANGELOG.md
+++ /dev/null
@@ -1,301 +0,0 @@
-# Change Log
-
-## 0.5.6
-
-* Fix for regression when people were using numbers as names in source maps. See
- #236.
-
-## 0.5.5
-
-* Fix "regression" of unsupported, implementation behavior that half the world
- happens to have come to depend on. See #235.
-
-* Fix regression involving function hoisting in SpiderMonkey. See #233.
-
-## 0.5.4
-
-* Large performance improvements to source-map serialization. See #228 and #229.
-
-## 0.5.3
-
-* Do not include unnecessary distribution files. See
- commit ef7006f8d1647e0a83fdc60f04f5a7ca54886f86.
-
-## 0.5.2
-
-* Include browser distributions of the library in package.json's `files`. See
- issue #212.
-
-## 0.5.1
-
-* Fix latent bugs in IndexedSourceMapConsumer.prototype._parseMappings. See
- ff05274becc9e6e1295ed60f3ea090d31d843379.
-
-## 0.5.0
-
-* Node 0.8 is no longer supported.
-
-* Use webpack instead of dryice for bundling.
-
-* Big speedups serializing source maps. See pull request #203.
-
-* Fix a bug with `SourceMapConsumer.prototype.sourceContentFor` and sources that
- explicitly start with the source root. See issue #199.
-
-## 0.4.4
-
-* Fix an issue where using a `SourceMapGenerator` after having created a
- `SourceMapConsumer` from it via `SourceMapConsumer.fromSourceMap` failed. See
- issue #191.
-
-* Fix an issue with where `SourceMapGenerator` would mistakenly consider
- different mappings as duplicates of each other and avoid generating them. See
- issue #192.
-
-## 0.4.3
-
-* A very large number of performance improvements, particularly when parsing
- source maps. Collectively about 75% of time shaved off of the source map
- parsing benchmark!
-
-* Fix a bug in `SourceMapConsumer.prototype.allGeneratedPositionsFor` and fuzzy
- searching in the presence of a column option. See issue #177.
-
-* Fix a bug with joining a source and its source root when the source is above
- the root. See issue #182.
-
-* Add the `SourceMapConsumer.prototype.hasContentsOfAllSources` method to
- determine when all sources' contents are inlined into the source map. See
- issue #190.
-
-## 0.4.2
-
-* Add an `.npmignore` file so that the benchmarks aren't pulled down by
- dependent projects. Issue #169.
-
-* Add an optional `column` argument to
- `SourceMapConsumer.prototype.allGeneratedPositionsFor` and better handle lines
- with no mappings. Issues #172 and #173.
-
-## 0.4.1
-
-* Fix accidentally defining a global variable. #170.
-
-## 0.4.0
-
-* The default direction for fuzzy searching was changed back to its original
- direction. See #164.
-
-* There is now a `bias` option you can supply to `SourceMapConsumer` to control
- the fuzzy searching direction. See #167.
-
-* About an 8% speed up in parsing source maps. See #159.
-
-* Added a benchmark for parsing and generating source maps.
-
-## 0.3.0
-
-* Change the default direction that searching for positions fuzzes when there is
- not an exact match. See #154.
-
-* Support for environments using json2.js for JSON serialization. See #156.
-
-## 0.2.0
-
-* Support for consuming "indexed" source maps which do not have any remote
- sections. See pull request #127. This introduces a minor backwards
- incompatibility if you are monkey patching `SourceMapConsumer.prototype`
- methods.
-
-## 0.1.43
-
-* Performance improvements for `SourceMapGenerator` and `SourceNode`. See issue
- #148 for some discussion and issues #150, #151, and #152 for implementations.
-
-## 0.1.42
-
-* Fix an issue where `SourceNode`s from different versions of the source-map
- library couldn't be used in conjunction with each other. See issue #142.
-
-## 0.1.41
-
-* Fix a bug with getting the source content of relative sources with a "./"
- prefix. See issue #145 and [Bug 1090768](bugzil.la/1090768).
-
-* Add the `SourceMapConsumer.prototype.computeColumnSpans` method to compute the
- column span of each mapping.
-
-* Add the `SourceMapConsumer.prototype.allGeneratedPositionsFor` method to find
- all generated positions associated with a given original source and line.
-
-## 0.1.40
-
-* Performance improvements for parsing source maps in SourceMapConsumer.
-
-## 0.1.39
-
-* Fix a bug where setting a source's contents to null before any source content
- had been set before threw a TypeError. See issue #131.
-
-## 0.1.38
-
-* Fix a bug where finding relative paths from an empty path were creating
- absolute paths. See issue #129.
-
-## 0.1.37
-
-* Fix a bug where if the source root was an empty string, relative source paths
- would turn into absolute source paths. Issue #124.
-
-## 0.1.36
-
-* Allow the `names` mapping property to be an empty string. Issue #121.
-
-## 0.1.35
-
-* A third optional parameter was added to `SourceNode.fromStringWithSourceMap`
- to specify a path that relative sources in the second parameter should be
- relative to. Issue #105.
-
-* If no file property is given to a `SourceMapGenerator`, then the resulting
- source map will no longer have a `null` file property. The property will
- simply not exist. Issue #104.
-
-* Fixed a bug where consecutive newlines were ignored in `SourceNode`s.
- Issue #116.
-
-## 0.1.34
-
-* Make `SourceNode` work with windows style ("\r\n") newlines. Issue #103.
-
-* Fix bug involving source contents and the
- `SourceMapGenerator.prototype.applySourceMap`. Issue #100.
-
-## 0.1.33
-
-* Fix some edge cases surrounding path joining and URL resolution.
-
-* Add a third parameter for relative path to
- `SourceMapGenerator.prototype.applySourceMap`.
-
-* Fix issues with mappings and EOLs.
-
-## 0.1.32
-
-* Fixed a bug where SourceMapConsumer couldn't handle negative relative columns
- (issue 92).
-
-* Fixed test runner to actually report number of failed tests as its process
- exit code.
-
-* Fixed a typo when reporting bad mappings (issue 87).
-
-## 0.1.31
-
-* Delay parsing the mappings in SourceMapConsumer until queried for a source
- location.
-
-* Support Sass source maps (which at the time of writing deviate from the spec
- in small ways) in SourceMapConsumer.
-
-## 0.1.30
-
-* Do not join source root with a source, when the source is a data URI.
-
-* Extend the test runner to allow running single specific test files at a time.
-
-* Performance improvements in `SourceNode.prototype.walk` and
- `SourceMapConsumer.prototype.eachMapping`.
-
-* Source map browser builds will now work inside Workers.
-
-* Better error messages when attempting to add an invalid mapping to a
- `SourceMapGenerator`.
-
-## 0.1.29
-
-* Allow duplicate entries in the `names` and `sources` arrays of source maps
- (usually from TypeScript) we are parsing. Fixes github issue 72.
-
-## 0.1.28
-
-* Skip duplicate mappings when creating source maps from SourceNode; github
- issue 75.
-
-## 0.1.27
-
-* Don't throw an error when the `file` property is missing in SourceMapConsumer,
- we don't use it anyway.
-
-## 0.1.26
-
-* Fix SourceNode.fromStringWithSourceMap for empty maps. Fixes github issue 70.
-
-## 0.1.25
-
-* Make compatible with browserify
-
-## 0.1.24
-
-* Fix issue with absolute paths and `file://` URIs. See
- https://bugzilla.mozilla.org/show_bug.cgi?id=885597
-
-## 0.1.23
-
-* Fix issue with absolute paths and sourcesContent, github issue 64.
-
-## 0.1.22
-
-* Ignore duplicate mappings in SourceMapGenerator. Fixes github issue 21.
-
-## 0.1.21
-
-* Fixed handling of sources that start with a slash so that they are relative to
- the source root's host.
-
-## 0.1.20
-
-* Fixed github issue #43: absolute URLs aren't joined with the source root
- anymore.
-
-## 0.1.19
-
-* Using Travis CI to run tests.
-
-## 0.1.18
-
-* Fixed a bug in the handling of sourceRoot.
-
-## 0.1.17
-
-* Added SourceNode.fromStringWithSourceMap.
-
-## 0.1.16
-
-* Added missing documentation.
-
-* Fixed the generating of empty mappings in SourceNode.
-
-## 0.1.15
-
-* Added SourceMapGenerator.applySourceMap.
-
-## 0.1.14
-
-* The sourceRoot is now handled consistently.
-
-## 0.1.13
-
-* Added SourceMapGenerator.fromSourceMap.
-
-## 0.1.12
-
-* SourceNode now generates empty mappings too.
-
-## 0.1.11
-
-* Added name support to SourceNode.
-
-## 0.1.10
-
-* Added sourcesContent support to the customer and generator.
diff --git a/tgui-next/node_modules/@babel/core/node_modules/source-map/LICENSE b/tgui-next/node_modules/@babel/core/node_modules/source-map/LICENSE
deleted file mode 100644
index ed1b7cf27e..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/source-map/LICENSE
+++ /dev/null
@@ -1,28 +0,0 @@
-
-Copyright (c) 2009-2011, Mozilla Foundation and contributors
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-* Neither the names of the Mozilla Foundation nor the names of project
- contributors may be used to endorse or promote products derived from this
- software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/tgui-next/node_modules/@babel/core/node_modules/source-map/README.md b/tgui-next/node_modules/@babel/core/node_modules/source-map/README.md
deleted file mode 100644
index 32813394ad..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/source-map/README.md
+++ /dev/null
@@ -1,729 +0,0 @@
-# Source Map
-
-[](https://travis-ci.org/mozilla/source-map)
-
-[](https://www.npmjs.com/package/source-map)
-
-This is a library to generate and consume the source map format
-[described here][format].
-
-[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit
-
-## Use with Node
-
- $ npm install source-map
-
-## Use on the Web
-
-
-
---------------------------------------------------------------------------------
-
-
-
-
-
-## Table of Contents
-
-- [Examples](#examples)
- - [Consuming a source map](#consuming-a-source-map)
- - [Generating a source map](#generating-a-source-map)
- - [With SourceNode (high level API)](#with-sourcenode-high-level-api)
- - [With SourceMapGenerator (low level API)](#with-sourcemapgenerator-low-level-api)
-- [API](#api)
- - [SourceMapConsumer](#sourcemapconsumer)
- - [new SourceMapConsumer(rawSourceMap)](#new-sourcemapconsumerrawsourcemap)
- - [SourceMapConsumer.prototype.computeColumnSpans()](#sourcemapconsumerprototypecomputecolumnspans)
- - [SourceMapConsumer.prototype.originalPositionFor(generatedPosition)](#sourcemapconsumerprototypeoriginalpositionforgeneratedposition)
- - [SourceMapConsumer.prototype.generatedPositionFor(originalPosition)](#sourcemapconsumerprototypegeneratedpositionfororiginalposition)
- - [SourceMapConsumer.prototype.allGeneratedPositionsFor(originalPosition)](#sourcemapconsumerprototypeallgeneratedpositionsfororiginalposition)
- - [SourceMapConsumer.prototype.hasContentsOfAllSources()](#sourcemapconsumerprototypehascontentsofallsources)
- - [SourceMapConsumer.prototype.sourceContentFor(source[, returnNullOnMissing])](#sourcemapconsumerprototypesourcecontentforsource-returnnullonmissing)
- - [SourceMapConsumer.prototype.eachMapping(callback, context, order)](#sourcemapconsumerprototypeeachmappingcallback-context-order)
- - [SourceMapGenerator](#sourcemapgenerator)
- - [new SourceMapGenerator([startOfSourceMap])](#new-sourcemapgeneratorstartofsourcemap)
- - [SourceMapGenerator.fromSourceMap(sourceMapConsumer)](#sourcemapgeneratorfromsourcemapsourcemapconsumer)
- - [SourceMapGenerator.prototype.addMapping(mapping)](#sourcemapgeneratorprototypeaddmappingmapping)
- - [SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)](#sourcemapgeneratorprototypesetsourcecontentsourcefile-sourcecontent)
- - [SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile[, sourceMapPath]])](#sourcemapgeneratorprototypeapplysourcemapsourcemapconsumer-sourcefile-sourcemappath)
- - [SourceMapGenerator.prototype.toString()](#sourcemapgeneratorprototypetostring)
- - [SourceNode](#sourcenode)
- - [new SourceNode([line, column, source[, chunk[, name]]])](#new-sourcenodeline-column-source-chunk-name)
- - [SourceNode.fromStringWithSourceMap(code, sourceMapConsumer[, relativePath])](#sourcenodefromstringwithsourcemapcode-sourcemapconsumer-relativepath)
- - [SourceNode.prototype.add(chunk)](#sourcenodeprototypeaddchunk)
- - [SourceNode.prototype.prepend(chunk)](#sourcenodeprototypeprependchunk)
- - [SourceNode.prototype.setSourceContent(sourceFile, sourceContent)](#sourcenodeprototypesetsourcecontentsourcefile-sourcecontent)
- - [SourceNode.prototype.walk(fn)](#sourcenodeprototypewalkfn)
- - [SourceNode.prototype.walkSourceContents(fn)](#sourcenodeprototypewalksourcecontentsfn)
- - [SourceNode.prototype.join(sep)](#sourcenodeprototypejoinsep)
- - [SourceNode.prototype.replaceRight(pattern, replacement)](#sourcenodeprototypereplacerightpattern-replacement)
- - [SourceNode.prototype.toString()](#sourcenodeprototypetostring)
- - [SourceNode.prototype.toStringWithSourceMap([startOfSourceMap])](#sourcenodeprototypetostringwithsourcemapstartofsourcemap)
-
-
-
-## Examples
-
-### Consuming a source map
-
-```js
-var rawSourceMap = {
- version: 3,
- file: 'min.js',
- names: ['bar', 'baz', 'n'],
- sources: ['one.js', 'two.js'],
- sourceRoot: 'http://example.com/www/js/',
- mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA'
-};
-
-var smc = new SourceMapConsumer(rawSourceMap);
-
-console.log(smc.sources);
-// [ 'http://example.com/www/js/one.js',
-// 'http://example.com/www/js/two.js' ]
-
-console.log(smc.originalPositionFor({
- line: 2,
- column: 28
-}));
-// { source: 'http://example.com/www/js/two.js',
-// line: 2,
-// column: 10,
-// name: 'n' }
-
-console.log(smc.generatedPositionFor({
- source: 'http://example.com/www/js/two.js',
- line: 2,
- column: 10
-}));
-// { line: 2, column: 28 }
-
-smc.eachMapping(function (m) {
- // ...
-});
-```
-
-### Generating a source map
-
-In depth guide:
-[**Compiling to JavaScript, and Debugging with Source Maps**](https://hacks.mozilla.org/2013/05/compiling-to-javascript-and-debugging-with-source-maps/)
-
-#### With SourceNode (high level API)
-
-```js
-function compile(ast) {
- switch (ast.type) {
- case 'BinaryExpression':
- return new SourceNode(
- ast.location.line,
- ast.location.column,
- ast.location.source,
- [compile(ast.left), " + ", compile(ast.right)]
- );
- case 'Literal':
- return new SourceNode(
- ast.location.line,
- ast.location.column,
- ast.location.source,
- String(ast.value)
- );
- // ...
- default:
- throw new Error("Bad AST");
- }
-}
-
-var ast = parse("40 + 2", "add.js");
-console.log(compile(ast).toStringWithSourceMap({
- file: 'add.js'
-}));
-// { code: '40 + 2',
-// map: [object SourceMapGenerator] }
-```
-
-#### With SourceMapGenerator (low level API)
-
-```js
-var map = new SourceMapGenerator({
- file: "source-mapped.js"
-});
-
-map.addMapping({
- generated: {
- line: 10,
- column: 35
- },
- source: "foo.js",
- original: {
- line: 33,
- column: 2
- },
- name: "christopher"
-});
-
-console.log(map.toString());
-// '{"version":3,"file":"source-mapped.js","sources":["foo.js"],"names":["christopher"],"mappings":";;;;;;;;;mCAgCEA"}'
-```
-
-## API
-
-Get a reference to the module:
-
-```js
-// Node.js
-var sourceMap = require('source-map');
-
-// Browser builds
-var sourceMap = window.sourceMap;
-
-// Inside Firefox
-const sourceMap = require("devtools/toolkit/sourcemap/source-map.js");
-```
-
-### SourceMapConsumer
-
-A SourceMapConsumer instance represents a parsed source map which we can query
-for information about the original file positions by giving it a file position
-in the generated source.
-
-#### new SourceMapConsumer(rawSourceMap)
-
-The only parameter is the raw source map (either as a string which can be
-`JSON.parse`'d, or an object). According to the spec, source maps have the
-following attributes:
-
-* `version`: Which version of the source map spec this map is following.
-
-* `sources`: An array of URLs to the original source files.
-
-* `names`: An array of identifiers which can be referenced by individual
- mappings.
-
-* `sourceRoot`: Optional. The URL root from which all sources are relative.
-
-* `sourcesContent`: Optional. An array of contents of the original source files.
-
-* `mappings`: A string of base64 VLQs which contain the actual mappings.
-
-* `file`: Optional. The generated filename this source map is associated with.
-
-```js
-var consumer = new sourceMap.SourceMapConsumer(rawSourceMapJsonData);
-```
-
-#### SourceMapConsumer.prototype.computeColumnSpans()
-
-Compute the last column for each generated mapping. The last column is
-inclusive.
-
-```js
-// Before:
-consumer.allGeneratedPositionsFor({ line: 2, source: "foo.coffee" })
-// [ { line: 2,
-// column: 1 },
-// { line: 2,
-// column: 10 },
-// { line: 2,
-// column: 20 } ]
-
-consumer.computeColumnSpans();
-
-// After:
-consumer.allGeneratedPositionsFor({ line: 2, source: "foo.coffee" })
-// [ { line: 2,
-// column: 1,
-// lastColumn: 9 },
-// { line: 2,
-// column: 10,
-// lastColumn: 19 },
-// { line: 2,
-// column: 20,
-// lastColumn: Infinity } ]
-
-```
-
-#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition)
-
-Returns the original source, line, and column information for the generated
-source's line and column positions provided. The only argument is an object with
-the following properties:
-
-* `line`: The line number in the generated source.
-
-* `column`: The column number in the generated source.
-
-* `bias`: Either `SourceMapConsumer.GREATEST_LOWER_BOUND` or
- `SourceMapConsumer.LEAST_UPPER_BOUND`. Specifies whether to return the closest
- element that is smaller than or greater than the one we are searching for,
- respectively, if the exact element cannot be found. Defaults to
- `SourceMapConsumer.GREATEST_LOWER_BOUND`.
-
-and an object is returned with the following properties:
-
-* `source`: The original source file, or null if this information is not
- available.
-
-* `line`: The line number in the original source, or null if this information is
- not available.
-
-* `column`: The column number in the original source, or null if this
- information is not available.
-
-* `name`: The original identifier, or null if this information is not available.
-
-```js
-consumer.originalPositionFor({ line: 2, column: 10 })
-// { source: 'foo.coffee',
-// line: 2,
-// column: 2,
-// name: null }
-
-consumer.originalPositionFor({ line: 99999999999999999, column: 999999999999999 })
-// { source: null,
-// line: null,
-// column: null,
-// name: null }
-```
-
-#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition)
-
-Returns the generated line and column information for the original source,
-line, and column positions provided. The only argument is an object with
-the following properties:
-
-* `source`: The filename of the original source.
-
-* `line`: The line number in the original source.
-
-* `column`: The column number in the original source.
-
-and an object is returned with the following properties:
-
-* `line`: The line number in the generated source, or null.
-
-* `column`: The column number in the generated source, or null.
-
-```js
-consumer.generatedPositionFor({ source: "example.js", line: 2, column: 10 })
-// { line: 1,
-// column: 56 }
-```
-
-#### SourceMapConsumer.prototype.allGeneratedPositionsFor(originalPosition)
-
-Returns all generated line and column information for the original source, line,
-and column provided. If no column is provided, returns all mappings
-corresponding to a either the line we are searching for or the next closest line
-that has any mappings. Otherwise, returns all mappings corresponding to the
-given line and either the column we are searching for or the next closest column
-that has any offsets.
-
-The only argument is an object with the following properties:
-
-* `source`: The filename of the original source.
-
-* `line`: The line number in the original source.
-
-* `column`: Optional. The column number in the original source.
-
-and an array of objects is returned, each with the following properties:
-
-* `line`: The line number in the generated source, or null.
-
-* `column`: The column number in the generated source, or null.
-
-```js
-consumer.allGeneratedpositionsfor({ line: 2, source: "foo.coffee" })
-// [ { line: 2,
-// column: 1 },
-// { line: 2,
-// column: 10 },
-// { line: 2,
-// column: 20 } ]
-```
-
-#### SourceMapConsumer.prototype.hasContentsOfAllSources()
-
-Return true if we have the embedded source content for every source listed in
-the source map, false otherwise.
-
-In other words, if this method returns `true`, then
-`consumer.sourceContentFor(s)` will succeed for every source `s` in
-`consumer.sources`.
-
-```js
-// ...
-if (consumer.hasContentsOfAllSources()) {
- consumerReadyCallback(consumer);
-} else {
- fetchSources(consumer, consumerReadyCallback);
-}
-// ...
-```
-
-#### SourceMapConsumer.prototype.sourceContentFor(source[, returnNullOnMissing])
-
-Returns the original source content for the source provided. The only
-argument is the URL of the original source file.
-
-If the source content for the given source is not found, then an error is
-thrown. Optionally, pass `true` as the second param to have `null` returned
-instead.
-
-```js
-consumer.sources
-// [ "my-cool-lib.clj" ]
-
-consumer.sourceContentFor("my-cool-lib.clj")
-// "..."
-
-consumer.sourceContentFor("this is not in the source map");
-// Error: "this is not in the source map" is not in the source map
-
-consumer.sourceContentFor("this is not in the source map", true);
-// null
-```
-
-#### SourceMapConsumer.prototype.eachMapping(callback, context, order)
-
-Iterate over each mapping between an original source/line/column and a
-generated line/column in this source map.
-
-* `callback`: The function that is called with each mapping. Mappings have the
- form `{ source, generatedLine, generatedColumn, originalLine, originalColumn,
- name }`
-
-* `context`: Optional. If specified, this object will be the value of `this`
- every time that `callback` is called.
-
-* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or
- `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over
- the mappings sorted by the generated file's line/column order or the
- original's source/line/column order, respectively. Defaults to
- `SourceMapConsumer.GENERATED_ORDER`.
-
-```js
-consumer.eachMapping(function (m) { console.log(m); })
-// ...
-// { source: 'illmatic.js',
-// generatedLine: 1,
-// generatedColumn: 0,
-// originalLine: 1,
-// originalColumn: 0,
-// name: null }
-// { source: 'illmatic.js',
-// generatedLine: 2,
-// generatedColumn: 0,
-// originalLine: 2,
-// originalColumn: 0,
-// name: null }
-// ...
-```
-### SourceMapGenerator
-
-An instance of the SourceMapGenerator represents a source map which is being
-built incrementally.
-
-#### new SourceMapGenerator([startOfSourceMap])
-
-You may pass an object with the following properties:
-
-* `file`: The filename of the generated source that this source map is
- associated with.
-
-* `sourceRoot`: A root for all relative URLs in this source map.
-
-* `skipValidation`: Optional. When `true`, disables validation of mappings as
- they are added. This can improve performance but should be used with
- discretion, as a last resort. Even then, one should avoid using this flag when
- running tests, if possible.
-
-```js
-var generator = new sourceMap.SourceMapGenerator({
- file: "my-generated-javascript-file.js",
- sourceRoot: "http://example.com/app/js/"
-});
-```
-
-#### SourceMapGenerator.fromSourceMap(sourceMapConsumer)
-
-Creates a new `SourceMapGenerator` from an existing `SourceMapConsumer` instance.
-
-* `sourceMapConsumer` The SourceMap.
-
-```js
-var generator = sourceMap.SourceMapGenerator.fromSourceMap(consumer);
-```
-
-#### SourceMapGenerator.prototype.addMapping(mapping)
-
-Add a single mapping from original source line and column to the generated
-source's line and column for this source map being created. The mapping object
-should have the following properties:
-
-* `generated`: An object with the generated line and column positions.
-
-* `original`: An object with the original line and column positions.
-
-* `source`: The original source file (relative to the sourceRoot).
-
-* `name`: An optional original token name for this mapping.
-
-```js
-generator.addMapping({
- source: "module-one.scm",
- original: { line: 128, column: 0 },
- generated: { line: 3, column: 456 }
-})
-```
-
-#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)
-
-Set the source content for an original source file.
-
-* `sourceFile` the URL of the original source file.
-
-* `sourceContent` the content of the source file.
-
-```js
-generator.setSourceContent("module-one.scm",
- fs.readFileSync("path/to/module-one.scm"))
-```
-
-#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile[, sourceMapPath]])
-
-Applies a SourceMap for a source file to the SourceMap.
-Each mapping to the supplied source file is rewritten using the
-supplied SourceMap. Note: The resolution for the resulting mappings
-is the minimum of this map and the supplied map.
-
-* `sourceMapConsumer`: The SourceMap to be applied.
-
-* `sourceFile`: Optional. The filename of the source file.
- If omitted, sourceMapConsumer.file will be used, if it exists.
- Otherwise an error will be thrown.
-
-* `sourceMapPath`: Optional. The dirname of the path to the SourceMap
- to be applied. If relative, it is relative to the SourceMap.
-
- This parameter is needed when the two SourceMaps aren't in the same
- directory, and the SourceMap to be applied contains relative source
- paths. If so, those relative source paths need to be rewritten
- relative to the SourceMap.
-
- If omitted, it is assumed that both SourceMaps are in the same directory,
- thus not needing any rewriting. (Supplying `'.'` has the same effect.)
-
-#### SourceMapGenerator.prototype.toString()
-
-Renders the source map being generated to a string.
-
-```js
-generator.toString()
-// '{"version":3,"sources":["module-one.scm"],"names":[],"mappings":"...snip...","file":"my-generated-javascript-file.js","sourceRoot":"http://example.com/app/js/"}'
-```
-
-### SourceNode
-
-SourceNodes provide a way to abstract over interpolating and/or concatenating
-snippets of generated JavaScript source code, while maintaining the line and
-column information associated between those snippets and the original source
-code. This is useful as the final intermediate representation a compiler might
-use before outputting the generated JS and source map.
-
-#### new SourceNode([line, column, source[, chunk[, name]]])
-
-* `line`: The original line number associated with this source node, or null if
- it isn't associated with an original line.
-
-* `column`: The original column number associated with this source node, or null
- if it isn't associated with an original column.
-
-* `source`: The original source's filename; null if no filename is provided.
-
-* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see
- below.
-
-* `name`: Optional. The original identifier.
-
-```js
-var node = new SourceNode(1, 2, "a.cpp", [
- new SourceNode(3, 4, "b.cpp", "extern int status;\n"),
- new SourceNode(5, 6, "c.cpp", "std::string* make_string(size_t n);\n"),
- new SourceNode(7, 8, "d.cpp", "int main(int argc, char** argv) {}\n"),
-]);
-```
-
-#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer[, relativePath])
-
-Creates a SourceNode from generated code and a SourceMapConsumer.
-
-* `code`: The generated code
-
-* `sourceMapConsumer` The SourceMap for the generated code
-
-* `relativePath` The optional path that relative sources in `sourceMapConsumer`
- should be relative to.
-
-```js
-var consumer = new SourceMapConsumer(fs.readFileSync("path/to/my-file.js.map", "utf8"));
-var node = SourceNode.fromStringWithSourceMap(fs.readFileSync("path/to/my-file.js"),
- consumer);
-```
-
-#### SourceNode.prototype.add(chunk)
-
-Add a chunk of generated JS to this source node.
-
-* `chunk`: A string snippet of generated JS code, another instance of
- `SourceNode`, or an array where each member is one of those things.
-
-```js
-node.add(" + ");
-node.add(otherNode);
-node.add([leftHandOperandNode, " + ", rightHandOperandNode]);
-```
-
-#### SourceNode.prototype.prepend(chunk)
-
-Prepend a chunk of generated JS to this source node.
-
-* `chunk`: A string snippet of generated JS code, another instance of
- `SourceNode`, or an array where each member is one of those things.
-
-```js
-node.prepend("/** Build Id: f783haef86324gf **/\n\n");
-```
-
-#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent)
-
-Set the source content for a source file. This will be added to the
-`SourceMap` in the `sourcesContent` field.
-
-* `sourceFile`: The filename of the source file
-
-* `sourceContent`: The content of the source file
-
-```js
-node.setSourceContent("module-one.scm",
- fs.readFileSync("path/to/module-one.scm"))
-```
-
-#### SourceNode.prototype.walk(fn)
-
-Walk over the tree of JS snippets in this node and its children. The walking
-function is called once for each snippet of JS and is passed that snippet and
-the its original associated source's line/column location.
-
-* `fn`: The traversal function.
-
-```js
-var node = new SourceNode(1, 2, "a.js", [
- new SourceNode(3, 4, "b.js", "uno"),
- "dos",
- [
- "tres",
- new SourceNode(5, 6, "c.js", "quatro")
- ]
-]);
-
-node.walk(function (code, loc) { console.log("WALK:", code, loc); })
-// WALK: uno { source: 'b.js', line: 3, column: 4, name: null }
-// WALK: dos { source: 'a.js', line: 1, column: 2, name: null }
-// WALK: tres { source: 'a.js', line: 1, column: 2, name: null }
-// WALK: quatro { source: 'c.js', line: 5, column: 6, name: null }
-```
-
-#### SourceNode.prototype.walkSourceContents(fn)
-
-Walk over the tree of SourceNodes. The walking function is called for each
-source file content and is passed the filename and source content.
-
-* `fn`: The traversal function.
-
-```js
-var a = new SourceNode(1, 2, "a.js", "generated from a");
-a.setSourceContent("a.js", "original a");
-var b = new SourceNode(1, 2, "b.js", "generated from b");
-b.setSourceContent("b.js", "original b");
-var c = new SourceNode(1, 2, "c.js", "generated from c");
-c.setSourceContent("c.js", "original c");
-
-var node = new SourceNode(null, null, null, [a, b, c]);
-node.walkSourceContents(function (source, contents) { console.log("WALK:", source, ":", contents); })
-// WALK: a.js : original a
-// WALK: b.js : original b
-// WALK: c.js : original c
-```
-
-#### SourceNode.prototype.join(sep)
-
-Like `Array.prototype.join` except for SourceNodes. Inserts the separator
-between each of this source node's children.
-
-* `sep`: The separator.
-
-```js
-var lhs = new SourceNode(1, 2, "a.rs", "my_copy");
-var operand = new SourceNode(3, 4, "a.rs", "=");
-var rhs = new SourceNode(5, 6, "a.rs", "orig.clone()");
-
-var node = new SourceNode(null, null, null, [ lhs, operand, rhs ]);
-var joinedNode = node.join(" ");
-```
-
-#### SourceNode.prototype.replaceRight(pattern, replacement)
-
-Call `String.prototype.replace` on the very right-most source snippet. Useful
-for trimming white space from the end of a source node, etc.
-
-* `pattern`: The pattern to replace.
-
-* `replacement`: The thing to replace the pattern with.
-
-```js
-// Trim trailing white space.
-node.replaceRight(/\s*$/, "");
-```
-
-#### SourceNode.prototype.toString()
-
-Return the string representation of this source node. Walks over the tree and
-concatenates all the various snippets together to one string.
-
-```js
-var node = new SourceNode(1, 2, "a.js", [
- new SourceNode(3, 4, "b.js", "uno"),
- "dos",
- [
- "tres",
- new SourceNode(5, 6, "c.js", "quatro")
- ]
-]);
-
-node.toString()
-// 'unodostresquatro'
-```
-
-#### SourceNode.prototype.toStringWithSourceMap([startOfSourceMap])
-
-Returns the string representation of this tree of source nodes, plus a
-SourceMapGenerator which contains all the mappings between the generated and
-original sources.
-
-The arguments are the same as those to `new SourceMapGenerator`.
-
-```js
-var node = new SourceNode(1, 2, "a.js", [
- new SourceNode(3, 4, "b.js", "uno"),
- "dos",
- [
- "tres",
- new SourceNode(5, 6, "c.js", "quatro")
- ]
-]);
-
-node.toStringWithSourceMap({ file: "my-output-file.js" })
-// { code: 'unodostresquatro',
-// map: [object SourceMapGenerator] }
-```
diff --git a/tgui-next/node_modules/@babel/core/node_modules/source-map/package.json b/tgui-next/node_modules/@babel/core/node_modules/source-map/package.json
deleted file mode 100644
index 048e3ae860..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/source-map/package.json
+++ /dev/null
@@ -1,72 +0,0 @@
-{
- "name": "source-map",
- "description": "Generates and consumes source maps",
- "version": "0.5.7",
- "homepage": "https://github.com/mozilla/source-map",
- "author": "Nick Fitzgerald ",
- "contributors": [
- "Tobias Koppers ",
- "Duncan Beevers ",
- "Stephen Crane ",
- "Ryan Seddon ",
- "Miles Elam ",
- "Mihai Bazon ",
- "Michael Ficarra ",
- "Todd Wolfson ",
- "Alexander Solovyov ",
- "Felix Gnass ",
- "Conrad Irwin ",
- "usrbincc ",
- "David Glasser ",
- "Chase Douglas ",
- "Evan Wallace ",
- "Heather Arthur ",
- "Hugh Kennedy ",
- "David Glasser ",
- "Simon Lydell ",
- "Jmeas Smith ",
- "Michael Z Goddard ",
- "azu ",
- "John Gozde ",
- "Adam Kirkton ",
- "Chris Montgomery ",
- "J. Ryan Stinnett ",
- "Jack Herrington ",
- "Chris Truter ",
- "Daniel Espeset ",
- "Jamie Wong ",
- "Eddy Bruël ",
- "Hawken Rives ",
- "Gilad Peleg ",
- "djchie ",
- "Gary Ye ",
- "Nicolas Lalevée "
- ],
- "repository": {
- "type": "git",
- "url": "http://github.com/mozilla/source-map.git"
- },
- "main": "./source-map.js",
- "files": [
- "source-map.js",
- "lib/",
- "dist/source-map.debug.js",
- "dist/source-map.js",
- "dist/source-map.min.js",
- "dist/source-map.min.js.map"
- ],
- "engines": {
- "node": ">=0.10.0"
- },
- "license": "BSD-3-Clause",
- "scripts": {
- "test": "npm run build && node test/run-tests.js",
- "build": "webpack --color",
- "toc": "doctoc --title '## Table of Contents' README.md && doctoc --title '## Table of Contents' CONTRIBUTING.md"
- },
- "devDependencies": {
- "doctoc": "^0.15.0",
- "webpack": "^1.12.0"
- },
- "typings": "source-map"
-}
diff --git a/tgui-next/node_modules/@babel/core/node_modules/source-map/source-map.js b/tgui-next/node_modules/@babel/core/node_modules/source-map/source-map.js
deleted file mode 100644
index bc88fe820c..0000000000
--- a/tgui-next/node_modules/@babel/core/node_modules/source-map/source-map.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
- * Copyright 2009-2011 Mozilla Foundation and contributors
- * Licensed under the New BSD license. See LICENSE.txt or:
- * http://opensource.org/licenses/BSD-3-Clause
- */
-exports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;
-exports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;
-exports.SourceNode = require('./lib/source-node').SourceNode;
diff --git a/tgui-next/node_modules/@babel/core/package.json b/tgui-next/node_modules/@babel/core/package.json
deleted file mode 100644
index c61f9e2271..0000000000
--- a/tgui-next/node_modules/@babel/core/package.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "name": "@babel/core",
- "version": "7.7.5",
- "description": "Babel compiler core.",
- "main": "lib/index.js",
- "author": "Sebastian McKenzie ",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-core",
- "keywords": [
- "6to5",
- "babel",
- "classes",
- "const",
- "es6",
- "harmony",
- "let",
- "modules",
- "transpile",
- "transpiler",
- "var",
- "babel-core",
- "compiler"
- ],
- "engines": {
- "node": ">=6.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/babel"
- },
- "browser": {
- "./lib/config/files/index.js": "./lib/config/files/index-browser.js",
- "./lib/transform-file.js": "./lib/transform-file-browser.js",
- "./src/config/files/index.js": "./src/config/files/index-browser.js",
- "./src/transform-file.js": "./src/transform-file-browser.js"
- },
- "dependencies": {
- "@babel/code-frame": "^7.5.5",
- "@babel/generator": "^7.7.4",
- "@babel/helpers": "^7.7.4",
- "@babel/parser": "^7.7.5",
- "@babel/template": "^7.7.4",
- "@babel/traverse": "^7.7.4",
- "@babel/types": "^7.7.4",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "json5": "^2.1.0",
- "lodash": "^4.17.13",
- "resolve": "^1.3.2",
- "semver": "^5.4.1",
- "source-map": "^0.5.0"
- },
- "devDependencies": {
- "@babel/helper-transform-fixture-test-runner": "^7.7.5"
- },
- "gitHead": "d04508e510abc624b3e423ff334eff47f297502a"
-}
diff --git a/tgui-next/node_modules/@babel/generator/LICENSE b/tgui-next/node_modules/@babel/generator/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/generator/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/generator/README.md b/tgui-next/node_modules/@babel/generator/README.md
deleted file mode 100644
index fc980b167d..0000000000
--- a/tgui-next/node_modules/@babel/generator/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/generator
-
-> Turns an AST into code.
-
-See our website [@babel/generator](https://babeljs.io/docs/en/next/babel-generator.html) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20generator%22+is%3Aopen) associated with this package.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/generator
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/generator --dev
-```
diff --git a/tgui-next/node_modules/@babel/generator/node_modules/.bin/jsesc b/tgui-next/node_modules/@babel/generator/node_modules/.bin/jsesc
deleted file mode 100644
index f2b89a0fd4..0000000000
--- a/tgui-next/node_modules/@babel/generator/node_modules/.bin/jsesc
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../../../../jsesc/bin/jsesc" "$@"
- ret=$?
-else
- node "$basedir/../../../../jsesc/bin/jsesc" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/@babel/generator/node_modules/.bin/jsesc.cmd b/tgui-next/node_modules/@babel/generator/node_modules/.bin/jsesc.cmd
deleted file mode 100644
index 0048e11477..0000000000
--- a/tgui-next/node_modules/@babel/generator/node_modules/.bin/jsesc.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\..\..\..\jsesc\bin\jsesc" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\..\..\..\jsesc\bin\jsesc" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/@babel/generator/node_modules/source-map/CHANGELOG.md b/tgui-next/node_modules/@babel/generator/node_modules/source-map/CHANGELOG.md
deleted file mode 100644
index 3a8c066c66..0000000000
--- a/tgui-next/node_modules/@babel/generator/node_modules/source-map/CHANGELOG.md
+++ /dev/null
@@ -1,301 +0,0 @@
-# Change Log
-
-## 0.5.6
-
-* Fix for regression when people were using numbers as names in source maps. See
- #236.
-
-## 0.5.5
-
-* Fix "regression" of unsupported, implementation behavior that half the world
- happens to have come to depend on. See #235.
-
-* Fix regression involving function hoisting in SpiderMonkey. See #233.
-
-## 0.5.4
-
-* Large performance improvements to source-map serialization. See #228 and #229.
-
-## 0.5.3
-
-* Do not include unnecessary distribution files. See
- commit ef7006f8d1647e0a83fdc60f04f5a7ca54886f86.
-
-## 0.5.2
-
-* Include browser distributions of the library in package.json's `files`. See
- issue #212.
-
-## 0.5.1
-
-* Fix latent bugs in IndexedSourceMapConsumer.prototype._parseMappings. See
- ff05274becc9e6e1295ed60f3ea090d31d843379.
-
-## 0.5.0
-
-* Node 0.8 is no longer supported.
-
-* Use webpack instead of dryice for bundling.
-
-* Big speedups serializing source maps. See pull request #203.
-
-* Fix a bug with `SourceMapConsumer.prototype.sourceContentFor` and sources that
- explicitly start with the source root. See issue #199.
-
-## 0.4.4
-
-* Fix an issue where using a `SourceMapGenerator` after having created a
- `SourceMapConsumer` from it via `SourceMapConsumer.fromSourceMap` failed. See
- issue #191.
-
-* Fix an issue with where `SourceMapGenerator` would mistakenly consider
- different mappings as duplicates of each other and avoid generating them. See
- issue #192.
-
-## 0.4.3
-
-* A very large number of performance improvements, particularly when parsing
- source maps. Collectively about 75% of time shaved off of the source map
- parsing benchmark!
-
-* Fix a bug in `SourceMapConsumer.prototype.allGeneratedPositionsFor` and fuzzy
- searching in the presence of a column option. See issue #177.
-
-* Fix a bug with joining a source and its source root when the source is above
- the root. See issue #182.
-
-* Add the `SourceMapConsumer.prototype.hasContentsOfAllSources` method to
- determine when all sources' contents are inlined into the source map. See
- issue #190.
-
-## 0.4.2
-
-* Add an `.npmignore` file so that the benchmarks aren't pulled down by
- dependent projects. Issue #169.
-
-* Add an optional `column` argument to
- `SourceMapConsumer.prototype.allGeneratedPositionsFor` and better handle lines
- with no mappings. Issues #172 and #173.
-
-## 0.4.1
-
-* Fix accidentally defining a global variable. #170.
-
-## 0.4.0
-
-* The default direction for fuzzy searching was changed back to its original
- direction. See #164.
-
-* There is now a `bias` option you can supply to `SourceMapConsumer` to control
- the fuzzy searching direction. See #167.
-
-* About an 8% speed up in parsing source maps. See #159.
-
-* Added a benchmark for parsing and generating source maps.
-
-## 0.3.0
-
-* Change the default direction that searching for positions fuzzes when there is
- not an exact match. See #154.
-
-* Support for environments using json2.js for JSON serialization. See #156.
-
-## 0.2.0
-
-* Support for consuming "indexed" source maps which do not have any remote
- sections. See pull request #127. This introduces a minor backwards
- incompatibility if you are monkey patching `SourceMapConsumer.prototype`
- methods.
-
-## 0.1.43
-
-* Performance improvements for `SourceMapGenerator` and `SourceNode`. See issue
- #148 for some discussion and issues #150, #151, and #152 for implementations.
-
-## 0.1.42
-
-* Fix an issue where `SourceNode`s from different versions of the source-map
- library couldn't be used in conjunction with each other. See issue #142.
-
-## 0.1.41
-
-* Fix a bug with getting the source content of relative sources with a "./"
- prefix. See issue #145 and [Bug 1090768](bugzil.la/1090768).
-
-* Add the `SourceMapConsumer.prototype.computeColumnSpans` method to compute the
- column span of each mapping.
-
-* Add the `SourceMapConsumer.prototype.allGeneratedPositionsFor` method to find
- all generated positions associated with a given original source and line.
-
-## 0.1.40
-
-* Performance improvements for parsing source maps in SourceMapConsumer.
-
-## 0.1.39
-
-* Fix a bug where setting a source's contents to null before any source content
- had been set before threw a TypeError. See issue #131.
-
-## 0.1.38
-
-* Fix a bug where finding relative paths from an empty path were creating
- absolute paths. See issue #129.
-
-## 0.1.37
-
-* Fix a bug where if the source root was an empty string, relative source paths
- would turn into absolute source paths. Issue #124.
-
-## 0.1.36
-
-* Allow the `names` mapping property to be an empty string. Issue #121.
-
-## 0.1.35
-
-* A third optional parameter was added to `SourceNode.fromStringWithSourceMap`
- to specify a path that relative sources in the second parameter should be
- relative to. Issue #105.
-
-* If no file property is given to a `SourceMapGenerator`, then the resulting
- source map will no longer have a `null` file property. The property will
- simply not exist. Issue #104.
-
-* Fixed a bug where consecutive newlines were ignored in `SourceNode`s.
- Issue #116.
-
-## 0.1.34
-
-* Make `SourceNode` work with windows style ("\r\n") newlines. Issue #103.
-
-* Fix bug involving source contents and the
- `SourceMapGenerator.prototype.applySourceMap`. Issue #100.
-
-## 0.1.33
-
-* Fix some edge cases surrounding path joining and URL resolution.
-
-* Add a third parameter for relative path to
- `SourceMapGenerator.prototype.applySourceMap`.
-
-* Fix issues with mappings and EOLs.
-
-## 0.1.32
-
-* Fixed a bug where SourceMapConsumer couldn't handle negative relative columns
- (issue 92).
-
-* Fixed test runner to actually report number of failed tests as its process
- exit code.
-
-* Fixed a typo when reporting bad mappings (issue 87).
-
-## 0.1.31
-
-* Delay parsing the mappings in SourceMapConsumer until queried for a source
- location.
-
-* Support Sass source maps (which at the time of writing deviate from the spec
- in small ways) in SourceMapConsumer.
-
-## 0.1.30
-
-* Do not join source root with a source, when the source is a data URI.
-
-* Extend the test runner to allow running single specific test files at a time.
-
-* Performance improvements in `SourceNode.prototype.walk` and
- `SourceMapConsumer.prototype.eachMapping`.
-
-* Source map browser builds will now work inside Workers.
-
-* Better error messages when attempting to add an invalid mapping to a
- `SourceMapGenerator`.
-
-## 0.1.29
-
-* Allow duplicate entries in the `names` and `sources` arrays of source maps
- (usually from TypeScript) we are parsing. Fixes github issue 72.
-
-## 0.1.28
-
-* Skip duplicate mappings when creating source maps from SourceNode; github
- issue 75.
-
-## 0.1.27
-
-* Don't throw an error when the `file` property is missing in SourceMapConsumer,
- we don't use it anyway.
-
-## 0.1.26
-
-* Fix SourceNode.fromStringWithSourceMap for empty maps. Fixes github issue 70.
-
-## 0.1.25
-
-* Make compatible with browserify
-
-## 0.1.24
-
-* Fix issue with absolute paths and `file://` URIs. See
- https://bugzilla.mozilla.org/show_bug.cgi?id=885597
-
-## 0.1.23
-
-* Fix issue with absolute paths and sourcesContent, github issue 64.
-
-## 0.1.22
-
-* Ignore duplicate mappings in SourceMapGenerator. Fixes github issue 21.
-
-## 0.1.21
-
-* Fixed handling of sources that start with a slash so that they are relative to
- the source root's host.
-
-## 0.1.20
-
-* Fixed github issue #43: absolute URLs aren't joined with the source root
- anymore.
-
-## 0.1.19
-
-* Using Travis CI to run tests.
-
-## 0.1.18
-
-* Fixed a bug in the handling of sourceRoot.
-
-## 0.1.17
-
-* Added SourceNode.fromStringWithSourceMap.
-
-## 0.1.16
-
-* Added missing documentation.
-
-* Fixed the generating of empty mappings in SourceNode.
-
-## 0.1.15
-
-* Added SourceMapGenerator.applySourceMap.
-
-## 0.1.14
-
-* The sourceRoot is now handled consistently.
-
-## 0.1.13
-
-* Added SourceMapGenerator.fromSourceMap.
-
-## 0.1.12
-
-* SourceNode now generates empty mappings too.
-
-## 0.1.11
-
-* Added name support to SourceNode.
-
-## 0.1.10
-
-* Added sourcesContent support to the customer and generator.
diff --git a/tgui-next/node_modules/@babel/generator/node_modules/source-map/LICENSE b/tgui-next/node_modules/@babel/generator/node_modules/source-map/LICENSE
deleted file mode 100644
index ed1b7cf27e..0000000000
--- a/tgui-next/node_modules/@babel/generator/node_modules/source-map/LICENSE
+++ /dev/null
@@ -1,28 +0,0 @@
-
-Copyright (c) 2009-2011, Mozilla Foundation and contributors
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-* Neither the names of the Mozilla Foundation nor the names of project
- contributors may be used to endorse or promote products derived from this
- software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/tgui-next/node_modules/@babel/generator/node_modules/source-map/README.md b/tgui-next/node_modules/@babel/generator/node_modules/source-map/README.md
deleted file mode 100644
index 32813394ad..0000000000
--- a/tgui-next/node_modules/@babel/generator/node_modules/source-map/README.md
+++ /dev/null
@@ -1,729 +0,0 @@
-# Source Map
-
-[](https://travis-ci.org/mozilla/source-map)
-
-[](https://www.npmjs.com/package/source-map)
-
-This is a library to generate and consume the source map format
-[described here][format].
-
-[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit
-
-## Use with Node
-
- $ npm install source-map
-
-## Use on the Web
-
-
-
---------------------------------------------------------------------------------
-
-
-
-
-
-## Table of Contents
-
-- [Examples](#examples)
- - [Consuming a source map](#consuming-a-source-map)
- - [Generating a source map](#generating-a-source-map)
- - [With SourceNode (high level API)](#with-sourcenode-high-level-api)
- - [With SourceMapGenerator (low level API)](#with-sourcemapgenerator-low-level-api)
-- [API](#api)
- - [SourceMapConsumer](#sourcemapconsumer)
- - [new SourceMapConsumer(rawSourceMap)](#new-sourcemapconsumerrawsourcemap)
- - [SourceMapConsumer.prototype.computeColumnSpans()](#sourcemapconsumerprototypecomputecolumnspans)
- - [SourceMapConsumer.prototype.originalPositionFor(generatedPosition)](#sourcemapconsumerprototypeoriginalpositionforgeneratedposition)
- - [SourceMapConsumer.prototype.generatedPositionFor(originalPosition)](#sourcemapconsumerprototypegeneratedpositionfororiginalposition)
- - [SourceMapConsumer.prototype.allGeneratedPositionsFor(originalPosition)](#sourcemapconsumerprototypeallgeneratedpositionsfororiginalposition)
- - [SourceMapConsumer.prototype.hasContentsOfAllSources()](#sourcemapconsumerprototypehascontentsofallsources)
- - [SourceMapConsumer.prototype.sourceContentFor(source[, returnNullOnMissing])](#sourcemapconsumerprototypesourcecontentforsource-returnnullonmissing)
- - [SourceMapConsumer.prototype.eachMapping(callback, context, order)](#sourcemapconsumerprototypeeachmappingcallback-context-order)
- - [SourceMapGenerator](#sourcemapgenerator)
- - [new SourceMapGenerator([startOfSourceMap])](#new-sourcemapgeneratorstartofsourcemap)
- - [SourceMapGenerator.fromSourceMap(sourceMapConsumer)](#sourcemapgeneratorfromsourcemapsourcemapconsumer)
- - [SourceMapGenerator.prototype.addMapping(mapping)](#sourcemapgeneratorprototypeaddmappingmapping)
- - [SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)](#sourcemapgeneratorprototypesetsourcecontentsourcefile-sourcecontent)
- - [SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile[, sourceMapPath]])](#sourcemapgeneratorprototypeapplysourcemapsourcemapconsumer-sourcefile-sourcemappath)
- - [SourceMapGenerator.prototype.toString()](#sourcemapgeneratorprototypetostring)
- - [SourceNode](#sourcenode)
- - [new SourceNode([line, column, source[, chunk[, name]]])](#new-sourcenodeline-column-source-chunk-name)
- - [SourceNode.fromStringWithSourceMap(code, sourceMapConsumer[, relativePath])](#sourcenodefromstringwithsourcemapcode-sourcemapconsumer-relativepath)
- - [SourceNode.prototype.add(chunk)](#sourcenodeprototypeaddchunk)
- - [SourceNode.prototype.prepend(chunk)](#sourcenodeprototypeprependchunk)
- - [SourceNode.prototype.setSourceContent(sourceFile, sourceContent)](#sourcenodeprototypesetsourcecontentsourcefile-sourcecontent)
- - [SourceNode.prototype.walk(fn)](#sourcenodeprototypewalkfn)
- - [SourceNode.prototype.walkSourceContents(fn)](#sourcenodeprototypewalksourcecontentsfn)
- - [SourceNode.prototype.join(sep)](#sourcenodeprototypejoinsep)
- - [SourceNode.prototype.replaceRight(pattern, replacement)](#sourcenodeprototypereplacerightpattern-replacement)
- - [SourceNode.prototype.toString()](#sourcenodeprototypetostring)
- - [SourceNode.prototype.toStringWithSourceMap([startOfSourceMap])](#sourcenodeprototypetostringwithsourcemapstartofsourcemap)
-
-
-
-## Examples
-
-### Consuming a source map
-
-```js
-var rawSourceMap = {
- version: 3,
- file: 'min.js',
- names: ['bar', 'baz', 'n'],
- sources: ['one.js', 'two.js'],
- sourceRoot: 'http://example.com/www/js/',
- mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA'
-};
-
-var smc = new SourceMapConsumer(rawSourceMap);
-
-console.log(smc.sources);
-// [ 'http://example.com/www/js/one.js',
-// 'http://example.com/www/js/two.js' ]
-
-console.log(smc.originalPositionFor({
- line: 2,
- column: 28
-}));
-// { source: 'http://example.com/www/js/two.js',
-// line: 2,
-// column: 10,
-// name: 'n' }
-
-console.log(smc.generatedPositionFor({
- source: 'http://example.com/www/js/two.js',
- line: 2,
- column: 10
-}));
-// { line: 2, column: 28 }
-
-smc.eachMapping(function (m) {
- // ...
-});
-```
-
-### Generating a source map
-
-In depth guide:
-[**Compiling to JavaScript, and Debugging with Source Maps**](https://hacks.mozilla.org/2013/05/compiling-to-javascript-and-debugging-with-source-maps/)
-
-#### With SourceNode (high level API)
-
-```js
-function compile(ast) {
- switch (ast.type) {
- case 'BinaryExpression':
- return new SourceNode(
- ast.location.line,
- ast.location.column,
- ast.location.source,
- [compile(ast.left), " + ", compile(ast.right)]
- );
- case 'Literal':
- return new SourceNode(
- ast.location.line,
- ast.location.column,
- ast.location.source,
- String(ast.value)
- );
- // ...
- default:
- throw new Error("Bad AST");
- }
-}
-
-var ast = parse("40 + 2", "add.js");
-console.log(compile(ast).toStringWithSourceMap({
- file: 'add.js'
-}));
-// { code: '40 + 2',
-// map: [object SourceMapGenerator] }
-```
-
-#### With SourceMapGenerator (low level API)
-
-```js
-var map = new SourceMapGenerator({
- file: "source-mapped.js"
-});
-
-map.addMapping({
- generated: {
- line: 10,
- column: 35
- },
- source: "foo.js",
- original: {
- line: 33,
- column: 2
- },
- name: "christopher"
-});
-
-console.log(map.toString());
-// '{"version":3,"file":"source-mapped.js","sources":["foo.js"],"names":["christopher"],"mappings":";;;;;;;;;mCAgCEA"}'
-```
-
-## API
-
-Get a reference to the module:
-
-```js
-// Node.js
-var sourceMap = require('source-map');
-
-// Browser builds
-var sourceMap = window.sourceMap;
-
-// Inside Firefox
-const sourceMap = require("devtools/toolkit/sourcemap/source-map.js");
-```
-
-### SourceMapConsumer
-
-A SourceMapConsumer instance represents a parsed source map which we can query
-for information about the original file positions by giving it a file position
-in the generated source.
-
-#### new SourceMapConsumer(rawSourceMap)
-
-The only parameter is the raw source map (either as a string which can be
-`JSON.parse`'d, or an object). According to the spec, source maps have the
-following attributes:
-
-* `version`: Which version of the source map spec this map is following.
-
-* `sources`: An array of URLs to the original source files.
-
-* `names`: An array of identifiers which can be referenced by individual
- mappings.
-
-* `sourceRoot`: Optional. The URL root from which all sources are relative.
-
-* `sourcesContent`: Optional. An array of contents of the original source files.
-
-* `mappings`: A string of base64 VLQs which contain the actual mappings.
-
-* `file`: Optional. The generated filename this source map is associated with.
-
-```js
-var consumer = new sourceMap.SourceMapConsumer(rawSourceMapJsonData);
-```
-
-#### SourceMapConsumer.prototype.computeColumnSpans()
-
-Compute the last column for each generated mapping. The last column is
-inclusive.
-
-```js
-// Before:
-consumer.allGeneratedPositionsFor({ line: 2, source: "foo.coffee" })
-// [ { line: 2,
-// column: 1 },
-// { line: 2,
-// column: 10 },
-// { line: 2,
-// column: 20 } ]
-
-consumer.computeColumnSpans();
-
-// After:
-consumer.allGeneratedPositionsFor({ line: 2, source: "foo.coffee" })
-// [ { line: 2,
-// column: 1,
-// lastColumn: 9 },
-// { line: 2,
-// column: 10,
-// lastColumn: 19 },
-// { line: 2,
-// column: 20,
-// lastColumn: Infinity } ]
-
-```
-
-#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition)
-
-Returns the original source, line, and column information for the generated
-source's line and column positions provided. The only argument is an object with
-the following properties:
-
-* `line`: The line number in the generated source.
-
-* `column`: The column number in the generated source.
-
-* `bias`: Either `SourceMapConsumer.GREATEST_LOWER_BOUND` or
- `SourceMapConsumer.LEAST_UPPER_BOUND`. Specifies whether to return the closest
- element that is smaller than or greater than the one we are searching for,
- respectively, if the exact element cannot be found. Defaults to
- `SourceMapConsumer.GREATEST_LOWER_BOUND`.
-
-and an object is returned with the following properties:
-
-* `source`: The original source file, or null if this information is not
- available.
-
-* `line`: The line number in the original source, or null if this information is
- not available.
-
-* `column`: The column number in the original source, or null if this
- information is not available.
-
-* `name`: The original identifier, or null if this information is not available.
-
-```js
-consumer.originalPositionFor({ line: 2, column: 10 })
-// { source: 'foo.coffee',
-// line: 2,
-// column: 2,
-// name: null }
-
-consumer.originalPositionFor({ line: 99999999999999999, column: 999999999999999 })
-// { source: null,
-// line: null,
-// column: null,
-// name: null }
-```
-
-#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition)
-
-Returns the generated line and column information for the original source,
-line, and column positions provided. The only argument is an object with
-the following properties:
-
-* `source`: The filename of the original source.
-
-* `line`: The line number in the original source.
-
-* `column`: The column number in the original source.
-
-and an object is returned with the following properties:
-
-* `line`: The line number in the generated source, or null.
-
-* `column`: The column number in the generated source, or null.
-
-```js
-consumer.generatedPositionFor({ source: "example.js", line: 2, column: 10 })
-// { line: 1,
-// column: 56 }
-```
-
-#### SourceMapConsumer.prototype.allGeneratedPositionsFor(originalPosition)
-
-Returns all generated line and column information for the original source, line,
-and column provided. If no column is provided, returns all mappings
-corresponding to a either the line we are searching for or the next closest line
-that has any mappings. Otherwise, returns all mappings corresponding to the
-given line and either the column we are searching for or the next closest column
-that has any offsets.
-
-The only argument is an object with the following properties:
-
-* `source`: The filename of the original source.
-
-* `line`: The line number in the original source.
-
-* `column`: Optional. The column number in the original source.
-
-and an array of objects is returned, each with the following properties:
-
-* `line`: The line number in the generated source, or null.
-
-* `column`: The column number in the generated source, or null.
-
-```js
-consumer.allGeneratedpositionsfor({ line: 2, source: "foo.coffee" })
-// [ { line: 2,
-// column: 1 },
-// { line: 2,
-// column: 10 },
-// { line: 2,
-// column: 20 } ]
-```
-
-#### SourceMapConsumer.prototype.hasContentsOfAllSources()
-
-Return true if we have the embedded source content for every source listed in
-the source map, false otherwise.
-
-In other words, if this method returns `true`, then
-`consumer.sourceContentFor(s)` will succeed for every source `s` in
-`consumer.sources`.
-
-```js
-// ...
-if (consumer.hasContentsOfAllSources()) {
- consumerReadyCallback(consumer);
-} else {
- fetchSources(consumer, consumerReadyCallback);
-}
-// ...
-```
-
-#### SourceMapConsumer.prototype.sourceContentFor(source[, returnNullOnMissing])
-
-Returns the original source content for the source provided. The only
-argument is the URL of the original source file.
-
-If the source content for the given source is not found, then an error is
-thrown. Optionally, pass `true` as the second param to have `null` returned
-instead.
-
-```js
-consumer.sources
-// [ "my-cool-lib.clj" ]
-
-consumer.sourceContentFor("my-cool-lib.clj")
-// "..."
-
-consumer.sourceContentFor("this is not in the source map");
-// Error: "this is not in the source map" is not in the source map
-
-consumer.sourceContentFor("this is not in the source map", true);
-// null
-```
-
-#### SourceMapConsumer.prototype.eachMapping(callback, context, order)
-
-Iterate over each mapping between an original source/line/column and a
-generated line/column in this source map.
-
-* `callback`: The function that is called with each mapping. Mappings have the
- form `{ source, generatedLine, generatedColumn, originalLine, originalColumn,
- name }`
-
-* `context`: Optional. If specified, this object will be the value of `this`
- every time that `callback` is called.
-
-* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or
- `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over
- the mappings sorted by the generated file's line/column order or the
- original's source/line/column order, respectively. Defaults to
- `SourceMapConsumer.GENERATED_ORDER`.
-
-```js
-consumer.eachMapping(function (m) { console.log(m); })
-// ...
-// { source: 'illmatic.js',
-// generatedLine: 1,
-// generatedColumn: 0,
-// originalLine: 1,
-// originalColumn: 0,
-// name: null }
-// { source: 'illmatic.js',
-// generatedLine: 2,
-// generatedColumn: 0,
-// originalLine: 2,
-// originalColumn: 0,
-// name: null }
-// ...
-```
-### SourceMapGenerator
-
-An instance of the SourceMapGenerator represents a source map which is being
-built incrementally.
-
-#### new SourceMapGenerator([startOfSourceMap])
-
-You may pass an object with the following properties:
-
-* `file`: The filename of the generated source that this source map is
- associated with.
-
-* `sourceRoot`: A root for all relative URLs in this source map.
-
-* `skipValidation`: Optional. When `true`, disables validation of mappings as
- they are added. This can improve performance but should be used with
- discretion, as a last resort. Even then, one should avoid using this flag when
- running tests, if possible.
-
-```js
-var generator = new sourceMap.SourceMapGenerator({
- file: "my-generated-javascript-file.js",
- sourceRoot: "http://example.com/app/js/"
-});
-```
-
-#### SourceMapGenerator.fromSourceMap(sourceMapConsumer)
-
-Creates a new `SourceMapGenerator` from an existing `SourceMapConsumer` instance.
-
-* `sourceMapConsumer` The SourceMap.
-
-```js
-var generator = sourceMap.SourceMapGenerator.fromSourceMap(consumer);
-```
-
-#### SourceMapGenerator.prototype.addMapping(mapping)
-
-Add a single mapping from original source line and column to the generated
-source's line and column for this source map being created. The mapping object
-should have the following properties:
-
-* `generated`: An object with the generated line and column positions.
-
-* `original`: An object with the original line and column positions.
-
-* `source`: The original source file (relative to the sourceRoot).
-
-* `name`: An optional original token name for this mapping.
-
-```js
-generator.addMapping({
- source: "module-one.scm",
- original: { line: 128, column: 0 },
- generated: { line: 3, column: 456 }
-})
-```
-
-#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)
-
-Set the source content for an original source file.
-
-* `sourceFile` the URL of the original source file.
-
-* `sourceContent` the content of the source file.
-
-```js
-generator.setSourceContent("module-one.scm",
- fs.readFileSync("path/to/module-one.scm"))
-```
-
-#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile[, sourceMapPath]])
-
-Applies a SourceMap for a source file to the SourceMap.
-Each mapping to the supplied source file is rewritten using the
-supplied SourceMap. Note: The resolution for the resulting mappings
-is the minimum of this map and the supplied map.
-
-* `sourceMapConsumer`: The SourceMap to be applied.
-
-* `sourceFile`: Optional. The filename of the source file.
- If omitted, sourceMapConsumer.file will be used, if it exists.
- Otherwise an error will be thrown.
-
-* `sourceMapPath`: Optional. The dirname of the path to the SourceMap
- to be applied. If relative, it is relative to the SourceMap.
-
- This parameter is needed when the two SourceMaps aren't in the same
- directory, and the SourceMap to be applied contains relative source
- paths. If so, those relative source paths need to be rewritten
- relative to the SourceMap.
-
- If omitted, it is assumed that both SourceMaps are in the same directory,
- thus not needing any rewriting. (Supplying `'.'` has the same effect.)
-
-#### SourceMapGenerator.prototype.toString()
-
-Renders the source map being generated to a string.
-
-```js
-generator.toString()
-// '{"version":3,"sources":["module-one.scm"],"names":[],"mappings":"...snip...","file":"my-generated-javascript-file.js","sourceRoot":"http://example.com/app/js/"}'
-```
-
-### SourceNode
-
-SourceNodes provide a way to abstract over interpolating and/or concatenating
-snippets of generated JavaScript source code, while maintaining the line and
-column information associated between those snippets and the original source
-code. This is useful as the final intermediate representation a compiler might
-use before outputting the generated JS and source map.
-
-#### new SourceNode([line, column, source[, chunk[, name]]])
-
-* `line`: The original line number associated with this source node, or null if
- it isn't associated with an original line.
-
-* `column`: The original column number associated with this source node, or null
- if it isn't associated with an original column.
-
-* `source`: The original source's filename; null if no filename is provided.
-
-* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see
- below.
-
-* `name`: Optional. The original identifier.
-
-```js
-var node = new SourceNode(1, 2, "a.cpp", [
- new SourceNode(3, 4, "b.cpp", "extern int status;\n"),
- new SourceNode(5, 6, "c.cpp", "std::string* make_string(size_t n);\n"),
- new SourceNode(7, 8, "d.cpp", "int main(int argc, char** argv) {}\n"),
-]);
-```
-
-#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer[, relativePath])
-
-Creates a SourceNode from generated code and a SourceMapConsumer.
-
-* `code`: The generated code
-
-* `sourceMapConsumer` The SourceMap for the generated code
-
-* `relativePath` The optional path that relative sources in `sourceMapConsumer`
- should be relative to.
-
-```js
-var consumer = new SourceMapConsumer(fs.readFileSync("path/to/my-file.js.map", "utf8"));
-var node = SourceNode.fromStringWithSourceMap(fs.readFileSync("path/to/my-file.js"),
- consumer);
-```
-
-#### SourceNode.prototype.add(chunk)
-
-Add a chunk of generated JS to this source node.
-
-* `chunk`: A string snippet of generated JS code, another instance of
- `SourceNode`, or an array where each member is one of those things.
-
-```js
-node.add(" + ");
-node.add(otherNode);
-node.add([leftHandOperandNode, " + ", rightHandOperandNode]);
-```
-
-#### SourceNode.prototype.prepend(chunk)
-
-Prepend a chunk of generated JS to this source node.
-
-* `chunk`: A string snippet of generated JS code, another instance of
- `SourceNode`, or an array where each member is one of those things.
-
-```js
-node.prepend("/** Build Id: f783haef86324gf **/\n\n");
-```
-
-#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent)
-
-Set the source content for a source file. This will be added to the
-`SourceMap` in the `sourcesContent` field.
-
-* `sourceFile`: The filename of the source file
-
-* `sourceContent`: The content of the source file
-
-```js
-node.setSourceContent("module-one.scm",
- fs.readFileSync("path/to/module-one.scm"))
-```
-
-#### SourceNode.prototype.walk(fn)
-
-Walk over the tree of JS snippets in this node and its children. The walking
-function is called once for each snippet of JS and is passed that snippet and
-the its original associated source's line/column location.
-
-* `fn`: The traversal function.
-
-```js
-var node = new SourceNode(1, 2, "a.js", [
- new SourceNode(3, 4, "b.js", "uno"),
- "dos",
- [
- "tres",
- new SourceNode(5, 6, "c.js", "quatro")
- ]
-]);
-
-node.walk(function (code, loc) { console.log("WALK:", code, loc); })
-// WALK: uno { source: 'b.js', line: 3, column: 4, name: null }
-// WALK: dos { source: 'a.js', line: 1, column: 2, name: null }
-// WALK: tres { source: 'a.js', line: 1, column: 2, name: null }
-// WALK: quatro { source: 'c.js', line: 5, column: 6, name: null }
-```
-
-#### SourceNode.prototype.walkSourceContents(fn)
-
-Walk over the tree of SourceNodes. The walking function is called for each
-source file content and is passed the filename and source content.
-
-* `fn`: The traversal function.
-
-```js
-var a = new SourceNode(1, 2, "a.js", "generated from a");
-a.setSourceContent("a.js", "original a");
-var b = new SourceNode(1, 2, "b.js", "generated from b");
-b.setSourceContent("b.js", "original b");
-var c = new SourceNode(1, 2, "c.js", "generated from c");
-c.setSourceContent("c.js", "original c");
-
-var node = new SourceNode(null, null, null, [a, b, c]);
-node.walkSourceContents(function (source, contents) { console.log("WALK:", source, ":", contents); })
-// WALK: a.js : original a
-// WALK: b.js : original b
-// WALK: c.js : original c
-```
-
-#### SourceNode.prototype.join(sep)
-
-Like `Array.prototype.join` except for SourceNodes. Inserts the separator
-between each of this source node's children.
-
-* `sep`: The separator.
-
-```js
-var lhs = new SourceNode(1, 2, "a.rs", "my_copy");
-var operand = new SourceNode(3, 4, "a.rs", "=");
-var rhs = new SourceNode(5, 6, "a.rs", "orig.clone()");
-
-var node = new SourceNode(null, null, null, [ lhs, operand, rhs ]);
-var joinedNode = node.join(" ");
-```
-
-#### SourceNode.prototype.replaceRight(pattern, replacement)
-
-Call `String.prototype.replace` on the very right-most source snippet. Useful
-for trimming white space from the end of a source node, etc.
-
-* `pattern`: The pattern to replace.
-
-* `replacement`: The thing to replace the pattern with.
-
-```js
-// Trim trailing white space.
-node.replaceRight(/\s*$/, "");
-```
-
-#### SourceNode.prototype.toString()
-
-Return the string representation of this source node. Walks over the tree and
-concatenates all the various snippets together to one string.
-
-```js
-var node = new SourceNode(1, 2, "a.js", [
- new SourceNode(3, 4, "b.js", "uno"),
- "dos",
- [
- "tres",
- new SourceNode(5, 6, "c.js", "quatro")
- ]
-]);
-
-node.toString()
-// 'unodostresquatro'
-```
-
-#### SourceNode.prototype.toStringWithSourceMap([startOfSourceMap])
-
-Returns the string representation of this tree of source nodes, plus a
-SourceMapGenerator which contains all the mappings between the generated and
-original sources.
-
-The arguments are the same as those to `new SourceMapGenerator`.
-
-```js
-var node = new SourceNode(1, 2, "a.js", [
- new SourceNode(3, 4, "b.js", "uno"),
- "dos",
- [
- "tres",
- new SourceNode(5, 6, "c.js", "quatro")
- ]
-]);
-
-node.toStringWithSourceMap({ file: "my-output-file.js" })
-// { code: 'unodostresquatro',
-// map: [object SourceMapGenerator] }
-```
diff --git a/tgui-next/node_modules/@babel/generator/node_modules/source-map/package.json b/tgui-next/node_modules/@babel/generator/node_modules/source-map/package.json
deleted file mode 100644
index 048e3ae860..0000000000
--- a/tgui-next/node_modules/@babel/generator/node_modules/source-map/package.json
+++ /dev/null
@@ -1,72 +0,0 @@
-{
- "name": "source-map",
- "description": "Generates and consumes source maps",
- "version": "0.5.7",
- "homepage": "https://github.com/mozilla/source-map",
- "author": "Nick Fitzgerald ",
- "contributors": [
- "Tobias Koppers ",
- "Duncan Beevers ",
- "Stephen Crane ",
- "Ryan Seddon ",
- "Miles Elam ",
- "Mihai Bazon ",
- "Michael Ficarra ",
- "Todd Wolfson ",
- "Alexander Solovyov ",
- "Felix Gnass ",
- "Conrad Irwin ",
- "usrbincc ",
- "David Glasser ",
- "Chase Douglas ",
- "Evan Wallace ",
- "Heather Arthur ",
- "Hugh Kennedy ",
- "David Glasser ",
- "Simon Lydell ",
- "Jmeas Smith ",
- "Michael Z Goddard ",
- "azu ",
- "John Gozde ",
- "Adam Kirkton ",
- "Chris Montgomery ",
- "J. Ryan Stinnett ",
- "Jack Herrington ",
- "Chris Truter ",
- "Daniel Espeset ",
- "Jamie Wong ",
- "Eddy Bruël ",
- "Hawken Rives ",
- "Gilad Peleg ",
- "djchie ",
- "Gary Ye ",
- "Nicolas Lalevée "
- ],
- "repository": {
- "type": "git",
- "url": "http://github.com/mozilla/source-map.git"
- },
- "main": "./source-map.js",
- "files": [
- "source-map.js",
- "lib/",
- "dist/source-map.debug.js",
- "dist/source-map.js",
- "dist/source-map.min.js",
- "dist/source-map.min.js.map"
- ],
- "engines": {
- "node": ">=0.10.0"
- },
- "license": "BSD-3-Clause",
- "scripts": {
- "test": "npm run build && node test/run-tests.js",
- "build": "webpack --color",
- "toc": "doctoc --title '## Table of Contents' README.md && doctoc --title '## Table of Contents' CONTRIBUTING.md"
- },
- "devDependencies": {
- "doctoc": "^0.15.0",
- "webpack": "^1.12.0"
- },
- "typings": "source-map"
-}
diff --git a/tgui-next/node_modules/@babel/generator/node_modules/source-map/source-map.js b/tgui-next/node_modules/@babel/generator/node_modules/source-map/source-map.js
deleted file mode 100644
index bc88fe820c..0000000000
--- a/tgui-next/node_modules/@babel/generator/node_modules/source-map/source-map.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
- * Copyright 2009-2011 Mozilla Foundation and contributors
- * Licensed under the New BSD license. See LICENSE.txt or:
- * http://opensource.org/licenses/BSD-3-Clause
- */
-exports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;
-exports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;
-exports.SourceNode = require('./lib/source-node').SourceNode;
diff --git a/tgui-next/node_modules/@babel/generator/package.json b/tgui-next/node_modules/@babel/generator/package.json
deleted file mode 100644
index 0297fd8a16..0000000000
--- a/tgui-next/node_modules/@babel/generator/package.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "name": "@babel/generator",
- "version": "7.7.4",
- "description": "Turns an AST into code.",
- "author": "Sebastian McKenzie ",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-generator",
- "main": "lib/index.js",
- "files": [
- "lib"
- ],
- "dependencies": {
- "@babel/types": "^7.7.4",
- "jsesc": "^2.5.1",
- "lodash": "^4.17.13",
- "source-map": "^0.5.0"
- },
- "devDependencies": {
- "@babel/helper-fixtures": "^7.6.3",
- "@babel/parser": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helper-annotate-as-pure/LICENSE b/tgui-next/node_modules/@babel/helper-annotate-as-pure/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-annotate-as-pure/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-annotate-as-pure/README.md b/tgui-next/node_modules/@babel/helper-annotate-as-pure/README.md
deleted file mode 100644
index 82931e4fa3..0000000000
--- a/tgui-next/node_modules/@babel/helper-annotate-as-pure/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-annotate-as-pure
-
-> Helper function to annotate paths and nodes with #__PURE__ comment
-
-See our website [@babel/helper-annotate-as-pure](https://babeljs.io/docs/en/next/babel-helper-annotate-as-pure.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-annotate-as-pure
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-annotate-as-pure --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-annotate-as-pure/package.json b/tgui-next/node_modules/@babel/helper-annotate-as-pure/package.json
deleted file mode 100644
index 439d2e9db1..0000000000
--- a/tgui-next/node_modules/@babel/helper-annotate-as-pure/package.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "name": "@babel/helper-annotate-as-pure",
- "version": "7.7.4",
- "description": "Helper function to annotate paths and nodes with #__PURE__ comment",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-annotate-as-pure",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/types": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helper-builder-binary-assignment-operator-visitor/LICENSE b/tgui-next/node_modules/@babel/helper-builder-binary-assignment-operator-visitor/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-builder-binary-assignment-operator-visitor/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-builder-binary-assignment-operator-visitor/README.md b/tgui-next/node_modules/@babel/helper-builder-binary-assignment-operator-visitor/README.md
deleted file mode 100644
index 6c0b5b398d..0000000000
--- a/tgui-next/node_modules/@babel/helper-builder-binary-assignment-operator-visitor/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-builder-binary-assignment-operator-visitor
-
-> Helper function to build binary assignment operator visitors
-
-See our website [@babel/helper-builder-binary-assignment-operator-visitor](https://babeljs.io/docs/en/next/babel-helper-builder-binary-assignment-operator-visitor.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-builder-binary-assignment-operator-visitor
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-builder-binary-assignment-operator-visitor --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-builder-binary-assignment-operator-visitor/package.json b/tgui-next/node_modules/@babel/helper-builder-binary-assignment-operator-visitor/package.json
deleted file mode 100644
index 89e52b558c..0000000000
--- a/tgui-next/node_modules/@babel/helper-builder-binary-assignment-operator-visitor/package.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "name": "@babel/helper-builder-binary-assignment-operator-visitor",
- "version": "7.7.4",
- "description": "Helper function to build binary assignment operator visitors",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-builder-binary-assignment-operator-visitor",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-explode-assignable-expression": "^7.7.4",
- "@babel/types": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helper-call-delegate/LICENSE b/tgui-next/node_modules/@babel/helper-call-delegate/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-call-delegate/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-call-delegate/README.md b/tgui-next/node_modules/@babel/helper-call-delegate/README.md
deleted file mode 100644
index 468c95b7cb..0000000000
--- a/tgui-next/node_modules/@babel/helper-call-delegate/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-call-delegate
-
-> Helper function to call delegate
-
-See our website [@babel/helper-call-delegate](https://babeljs.io/docs/en/next/babel-helper-call-delegate.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-call-delegate
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-call-delegate --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-call-delegate/package.json b/tgui-next/node_modules/@babel/helper-call-delegate/package.json
deleted file mode 100644
index 4c789e4df9..0000000000
--- a/tgui-next/node_modules/@babel/helper-call-delegate/package.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "name": "@babel/helper-call-delegate",
- "version": "7.7.4",
- "description": "Helper function to call delegate",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-call-delegate",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-hoist-variables": "^7.7.4",
- "@babel/traverse": "^7.7.4",
- "@babel/types": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helper-create-regexp-features-plugin/LICENSE b/tgui-next/node_modules/@babel/helper-create-regexp-features-plugin/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-create-regexp-features-plugin/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-create-regexp-features-plugin/README.md b/tgui-next/node_modules/@babel/helper-create-regexp-features-plugin/README.md
deleted file mode 100644
index 69f661bd98..0000000000
--- a/tgui-next/node_modules/@babel/helper-create-regexp-features-plugin/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-create-regexp-features-plugin
-
-> Compile ESNext Regular Expressions to ES5
-
-See our website [@babel/helper-create-regexp-features-plugin](https://babeljs.io/docs/en/next/babel-helper-create-regexp-features-plugin.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-create-regexp-features-plugin
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-create-regexp-features-plugin --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-create-regexp-features-plugin/package.json b/tgui-next/node_modules/@babel/helper-create-regexp-features-plugin/package.json
deleted file mode 100644
index 01d2f02cc3..0000000000
--- a/tgui-next/node_modules/@babel/helper-create-regexp-features-plugin/package.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "name": "@babel/helper-create-regexp-features-plugin",
- "version": "7.7.4",
- "author": "The Babel Team (https://babeljs.io/team)",
- "license": "MIT",
- "description": "Compile ESNext Regular Expressions to ES5",
- "repository": {
- "type": "git",
- "url": "https://github.com/babel/babel",
- "directory": "packages/babel-helper-create-regexp-features-plugin"
- },
- "main": "lib/index.js",
- "publishConfig": {
- "access": "public"
- },
- "keywords": [
- "babel",
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-regex": "^7.4.4",
- "regexpu-core": "^4.6.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helper-define-map/LICENSE b/tgui-next/node_modules/@babel/helper-define-map/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-define-map/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-define-map/README.md b/tgui-next/node_modules/@babel/helper-define-map/README.md
deleted file mode 100644
index b0bde3a89a..0000000000
--- a/tgui-next/node_modules/@babel/helper-define-map/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-define-map
-
-> Helper function to define a map
-
-See our website [@babel/helper-define-map](https://babeljs.io/docs/en/next/babel-helper-define-map.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-define-map
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-define-map --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-define-map/package.json b/tgui-next/node_modules/@babel/helper-define-map/package.json
deleted file mode 100644
index 0b6d538bd7..0000000000
--- a/tgui-next/node_modules/@babel/helper-define-map/package.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "name": "@babel/helper-define-map",
- "version": "7.7.4",
- "description": "Helper function to define a map",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-define-map",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-function-name": "^7.7.4",
- "@babel/types": "^7.7.4",
- "lodash": "^4.17.13"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helper-explode-assignable-expression/LICENSE b/tgui-next/node_modules/@babel/helper-explode-assignable-expression/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-explode-assignable-expression/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-explode-assignable-expression/README.md b/tgui-next/node_modules/@babel/helper-explode-assignable-expression/README.md
deleted file mode 100644
index 9bb5ab93db..0000000000
--- a/tgui-next/node_modules/@babel/helper-explode-assignable-expression/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-explode-assignable-expression
-
-> Helper function to explode an assignable expression
-
-See our website [@babel/helper-explode-assignable-expression](https://babeljs.io/docs/en/next/babel-helper-explode-assignable-expression.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-explode-assignable-expression
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-explode-assignable-expression --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-explode-assignable-expression/package.json b/tgui-next/node_modules/@babel/helper-explode-assignable-expression/package.json
deleted file mode 100644
index f949ed6a23..0000000000
--- a/tgui-next/node_modules/@babel/helper-explode-assignable-expression/package.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "name": "@babel/helper-explode-assignable-expression",
- "version": "7.7.4",
- "description": "Helper function to explode an assignable expression",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-explode-assignable-expression",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/traverse": "^7.7.4",
- "@babel/types": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helper-function-name/LICENSE b/tgui-next/node_modules/@babel/helper-function-name/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-function-name/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-function-name/README.md b/tgui-next/node_modules/@babel/helper-function-name/README.md
deleted file mode 100644
index a8a6809ace..0000000000
--- a/tgui-next/node_modules/@babel/helper-function-name/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-function-name
-
-> Helper function to change the property 'name' of every function
-
-See our website [@babel/helper-function-name](https://babeljs.io/docs/en/next/babel-helper-function-name.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-function-name
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-function-name --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-function-name/package.json b/tgui-next/node_modules/@babel/helper-function-name/package.json
deleted file mode 100644
index acacad90e5..0000000000
--- a/tgui-next/node_modules/@babel/helper-function-name/package.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "name": "@babel/helper-function-name",
- "version": "7.7.4",
- "description": "Helper function to change the property 'name' of every function",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-function-name",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-get-function-arity": "^7.7.4",
- "@babel/template": "^7.7.4",
- "@babel/types": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helper-get-function-arity/LICENSE b/tgui-next/node_modules/@babel/helper-get-function-arity/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-get-function-arity/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-get-function-arity/README.md b/tgui-next/node_modules/@babel/helper-get-function-arity/README.md
deleted file mode 100644
index 1de8084fb1..0000000000
--- a/tgui-next/node_modules/@babel/helper-get-function-arity/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-get-function-arity
-
-> Helper function to get function arity
-
-See our website [@babel/helper-get-function-arity](https://babeljs.io/docs/en/next/babel-helper-get-function-arity.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-get-function-arity
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-get-function-arity --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-get-function-arity/package.json b/tgui-next/node_modules/@babel/helper-get-function-arity/package.json
deleted file mode 100644
index 07c4095bc1..0000000000
--- a/tgui-next/node_modules/@babel/helper-get-function-arity/package.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "name": "@babel/helper-get-function-arity",
- "version": "7.7.4",
- "description": "Helper function to get function arity",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-get-function-arity",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/types": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helper-hoist-variables/LICENSE b/tgui-next/node_modules/@babel/helper-hoist-variables/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-hoist-variables/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-hoist-variables/README.md b/tgui-next/node_modules/@babel/helper-hoist-variables/README.md
deleted file mode 100644
index a6454d326a..0000000000
--- a/tgui-next/node_modules/@babel/helper-hoist-variables/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-hoist-variables
-
-> Helper function to hoist variables
-
-See our website [@babel/helper-hoist-variables](https://babeljs.io/docs/en/next/babel-helper-hoist-variables.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-hoist-variables
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-hoist-variables --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-hoist-variables/package.json b/tgui-next/node_modules/@babel/helper-hoist-variables/package.json
deleted file mode 100644
index 86b4a873e8..0000000000
--- a/tgui-next/node_modules/@babel/helper-hoist-variables/package.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "name": "@babel/helper-hoist-variables",
- "version": "7.7.4",
- "description": "Helper function to hoist variables",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-hoist-variables",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/types": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helper-member-expression-to-functions/LICENSE b/tgui-next/node_modules/@babel/helper-member-expression-to-functions/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-member-expression-to-functions/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-member-expression-to-functions/README.md b/tgui-next/node_modules/@babel/helper-member-expression-to-functions/README.md
deleted file mode 100644
index 1e3eb53678..0000000000
--- a/tgui-next/node_modules/@babel/helper-member-expression-to-functions/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-member-expression-to-functions
-
-> Helper function to replace certain member expressions with function calls
-
-See our website [@babel/helper-member-expression-to-functions](https://babeljs.io/docs/en/next/babel-helper-member-expression-to-functions.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-member-expression-to-functions
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-member-expression-to-functions --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-member-expression-to-functions/package.json b/tgui-next/node_modules/@babel/helper-member-expression-to-functions/package.json
deleted file mode 100644
index 08afba5bc0..0000000000
--- a/tgui-next/node_modules/@babel/helper-member-expression-to-functions/package.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "name": "@babel/helper-member-expression-to-functions",
- "version": "7.7.4",
- "description": "Helper function to replace certain member expressions with function calls",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-member-expression-to-functions",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "author": "Justin Ridgewell ",
- "dependencies": {
- "@babel/types": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helper-module-imports/LICENSE b/tgui-next/node_modules/@babel/helper-module-imports/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-module-imports/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-module-imports/README.md b/tgui-next/node_modules/@babel/helper-module-imports/README.md
deleted file mode 100644
index c1b21e615e..0000000000
--- a/tgui-next/node_modules/@babel/helper-module-imports/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-module-imports
-
-> Babel helper functions for inserting module loads
-
-See our website [@babel/helper-module-imports](https://babeljs.io/docs/en/next/babel-helper-module-imports.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-module-imports
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-module-imports --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-module-imports/package.json b/tgui-next/node_modules/@babel/helper-module-imports/package.json
deleted file mode 100644
index d62d03e712..0000000000
--- a/tgui-next/node_modules/@babel/helper-module-imports/package.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "@babel/helper-module-imports",
- "version": "7.7.4",
- "description": "Babel helper functions for inserting module loads",
- "author": "Logan Smyth ",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-module-imports",
- "main": "lib/index.js",
- "dependencies": {
- "@babel/types": "^7.7.4"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helper-module-transforms/LICENSE b/tgui-next/node_modules/@babel/helper-module-transforms/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-module-transforms/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-module-transforms/README.md b/tgui-next/node_modules/@babel/helper-module-transforms/README.md
deleted file mode 100644
index 8dfc1bda1d..0000000000
--- a/tgui-next/node_modules/@babel/helper-module-transforms/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-module-transforms
-
-> Babel helper functions for implementing ES6 module transformations
-
-See our website [@babel/helper-module-transforms](https://babeljs.io/docs/en/next/babel-helper-module-transforms.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-module-transforms
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-module-transforms --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-module-transforms/package.json b/tgui-next/node_modules/@babel/helper-module-transforms/package.json
deleted file mode 100644
index 60a28372f5..0000000000
--- a/tgui-next/node_modules/@babel/helper-module-transforms/package.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "name": "@babel/helper-module-transforms",
- "version": "7.7.5",
- "description": "Babel helper functions for implementing ES6 module transformations",
- "author": "Logan Smyth ",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-module-transforms",
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-module-imports": "^7.7.4",
- "@babel/helper-simple-access": "^7.7.4",
- "@babel/helper-split-export-declaration": "^7.7.4",
- "@babel/template": "^7.7.4",
- "@babel/types": "^7.7.4",
- "lodash": "^4.17.13"
- },
- "gitHead": "d04508e510abc624b3e423ff334eff47f297502a"
-}
diff --git a/tgui-next/node_modules/@babel/helper-optimise-call-expression/LICENSE b/tgui-next/node_modules/@babel/helper-optimise-call-expression/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-optimise-call-expression/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-optimise-call-expression/README.md b/tgui-next/node_modules/@babel/helper-optimise-call-expression/README.md
deleted file mode 100644
index b232ac9cc3..0000000000
--- a/tgui-next/node_modules/@babel/helper-optimise-call-expression/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-optimise-call-expression
-
-> Helper function to optimise call expression
-
-See our website [@babel/helper-optimise-call-expression](https://babeljs.io/docs/en/next/babel-helper-optimise-call-expression.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-optimise-call-expression
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-optimise-call-expression --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-optimise-call-expression/package.json b/tgui-next/node_modules/@babel/helper-optimise-call-expression/package.json
deleted file mode 100644
index 4ce871919c..0000000000
--- a/tgui-next/node_modules/@babel/helper-optimise-call-expression/package.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "name": "@babel/helper-optimise-call-expression",
- "version": "7.7.4",
- "description": "Helper function to optimise call expression",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-optimise-call-expression",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/types": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helper-plugin-utils/LICENSE b/tgui-next/node_modules/@babel/helper-plugin-utils/LICENSE
deleted file mode 100644
index 620366eb90..0000000000
--- a/tgui-next/node_modules/@babel/helper-plugin-utils/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-2018 Sebastian McKenzie
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-plugin-utils/README.md b/tgui-next/node_modules/@babel/helper-plugin-utils/README.md
deleted file mode 100644
index 4e6303e089..0000000000
--- a/tgui-next/node_modules/@babel/helper-plugin-utils/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-plugin-utils
-
-> General utilities for plugins to use
-
-See our website [@babel/helper-plugin-utils](https://babeljs.io/docs/en/next/babel-helper-plugin-utils.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-plugin-utils
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-plugin-utils --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-plugin-utils/package.json b/tgui-next/node_modules/@babel/helper-plugin-utils/package.json
deleted file mode 100644
index 568d96fee5..0000000000
--- a/tgui-next/node_modules/@babel/helper-plugin-utils/package.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "@babel/helper-plugin-utils",
- "version": "7.0.0",
- "description": "General utilities for plugins to use",
- "author": "Logan Smyth ",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-plugin-utils",
- "main": "lib/index.js"
-}
diff --git a/tgui-next/node_modules/@babel/helper-plugin-utils/src/index.js b/tgui-next/node_modules/@babel/helper-plugin-utils/src/index.js
deleted file mode 100644
index f0ecb83a22..0000000000
--- a/tgui-next/node_modules/@babel/helper-plugin-utils/src/index.js
+++ /dev/null
@@ -1,95 +0,0 @@
-export function declare(builder) {
- return (api, options, dirname) => {
- if (!api.assertVersion) {
- // Inject a custom version of 'assertVersion' for Babel 6 and early
- // versions of Babel 7's beta that didn't have it.
- api = Object.assign(copyApiObject(api), {
- assertVersion(range) {
- throwVersionError(range, api.version);
- },
- });
- }
-
- return builder(api, options || {}, dirname);
- };
-}
-
-function copyApiObject(api) {
- // Babel >= 7 <= beta.41 passed the API as a new object that had
- // babel/core as the prototype. While slightly faster, it also
- // means that the Object.assign copy below fails. Rather than
- // keep complexity, the Babel 6 behavior has been reverted and this
- // normalizes all that for Babel 7.
- let proto = null;
- if (typeof api.version === "string" && /^7\./.test(api.version)) {
- proto = Object.getPrototypeOf(api);
- if (
- proto &&
- (!has(proto, "version") ||
- !has(proto, "transform") ||
- !has(proto, "template") ||
- !has(proto, "types"))
- ) {
- proto = null;
- }
- }
-
- return {
- ...proto,
- ...api,
- };
-}
-
-function has(obj, key) {
- return Object.prototype.hasOwnProperty.call(obj, key);
-}
-
-function throwVersionError(range, version) {
- if (typeof range === "number") {
- if (!Number.isInteger(range)) {
- throw new Error("Expected string or integer value.");
- }
- range = `^${range}.0.0-0`;
- }
- if (typeof range !== "string") {
- throw new Error("Expected string or integer value.");
- }
-
- const limit = Error.stackTraceLimit;
-
- if (typeof limit === "number" && limit < 25) {
- // Bump up the limit if needed so that users are more likely
- // to be able to see what is calling Babel.
- Error.stackTraceLimit = 25;
- }
-
- let err;
- if (version.slice(0, 2) === "7.") {
- err = new Error(
- `Requires Babel "^7.0.0-beta.41", but was loaded with "${version}". ` +
- `You'll need to update your @babel/core version.`,
- );
- } else {
- err = new Error(
- `Requires Babel "${range}", but was loaded with "${version}". ` +
- `If you are sure you have a compatible version of @babel/core, ` +
- `it is likely that something in your build process is loading the ` +
- `wrong version. Inspect the stack trace of this error to look for ` +
- `the first entry that doesn't mention "@babel/core" or "babel-core" ` +
- `to see what is calling Babel.`,
- );
- }
-
- if (typeof limit === "number") {
- Error.stackTraceLimit = limit;
- }
-
- throw Object.assign(
- err,
- ({
- code: "BABEL_VERSION_UNSUPPORTED",
- version,
- range,
- }: any),
- );
-}
diff --git a/tgui-next/node_modules/@babel/helper-regex/LICENSE b/tgui-next/node_modules/@babel/helper-regex/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-regex/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-regex/README.md b/tgui-next/node_modules/@babel/helper-regex/README.md
deleted file mode 100644
index 7ccff97a50..0000000000
--- a/tgui-next/node_modules/@babel/helper-regex/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-regex
-
-> Helper function to check for literal RegEx
-
-See our website [@babel/helper-regex](https://babeljs.io/docs/en/next/babel-helper-regex.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-regex
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-regex --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-regex/package.json b/tgui-next/node_modules/@babel/helper-regex/package.json
deleted file mode 100644
index 419a64ce56..0000000000
--- a/tgui-next/node_modules/@babel/helper-regex/package.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "name": "@babel/helper-regex",
- "version": "7.5.5",
- "description": "Helper function to check for literal RegEx",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-regex",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "lodash": "^4.17.13"
- },
- "gitHead": "0407f034f09381b95e9cabefbf6b176c76485a43"
-}
diff --git a/tgui-next/node_modules/@babel/helper-remap-async-to-generator/LICENSE b/tgui-next/node_modules/@babel/helper-remap-async-to-generator/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-remap-async-to-generator/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-remap-async-to-generator/README.md b/tgui-next/node_modules/@babel/helper-remap-async-to-generator/README.md
deleted file mode 100644
index 39a453cd6e..0000000000
--- a/tgui-next/node_modules/@babel/helper-remap-async-to-generator/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-remap-async-to-generator
-
-> Helper function to remap async functions to generators
-
-See our website [@babel/helper-remap-async-to-generator](https://babeljs.io/docs/en/next/babel-helper-remap-async-to-generator.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-remap-async-to-generator
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-remap-async-to-generator --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-remap-async-to-generator/package.json b/tgui-next/node_modules/@babel/helper-remap-async-to-generator/package.json
deleted file mode 100644
index d635815143..0000000000
--- a/tgui-next/node_modules/@babel/helper-remap-async-to-generator/package.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name": "@babel/helper-remap-async-to-generator",
- "version": "7.7.4",
- "description": "Helper function to remap async functions to generators",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-remap-async-to-generator",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.7.4",
- "@babel/helper-wrap-function": "^7.7.4",
- "@babel/template": "^7.7.4",
- "@babel/traverse": "^7.7.4",
- "@babel/types": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helper-replace-supers/LICENSE b/tgui-next/node_modules/@babel/helper-replace-supers/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-replace-supers/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-replace-supers/README.md b/tgui-next/node_modules/@babel/helper-replace-supers/README.md
deleted file mode 100644
index 60ec4cca2b..0000000000
--- a/tgui-next/node_modules/@babel/helper-replace-supers/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-replace-supers
-
-> Helper function to replace supers
-
-See our website [@babel/helper-replace-supers](https://babeljs.io/docs/en/next/babel-helper-replace-supers.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-replace-supers
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-replace-supers --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-replace-supers/package.json b/tgui-next/node_modules/@babel/helper-replace-supers/package.json
deleted file mode 100644
index 87f8b013ce..0000000000
--- a/tgui-next/node_modules/@babel/helper-replace-supers/package.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "name": "@babel/helper-replace-supers",
- "version": "7.7.4",
- "description": "Helper function to replace supers",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-replace-supers",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.7.4",
- "@babel/helper-optimise-call-expression": "^7.7.4",
- "@babel/traverse": "^7.7.4",
- "@babel/types": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helper-simple-access/LICENSE b/tgui-next/node_modules/@babel/helper-simple-access/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-simple-access/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-simple-access/README.md b/tgui-next/node_modules/@babel/helper-simple-access/README.md
deleted file mode 100644
index 206436ca8b..0000000000
--- a/tgui-next/node_modules/@babel/helper-simple-access/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-simple-access
-
-> Babel helper for ensuring that access to a given value is performed through simple accesses
-
-See our website [@babel/helper-simple-access](https://babeljs.io/docs/en/next/babel-helper-simple-access.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-simple-access
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-simple-access --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-simple-access/package.json b/tgui-next/node_modules/@babel/helper-simple-access/package.json
deleted file mode 100644
index f7dd1c24f2..0000000000
--- a/tgui-next/node_modules/@babel/helper-simple-access/package.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "name": "@babel/helper-simple-access",
- "version": "7.7.4",
- "description": "Babel helper for ensuring that access to a given value is performed through simple accesses",
- "author": "Logan Smyth ",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-simple-access",
- "main": "lib/index.js",
- "dependencies": {
- "@babel/template": "^7.7.4",
- "@babel/types": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helper-split-export-declaration/LICENSE b/tgui-next/node_modules/@babel/helper-split-export-declaration/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-split-export-declaration/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-split-export-declaration/README.md b/tgui-next/node_modules/@babel/helper-split-export-declaration/README.md
deleted file mode 100644
index d241fee0f6..0000000000
--- a/tgui-next/node_modules/@babel/helper-split-export-declaration/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-split-export-declaration
-
->
-
-See our website [@babel/helper-split-export-declaration](https://babeljs.io/docs/en/next/babel-helper-split-export-declaration.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-split-export-declaration
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-split-export-declaration --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-split-export-declaration/package.json b/tgui-next/node_modules/@babel/helper-split-export-declaration/package.json
deleted file mode 100644
index cdc5ec4876..0000000000
--- a/tgui-next/node_modules/@babel/helper-split-export-declaration/package.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "name": "@babel/helper-split-export-declaration",
- "version": "7.7.4",
- "description": "",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-split-export-declaration",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/types": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helper-wrap-function/LICENSE b/tgui-next/node_modules/@babel/helper-wrap-function/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helper-wrap-function/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helper-wrap-function/README.md b/tgui-next/node_modules/@babel/helper-wrap-function/README.md
deleted file mode 100644
index cf1029479e..0000000000
--- a/tgui-next/node_modules/@babel/helper-wrap-function/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-wrap-function
-
-> Helper to wrap functions inside a function call.
-
-See our website [@babel/helper-wrap-function](https://babeljs.io/docs/en/next/babel-helper-wrap-function.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helper-wrap-function
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-wrap-function --dev
-```
diff --git a/tgui-next/node_modules/@babel/helper-wrap-function/package.json b/tgui-next/node_modules/@babel/helper-wrap-function/package.json
deleted file mode 100644
index 01c220e3b0..0000000000
--- a/tgui-next/node_modules/@babel/helper-wrap-function/package.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "name": "@babel/helper-wrap-function",
- "version": "7.7.4",
- "description": "Helper to wrap functions inside a function call.",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-wrap-function",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-function-name": "^7.7.4",
- "@babel/template": "^7.7.4",
- "@babel/traverse": "^7.7.4",
- "@babel/types": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/helpers/LICENSE b/tgui-next/node_modules/@babel/helpers/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/helpers/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/helpers/README.md b/tgui-next/node_modules/@babel/helpers/README.md
deleted file mode 100644
index 537d8e471d..0000000000
--- a/tgui-next/node_modules/@babel/helpers/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helpers
-
-> Collection of helper functions used by Babel transforms.
-
-See our website [@babel/helpers](https://babeljs.io/docs/en/next/babel-helpers.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/helpers
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helpers --dev
-```
diff --git a/tgui-next/node_modules/@babel/helpers/package.json b/tgui-next/node_modules/@babel/helpers/package.json
deleted file mode 100644
index 13f1ef4d3e..0000000000
--- a/tgui-next/node_modules/@babel/helpers/package.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "name": "@babel/helpers",
- "version": "7.7.4",
- "description": "Collection of helper functions used by Babel transforms.",
- "author": "Sebastian McKenzie ",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-helpers",
- "main": "lib/index.js",
- "dependencies": {
- "@babel/template": "^7.7.4",
- "@babel/traverse": "^7.7.4",
- "@babel/types": "^7.7.4"
- },
- "devDependencies": {
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/highlight/LICENSE b/tgui-next/node_modules/@babel/highlight/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/highlight/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/highlight/README.md b/tgui-next/node_modules/@babel/highlight/README.md
deleted file mode 100644
index 72dae60945..0000000000
--- a/tgui-next/node_modules/@babel/highlight/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/highlight
-
-> Syntax highlight JavaScript strings for output in terminals.
-
-See our website [@babel/highlight](https://babeljs.io/docs/en/next/babel-highlight.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/highlight
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/highlight --dev
-```
diff --git a/tgui-next/node_modules/@babel/highlight/package.json b/tgui-next/node_modules/@babel/highlight/package.json
deleted file mode 100644
index 0a68f68f32..0000000000
--- a/tgui-next/node_modules/@babel/highlight/package.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "name": "@babel/highlight",
- "version": "7.5.0",
- "description": "Syntax highlight JavaScript strings for output in terminals.",
- "author": "suchipi ",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-highlight",
- "main": "lib/index.js",
- "dependencies": {
- "chalk": "^2.0.0",
- "esutils": "^2.0.2",
- "js-tokens": "^4.0.0"
- },
- "devDependencies": {
- "strip-ansi": "^4.0.0"
- },
- "gitHead": "49da9a07c81156e997e60146eb001ea77b7044c4"
-}
diff --git a/tgui-next/node_modules/@babel/parser/CHANGELOG.md b/tgui-next/node_modules/@babel/parser/CHANGELOG.md
deleted file mode 100644
index 8a43406dd6..0000000000
--- a/tgui-next/node_modules/@babel/parser/CHANGELOG.md
+++ /dev/null
@@ -1,1073 +0,0 @@
-# Changelog
-
-> **Tags:**
-> - :boom: [Breaking Change]
-> - :eyeglasses: [Spec Compliance]
-> - :rocket: [New Feature]
-> - :bug: [Bug Fix]
-> - :memo: [Documentation]
-> - :house: [Internal]
-> - :nail_care: [Polish]
-
-> Semver Policy: https://github.com/babel/babel/tree/master/packages/babel-parser#semver
-
-_Note: Gaps between patch versions are faulty, broken or test releases._
-
-See the [Babel Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) for the pre-6.8.0 version Changelog.
-
-## 6.17.1 (2017-05-10)
-
-### :bug: Bug Fix
- * Fix typo in flow spread operator error (Brian Ng)
- * Fixed invalid number literal parsing ([#473](https://github.com/babel/babylon/pull/473)) (Alex Kuzmenko)
- * Fix number parser ([#433](https://github.com/babel/babylon/pull/433)) (Alex Kuzmenko)
- * Ensure non pattern shorthand props are checked for reserved words ([#479](https://github.com/babel/babylon/pull/479)) (Brian Ng)
- * Remove jsx context when parsing arrow functions ([#475](https://github.com/babel/babylon/pull/475)) (Brian Ng)
- * Allow super in class properties ([#499](https://github.com/babel/babylon/pull/499)) (Brian Ng)
- * Allow flow class field to be named constructor ([#510](https://github.com/babel/babylon/pull/510)) (Brian Ng)
-
-## 6.17.0 (2017-04-20)
-
-### :bug: Bug Fix
- * Cherry-pick #418 to 6.x ([#476](https://github.com/babel/babylon/pull/476)) (Sebastian McKenzie)
- * Add support for invalid escapes in tagged templates ([#274](https://github.com/babel/babylon/pull/274)) (Kevin Gibbons)
- * Throw error if new.target is used outside of a function ([#402](https://github.com/babel/babylon/pull/402)) (Brian Ng)
- * Fix parsing of class properties ([#351](https://github.com/babel/babylon/pull/351)) (Kevin Gibbons)
- * Fix parsing yield with dynamicImport ([#383](https://github.com/babel/babylon/pull/383)) (Brian Ng)
- * Ensure consistent start args for parseParenItem ([#386](https://github.com/babel/babylon/pull/386)) (Brian Ng)
-
-## 7.0.0-beta.8 (2017-04-04)
-
-### New Feature
-* Add support for flow type spread (#418) (Conrad Buck)
-* Allow statics in flow interfaces (#427) (Brian Ng)
-
-### Bug Fix
-* Fix predicate attachment to match flow parser (#428) (Brian Ng)
-* Add extra.raw back to JSXText and JSXAttribute (#344) (Alex Rattray)
-* Fix rest parameters with array and objects (#424) (Brian Ng)
-* Fix number parser (#433) (Alex Kuzmenko)
-
-### Docs
-* Fix CONTRIBUTING.md [skip ci] (#432) (Alex Kuzmenko)
-
-### Internal
-* Use babel-register script when running babel smoke tests (#442) (Brian Ng)
-
-## 7.0.0-beta.7 (2017-03-22)
-
-### Spec Compliance
-* Remove babylon plugin for template revision since it's stage-4 (#426) (Henry Zhu)
-
-### Bug Fix
-
-* Fix push-pop logic in flow (#405) (Daniel Tschinder)
-
-## 7.0.0-beta.6 (2017-03-21)
-
-### New Feature
-* Add support for invalid escapes in tagged templates (#274) (Kevin Gibbons)
-
-### Polish
-* Improves error message when super is called outside of constructor (#408) (Arshabh Kumar Agarwal)
-
-### Docs
-
-* [7.0] Moved value field in spec from ObjectMember to ObjectProperty as ObjectMethod's don't have it (#415) [skip ci] (James Browning)
-
-## 7.0.0-beta.5 (2017-03-21)
-
-### Bug Fix
-* Throw error if new.target is used outside of a function (#402) (Brian Ng)
-* Fix parsing of class properties (#351) (Kevin Gibbons)
-
-### Other
- * Test runner: Detect extra property in 'actual' but not in 'expected'. (#407) (Andy)
- * Optimize travis builds (#419) (Daniel Tschinder)
- * Update codecov to 2.0 (#412) (Daniel Tschinder)
- * Fix spec for ClassMethod: It doesn't have a function, it *is* a function. (#406) [skip ci] (Andy)
- * Changed Non-existent RestPattern to RestElement which is what is actually parsed (#409) [skip ci] (James Browning)
- * Upgrade flow to 0.41 (Daniel Tschinder)
- * Fix watch command (#403) (Brian Ng)
- * Update yarn lock (Daniel Tschinder)
- * Fix watch command (#403) (Brian Ng)
- * chore(package): update flow-bin to version 0.41.0 (#395) (greenkeeper[bot])
- * Add estree test for correct order of directives (Daniel Tschinder)
- * Add DoExpression to spec (#364) (Alex Kuzmenko)
- * Mention cloning of repository in CONTRIBUTING.md (#391) [skip ci] (Sumedh Nimkarde)
- * Explain how to run only one test (#389) [skip ci] (Aaron Ang)
-
- ## 7.0.0-beta.4 (2017-03-01)
-
-* Don't consume async when checking for async func decl (#377) (Brian Ng)
-* add `ranges` option [skip ci] (Henry Zhu)
-* Don't parse class properties without initializers when classProperties is disabled and Flow is enabled (#300) (Andrew Levine)
-
-## 7.0.0-beta.3 (2017-02-28)
-
-- [7.0] Change RestProperty/SpreadProperty to RestElement/SpreadElement (#384)
-- Merge changes from 6.x
-
-## 7.0.0-beta.2 (2017-02-20)
-
-- estree: correctly change literals in all cases (#368) (Daniel Tschinder)
-
-## 7.0.0-beta.1 (2017-02-20)
-
-- Fix negative number literal typeannotations (#366) (Daniel Tschinder)
-- Update contributing with more test info [skip ci] (#355) (Brian Ng)
-
-## 7.0.0-beta.0 (2017-02-15)
-
-- Reintroduce Variance node (#333) (Daniel Tschinder)
-- Rename NumericLiteralTypeAnnotation to NumberLiteralTypeAnnotation (#332) (Charles Pick)
-- [7.0] Remove ForAwaitStatement, add await flag to ForOfStatement (#349) (Brandon Dail)
-- chore(package): update ava to version 0.18.0 (#345) (greenkeeper[bot])
-- chore(package): update babel-plugin-istanbul to version 4.0.0 (#350) (greenkeeper[bot])
-- Change location of ObjectTypeIndexer to match flow (#228) (Daniel Tschinder)
-- Rename flow AST Type ExistentialTypeParam to ExistsTypeAnnotation (#322) (Toru Kobayashi)
-- Revert "Temporary rollback for erroring on trailing comma with spread (#154)" (#290) (Daniel Tschinder)
-- Remove classConstructorCall plugin (#291) (Brian Ng)
-- Update yarn.lock (Daniel Tschinder)
-- Update cross-env to 3.x (Daniel Tschinder)
-- [7.0] Remove node 0.10, 0.12 and 5 from Travis (#284) (Sergey Rubanov)
-- Remove `String.fromCodePoint` shim (#279) (Mathias Bynens)
-
-## 6.16.1 (2017-02-23)
-
-### :bug: Regression
-
-- Revert "Fix export default async function to be FunctionDeclaration" ([#375](https://github.com/babel/babylon/pull/375))
-
-Need to modify Babel for this AST node change, so moving to 7.0.
-
-- Revert "Don't parse class properties without initializers when classProperties plugin is disabled, and Flow is enabled" ([#376](https://github.com/babel/babylon/pull/376))
-
-[react-native](https://github.com/facebook/react-native/issues/12542) broke with this so we reverted.
-
-## 6.16.0 (2017-02-23)
-
-### :rocket: New Feature
-
-***ESTree*** compatibility as plugin ([#277](https://github.com/babel/babylon/pull/277)) (Daniel Tschinder)
-
-We finally introduce a new compatibility layer for ESTree. To put babylon into ESTree-compatible mode the new plugin `estree` can be enabled. In this mode the parser will output an AST that is compliant to the specs of [ESTree](https://github.com/estree/estree/)
-
-We highly recommend everyone who uses babylon outside of babel to use this plugin. This will make it much easier for users to switch between different ESTree-compatible parsers. We so far tested several projects with different parsers and exchanged their parser to babylon and in nearly all cases it worked out of the box. Some other estree-compatible parsers include `acorn`, `esprima`, `espree`, `flow-parser`, etc.
-
-To enable `estree` mode simply add the plugin in the config:
-```json
-{
- "plugins": [ "estree" ]
-}
-```
-
-If you want to migrate your project from non-ESTree mode to ESTree, have a look at our [Readme](https://github.com/babel/babylon/#output), where all deviations are mentioned.
-
-Add a parseExpression public method ([#213](https://github.com/babel/babylon/pull/213)) (jeromew)
-
-Babylon exports a new function to parse a single expression
-
-```js
-import { parseExpression } from 'babylon';
-
-const ast = parseExpression('x || y && z', options);
-```
-
-The returned AST will only consist of the expression. The options are the same as for `parse()`
-
-Add startLine option ([#346](https://github.com/babel/babylon/pull/346)) (Raphael Mu)
-
-A new option was added to babylon allowing to change the initial linenumber for the first line which is usually `1`.
-Changing this for example to `100` will make line `1` of the input source to be marked as line `100`, line `2` as `101`, line `3` as `102`, ...
-
-Function predicate declaration ([#103](https://github.com/babel/babylon/pull/103)) (Panagiotis Vekris)
-
-Added support for function predicates which flow introduced in version 0.33.0
-
-```js
-declare function is_number(x: mixed): boolean %checks(typeof x === "number");
-```
-
-Allow imports in declare module ([#315](https://github.com/babel/babylon/pull/315)) (Daniel Tschinder)
-
-Added support for imports within module declarations which flow introduced in version 0.37.0
-
-```js
-declare module "C" {
- import type { DT } from "D";
- declare export type CT = { D: DT };
-}
-```
-
-### :eyeglasses: Spec Compliance
-
-Forbid semicolons after decorators in classes ([#352](https://github.com/babel/babylon/pull/352)) (Kevin Gibbons)
-
-This example now correctly throws an error when there is a semicolon after the decorator:
-
-```js
-class A {
-@a;
-foo(){}
-}
-```
-
-Keywords are not allowed as local specifier ([#307](https://github.com/babel/babylon/pull/307)) (Daniel Tschinder)
-
-Using keywords in imports is not allowed anymore:
-
-```js
-import { default } from "foo";
-import { a as debugger } from "foo";
-```
-
-Do not allow overwritting of primitive types ([#314](https://github.com/babel/babylon/pull/314)) (Daniel Tschinder)
-
-In flow it is now forbidden to overwrite the primitive types `"any"`, `"mixed"`, `"empty"`, `"bool"`, `"boolean"`, `"number"`, `"string"`, `"void"` and `"null"` with your own type declaration.
-
-Disallow import type { type a } from … ([#305](https://github.com/babel/babylon/pull/305)) (Daniel Tschinder)
-
-The following code now correctly throws an error
-
-```js
-import type { type a } from "foo";
-```
-
-Don't parse class properties without initializers when classProperties is disabled and Flow is enabled ([#300](https://github.com/babel/babylon/pull/300)) (Andrew Levine)
-
-Ensure that you enable the `classProperties` plugin in order to enable correct parsing of class properties. Prior to this version it was possible to parse them by enabling the `flow` plugin but this was not intended the behaviour.
-
-If you enable the flow plugin you can only define the type of the class properties, but not initialize them.
-
-Fix export default async function to be FunctionDeclaration ([#324](https://github.com/babel/babylon/pull/324)) (Daniel Tschinder)
-
-Parsing the following code now returns a `FunctionDeclaration` AST node instead of `FunctionExpression`.
-
-```js
-export default async function bar() {};
-```
-
-### :nail_care: Polish
-
-Improve error message on attempt to destructure named import ([#288](https://github.com/babel/babylon/pull/288)) (Brian Ng)
-
-### :bug: Bug Fix
-
-Fix negative number literal typeannotations ([#366](https://github.com/babel/babylon/pull/366)) (Daniel Tschinder)
-
-Ensure takeDecorators is called on exported class ([#358](https://github.com/babel/babylon/pull/358)) (Brian Ng)
-
-ESTree: correctly change literals in all cases ([#368](https://github.com/babel/babylon/pull/368)) (Daniel Tschinder)
-
-Correctly convert RestProperty to Assignable ([#339](https://github.com/babel/babylon/pull/339)) (Daniel Tschinder)
-
-Fix #321 by allowing question marks in type params ([#338](https://github.com/babel/babylon/pull/338)) (Daniel Tschinder)
-
-Fix #336 by correctly setting arrow-param ([#337](https://github.com/babel/babylon/pull/337)) (Daniel Tschinder)
-
-Fix parse error when destructuring `set` with default value ([#317](https://github.com/babel/babylon/pull/317)) (Brian Ng)
-
-Fix ObjectTypeCallProperty static ([#298](https://github.com/babel/babylon/pull/298)) (Dan Harper)
-
-
-### :house: Internal
-
-Fix generator-method-with-computed-name spec ([#360](https://github.com/babel/babylon/pull/360)) (Alex Rattray)
-
-Fix flow type-parameter-declaration test with unintended semantic ([#361](https://github.com/babel/babylon/pull/361)) (Alex Rattray)
-
-Cleanup and splitup parser functions ([#295](https://github.com/babel/babylon/pull/295)) (Daniel Tschinder)
-
-chore(package): update flow-bin to version 0.38.0 ([#313](https://github.com/babel/babylon/pull/313)) (greenkeeper[bot])
-
-Call inner function instead of 1:1 copy to plugin ([#294](https://github.com/babel/babylon/pull/294)) (Daniel Tschinder)
-
-Update eslint-config-babel to the latest version 🚀 ([#299](https://github.com/babel/babylon/pull/299)) (greenkeeper[bot])
-
-Update eslint-config-babel to the latest version 🚀 ([#293](https://github.com/babel/babylon/pull/293)) (greenkeeper[bot])
-
-devDeps: remove eslint-plugin-babel ([#292](https://github.com/babel/babylon/pull/292)) (Kai Cataldo)
-
-Correct indent eslint rule config ([#276](https://github.com/babel/babylon/pull/276)) (Daniel Tschinder)
-
-Fail tests that have expected.json and throws-option ([#285](https://github.com/babel/babylon/pull/285)) (Daniel Tschinder)
-
-### :memo: Documentation
-
-Update contributing with more test info [skip ci] ([#355](https://github.com/babel/babylon/pull/355)) (Brian Ng)
-
-Update API documentation ([#330](https://github.com/babel/babylon/pull/330)) (Timothy Gu)
-
-Added keywords to package.json ([#323](https://github.com/babel/babylon/pull/323)) (Dmytro)
-
-AST spec: fix casing of `RegExpLiteral` ([#318](https://github.com/babel/babylon/pull/318)) (Mathias Bynens)
-
-## 6.15.0 (2017-01-10)
-
-### :eyeglasses: Spec Compliance
-
-Add support for Flow shorthand import type ([#267](https://github.com/babel/babylon/pull/267)) (Jeff Morrison)
-
-This change implements flows new shorthand import syntax
-and where previously you had to write this code:
-
-```js
-import {someValue} from "blah";
-import type {someType} from "blah";
-import typeof {someOtherValue} from "blah";
-```
-
-you can now write it like this:
-
-```js
-import {
- someValue,
- type someType,
- typeof someOtherValue,
-} from "blah";
-```
-
-For more information look at [this](https://github.com/facebook/flow/pull/2890) pull request.
-
-flow: allow leading pipes in all positions ([#256](https://github.com/babel/babylon/pull/256)) (Vladimir Kurchatkin)
-
-This change now allows a leading pipe everywhere types can be used:
-```js
-var f = (x): | 1 | 2 => 1;
-```
-
-Throw error when exporting non-declaration ([#241](https://github.com/babel/babylon/pull/241)) (Kai Cataldo)
-
-Previously babylon parsed the following exports, although they are not valid:
-```js
-export typeof foo;
-export new Foo();
-export function() {};
-export for (;;);
-export while(foo);
-```
-
-### :bug: Bug Fix
-
-Don't set inType flag when parsing property names ([#266](https://github.com/babel/babylon/pull/266)) (Vladimir Kurchatkin)
-
-This fixes parsing of this case:
-
-```js
-const map = {
- [age <= 17] : 'Too young'
-};
-```
-
-Fix source location for JSXEmptyExpression nodes (fixes #248) ([#249](https://github.com/babel/babylon/pull/249)) (James Long)
-
-The following case produced an invalid AST
-```js
-{/* foo */}
-```
-
-Use fromCodePoint to convert high value unicode entities ([#243](https://github.com/babel/babylon/pull/243)) (Ryan Duffy)
-
-When high value unicode entities (e.g. 💩) were used in the input source code they are now correctly encoded in the resulting AST.
-
-Rename folder to avoid Windows-illegal characters ([#281](https://github.com/babel/babylon/pull/281)) (Ryan Plant)
-
-Allow this.state.clone() when parsing decorators ([#262](https://github.com/babel/babylon/pull/262)) (Alex Rattray)
-
-### :house: Internal
-
-User external-helpers ([#254](https://github.com/babel/babylon/pull/254)) (Daniel Tschinder)
-
-Add watch script for dev ([#234](https://github.com/babel/babylon/pull/234)) (Kai Cataldo)
-
-Freeze current plugins list for "*" option, and remove from README.md ([#245](https://github.com/babel/babylon/pull/245)) (Andrew Levine)
-
-Prepare tests for multiple fixture runners. ([#240](https://github.com/babel/babylon/pull/240)) (Daniel Tschinder)
-
-Add some test coverage for decorators stage-0 plugin ([#250](https://github.com/babel/babylon/pull/250)) (Andrew Levine)
-
-Refactor tokenizer types file ([#263](https://github.com/babel/babylon/pull/263)) (Sven SAULEAU)
-
-Update eslint-config-babel to the latest version 🚀 ([#273](https://github.com/babel/babylon/pull/273)) (greenkeeper[bot])
-
-chore(package): update rollup to version 0.41.0 ([#272](https://github.com/babel/babylon/pull/272)) (greenkeeper[bot])
-
-chore(package): update flow-bin to version 0.37.0 ([#255](https://github.com/babel/babylon/pull/255)) (greenkeeper[bot])
-
-## 6.14.1 (2016-11-17)
-
-### :bug: Bug Fix
-
-Allow `"plugins": ["*"]` ([#229](https://github.com/babel/babylon/pull/229)) (Daniel Tschinder)
-
-```js
-{
- "plugins": ["*"]
-}
-```
-
-Will include all parser plugins instead of specifying each one individually. Useful for tools like babel-eslint, jscodeshift, and ast-explorer.
-
-## 6.14.0 (2016-11-16)
-
-### :eyeglasses: Spec Compliance
-
-Throw error for reserved words `enum` and `await` ([#195](https://github.com/babel/babylon/pull/195)) (Kai Cataldo)
-
-[11.6.2.2 Future Reserved Words](http://www.ecma-international.org/ecma-262/6.0/#sec-future-reserved-words)
-
-Babylon will throw for more reserved words such as `enum` or `await` (in strict mode).
-
-```
-class enum {} // throws
-class await {} // throws in strict mode (module)
-```
-
-Optional names for function types and object type indexers ([#197](https://github.com/babel/babylon/pull/197)) (Gabe Levi)
-
-So where you used to have to write
-
-```js
-type A = (x: string, y: boolean) => number;
-type B = (z: string) => number;
-type C = { [key: string]: number };
-```
-
-you can now write (with flow 0.34.0)
-
-```js
-type A = (string, boolean) => number;
-type B = string => number;
-type C = { [string]: number };
-```
-
-Parse flow nested array type annotations like `number[][]` ([#219](https://github.com/babel/babylon/pull/219)) (Bernhard Häussner)
-
-Supports these form now of specifying array types:
-
-```js
-var a: number[][][][];
-var b: string[][];
-```
-
-### :bug: Bug Fix
-
-Correctly eat semicolon at the end of `DelcareModuleExports` ([#223](https://github.com/babel/babylon/pull/223)) (Daniel Tschinder)
-
-```
-declare module "foo" { declare module.exports: number }
-declare module "foo" { declare module.exports: number; } // also allowed now
-```
-
-### :house: Internal
-
- * Count Babel tests towards Babylon code coverage ([#182](https://github.com/babel/babylon/pull/182)) (Moti Zilberman)
- * Fix strange line endings ([#214](https://github.com/babel/babylon/pull/214)) (Thomas Grainger)
- * Add node 7 (Daniel Tschinder)
- * chore(package): update flow-bin to version 0.34.0 ([#204](https://github.com/babel/babylon/pull/204)) (Greenkeeper)
-
-## v6.13.1 (2016-10-26)
-
-### :nail_care: Polish
-
-- Use rollup for bundling to speed up startup time ([#190](https://github.com/babel/babylon/pull/190)) ([@drewml](https://github.com/DrewML))
-
-```js
-const babylon = require('babylon');
-const ast = babylon.parse('var foo = "lol";');
-```
-
-With that test case, there was a ~95ms savings by removing the need for node to build/traverse the dependency graph.
-
-**Without bundling**
-
-
-**With bundling**
-
-
-- add clean command [skip ci] ([#201](https://github.com/babel/babylon/pull/201)) (Henry Zhu)
-- add ForAwaitStatement (async generator already added) [skip ci] ([#196](https://github.com/babel/babylon/pull/196)) (Henry Zhu)
-
-## v6.13.0 (2016-10-21)
-
-### :eyeglasses: Spec Compliance
-
-Property variance type annotations for Flow plugin ([#161](https://github.com/babel/babylon/pull/161)) (Sam Goldman)
-
-> See https://flowtype.org/docs/variance.html for more information
-
-```js
-type T = { +p: T };
-interface T { -p: T };
-declare class T { +[k:K]: V };
-class T { -[k:K]: V };
-class C2 { +p: T = e };
-```
-
-Raise error on duplicate definition of __proto__ ([#183](https://github.com/babel/babylon/pull/183)) (Moti Zilberman)
-
-```js
-({ __proto__: 1, __proto__: 2 }) // Throws an error now
-```
-
-### :bug: Bug Fix
-
-Flow: Allow class properties to be named `static` ([#184](https://github.com/babel/babylon/pull/184)) (Moti Zilberman)
-
-```js
-declare class A {
- static: T;
-}
-```
-
-Allow "async" as identifier for object literal property shorthand ([#187](https://github.com/babel/babylon/pull/187)) (Andrew Levine)
-
-```js
-var foo = { async, bar };
-```
-
-### :nail_care: Polish
-
-Fix flowtype and add inType to state ([#189](https://github.com/babel/babylon/pull/189)) (Daniel Tschinder)
-
-> This improves the performance slightly (because of hidden classes)
-
-### :house: Internal
-
-Fix .gitattributes line ending setting ([#191](https://github.com/babel/babylon/pull/191)) (Moti Zilberman)
-
-Increase test coverage ([#175](https://github.com/babel/babylon/pull/175) (Moti Zilberman)
-
-Readd missin .eslinignore for IDEs (Daniel Tschinder)
-
-Error on missing expected.json fixture in CI ([#188](https://github.com/babel/babylon/pull/188)) (Moti Zilberman)
-
-Add .gitattributes and .editorconfig for LF line endings ([#179](https://github.com/babel/babylon/pull/179)) (Moti Zilberman)
-
-Fixes two tests that are failing after the merge of #172 ([#177](https://github.com/babel/babylon/pull/177)) (Moti Zilberman)
-
-## v6.12.0 (2016-10-14)
-
-### :eyeglasses: Spec Compliance
-
-Implement import() syntax ([#163](https://github.com/babel/babylon/pull/163)) (Jordan Gensler)
-
-#### Dynamic Import
-
-- Proposal Repo: https://github.com/domenic/proposal-dynamic-import
-- Championed by [@domenic](https://github.com/domenic)
-- stage-2
-- [sept-28 tc39 notes](https://github.com/rwaldron/tc39-notes/blob/master/es7/2016-09/sept-28.md#113a-import)
-
-> This repository contains a proposal for adding a "function-like" import() module loading syntactic form to JavaScript
-
-```js
-import(`./section-modules/${link.dataset.entryModule}.js`)
-.then(module => {
- module.loadPageInto(main);
-})
-```
-
-Add EmptyTypeAnnotation ([#171](https://github.com/babel/babylon/pull/171)) (Sam Goldman)
-
-#### EmptyTypeAnnotation
-
-Just wasn't covered before.
-
-```js
-type T = empty;
-```
-
-### :bug: Bug Fix
-
-Fix crash when exporting with destructuring and sparse array ([#170](https://github.com/babel/babylon/pull/170)) (Jeroen Engels)
-
-```js
-// was failing due to sparse array
-export const { foo: [ ,, qux7 ] } = bar;
-```
-
-Allow keyword in Flow object declaration property names with type parameters ([#146](https://github.com/babel/babylon/pull/146)) (Dan Harper)
-
-```js
-declare class X {
- foobar(): void;
- static foobar(): void;
-}
-```
-
-Allow keyword in object/class property names with Flow type parameters ([#145](https://github.com/babel/babylon/pull/145)) (Dan Harper)
-
-```js
-class Foo {
- delete(item: T): T {
- return item;
- }
-}
-```
-
-Allow typeAnnotations for yield expressions ([#174](https://github.com/babel/babylon/pull/174))) (Daniel Tschinder)
-
-```js
-function *foo() {
- const x = (yield 5: any);
-}
-```
-
-### :nail_care: Polish
-
-Annotate more errors with expected token ([#172](https://github.com/babel/babylon/pull/172))) (Moti Zilberman)
-
-```js
-// Unexpected token, expected ; (1:6)
-{ set 1 }
-```
-
-### :house: Internal
-
-Remove kcheck ([#173](https://github.com/babel/babylon/pull/173))) (Daniel Tschinder)
-
-Also run flow, linting, babel tests on separate instances (add back node 0.10)
-
-## v6.11.6 (2016-10-12)
-
-### :bug: Bug Fix/Regression
-
-Fix crash when exporting with destructuring and sparse array ([#170](https://github.com/babel/babylon/pull/170)) (Jeroen Engels)
-
-```js
-// was failing with `Cannot read property 'type' of null` because of null identifiers
-export const { foo: [ ,, qux7 ] } = bar;
-```
-
-## v6.11.5 (2016-10-12)
-
-### :eyeglasses: Spec Compliance
-
-Fix: Check for duplicate named exports in exported destructuring assignments ([#144](https://github.com/babel/babylon/pull/144)) (Kai Cataldo)
-
-```js
-// `foo` has already been exported. Exported identifiers must be unique. (2:20)
-export function foo() {};
-export const { a: [{foo}] } = bar;
-```
-
-Fix: Check for duplicate named exports in exported rest elements/properties ([#164](https://github.com/babel/babylon/pull/164)) (Kai Cataldo)
-
-```js
-// `foo` has already been exported. Exported identifiers must be unique. (2:22)
-export const foo = 1;
-export const [bar, ...foo] = baz;
-```
-
-### :bug: Bug Fix
-
-Fix: Allow identifier `async` for default param in arrow expression ([#165](https://github.com/babel/babylon/pull/165)) (Kai Cataldo)
-
-```js
-// this is ok now
-const test = ({async = true}) => {};
-```
-
-### :nail_care: Polish
-
-Babylon will now print out the token it's expecting if there's a `SyntaxError` ([#150](https://github.com/babel/babylon/pull/150)) (Daniel Tschinder)
-
-```bash
-# So in the case of a missing ending curly (`}`)
-Module build failed: SyntaxError: Unexpected token, expected } (30:0)
- 28 | }
- 29 |
-> 30 |
- | ^
-```
-
-## v6.11.4 (2016-10-03)
-
-Temporary rollback for erroring on trailing comma with spread (#154) (Henry Zhu)
-
-## v6.11.3 (2016-10-01)
-
-### :eyeglasses: Spec Compliance
-
-Add static errors for object rest (#149) ([@danez](https://github.com/danez))
-
-> https://github.com/sebmarkbage/ecmascript-rest-spread
-
-Object rest copies the *rest* of properties from the right hand side `obj` starting from the left to right.
-
-```js
-let { x, y, ...z } = { x: 1, y: 2, z: 3 };
-// x = 1
-// y = 2
-// z = { z: 3 }
-```
-
-#### New Syntax Errors:
-
-**SyntaxError**: The rest element has to be the last element when destructuring (1:10)
-```bash
-> 1 | let { ...x, y, z } = { x: 1, y: 2, z: 3};
- | ^
-# Previous behavior:
-# x = { x: 1, y: 2, z: 3 }
-# y = 2
-# z = 3
-```
-
-Before, this was just a more verbose way of shallow copying `obj` since it doesn't actually do what you think.
-
-**SyntaxError**: Cannot have multiple rest elements when destructuring (1:13)
-
-```bash
-> 1 | let { x, ...y, ...z } = { x: 1, y: 2, z: 3};
- | ^
-# Previous behavior:
-# x = 1
-# y = { y: 2, z: 3 }
-# z = { y: 2, z: 3 }
-```
-
-Before y and z would just be the same value anyway so there is no reason to need to have both.
-
-**SyntaxError**: A trailing comma is not permitted after the rest element (1:16)
-
-```js
-let { x, y, ...z, } = obj;
-```
-
-The rationale for this is that the use case for trailing comma is that you can add something at the end without affecting the line above. Since a RestProperty always has to be the last property it doesn't make sense.
-
----
-
-get / set are valid property names in default assignment (#142) ([@jezell](https://github.com/jezell))
-
-```js
-// valid
-function something({ set = null, get = null }) {}
-```
-
-## v6.11.2 (2016-09-23)
-
-### Bug Fix
-
-- [#139](https://github.com/babel/babylon/issues/139) Don't do the duplicate check if not an identifier (#140) @hzoo
-
-```js
-// regression with duplicate export check
-SyntaxError: ./typography.js: `undefined` has already been exported. Exported identifiers must be unique. (22:13)
- 20 |
- 21 | export const { rhythm } = typography;
-> 22 | export const { TypographyStyle } = typography
-```
-
-Bail out for now, and make a change to account for destructuring in the next release.
-
-## 6.11.1 (2016-09-22)
-
-### Bug Fix
-- [#137](https://github.com/babel/babylon/pull/137) - Fix a regression with duplicate exports - it was erroring on all keys in `Object.prototype`. @danez
-
-```javascript
-export toString from './toString';
-```
-
-```bash
-`toString` has already been exported. Exported identifiers must be unique. (1:7)
-> 1 | export toString from './toString';
- | ^
- 2 |
-```
-
-## 6.11.0 (2016-09-22)
-
-### Spec Compliance (will break CI)
-
-- Disallow duplicate named exports ([#107](https://github.com/babel/babylon/pull/107)) @kaicataldo
-
-```js
-// Only one default export allowed per module. (2:9)
-export default function() {};
-export { foo as default };
-
-// Only one default export allowed per module. (2:0)
-export default {};
-export default function() {};
-
-// `Foo` has already been exported. Exported identifiers must be unique. (2:0)
-export { Foo };
-export class Foo {};
-```
-
-### New Feature (Syntax)
-
-- Add support for computed class property names ([#121](https://github.com/babel/babylon/pull/121)) @motiz88
-
-```js
-// AST
-interface ClassProperty <: Node {
- type: "ClassProperty";
- key: Identifier;
- value: Expression;
- computed: boolean; // added
-}
-```
-
-```js
-// with "plugins": ["classProperties"]
-class Foo {
- [x]
- ['y']
-}
-
-class Bar {
- [p]
- [m] () {}
-}
- ```
-
-### Bug Fix
-
-- Fix `static` property falling through in the declare class Flow AST ([#135](https://github.com/babel/babylon/pull/135)) @danharper
-
-```js
-declare class X {
- a: number;
- static b: number; // static
- c: number; // this was being marked as static in the AST as well
-}
-```
-
-### Polish
-
-- Rephrase "assigning/binding to rvalue" errors to include context ([#119](https://github.com/babel/babylon/pull/119)) @motiz88
-
-```js
-// Used to error with:
-// SyntaxError: Assigning to rvalue (1:0)
-
-// Now:
-// Invalid left-hand side in assignment expression (1:0)
-3 = 4
-
-// Invalid left-hand side in for-in statement (1:5)
-for (+i in {});
-```
-
-### Internal
-
-- Fix call to `this.parseMaybeAssign` with correct arguments ([#133](https://github.com/babel/babylon/pull/133)) @danez
-- Add semver note to changelog ([#131](https://github.com/babel/babylon/pull/131)) @hzoo
-
-## 6.10.0 (2016-09-19)
-
-> We plan to include some spec compliance bugs in patch versions. An example was the multiple default exports issue.
-
-### Spec Compliance
-
-* Implement ES2016 check for simple parameter list in strict mode ([#106](https://github.com/babel/babylon/pull/106)) (Timothy Gu)
-
-> It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of FormalParameters is false. https://tc39.github.io/ecma262/2016/#sec-function-definitions-static-semantics-early-errors
-
-More Context: [tc39-notes](https://github.com/rwaldron/tc39-notes/blob/master/es7/2015-07/july-29.md#611-the-scope-of-use-strict-with-respect-to-destructuring-in-parameter-lists)
-
-For example:
-
-```js
-// this errors because it uses destructuring and default parameters
-// in a function with a "use strict" directive
-function a([ option1, option2 ] = []) {
- "use strict";
-}
- ```
-
-The solution would be to use a top level "use strict" or to remove the destructuring or default parameters when using a function + "use strict" or to.
-
-### New Feature
-
-* Exact object type annotations for Flow plugin ([#104](https://github.com/babel/babylon/pull/104)) (Basil Hosmer)
-
-Added to flow in https://github.com/facebook/flow/commit/c710c40aa2a115435098d6c0dfeaadb023cd39b8
-
-Looks like:
-
-```js
-var a : {| x: number, y: string |} = { x: 0, y: 'foo' };
-```
-
-### Bug Fixes
-
-* Include `typeParameter` location in `ArrowFunctionExpression` ([#126](https://github.com/babel/babylon/pull/126)) (Daniel Tschinder)
-* Error on invalid flow type annotation with default assignment ([#122](https://github.com/babel/babylon/pull/122)) (Dan Harper)
-* Fix Flow return types on arrow functions ([#124](https://github.com/babel/babylon/pull/124)) (Dan Harper)
-
-### Misc
-
-* Add tests for export extensions ([#127](https://github.com/babel/babylon/pull/127)) (Daniel Tschinder)
-* Fix Contributing guidelines [skip ci] (Daniel Tschinder)
-
-## 6.9.2 (2016-09-09)
-
-The only change is to remove the `babel-runtime` dependency by compiling with Babel's ES2015 loose mode. So using babylon standalone should be smaller.
-
-## 6.9.1 (2016-08-23)
-
-This release contains mainly small bugfixes but also updates babylons default mode to es2017. The features for `exponentiationOperator`, `asyncFunctions` and `trailingFunctionCommas` which previously needed to be activated via plugin are now enabled by default and the plugins are now no-ops.
-
-### Bug Fixes
-
-- Fix issues with default object params in async functions ([#96](https://github.com/babel/babylon/pull/96)) @danez
-- Fix issues with flow-types and async function ([#95](https://github.com/babel/babylon/pull/95)) @danez
-- Fix arrow functions with destructuring, types & default value ([#94](https://github.com/babel/babylon/pull/94)) @danharper
-- Fix declare class with qualified type identifier ([#97](https://github.com/babel/babylon/pull/97)) @danez
-- Remove exponentiationOperator, asyncFunctions, trailingFunctionCommas plugins and enable them by default ([#98](https://github.com/babel/babylon/pull/98)) @danez
-
-## 6.9.0 (2016-08-16)
-
-### New syntax support
-
-- Add JSX spread children ([#42](https://github.com/babel/babylon/pull/42)) @calebmer
-
-(Be aware that React is not going to support this syntax)
-
-```js
-
- {...todos.map(todo => )}
-
-```
-
-- Add support for declare module.exports ([#72](https://github.com/babel/babylon/pull/72)) @danez
-
-```js
-declare module "foo" {
- declare module.exports: {}
-}
-```
-
-### New Features
-
-- If supplied, attach filename property to comment node loc. ([#80](https://github.com/babel/babylon/pull/80)) @divmain
-- Add identifier name to node loc field ([#90](https://github.com/babel/babylon/pull/90)) @kittens
-
-### Bug Fixes
-
-- Fix exponential operator to behave according to spec ([#75](https://github.com/babel/babylon/pull/75)) @danez
-- Fix lookahead to not add comments to arrays which are not cloned ([#76](https://github.com/babel/babylon/pull/76)) @danez
-- Fix accidental fall-through in Flow type parsing. ([#82](https://github.com/babel/babylon/pull/82)) @xiemaisi
-- Only allow declares inside declare module ([#73](https://github.com/babel/babylon/pull/73)) @danez
-- Small fix for parsing type parameter declarations ([#83](https://github.com/babel/babylon/pull/83)) @gabelevi
-- Fix arrow param locations with flow types ([#57](https://github.com/babel/babylon/pull/57)) @danez
-- Fixes SyntaxError position with flow optional type ([#65](https://github.com/babel/babylon/pull/65)) @danez
-
-### Internal
-
-- Add codecoverage to tests @danez
-- Fix tests to not save expected output if we expect the test to fail @danez
-- Make a shallow clone of babel for testing @danez
-- chore(package): update cross-env to version 2.0.0 ([#77](https://github.com/babel/babylon/pull/77)) @greenkeeperio-bot
-- chore(package): update ava to version 0.16.0 ([#86](https://github.com/babel/babylon/pull/86)) @greenkeeperio-bot
-- chore(package): update babel-plugin-istanbul to version 2.0.0 ([#89](https://github.com/babel/babylon/pull/89)) @greenkeeperio-bot
-- chore(package): update nyc to version 8.0.0 ([#88](https://github.com/babel/babylon/pull/88)) @greenkeeperio-bot
-
-## 6.8.4 (2016-07-06)
-
-### Bug Fixes
-
-- Fix the location of params, when flow and default value used ([#68](https://github.com/babel/babylon/pull/68)) @danez
-
-## 6.8.3 (2016-07-02)
-
-### Bug Fixes
-
-- Fix performance regression introduced in 6.8.2 with conditionals ([#63](https://github.com/babel/babylon/pull/63)) @danez
-
-## 6.8.2 (2016-06-24)
-
-### Bug Fixes
-
-- Fix parse error with yielding jsx elements in generators `function* it() { yield ; }` ([#31](https://github.com/babel/babylon/pull/31)) @eldereal
-- When cloning nodes do not clone its comments ([#24](https://github.com/babel/babylon/pull/24)) @danez
-- Fix parse errors when using arrow functions with an spread element and return type `(...props): void => {}` ([#10](https://github.com/babel/babylon/pull/10)) @danez
-- Fix leading comments added from previous node ([#23](https://github.com/babel/babylon/pull/23)) @danez
-- Fix parse errors with flow's optional arguments `(arg?) => {}` ([#19](https://github.com/babel/babylon/pull/19)) @danez
-- Support negative numeric type literals @kittens
-- Remove line terminator restriction after await keyword @kittens
-- Remove grouped type arrow restriction as it seems flow no longer has it @kittens
-- Fix parse error with generic methods that have the name `get` or `set` `class foo { get() {} }` ([#55](https://github.com/babel/babylon/pull/55)) @vkurchatkin
-- Fix parse error with arrow functions that have flow type parameter declarations `(x: T): T => x;` ([#54](https://github.com/babel/babylon/pull/54)) @gabelevi
-
-### Documentation
-
-- Document AST differences from ESTree ([#41](https://github.com/babel/babylon/pull/41)) @nene
-- Move ast spec from babel/babel ([#46](https://github.com/babel/babylon/pull/46)) @hzoo
-
-### Internal
-
-- Enable skipped tests ([#16](https://github.com/babel/babylon/pull/16)) @danez
-- Add script to test latest version of babylon with babel ([#21](https://github.com/babel/babylon/pull/21)) @danez
-- Upgrade test runner ava @kittens
-- Add missing generate-identifier-regex script @kittens
-- Rename parser context types @kittens
-- Add node v6 to travis testing @hzoo
-- Update to Unicode v9 ([#45](https://github.com/babel/babylon/pull/45)) @mathiasbynens
-
-## 6.8.1 (2016-06-06)
-
-### New Feature
-
-- Parse type parameter declarations with defaults like `type Foo = T`
-
-### Bug Fixes
-- Type parameter declarations need 1 or more type parameters.
-- The existential type `*` is not a valid type parameter.
-- The existential type `*` is a primary type
-
-### Spec Compliance
-- The param list for type parameter declarations now consists of `TypeParameter` nodes
-- New `TypeParameter` AST Node (replaces using the `Identifier` node before)
-
-```
-interface TypeParameter <: Node {
- bound: TypeAnnotation;
- default: TypeAnnotation;
- name: string;
- variance: "plus" | "minus";
-}
-```
-
-## 6.8.0 (2016-05-02)
-
-#### New Feature
-
-##### Parse Method Parameter Decorators ([#12](https://github.com/babel/babylon/pull/12))
-
-> [Method Parameter Decorators](https://goo.gl/8MmCMG) is now a TC39 [stage 0 proposal](https://github.com/tc39/ecma262/blob/master/stage0.md).
-
-Examples:
-
-```js
-class Foo {
- constructor(@foo() x, @bar({ a: 123 }) @baz() y) {}
-}
-
-export default function func(@foo() x, @bar({ a: 123 }) @baz() y) {}
-
-var obj = {
- method(@foo() x, @bar({ a: 123 }) @baz() y) {}
-};
-```
-
-##### Parse for-await statements (w/ `asyncGenerators` plugin) ([#17](https://github.com/babel/babylon/pull/17))
-
-There is also a new node type, `ForAwaitStatement`.
-
-> [Async generators and for-await](https://github.com/tc39/proposal-async-iteration) are now a [stage 2 proposal](https://github.com/tc39/ecma262#current-proposals).
-
-Example:
-
-```js
-async function f() {
- for await (let x of y);
-}
-```
diff --git a/tgui-next/node_modules/@babel/parser/LICENSE b/tgui-next/node_modules/@babel/parser/LICENSE
deleted file mode 100644
index d4c7fc5838..0000000000
--- a/tgui-next/node_modules/@babel/parser/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (C) 2012-2014 by various contributors (see AUTHORS)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/parser/README.md b/tgui-next/node_modules/@babel/parser/README.md
deleted file mode 100644
index 65092a0534..0000000000
--- a/tgui-next/node_modules/@babel/parser/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/parser
-
-> A JavaScript parser
-
-See our website [@babel/parser](https://babeljs.io/docs/en/next/babel-parser.html) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A+parser+%28babylon%29%22+is%3Aopen) associated with this package.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/parser
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/parser --dev
-```
diff --git a/tgui-next/node_modules/@babel/parser/bin/babel-parser.js b/tgui-next/node_modules/@babel/parser/bin/babel-parser.js
deleted file mode 100644
index 58f00b845c..0000000000
--- a/tgui-next/node_modules/@babel/parser/bin/babel-parser.js
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/env node
-/* eslint no-var: 0 */
-
-var parser = require("..");
-var fs = require("fs");
-
-var filename = process.argv[2];
-if (!filename) {
- console.error("no filename specified");
- process.exit(0);
-}
-
-var file = fs.readFileSync(filename, "utf8");
-var ast = parser.parse(file);
-
-console.log(JSON.stringify(ast, null, " "));
diff --git a/tgui-next/node_modules/@babel/parser/package.json b/tgui-next/node_modules/@babel/parser/package.json
deleted file mode 100644
index b46991c91e..0000000000
--- a/tgui-next/node_modules/@babel/parser/package.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "name": "@babel/parser",
- "version": "7.7.5",
- "description": "A JavaScript parser",
- "author": "Sebastian McKenzie ",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "keywords": [
- "babel",
- "javascript",
- "parser",
- "tc39",
- "ecmascript",
- "@babel/parser"
- ],
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-parser",
- "main": "lib/index.js",
- "types": "typings/babel-parser.d.ts",
- "files": [
- "bin",
- "lib",
- "typings"
- ],
- "engines": {
- "node": ">=6.0.0"
- },
- "devDependencies": {
- "@babel/code-frame": "^7.5.5",
- "@babel/helper-fixtures": "^7.6.3",
- "charcodes": "^0.2.0",
- "unicode-12.0.0": "^0.7.9"
- },
- "bin": {
- "parser": "./bin/babel-parser.js"
- },
- "gitHead": "d04508e510abc624b3e423ff334eff47f297502a"
-}
diff --git a/tgui-next/node_modules/@babel/parser/typings/babel-parser.d.ts b/tgui-next/node_modules/@babel/parser/typings/babel-parser.d.ts
deleted file mode 100644
index 4016108099..0000000000
--- a/tgui-next/node_modules/@babel/parser/typings/babel-parser.d.ts
+++ /dev/null
@@ -1,146 +0,0 @@
-// Type definitions for @babel/parser
-// Project: https://github.com/babel/babel/tree/master/packages/babel-parser
-// Definitions by: Troy Gerwien
-// Marvin Hagemeister
-// Avi Vahl
-// TypeScript Version: 2.9
-
-/**
- * Parse the provided code as an entire ECMAScript program.
- */
-export function parse(input: string, options?: ParserOptions): import('@babel/types').File;
-
-/**
- * Parse the provided code as a single expression.
- */
-export function parseExpression(input: string, options?: ParserOptions): import('@babel/types').Expression;
-
-export interface ParserOptions {
- /**
- * By default, import and export declarations can only appear at a program's top level.
- * Setting this option to true allows them anywhere where a statement is allowed.
- */
- allowImportExportEverywhere?: boolean;
-
- /**
- * By default, await use is not allowed outside of an async function.
- * Set this to true to accept such code.
- */
- allowAwaitOutsideFunction?: boolean;
-
- /**
- * By default, a return statement at the top level raises an error.
- * Set this to true to accept such code.
- */
- allowReturnOutsideFunction?: boolean;
-
- allowSuperOutsideMethod?: boolean;
-
- /**
- * By default, exported identifiers must refer to a declared variable.
- * Set this to true to allow export statements to reference undeclared variables.
- */
- allowUndeclaredExports?: boolean;
-
- /**
- * Indicate the mode the code should be parsed in.
- * Can be one of "script", "module", or "unambiguous". Defaults to "script".
- * "unambiguous" will make @babel/parser attempt to guess, based on the presence
- * of ES6 import or export statements.
- * Files with ES6 imports and exports are considered "module" and are otherwise "script".
- */
- sourceType?: 'script' | 'module' | 'unambiguous';
-
- /**
- * Correlate output AST nodes with their source filename.
- * Useful when generating code and source maps from the ASTs of multiple input files.
- */
- sourceFilename?: string;
-
- /**
- * By default, the first line of code parsed is treated as line 1.
- * You can provide a line number to alternatively start with.
- * Useful for integration with other source tools.
- */
- startLine?: number;
-
- /**
- * Array containing the plugins that you want to enable.
- */
- plugins?: ParserPlugin[];
-
- /**
- * Should the parser work in strict mode.
- * Defaults to true if sourceType === 'module'. Otherwise, false.
- */
- strictMode?: boolean;
-
- /**
- * Adds a ranges property to each node: [node.start, node.end]
- */
- ranges?: boolean;
-
- /**
- * Adds all parsed tokens to a tokens property on the File node.
- */
- tokens?: boolean;
-
- /**
- * By default, the parser adds information about parentheses by setting
- * `extra.parenthesized` to `true` as needed.
- * When this option is `true` the parser creates `ParenthesizedExpression`
- * AST nodes instead of using the `extra` property.
- */
- createParenthesizedExpressions?: boolean;
-}
-
-export type ParserPlugin =
- 'asyncGenerators' |
- 'bigInt' |
- 'classPrivateMethods' |
- 'classPrivateProperties' |
- 'classProperties' |
- 'decorators' |
- 'decorators-legacy' |
- 'doExpressions' |
- 'dynamicImport' |
- 'estree' |
- 'exportDefaultFrom' |
- 'exportNamespaceFrom' | // deprecated
- 'flow' |
- 'flowComments' |
- 'functionBind' |
- 'functionSent' |
- 'importMeta' |
- 'jsx' |
- 'logicalAssignment' |
- 'nullishCoalescingOperator' |
- 'numericSeparator' |
- 'objectRestSpread' |
- 'optionalCatchBinding' |
- 'optionalChaining' |
- 'partialApplication' |
- 'pipelineOperator' |
- 'placeholders' |
- 'throwExpressions' |
- 'topLevelAwait' |
- 'typescript' |
- 'v8intrinsic' |
- ParserPluginWithOptions;
-
-export type ParserPluginWithOptions =
- ['decorators', DecoratorsPluginOptions] |
- ['pipelineOperator', PipelineOperatorPluginOptions] |
- ['flow', FlowPluginOptions];
-
-export interface DecoratorsPluginOptions {
- decoratorsBeforeExport?: boolean;
-}
-
-export interface PipelineOperatorPluginOptions {
- proposal: 'minimal' | 'smart';
-}
-
-export interface FlowPluginOptions {
- all?: boolean;
-}
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-async-generator-functions/LICENSE b/tgui-next/node_modules/@babel/plugin-proposal-async-generator-functions/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-async-generator-functions/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-async-generator-functions/README.md b/tgui-next/node_modules/@babel/plugin-proposal-async-generator-functions/README.md
deleted file mode 100644
index f4649ae65e..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-async-generator-functions/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-proposal-async-generator-functions
-
-> Turn async generator functions into ES2015 generators
-
-See our website [@babel/plugin-proposal-async-generator-functions](https://babeljs.io/docs/en/next/babel-plugin-proposal-async-generator-functions.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-proposal-async-generator-functions
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-proposal-async-generator-functions --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-async-generator-functions/package.json b/tgui-next/node_modules/@babel/plugin-proposal-async-generator-functions/package.json
deleted file mode 100644
index 9db9aa455b..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-async-generator-functions/package.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "name": "@babel/plugin-proposal-async-generator-functions",
- "version": "7.7.4",
- "description": "Turn async generator functions into ES2015 generators",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-async-generator-functions",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-remap-async-to-generator": "^7.7.4",
- "@babel/plugin-syntax-async-generators": "^7.7.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-dynamic-import/LICENSE b/tgui-next/node_modules/@babel/plugin-proposal-dynamic-import/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-dynamic-import/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-dynamic-import/README.md b/tgui-next/node_modules/@babel/plugin-proposal-dynamic-import/README.md
deleted file mode 100644
index 0f49cf4545..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-dynamic-import/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-proposal-dynamic-import
-
-> Transform import() expressions
-
-See our website [@babel/plugin-proposal-dynamic-import](https://babeljs.io/docs/en/next/babel-plugin-proposal-dynamic-import.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-proposal-dynamic-import
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-proposal-dynamic-import --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-dynamic-import/package.json b/tgui-next/node_modules/@babel/plugin-proposal-dynamic-import/package.json
deleted file mode 100644
index 82abe939fd..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-dynamic-import/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "@babel/plugin-proposal-dynamic-import",
- "version": "7.7.4",
- "description": "Transform import() expressions",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-dynamic-import",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-dynamic-import": "^7.7.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-json-strings/LICENSE b/tgui-next/node_modules/@babel/plugin-proposal-json-strings/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-json-strings/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-json-strings/README.md b/tgui-next/node_modules/@babel/plugin-proposal-json-strings/README.md
deleted file mode 100644
index 800dc7f74c..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-json-strings/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-proposal-json-strings
-
-> Escape U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR in JS strings
-
-See our website [@babel/plugin-proposal-json-strings](https://babeljs.io/docs/en/next/babel-plugin-proposal-json-strings.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-proposal-json-strings
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-proposal-json-strings --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-json-strings/package.json b/tgui-next/node_modules/@babel/plugin-proposal-json-strings/package.json
deleted file mode 100644
index 1c2638e5b7..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-json-strings/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "@babel/plugin-proposal-json-strings",
- "version": "7.7.4",
- "description": "Escape U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR in JS strings",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-json-strings",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-json-strings": "^7.7.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-object-rest-spread/LICENSE b/tgui-next/node_modules/@babel/plugin-proposal-object-rest-spread/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-object-rest-spread/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-object-rest-spread/README.md b/tgui-next/node_modules/@babel/plugin-proposal-object-rest-spread/README.md
deleted file mode 100644
index 375d3db4aa..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-object-rest-spread/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-proposal-object-rest-spread
-
-> Compile object rest and spread to ES5
-
-See our website [@babel/plugin-proposal-object-rest-spread](https://babeljs.io/docs/en/next/babel-plugin-proposal-object-rest-spread.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-proposal-object-rest-spread
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-proposal-object-rest-spread --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-object-rest-spread/package.json b/tgui-next/node_modules/@babel/plugin-proposal-object-rest-spread/package.json
deleted file mode 100644
index d7df41919b..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-object-rest-spread/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "@babel/plugin-proposal-object-rest-spread",
- "version": "7.7.4",
- "description": "Compile object rest and spread to ES5",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-object-rest-spread",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-object-rest-spread": "^7.7.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-optional-catch-binding/LICENSE b/tgui-next/node_modules/@babel/plugin-proposal-optional-catch-binding/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-optional-catch-binding/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-optional-catch-binding/README.md b/tgui-next/node_modules/@babel/plugin-proposal-optional-catch-binding/README.md
deleted file mode 100644
index 79e45f67ec..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-optional-catch-binding/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-proposal-optional-catch-binding
-
-> Compile optional catch bindings
-
-See our website [@babel/plugin-proposal-optional-catch-binding](https://babeljs.io/docs/en/next/babel-plugin-proposal-optional-catch-binding.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-proposal-optional-catch-binding
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-proposal-optional-catch-binding --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-optional-catch-binding/package.json b/tgui-next/node_modules/@babel/plugin-proposal-optional-catch-binding/package.json
deleted file mode 100644
index 4e74cf7734..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-optional-catch-binding/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "@babel/plugin-proposal-optional-catch-binding",
- "version": "7.7.4",
- "description": "Compile optional catch bindings",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-optional-catch-binding",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-optional-catch-binding": "^7.7.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/LICENSE b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/README.md b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/README.md
deleted file mode 100644
index d0f773a648..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-proposal-unicode-property-regex
-
-> Compile Unicode property escapes in Unicode regular expressions to ES5.
-
-See our website [@babel/plugin-proposal-unicode-property-regex](https://babeljs.io/docs/en/next/babel-plugin-proposal-unicode-property-regex.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-proposal-unicode-property-regex
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-proposal-unicode-property-regex --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/package.json b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/package.json
deleted file mode 100644
index 2a47f46d58..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/package.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "name": "@babel/plugin-proposal-unicode-property-regex",
- "version": "7.7.4",
- "description": "Compile Unicode property escapes in Unicode regular expressions to ES5.",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "engines": {
- "node": ">=4"
- },
- "keywords": [
- "babel-plugin",
- "regex",
- "regexp",
- "regular expressions",
- "unicode properties",
- "unicode"
- ],
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-unicode-property-regex",
- "bugs": "https://github.com/babel/babel/issues",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/src/index.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/src/index.js
deleted file mode 100644
index bf76031cbf..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/src/index.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/* eslint-disable @babel/development/plugin-name */
-import { createRegExpFeaturePlugin } from "@babel/helper-create-regexp-features-plugin";
-import { declare } from "@babel/helper-plugin-utils";
-
-export default declare((api, options) => {
- api.assertVersion(7);
-
- const { useUnicodeFlag = true } = options;
- if (typeof useUnicodeFlag !== "boolean") {
- throw new Error(".useUnicodeFlag must be a boolean, or undefined");
- }
-
- return createRegExpFeaturePlugin({
- name: "proposal-unicode-property-regex",
- feature: "unicodePropertyEscape",
- options: { useUnicodeFlag },
- });
-});
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/options.json b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/options.json
deleted file mode 100644
index 09f2f73ab8..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/options.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "plugins": [
- [
- "proposal-unicode-property-regex",
- {
- "useUnicodeFlag": true
- }
- ]
- ]
-}
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/script-extensions/input.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/script-extensions/input.js
deleted file mode 100644
index 9edf9daa0f..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/script-extensions/input.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /\p{Script_Extensions=Anatolian_Hieroglyphs}/u;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/script-extensions/output.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/script-extensions/output.js
deleted file mode 100644
index 25dfc454c4..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/script-extensions/output.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /[\u{14400}-\u{14646}]/u;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/simple/input.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/simple/input.js
deleted file mode 100644
index 7770f8eaa4..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/simple/input.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /\p{ASCII_Hex_Digit}/u;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/simple/output.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/simple/output.js
deleted file mode 100644
index cea790a2d4..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/simple/output.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /[0-9A-Fa-f]/u;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-10/input.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-10/input.js
deleted file mode 100644
index 3af0a331cf..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-10/input.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /\p{Regional_Indicator}/u;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-10/output.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-10/output.js
deleted file mode 100644
index 6e60a4f5c0..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-10/output.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /[\u{1F1E6}-\u{1F1FF}]/u;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-11/input.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-11/input.js
deleted file mode 100644
index 0de116d6ac..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-11/input.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /\p{Script_Extensions=Makasar}/u;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-11/output.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-11/output.js
deleted file mode 100644
index f94cd44c01..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-11/output.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /[\u{11EE0}-\u{11EF8}]/u;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-12/input.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-12/input.js
deleted file mode 100644
index e50ab9eb68..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-12/input.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /[\p{Script_Extensions=Wancho}]/u;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-12/output.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-12/output.js
deleted file mode 100644
index 711dde943b..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/unicode-12/output.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /[\u{1E2C0}-\u{1E2F9}\u{1E2FF}]/u;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/options.json b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/options.json
deleted file mode 100644
index a78ced443e..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/options.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "plugins": [
- [
- "proposal-unicode-property-regex",
- {
- "useUnicodeFlag": false
- }
- ]
- ]
-}
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/script-extensions/input.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/script-extensions/input.js
deleted file mode 100644
index 9edf9daa0f..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/script-extensions/input.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /\p{Script_Extensions=Anatolian_Hieroglyphs}/u;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/script-extensions/output.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/script-extensions/output.js
deleted file mode 100644
index f9bb33a754..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/script-extensions/output.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /(?:\uD811[\uDC00-\uDE46])/;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/simple/input.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/simple/input.js
deleted file mode 100644
index 7770f8eaa4..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/simple/input.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /\p{ASCII_Hex_Digit}/u;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/simple/output.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/simple/output.js
deleted file mode 100644
index 5b17db1764..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/simple/output.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /[0-9A-Fa-f]/;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-10/input.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-10/input.js
deleted file mode 100644
index 3af0a331cf..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-10/input.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /\p{Regional_Indicator}/u;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-10/output.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-10/output.js
deleted file mode 100644
index 8339aeeff1..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-10/output.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /(?:\uD83C[\uDDE6-\uDDFF])/;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-11/input.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-11/input.js
deleted file mode 100644
index 0de116d6ac..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-11/input.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /\p{Script_Extensions=Makasar}/u;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-11/output.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-11/output.js
deleted file mode 100644
index 905013181b..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-11/output.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /(?:\uD807[\uDEE0-\uDEF8])/;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-12/input.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-12/input.js
deleted file mode 100644
index f563d323bd..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-12/input.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /\p{Script_Extensions=Wancho}/u;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-12/output.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-12/output.js
deleted file mode 100644
index 941a22ba2c..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/unicode-12/output.js
+++ /dev/null
@@ -1 +0,0 @@
-var regex = /(?:\uD838[\uDEC0-\uDEF9\uDEFF])/;
diff --git a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/index.js b/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/index.js
deleted file mode 100644
index 8c71ab59f5..0000000000
--- a/tgui-next/node_modules/@babel/plugin-proposal-unicode-property-regex/test/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import runner from "@babel/helper-plugin-test-runner";
-runner(__dirname);
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-async-generators/LICENSE b/tgui-next/node_modules/@babel/plugin-syntax-async-generators/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-async-generators/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-async-generators/README.md b/tgui-next/node_modules/@babel/plugin-syntax-async-generators/README.md
deleted file mode 100644
index 4fdb68df56..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-async-generators/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-syntax-async-generators
-
-> Allow parsing of async generator functions
-
-See our website [@babel/plugin-syntax-async-generators](https://babeljs.io/docs/en/next/babel-plugin-syntax-async-generators.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-syntax-async-generators
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-syntax-async-generators --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-async-generators/package.json b/tgui-next/node_modules/@babel/plugin-syntax-async-generators/package.json
deleted file mode 100644
index 66298a2f99..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-async-generators/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@babel/plugin-syntax-async-generators",
- "version": "7.7.4",
- "description": "Allow parsing of async generator functions",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-async-generators",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-dynamic-import/LICENSE b/tgui-next/node_modules/@babel/plugin-syntax-dynamic-import/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-dynamic-import/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-dynamic-import/README.md b/tgui-next/node_modules/@babel/plugin-syntax-dynamic-import/README.md
deleted file mode 100644
index 127903505f..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-dynamic-import/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-syntax-dynamic-import
-
-> Allow parsing of import()
-
-See our website [@babel/plugin-syntax-dynamic-import](https://babeljs.io/docs/en/next/babel-plugin-syntax-dynamic-import.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-syntax-dynamic-import
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-syntax-dynamic-import --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-dynamic-import/package.json b/tgui-next/node_modules/@babel/plugin-syntax-dynamic-import/package.json
deleted file mode 100644
index a149741715..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-dynamic-import/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@babel/plugin-syntax-dynamic-import",
- "version": "7.7.4",
- "description": "Allow parsing of import()",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-dynamic-import",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-json-strings/LICENSE b/tgui-next/node_modules/@babel/plugin-syntax-json-strings/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-json-strings/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-json-strings/README.md b/tgui-next/node_modules/@babel/plugin-syntax-json-strings/README.md
deleted file mode 100644
index 03c00a2d17..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-json-strings/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-syntax-json-strings
-
-> Allow parsing of the U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR in JS strings
-
-See our website [@babel/plugin-syntax-json-strings](https://babeljs.io/docs/en/next/babel-plugin-syntax-json-strings.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-syntax-json-strings
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-syntax-json-strings --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-json-strings/package.json b/tgui-next/node_modules/@babel/plugin-syntax-json-strings/package.json
deleted file mode 100644
index e1470f8602..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-json-strings/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@babel/plugin-syntax-json-strings",
- "version": "7.7.4",
- "description": "Allow parsing of the U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR in JS strings",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-json-strings",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-jsx/LICENSE b/tgui-next/node_modules/@babel/plugin-syntax-jsx/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-jsx/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-jsx/README.md b/tgui-next/node_modules/@babel/plugin-syntax-jsx/README.md
deleted file mode 100644
index 83d45902cc..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-jsx/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-syntax-jsx
-
-> Allow parsing of jsx
-
-See our website [@babel/plugin-syntax-jsx](https://babeljs.io/docs/en/next/babel-plugin-syntax-jsx.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-syntax-jsx
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-syntax-jsx --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-jsx/package.json b/tgui-next/node_modules/@babel/plugin-syntax-jsx/package.json
deleted file mode 100644
index ce2861c1bd..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-jsx/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@babel/plugin-syntax-jsx",
- "version": "7.7.4",
- "description": "Allow parsing of jsx",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-jsx",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-object-rest-spread/LICENSE b/tgui-next/node_modules/@babel/plugin-syntax-object-rest-spread/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-object-rest-spread/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-object-rest-spread/README.md b/tgui-next/node_modules/@babel/plugin-syntax-object-rest-spread/README.md
deleted file mode 100644
index 95c4472ebe..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-object-rest-spread/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-syntax-object-rest-spread
-
-> Allow parsing of object rest/spread
-
-See our website [@babel/plugin-syntax-object-rest-spread](https://babeljs.io/docs/en/next/babel-plugin-syntax-object-rest-spread.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-syntax-object-rest-spread
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-syntax-object-rest-spread --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-object-rest-spread/package.json b/tgui-next/node_modules/@babel/plugin-syntax-object-rest-spread/package.json
deleted file mode 100644
index b3de03d913..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-object-rest-spread/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@babel/plugin-syntax-object-rest-spread",
- "version": "7.7.4",
- "description": "Allow parsing of object rest/spread",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-object-rest-spread",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-optional-catch-binding/LICENSE b/tgui-next/node_modules/@babel/plugin-syntax-optional-catch-binding/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-optional-catch-binding/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-optional-catch-binding/README.md b/tgui-next/node_modules/@babel/plugin-syntax-optional-catch-binding/README.md
deleted file mode 100644
index 9085f9180c..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-optional-catch-binding/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-syntax-optional-catch-binding
-
-> Allow parsing of optional catch bindings
-
-See our website [@babel/plugin-syntax-optional-catch-binding](https://babeljs.io/docs/en/next/babel-plugin-syntax-optional-catch-binding.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-syntax-optional-catch-binding
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-syntax-optional-catch-binding --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-optional-catch-binding/package.json b/tgui-next/node_modules/@babel/plugin-syntax-optional-catch-binding/package.json
deleted file mode 100644
index 7ed9e0369b..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-optional-catch-binding/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@babel/plugin-syntax-optional-catch-binding",
- "version": "7.7.4",
- "description": "Allow parsing of optional catch bindings",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-catch-binding",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-top-level-await/LICENSE b/tgui-next/node_modules/@babel/plugin-syntax-top-level-await/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-top-level-await/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-top-level-await/README.md b/tgui-next/node_modules/@babel/plugin-syntax-top-level-await/README.md
deleted file mode 100644
index 476cb27d6b..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-top-level-await/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-syntax-top-level-await
-
-> Allow parsing of top-level await in modules
-
-See our website [@babel/plugin-syntax-top-level-await](https://babeljs.io/docs/en/next/babel-plugin-syntax-top-level-await.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-syntax-top-level-await
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-syntax-top-level-await --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-syntax-top-level-await/package.json b/tgui-next/node_modules/@babel/plugin-syntax-top-level-await/package.json
deleted file mode 100644
index eb95c872da..0000000000
--- a/tgui-next/node_modules/@babel/plugin-syntax-top-level-await/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@babel/plugin-syntax-top-level-await",
- "version": "7.7.4",
- "description": "Allow parsing of top-level await in modules",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-top-level-await",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-arrow-functions/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-arrow-functions/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-arrow-functions/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-arrow-functions/README.md b/tgui-next/node_modules/@babel/plugin-transform-arrow-functions/README.md
deleted file mode 100644
index fd3fbee731..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-arrow-functions/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-arrow-functions
-
-> Compile ES2015 arrow functions to ES5
-
-See our website [@babel/plugin-transform-arrow-functions](https://babeljs.io/docs/en/next/babel-plugin-transform-arrow-functions.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-arrow-functions
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-arrow-functions --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-arrow-functions/package.json b/tgui-next/node_modules/@babel/plugin-transform-arrow-functions/package.json
deleted file mode 100644
index 339fbe4ccd..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-arrow-functions/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "@babel/plugin-transform-arrow-functions",
- "version": "7.7.4",
- "description": "Compile ES2015 arrow functions to ES5",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-arrow-functions",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4",
- "@babel/traverse": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-async-to-generator/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-async-to-generator/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-async-to-generator/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-async-to-generator/README.md b/tgui-next/node_modules/@babel/plugin-transform-async-to-generator/README.md
deleted file mode 100644
index a8ca0a3877..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-async-to-generator/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-async-to-generator
-
-> Turn async functions into ES2015 generators
-
-See our website [@babel/plugin-transform-async-to-generator](https://babeljs.io/docs/en/next/babel-plugin-transform-async-to-generator.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-async-to-generator
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-async-to-generator --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-async-to-generator/package.json b/tgui-next/node_modules/@babel/plugin-transform-async-to-generator/package.json
deleted file mode 100644
index ec66728fbc..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-async-to-generator/package.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "name": "@babel/plugin-transform-async-to-generator",
- "version": "7.7.4",
- "description": "Turn async functions into ES2015 generators",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-async-to-generator",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-module-imports": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-remap-async-to-generator": "^7.7.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-block-scoped-functions/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-block-scoped-functions/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-block-scoped-functions/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-block-scoped-functions/README.md b/tgui-next/node_modules/@babel/plugin-transform-block-scoped-functions/README.md
deleted file mode 100644
index c45cbeeda1..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-block-scoped-functions/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-block-scoped-functions
-
-> Babel plugin to ensure function declarations at the block level are block scoped
-
-See our website [@babel/plugin-transform-block-scoped-functions](https://babeljs.io/docs/en/next/babel-plugin-transform-block-scoped-functions.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-block-scoped-functions
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-block-scoped-functions --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-block-scoped-functions/package.json b/tgui-next/node_modules/@babel/plugin-transform-block-scoped-functions/package.json
deleted file mode 100644
index 4c16ca7ecb..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-block-scoped-functions/package.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "@babel/plugin-transform-block-scoped-functions",
- "version": "7.7.4",
- "description": "Babel plugin to ensure function declarations at the block level are block scoped",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-block-scoped-functions",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-block-scoping/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-block-scoping/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-block-scoping/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-block-scoping/README.md b/tgui-next/node_modules/@babel/plugin-transform-block-scoping/README.md
deleted file mode 100644
index 4895b93dae..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-block-scoping/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-block-scoping
-
-> Compile ES2015 block scoping (const and let) to ES5
-
-See our website [@babel/plugin-transform-block-scoping](https://babeljs.io/docs/en/next/babel-plugin-transform-block-scoping.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-block-scoping
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-block-scoping --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-block-scoping/package.json b/tgui-next/node_modules/@babel/plugin-transform-block-scoping/package.json
deleted file mode 100644
index 71528f39e8..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-block-scoping/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "@babel/plugin-transform-block-scoping",
- "version": "7.7.4",
- "description": "Compile ES2015 block scoping (const and let) to ES5",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-block-scoping",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "lodash": "^4.17.13"
- },
- "keywords": [
- "babel-plugin"
- ],
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-classes/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-classes/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-classes/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-classes/README.md b/tgui-next/node_modules/@babel/plugin-transform-classes/README.md
deleted file mode 100644
index 34f47af4fa..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-classes/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-classes
-
-> Compile ES2015 classes to ES5
-
-See our website [@babel/plugin-transform-classes](https://babeljs.io/docs/en/next/babel-plugin-transform-classes.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-classes
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-classes --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-classes/package.json b/tgui-next/node_modules/@babel/plugin-transform-classes/package.json
deleted file mode 100644
index 6ba2fe3e8b..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-classes/package.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "name": "@babel/plugin-transform-classes",
- "version": "7.7.4",
- "description": "Compile ES2015 classes to ES5",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-classes",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.7.4",
- "@babel/helper-define-map": "^7.7.4",
- "@babel/helper-function-name": "^7.7.4",
- "@babel/helper-optimise-call-expression": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-replace-supers": "^7.7.4",
- "@babel/helper-split-export-declaration": "^7.7.4",
- "globals": "^11.1.0"
- },
- "keywords": [
- "babel-plugin"
- ],
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-computed-properties/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-computed-properties/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-computed-properties/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-computed-properties/README.md b/tgui-next/node_modules/@babel/plugin-transform-computed-properties/README.md
deleted file mode 100644
index e6fd70ab5b..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-computed-properties/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-computed-properties
-
-> Compile ES2015 computed properties to ES5
-
-See our website [@babel/plugin-transform-computed-properties](https://babeljs.io/docs/en/next/babel-plugin-transform-computed-properties.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-computed-properties
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-computed-properties --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-computed-properties/package.json b/tgui-next/node_modules/@babel/plugin-transform-computed-properties/package.json
deleted file mode 100644
index 03aa517fa7..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-computed-properties/package.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "@babel/plugin-transform-computed-properties",
- "version": "7.7.4",
- "description": "Compile ES2015 computed properties to ES5",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-computed-properties",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-destructuring/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-destructuring/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-destructuring/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-destructuring/README.md b/tgui-next/node_modules/@babel/plugin-transform-destructuring/README.md
deleted file mode 100644
index 4c866eab2f..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-destructuring/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-destructuring
-
-> Compile ES2015 destructuring to ES5
-
-See our website [@babel/plugin-transform-destructuring](https://babeljs.io/docs/en/next/babel-plugin-transform-destructuring.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-destructuring
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-destructuring --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-destructuring/package.json b/tgui-next/node_modules/@babel/plugin-transform-destructuring/package.json
deleted file mode 100644
index 34825ec48f..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-destructuring/package.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "@babel/plugin-transform-destructuring",
- "version": "7.7.4",
- "description": "Compile ES2015 destructuring to ES5",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-destructuring",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/README.md b/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/README.md
deleted file mode 100644
index 6c501d912e..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-dotall-regex
-
-> Compile regular expressions using the `s` (`dotAll`) flag to ES5.
-
-See our website [@babel/plugin-transform-dotall-regex](https://babeljs.io/docs/en/next/babel-plugin-transform-dotall-regex.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-dotall-regex
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-dotall-regex --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/package.json b/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/package.json
deleted file mode 100644
index bb80a620b1..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/package.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "name": "@babel/plugin-transform-dotall-regex",
- "version": "7.7.4",
- "description": "Compile regular expressions using the `s` (`dotAll`) flag to ES5.",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin",
- "regex",
- "regexp",
- "regular expressions",
- "dotall"
- ],
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-dotall-regex",
- "bugs": "https://github.com/babel/babel/issues",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/src/index.js b/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/src/index.js
deleted file mode 100644
index a419610769..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/src/index.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/* eslint-disable @babel/development/plugin-name */
-import { createRegExpFeaturePlugin } from "@babel/helper-create-regexp-features-plugin";
-import { declare } from "@babel/helper-plugin-utils";
-
-export default declare(api => {
- api.assertVersion(7);
-
- return createRegExpFeaturePlugin({
- name: "transform-dotall-regex",
- feature: "dotAllFlag",
- });
-});
diff --git a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/options.json b/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/options.json
deleted file mode 100644
index 971351e11b..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/options.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "plugins": ["transform-dotall-regex"]
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/simple/input.js b/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/simple/input.js
deleted file mode 100644
index bf1243961a..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/simple/input.js
+++ /dev/null
@@ -1,2 +0,0 @@
-var a = /./;
-var b = /./s;
diff --git a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/simple/output.js b/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/simple/output.js
deleted file mode 100644
index 283718ce96..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/simple/output.js
+++ /dev/null
@@ -1,2 +0,0 @@
-var a = /./;
-var b = /[\s\S]/;
diff --git a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-flag/input.js b/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-flag/input.js
deleted file mode 100644
index 9ca7da3e38..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-flag/input.js
+++ /dev/null
@@ -1,2 +0,0 @@
-var a = /./u;
-var b = /./su;
diff --git a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-flag/output.js b/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-flag/output.js
deleted file mode 100644
index bb1b222ac4..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-flag/output.js
+++ /dev/null
@@ -1,2 +0,0 @@
-var a = /./u;
-var b = /[\0-\u{10FFFF}]/u;
diff --git a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-property-escape/input.js b/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-property-escape/input.js
deleted file mode 100644
index dc74dbc0d6..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-property-escape/input.js
+++ /dev/null
@@ -1,2 +0,0 @@
-var a = /\p{Unified_Ideograph}./u;
-var b = /\p{Unified_Ideograph}./su;
diff --git a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-property-escape/options.json b/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-property-escape/options.json
deleted file mode 100644
index 2078653dce..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-property-escape/options.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "plugins": ["transform-dotall-regex", "proposal-unicode-property-regex"]
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-property-escape/output.js b/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-property-escape/output.js
deleted file mode 100644
index a8ddf757d9..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/fixtures/dotall-regex/with-unicode-property-escape/output.js
+++ /dev/null
@@ -1,2 +0,0 @@
-var a = /[\u3400-\u4DB5\u4E00-\u9FEF\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29\u{20000}-\u{2A6D6}\u{2A700}-\u{2B734}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}][\0-\t\x0B\f\x0E-\u2027\u202A-\u{10FFFF}]/u;
-var b = /[\u3400-\u4DB5\u4E00-\u9FEF\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29\u{20000}-\u{2A6D6}\u{2A700}-\u{2B734}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}][\0-\u{10FFFF}]/u;
diff --git a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/index.js b/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/index.js
deleted file mode 100644
index 8c71ab59f5..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-dotall-regex/test/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import runner from "@babel/helper-plugin-test-runner";
-runner(__dirname);
diff --git a/tgui-next/node_modules/@babel/plugin-transform-duplicate-keys/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-duplicate-keys/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-duplicate-keys/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-duplicate-keys/README.md b/tgui-next/node_modules/@babel/plugin-transform-duplicate-keys/README.md
deleted file mode 100644
index 5c4d4f66ab..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-duplicate-keys/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-duplicate-keys
-
-> Compile objects with duplicate keys to valid strict ES5
-
-See our website [@babel/plugin-transform-duplicate-keys](https://babeljs.io/docs/en/next/babel-plugin-transform-duplicate-keys.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-duplicate-keys
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-duplicate-keys --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-duplicate-keys/package.json b/tgui-next/node_modules/@babel/plugin-transform-duplicate-keys/package.json
deleted file mode 100644
index d84944d526..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-duplicate-keys/package.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "@babel/plugin-transform-duplicate-keys",
- "version": "7.7.4",
- "description": "Compile objects with duplicate keys to valid strict ES5",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-duplicate-keys",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-exponentiation-operator/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-exponentiation-operator/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-exponentiation-operator/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-exponentiation-operator/README.md b/tgui-next/node_modules/@babel/plugin-transform-exponentiation-operator/README.md
deleted file mode 100644
index a59cc8290e..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-exponentiation-operator/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-exponentiation-operator
-
-> Compile exponentiation operator to ES5
-
-See our website [@babel/plugin-transform-exponentiation-operator](https://babeljs.io/docs/en/next/babel-plugin-transform-exponentiation-operator.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-exponentiation-operator
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-exponentiation-operator --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-exponentiation-operator/package.json b/tgui-next/node_modules/@babel/plugin-transform-exponentiation-operator/package.json
deleted file mode 100644
index e69e2dd101..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-exponentiation-operator/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "@babel/plugin-transform-exponentiation-operator",
- "version": "7.7.4",
- "description": "Compile exponentiation operator to ES5",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-exponentiation-operator",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-for-of/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-for-of/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-for-of/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-for-of/README.md b/tgui-next/node_modules/@babel/plugin-transform-for-of/README.md
deleted file mode 100644
index 6e599cfe6d..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-for-of/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-for-of
-
-> Compile ES2015 for...of to ES5
-
-See our website [@babel/plugin-transform-for-of](https://babeljs.io/docs/en/next/babel-plugin-transform-for-of.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-for-of
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-for-of --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-for-of/package.json b/tgui-next/node_modules/@babel/plugin-transform-for-of/package.json
deleted file mode 100644
index 16575a9ab3..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-for-of/package.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "@babel/plugin-transform-for-of",
- "version": "7.7.4",
- "description": "Compile ES2015 for...of to ES5",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-for-of",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-function-name/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-function-name/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-function-name/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-function-name/README.md b/tgui-next/node_modules/@babel/plugin-transform-function-name/README.md
deleted file mode 100644
index 11c7f9a81b..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-function-name/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-function-name
-
-> Apply ES2015 function.name semantics to all functions
-
-See our website [@babel/plugin-transform-function-name](https://babeljs.io/docs/en/next/babel-plugin-transform-function-name.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-function-name
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-function-name --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-function-name/package.json b/tgui-next/node_modules/@babel/plugin-transform-function-name/package.json
deleted file mode 100644
index 85a6aa5af1..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-function-name/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "@babel/plugin-transform-function-name",
- "version": "7.7.4",
- "description": "Apply ES2015 function.name semantics to all functions",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-function-name",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-function-name": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-jscript/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-jscript/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-jscript/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-jscript/README.md b/tgui-next/node_modules/@babel/plugin-transform-jscript/README.md
deleted file mode 100644
index 0cf44552e4..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-jscript/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-jscript
-
-> Babel plugin to fix buggy JScript named function expressions
-
-See our website [@babel/plugin-transform-jscript](https://babeljs.io/docs/en/next/babel-plugin-transform-jscript.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-jscript
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-jscript --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-jscript/package.json b/tgui-next/node_modules/@babel/plugin-transform-jscript/package.json
deleted file mode 100644
index fbac223d2a..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-jscript/package.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "@babel/plugin-transform-jscript",
- "version": "7.7.4",
- "description": "Babel plugin to fix buggy JScript named function expressions",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-jscript",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-literals/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-literals/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-literals/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-literals/README.md b/tgui-next/node_modules/@babel/plugin-transform-literals/README.md
deleted file mode 100644
index 0f9723063c..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-literals/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-literals
-
-> Compile ES2015 Unicode string and number literals to ES5
-
-See our website [@babel/plugin-transform-literals](https://babeljs.io/docs/en/next/babel-plugin-transform-literals.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-literals
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-literals --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-literals/package.json b/tgui-next/node_modules/@babel/plugin-transform-literals/package.json
deleted file mode 100644
index 8e6b53e83b..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-literals/package.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "@babel/plugin-transform-literals",
- "version": "7.7.4",
- "description": "Compile ES2015 unicode string and number literals to ES5",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-literals",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-member-expression-literals/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-member-expression-literals/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-member-expression-literals/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-member-expression-literals/README.md b/tgui-next/node_modules/@babel/plugin-transform-member-expression-literals/README.md
deleted file mode 100644
index 8e125ebcc2..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-member-expression-literals/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-member-expression-literals
-
-> Ensure that reserved words are quoted in property accesses
-
-See our website [@babel/plugin-transform-member-expression-literals](https://babeljs.io/docs/en/next/babel-plugin-transform-member-expression-literals.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-member-expression-literals
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-member-expression-literals --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-member-expression-literals/package.json b/tgui-next/node_modules/@babel/plugin-transform-member-expression-literals/package.json
deleted file mode 100644
index 059bcf9d77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-member-expression-literals/package.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "@babel/plugin-transform-member-expression-literals",
- "version": "7.7.4",
- "description": "Ensure that reserved words are quoted in property accesses",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-member-expression-literals",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-modules-amd/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-modules-amd/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-modules-amd/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-modules-amd/README.md b/tgui-next/node_modules/@babel/plugin-transform-modules-amd/README.md
deleted file mode 100644
index 10506fef0f..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-modules-amd/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-modules-amd
-
-> This plugin transforms ES2015 modules to AMD
-
-See our website [@babel/plugin-transform-modules-amd](https://babeljs.io/docs/en/next/babel-plugin-transform-modules-amd.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-modules-amd
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-modules-amd --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-modules-amd/package.json b/tgui-next/node_modules/@babel/plugin-transform-modules-amd/package.json
deleted file mode 100644
index 4c392ab5c4..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-modules-amd/package.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "name": "@babel/plugin-transform-modules-amd",
- "version": "7.7.5",
- "description": "This plugin transforms ES2015 modules to AMD",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-amd",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-module-transforms": "^7.7.5",
- "@babel/helper-plugin-utils": "^7.0.0",
- "babel-plugin-dynamic-import-node": "^2.3.0"
- },
- "keywords": [
- "babel-plugin"
- ],
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.5",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "d04508e510abc624b3e423ff334eff47f297502a"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-modules-commonjs/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-modules-commonjs/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-modules-commonjs/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-modules-commonjs/README.md b/tgui-next/node_modules/@babel/plugin-transform-modules-commonjs/README.md
deleted file mode 100644
index c6b66c119c..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-modules-commonjs/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-modules-commonjs
-
-> This plugin transforms ES2015 modules to CommonJS
-
-See our website [@babel/plugin-transform-modules-commonjs](https://babeljs.io/docs/en/next/babel-plugin-transform-modules-commonjs.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-modules-commonjs
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-modules-commonjs --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-modules-commonjs/package.json b/tgui-next/node_modules/@babel/plugin-transform-modules-commonjs/package.json
deleted file mode 100644
index 0bc4e7e00a..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-modules-commonjs/package.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "@babel/plugin-transform-modules-commonjs",
- "version": "7.7.5",
- "description": "This plugin transforms ES2015 modules to CommonJS",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-commonjs",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-module-transforms": "^7.7.5",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-simple-access": "^7.7.4",
- "babel-plugin-dynamic-import-node": "^2.3.0"
- },
- "keywords": [
- "babel-plugin"
- ],
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.5",
- "@babel/helper-plugin-test-runner": "^7.7.4",
- "@babel/plugin-syntax-object-rest-spread": "^7.7.4"
- },
- "gitHead": "d04508e510abc624b3e423ff334eff47f297502a"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-modules-systemjs/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-modules-systemjs/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-modules-systemjs/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-modules-systemjs/README.md b/tgui-next/node_modules/@babel/plugin-transform-modules-systemjs/README.md
deleted file mode 100644
index 06be35813d..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-modules-systemjs/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-modules-systemjs
-
-> This plugin transforms ES2015 modules to SystemJS
-
-See our website [@babel/plugin-transform-modules-systemjs](https://babeljs.io/docs/en/next/babel-plugin-transform-modules-systemjs.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-modules-systemjs
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-modules-systemjs --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-modules-systemjs/package.json b/tgui-next/node_modules/@babel/plugin-transform-modules-systemjs/package.json
deleted file mode 100644
index 2dbb5b9e45..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-modules-systemjs/package.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "name": "@babel/plugin-transform-modules-systemjs",
- "version": "7.7.4",
- "description": "This plugin transforms ES2015 modules to SystemJS",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-systemjs",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-hoist-variables": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0",
- "babel-plugin-dynamic-import-node": "^2.3.0"
- },
- "keywords": [
- "babel-plugin"
- ],
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4",
- "@babel/plugin-syntax-dynamic-import": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-modules-umd/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-modules-umd/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-modules-umd/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-modules-umd/README.md b/tgui-next/node_modules/@babel/plugin-transform-modules-umd/README.md
deleted file mode 100644
index 9f31e1090a..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-modules-umd/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-modules-umd
-
-> This plugin transforms ES2015 modules to UMD
-
-See our website [@babel/plugin-transform-modules-umd](https://babeljs.io/docs/en/next/babel-plugin-transform-modules-umd.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-modules-umd
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-modules-umd --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-modules-umd/package.json b/tgui-next/node_modules/@babel/plugin-transform-modules-umd/package.json
deleted file mode 100644
index 2df4df046d..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-modules-umd/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "@babel/plugin-transform-modules-umd",
- "version": "7.7.4",
- "description": "This plugin transforms ES2015 modules to UMD",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-umd",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-module-transforms": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "keywords": [
- "babel-plugin"
- ],
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-named-capturing-groups-regex/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-named-capturing-groups-regex/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-named-capturing-groups-regex/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-named-capturing-groups-regex/README.md b/tgui-next/node_modules/@babel/plugin-transform-named-capturing-groups-regex/README.md
deleted file mode 100644
index a04992d5c6..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-named-capturing-groups-regex/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-named-capturing-groups-regex
-
-> Compile regular expressions using named groups to ES5.
-
-See our website [@babel/plugin-transform-named-capturing-groups-regex](https://babeljs.io/docs/en/next/babel-plugin-transform-named-capturing-groups-regex.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-named-capturing-groups-regex
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-named-capturing-groups-regex --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-named-capturing-groups-regex/package.json b/tgui-next/node_modules/@babel/plugin-transform-named-capturing-groups-regex/package.json
deleted file mode 100644
index e18d3efbee..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-named-capturing-groups-regex/package.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "name": "@babel/plugin-transform-named-capturing-groups-regex",
- "version": "7.7.4",
- "description": "Compile regular expressions using named groups to ES5.",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin",
- "regex",
- "regexp",
- "regular expressions"
- ],
- "repository": {
- "type": "git",
- "url": "https://github.com/babel/babel.git",
- "directory": "packages/babel-plugin-transform-named-capturing-groups-regex"
- },
- "bugs": "https://github.com/babel/babel/issues",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.7.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4",
- "core-js": "^3.2.1",
- "core-js-pure": "^3.2.1"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-new-target/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-new-target/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-new-target/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-new-target/README.md b/tgui-next/node_modules/@babel/plugin-transform-new-target/README.md
deleted file mode 100644
index 63d8aae311..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-new-target/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-new-target
-
-> Transforms new.target meta property
-
-See our website [@babel/plugin-transform-new-target](https://babeljs.io/docs/en/next/babel-plugin-transform-new-target.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-new-target
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-new-target --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-new-target/package.json b/tgui-next/node_modules/@babel/plugin-transform-new-target/package.json
deleted file mode 100644
index 3485d8d4dd..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-new-target/package.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "name": "@babel/plugin-transform-new-target",
- "version": "7.7.4",
- "description": "Transforms new.target meta property",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-new-target",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4",
- "@babel/plugin-proposal-class-properties": "^7.7.4",
- "@babel/plugin-transform-arrow-functions": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-object-super/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-object-super/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-object-super/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-object-super/README.md b/tgui-next/node_modules/@babel/plugin-transform-object-super/README.md
deleted file mode 100644
index 55cb4fcac4..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-object-super/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-object-super
-
-> Compile ES2015 object super to ES5
-
-See our website [@babel/plugin-transform-object-super](https://babeljs.io/docs/en/next/babel-plugin-transform-object-super.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-object-super
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-object-super --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-object-super/package.json b/tgui-next/node_modules/@babel/plugin-transform-object-super/package.json
deleted file mode 100644
index 3d14d327b3..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-object-super/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "@babel/plugin-transform-object-super",
- "version": "7.7.4",
- "description": "Compile ES2015 object super to ES5",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-object-super",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-replace-supers": "^7.7.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-parameters/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-parameters/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-parameters/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-parameters/README.md b/tgui-next/node_modules/@babel/plugin-transform-parameters/README.md
deleted file mode 100644
index 2d06e83efc..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-parameters/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-parameters
-
-> Compile ES2015 default and rest parameters to ES5
-
-See our website [@babel/plugin-transform-parameters](https://babeljs.io/docs/en/next/babel-plugin-transform-parameters.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-parameters
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-parameters --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-parameters/package.json b/tgui-next/node_modules/@babel/plugin-transform-parameters/package.json
deleted file mode 100644
index 1490588487..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-parameters/package.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "name": "@babel/plugin-transform-parameters",
- "version": "7.7.4",
- "description": "Compile ES2015 default and rest parameters to ES5",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-parameters",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-call-delegate": "^7.7.4",
- "@babel/helper-get-function-arity": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "keywords": [
- "babel-plugin"
- ],
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-property-literals/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-property-literals/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-property-literals/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-property-literals/README.md b/tgui-next/node_modules/@babel/plugin-transform-property-literals/README.md
deleted file mode 100644
index 2f71c2954a..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-property-literals/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-property-literals
-
-> Ensure that reserved words are quoted in object property keys
-
-See our website [@babel/plugin-transform-property-literals](https://babeljs.io/docs/en/next/babel-plugin-transform-property-literals.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-property-literals
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-property-literals --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-property-literals/package.json b/tgui-next/node_modules/@babel/plugin-transform-property-literals/package.json
deleted file mode 100644
index aa82991531..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-property-literals/package.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "@babel/plugin-transform-property-literals",
- "version": "7.7.4",
- "description": "Ensure that reserved words are quoted in object property keys",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-property-literals",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-regenerator/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-regenerator/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-regenerator/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-regenerator/README.md b/tgui-next/node_modules/@babel/plugin-transform-regenerator/README.md
deleted file mode 100644
index b10e313969..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-regenerator/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-regenerator
-
-> Explode async and generator functions into a state machine.
-
-See our website [@babel/plugin-transform-regenerator](https://babeljs.io/docs/en/next/babel-plugin-transform-regenerator.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-regenerator
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-regenerator --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-regenerator/package.json b/tgui-next/node_modules/@babel/plugin-transform-regenerator/package.json
deleted file mode 100644
index 2e0181ac21..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-regenerator/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@babel/plugin-transform-regenerator",
- "author": "Ben Newman ",
- "description": "Explode async and generator functions into a state machine.",
- "version": "7.7.5",
- "homepage": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-regenerator",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-regenerator",
- "main": "lib/index.js",
- "dependencies": {
- "regenerator-transform": "^0.14.0"
- },
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.5",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "d04508e510abc624b3e423ff334eff47f297502a"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-reserved-words/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-reserved-words/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-reserved-words/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-reserved-words/README.md b/tgui-next/node_modules/@babel/plugin-transform-reserved-words/README.md
deleted file mode 100644
index 0b4a0d7b68..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-reserved-words/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-reserved-words
-
-> Ensure that no reserved words are used.
-
-See our website [@babel/plugin-transform-reserved-words](https://babeljs.io/docs/en/next/babel-plugin-transform-reserved-words.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-reserved-words
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-reserved-words --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-reserved-words/package.json b/tgui-next/node_modules/@babel/plugin-transform-reserved-words/package.json
deleted file mode 100644
index 2ce9201e63..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-reserved-words/package.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "@babel/plugin-transform-reserved-words",
- "version": "7.7.4",
- "description": "Ensure that no reserved words are used.",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-reserved-words",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-shorthand-properties/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-shorthand-properties/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-shorthand-properties/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-shorthand-properties/README.md b/tgui-next/node_modules/@babel/plugin-transform-shorthand-properties/README.md
deleted file mode 100644
index c9be6586f2..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-shorthand-properties/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-shorthand-properties
-
-> Compile ES2015 shorthand properties to ES5
-
-See our website [@babel/plugin-transform-shorthand-properties](https://babeljs.io/docs/en/next/babel-plugin-transform-shorthand-properties.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-shorthand-properties
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-shorthand-properties --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-shorthand-properties/package.json b/tgui-next/node_modules/@babel/plugin-transform-shorthand-properties/package.json
deleted file mode 100644
index 353d460e7c..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-shorthand-properties/package.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "@babel/plugin-transform-shorthand-properties",
- "version": "7.7.4",
- "description": "Compile ES2015 shorthand properties to ES5",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-shorthand-properties",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-spread/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-spread/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-spread/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-spread/README.md b/tgui-next/node_modules/@babel/plugin-transform-spread/README.md
deleted file mode 100644
index cb007b36f6..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-spread/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-spread
-
-> Compile ES2015 spread to ES5
-
-See our website [@babel/plugin-transform-spread](https://babeljs.io/docs/en/next/babel-plugin-transform-spread.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-spread
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-spread --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-spread/package.json b/tgui-next/node_modules/@babel/plugin-transform-spread/package.json
deleted file mode 100644
index 67a0683ac7..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-spread/package.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "@babel/plugin-transform-spread",
- "version": "7.7.4",
- "description": "Compile ES2015 spread to ES5",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-spread",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-sticky-regex/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-sticky-regex/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-sticky-regex/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-sticky-regex/README.md b/tgui-next/node_modules/@babel/plugin-transform-sticky-regex/README.md
deleted file mode 100644
index 227fb84d98..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-sticky-regex/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-sticky-regex
-
-> Compile ES2015 sticky regex to an ES5 RegExp constructor
-
-See our website [@babel/plugin-transform-sticky-regex](https://babeljs.io/docs/en/next/babel-plugin-transform-sticky-regex.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-sticky-regex
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-sticky-regex --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-sticky-regex/package.json b/tgui-next/node_modules/@babel/plugin-transform-sticky-regex/package.json
deleted file mode 100644
index dc9e18d4c8..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-sticky-regex/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "@babel/plugin-transform-sticky-regex",
- "version": "7.7.4",
- "description": "Compile ES2015 sticky regex to an ES5 RegExp constructor",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-sticky-regex",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-regex": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-template-literals/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-template-literals/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-template-literals/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-template-literals/README.md b/tgui-next/node_modules/@babel/plugin-transform-template-literals/README.md
deleted file mode 100644
index fb89fe17d6..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-template-literals/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-template-literals
-
-> Compile ES2015 template literals to ES5
-
-See our website [@babel/plugin-transform-template-literals](https://babeljs.io/docs/en/next/babel-plugin-transform-template-literals.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-template-literals
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-template-literals --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-template-literals/package.json b/tgui-next/node_modules/@babel/plugin-transform-template-literals/package.json
deleted file mode 100644
index f63b8fb9ae..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-template-literals/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "@babel/plugin-transform-template-literals",
- "version": "7.7.4",
- "description": "Compile ES2015 template literals to ES5",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-template-literals",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "keywords": [
- "babel-plugin"
- ],
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-typeof-symbol/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-typeof-symbol/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-typeof-symbol/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-typeof-symbol/README.md b/tgui-next/node_modules/@babel/plugin-transform-typeof-symbol/README.md
deleted file mode 100644
index 1ad64fd3df..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-typeof-symbol/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-typeof-symbol
-
-> This transformer wraps all typeof expressions with a method that replicates native behaviour. (ie. returning “symbol” for symbols)
-
-See our website [@babel/plugin-transform-typeof-symbol](https://babeljs.io/docs/en/next/babel-plugin-transform-typeof-symbol.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-typeof-symbol
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-typeof-symbol --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-typeof-symbol/package.json b/tgui-next/node_modules/@babel/plugin-transform-typeof-symbol/package.json
deleted file mode 100644
index 779191a255..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-typeof-symbol/package.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "@babel/plugin-transform-typeof-symbol",
- "version": "7.7.4",
- "description": "This transformer wraps all typeof expressions with a method that replicates native behaviour. (ie. returning “symbol” for symbols)",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-typeof-symbol",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/plugin-transform-unicode-regex/LICENSE b/tgui-next/node_modules/@babel/plugin-transform-unicode-regex/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-unicode-regex/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/plugin-transform-unicode-regex/README.md b/tgui-next/node_modules/@babel/plugin-transform-unicode-regex/README.md
deleted file mode 100644
index 8cc2585bd6..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-unicode-regex/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/plugin-transform-unicode-regex
-
-> Compile ES2015 Unicode regex to ES5
-
-See our website [@babel/plugin-transform-unicode-regex](https://babeljs.io/docs/en/next/babel-plugin-transform-unicode-regex.html) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/plugin-transform-unicode-regex
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/plugin-transform-unicode-regex --dev
-```
diff --git a/tgui-next/node_modules/@babel/plugin-transform-unicode-regex/package.json b/tgui-next/node_modules/@babel/plugin-transform-unicode-regex/package.json
deleted file mode 100644
index 2781475fee..0000000000
--- a/tgui-next/node_modules/@babel/plugin-transform-unicode-regex/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "@babel/plugin-transform-unicode-regex",
- "version": "7.7.4",
- "description": "Compile ES2015 Unicode regex to ES5",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-unicode-regex",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "lib/index.js",
- "keywords": [
- "babel-plugin"
- ],
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/core": "^7.7.4",
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/preset-env/CONTRIBUTING.md b/tgui-next/node_modules/@babel/preset-env/CONTRIBUTING.md
deleted file mode 100644
index de861d996e..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/CONTRIBUTING.md
+++ /dev/null
@@ -1,103 +0,0 @@
-# Contributing
-
-## Adding a new plugin or polyfill to support (when approved in the next ECMAScript version)
-
-### Update [`plugin-features.js`](https://github.com/babel/babel/blob/master/packages/babel-preset-env/data/plugin-features.js)
-
-*Example:*
-
-If you were going to add `**` which is in ES2016:
-
-Find the relevant entries on [compat-table](https://kangax.github.io/compat-table/es2016plus/#test-exponentiation_(**)_operator):
-
-`exponentiation (**) operator`
-
-Find the corresponding babel plugin:
-
-`@babel/plugin-transform-exponentiation-operator`
-
-And add them in this structure:
-
-```js
-// es2016
-"@babel/plugin-transform-exponentiation-operator": {
- features: [
- "exponentiation (**) operator",
- ],
-},
-```
-
-### Update data for `core-js@2` polyfilling
-
-*Example:*
-
-In case you want to add `Object.values` which is in ES2017:
-
-Find the relevant feature and subfeature on [compat-table](https://kangax.github.io/compat-table/es2016plus/#test-Object_static_methods_Object.values)
-and split it with `/`:
-
-`Object static methods / Object.values`
-
-Find the corresponding module on [`core-js@2`](https://github.com/zloirock/core-js/tree/v2/modules):
-
-`es7.object.values.js`
-
-Find required ES version in [`corejs2-built-in-features.js`](https://github.com/babel/babel/blob/master/packages/babel-preset-env/data/corejs2-built-in-features.js) and add the new feature:
-
-```js
-const es = {
- //...
- "es7.object.values": "Object static methods / Object.values"
-}
-```
-
-If you wan to transform a new built-in by `useBuiltIns: 'usage'`, add mapping to related `core-js` modules to [this file](https://github.com/babel/babel/blob/master/packages/babel-preset-env/polyfills/corejs2/built-in-definitions.js).
-
-### Update data for `core-js@3` polyfilling
-
-Just update the version of [`core-js-compat`](https://github.com/zloirock/core-js/tree/master/packages/core-js-compat) in dependencies.
-
-If you wan to transform a new built-in by `useBuiltIns: 'usage'`, add mapping to related [`core-js`](https://github.com/zloirock/core-js/tree/master/packages/core-js/modules) modules to [this file](https://github.com/babel/babel/blob/master/packages/babel-preset-env/polyfills/corejs3/built-in-definitions.js).
-
-If you want to mark a new proposal as shipped, add it to [this list](https://github.com/babel/babel/blob/master/packages/babel-preset-env/polyfills/corejs3/shipped-proposals.js).
-
-### Update [`plugins.json`](https://github.com/babel/babel/blob/master/packages/babel-preset-env/data/plugins.json)
-
-Until `compat-table` is a standalone npm module for data we are using the git url
-
-`"compat-table": "kangax/compat-table#[latest-commit-hash]"`,
-
-So we update and then run `npm run build-data`. If there are no changes, then `plugins.json` will be the same.
-
-## Tests
-
-### Running tests locally
-
-```bash
-npm test
-```
-
-### Checking code coverage locally
-
-```bash
-npm run coverage
-```
-
-### Writing tests
-
-#### General
-
-All the tests for `@babel/preset-env` exist in the `test/fixtures` folder. The
-test setup and conventions are exactly the same as testing a Babel plugin, so
-please read our [documentation on writing tests](https://github.com/babel/babel/blob/master/CONTRIBUTING.md#babel-plugin-x).
-
-#### Testing the `debug` option
-
-Testing debug output to `stdout` is similar. Under the `test/debug-fixtures`,
-create a folder with a descriptive name of your test, and add the following:
-
-* Add a `options.json` file (just as the other tests, this is essentially a
-`.babelrc`) with the desired test configuration (required)
-* Add a `stdout.txt` file with the expected debug output. For added
-convenience, if there is no `stdout.txt` present, the test runner will
-generate one for you.
diff --git a/tgui-next/node_modules/@babel/preset-env/LICENSE b/tgui-next/node_modules/@babel/preset-env/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/preset-env/README.md b/tgui-next/node_modules/@babel/preset-env/README.md
deleted file mode 100644
index 5d226b38a2..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/preset-env
-
-> A Babel preset for each environment.
-
-See our website [@babel/preset-env](https://babeljs.io/docs/en/next/babel-preset-env.html) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20preset-env%22+is%3Aopen) associated with this package.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/preset-env
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/preset-env --dev
-```
diff --git a/tgui-next/node_modules/@babel/preset-env/data/built-in-modules.json b/tgui-next/node_modules/@babel/preset-env/data/built-in-modules.json
deleted file mode 100644
index 5bada5f51b..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/data/built-in-modules.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "es6.module": {
- "edge": "16",
- "firefox": "60",
- "chrome": "61",
- "safari": "10.1",
- "opera": "48",
- "ios_saf": "10.3",
- "and_chr": "71",
- "and_ff": "64"
- }
-}
diff --git a/tgui-next/node_modules/@babel/preset-env/data/built-ins.json.js b/tgui-next/node_modules/@babel/preset-env/data/built-ins.json.js
deleted file mode 100644
index 38f8a09add..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/data/built-ins.json.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// TODO: Remove in Babel 8
-// https://github.com/vuejs/vue-cli/issues/3671
-
-module.exports = require("./corejs2-built-ins.json");
diff --git a/tgui-next/node_modules/@babel/preset-env/data/corejs2-built-in-features.js b/tgui-next/node_modules/@babel/preset-env/data/corejs2-built-in-features.js
deleted file mode 100644
index df73164fb6..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/data/corejs2-built-in-features.js
+++ /dev/null
@@ -1,359 +0,0 @@
-const typedArrayMethods = [
- "typed arrays / %TypedArray%.from",
- "typed arrays / %TypedArray%.of",
- "typed arrays / %TypedArray%.prototype.subarray",
- "typed arrays / %TypedArray%.prototype.join",
- "typed arrays / %TypedArray%.prototype.indexOf",
- "typed arrays / %TypedArray%.prototype.lastIndexOf",
- "typed arrays / %TypedArray%.prototype.slice",
- "typed arrays / %TypedArray%.prototype.every",
- "typed arrays / %TypedArray%.prototype.filter",
- "typed arrays / %TypedArray%.prototype.forEach",
- "typed arrays / %TypedArray%.prototype.map",
- "typed arrays / %TypedArray%.prototype.reduce",
- "typed arrays / %TypedArray%.prototype.reduceRight",
- "typed arrays / %TypedArray%.prototype.reverse",
- "typed arrays / %TypedArray%.prototype.some",
- "typed arrays / %TypedArray%.prototype.sort",
- "typed arrays / %TypedArray%.prototype.copyWithin",
- "typed arrays / %TypedArray%.prototype.find",
- "typed arrays / %TypedArray%.prototype.findIndex",
- "typed arrays / %TypedArray%.prototype.fill",
- "typed arrays / %TypedArray%.prototype.keys",
- "typed arrays / %TypedArray%.prototype.values",
- "typed arrays / %TypedArray%.prototype.entries",
- "typed arrays / %TypedArray%.prototype[Symbol.iterator]",
- "typed arrays / %TypedArray%[Symbol.species]",
-];
-
-const es = {
- // compat-table missing babel6 mapping
- // "es6.array.concat": {
- // features: [
- // "well-known symbols / Symbol.isConcatSpreadable",
- // "well-known symbols / Symbol.species, Array.prototype.concat",
- // ]
- // },
- "es6.array.copy-within": "Array.prototype methods / Array.prototype.copyWithin",
- "es6.array.every": "Array methods / Array.prototype.every",
- "es6.array.fill": "Array.prototype methods / Array.prototype.fill",
- "es6.array.filter": {
- features: [
- "Array methods / Array.prototype.filter",
- // compat-table missing babel6 mapping
- // "well-known symbols / Symbol.species, Array.prototype.filter",
- ],
- },
- "es6.array.find": "Array.prototype methods / Array.prototype.find",
- "es6.array.find-index": "Array.prototype methods / Array.prototype.findIndex",
- "es7.array.flat-map": "Array.prototype.{flat, flatMap} / Array.prototype.flatMap",
- "es6.array.for-each": "Array methods / Array.prototype.forEach",
- "es6.array.from": "Array static methods / Array.from",
- "es7.array.includes": "Array.prototype.includes",
- "es6.array.index-of": "Array methods / Array.prototype.indexOf",
- "es6.array.is-array": "Array methods / Array.isArray",
- // "es.array.join": "", required tests for that
- "es6.array.iterator": {
- features: [
- "Array.prototype methods / Array.prototype.keys",
- // can use Symbol.iterator, not implemented in many environments
- // "Array.prototype methods / Array.prototype.values",
- "Array.prototype methods / Array.prototype.entries",
- ],
- },
- "es6.array.last-index-of": "Array methods / Array.prototype.lastIndexOf",
- "es6.array.map": {
- features: [
- "Array methods / Array.prototype.map",
- // compat-table missing babel6 mapping
- // "well-known symbols / Symbol.species, Array.prototype.map",
- ],
- },
- "es6.array.of": "Array static methods / Array.of",
- "es6.array.reduce": "Array methods / Array.prototype.reduce",
- "es6.array.reduce-right": "Array methods / Array.prototype.reduceRight",
- // compat-table missing babel6 mapping
- // "es6.array.slice": "well-known symbols / Symbol.species, Array.prototype.slice",
- "es6.array.some": "Array methods / Array.prototype.some",
- "es6.array.sort": "Array methods / Array.prototype.sort",
- "es6.array.species": "Array static methods / Array[Symbol.species]",
- // compat-table missing babel6 mapping
- //"es6.array.splice": "well-known symbols / Symbol.species, Array.prototype.splice",
-
- "es6.date.now": "Date methods / Date.now",
- "es6.date.to-iso-string": "Date methods / Date.prototype.toISOString",
- "es6.date.to-json": "Date methods / Date.prototype.toJSON",
- "es6.date.to-primitive": "Date.prototype[Symbol.toPrimitive]",
- "es6.date.to-string": "miscellaneous / Invalid Date",
-
- "es6.function.bind": "Function.prototype.bind",
- "es6.function.has-instance": "well-known symbols / Symbol.hasInstance",
- "es6.function.name": {
- features: [
- "function \"name\" property / function statements",
- "function \"name\" property / function expressions",
- ],
- },
-
- // This is explicit to prevent Map-related proposals (like
- // Map.prototype.upsert) from being included
- "es6.map": {
- features: [
- "Map / basic functionality",
- "Map / constructor arguments",
- "Map / constructor requires new",
- "Map / constructor accepts null",
- "Map / constructor invokes set",
- "Map / iterator closing",
- "Map / Map.prototype.add returns this",
- "Map / -0 key converts to +0",
- "Map / Map.prototype.size",
- "Map / Map.prototype.delete",
- "Map / Map.prototype.clear",
- "Map / Map.prototype.forEach",
- "Map / Map.prototype.keys",
- "Map / Map.prototype.values",
- "Map / Map.prototype.entries",
- "Map / Map.prototype[Symbol.iterator]",
- "Map / Map.prototype isn't an instance",
- "Map / Map iterator prototype chain",
- "Map / Map[Symbol.species]",
- ],
- },
-
- "es6.math.acosh": "Math methods / Math.acosh",
- "es6.math.asinh": "Math methods / Math.asinh",
- "es6.math.atanh": "Math methods / Math.atanh",
- "es6.math.cbrt": "Math methods / Math.cbrt",
- "es6.math.clz32": "Math methods / Math.clz32",
- "es6.math.cosh": "Math methods / Math.cosh",
- "es6.math.expm1": "Math methods / Math.expm1",
- "es6.math.fround": "Math methods / Math.fround",
- "es6.math.hypot": "Math methods / Math.hypot",
- "es6.math.imul": "Math methods / Math.imul",
- "es6.math.log1p": "Math methods / Math.log1p",
- "es6.math.log10": "Math methods / Math.log10",
- "es6.math.log2": "Math methods / Math.log2",
- "es6.math.sign": "Math methods / Math.sign",
- "es6.math.sinh": "Math methods / Math.sinh",
- "es6.math.tanh": "Math methods / Math.tanh",
- "es6.math.trunc": "Math methods / Math.trunc",
-
- "es6.number.constructor": {
- features: [
- "octal and binary literals / octal supported by Number()",
- "octal and binary literals / binary supported by Number()",
- ],
- },
- "es6.number.epsilon": "Number properties / Number.EPSILON",
- "es6.number.is-finite": "Number properties / Number.isFinite",
- "es6.number.is-integer": "Number properties / Number.isInteger",
- "es6.number.is-nan": "Number properties / Number.isNaN",
- "es6.number.is-safe-integer": "Number properties / Number.isSafeInteger",
- "es6.number.max-safe-integer": "Number properties / Number.MAX_SAFE_INTEGER",
- "es6.number.min-safe-integer": "Number properties / Number.MIN_SAFE_INTEGER",
- "es6.number.parse-float": "Number properties / Number.parseFloat",
- "es6.number.parse-int": "Number properties / Number.parseInt",
-
- "es6.object.assign": {
- features: ["Object static methods / Object.assign", "Symbol"],
- },
- "es6.object.create": "Object static methods / Object.create",
- "es7.object.define-getter": {
- features: [
- "Object.prototype getter/setter methods / __defineGetter__",
- "Object.prototype getter/setter methods / __defineGetter__, symbols",
- "Object.prototype getter/setter methods / __defineGetter__, ToObject(this)",
- ],
- },
- "es7.object.define-setter": {
- features: [
- "Object.prototype getter/setter methods / __defineSetter__",
- "Object.prototype getter/setter methods / __defineSetter__, symbols",
- "Object.prototype getter/setter methods / __defineSetter__, ToObject(this)",
- ],
- },
- "es6.object.define-property": "Object static methods / Object.defineProperty",
- "es6.object.define-properties": "Object static methods / Object.defineProperties",
- "es7.object.entries": "Object static methods / Object.entries",
- "es6.object.freeze": "Object static methods accept primitives / Object.freeze",
- "es6.object.get-own-property-descriptor": "Object static methods accept primitives / Object.getOwnPropertyDescriptor",
- "es7.object.get-own-property-descriptors": "Object static methods / Object.getOwnPropertyDescriptors",
- "es6.object.get-own-property-names": "Object static methods accept primitives / Object.getOwnPropertyNames",
- "es6.object.get-prototype-of": "Object static methods accept primitives / Object.getPrototypeOf",
- "es7.object.lookup-getter": {
- features: [
- "Object.prototype getter/setter methods / __lookupGetter__",
- "Object.prototype getter/setter methods / __lookupGetter__, prototype chain",
- "Object.prototype getter/setter methods / __lookupGetter__, symbols",
- "Object.prototype getter/setter methods / __lookupGetter__, ToObject(this)",
- "Object.prototype getter/setter methods / __lookupGetter__, data properties can shadow accessors",
- ],
- },
- "es7.object.lookup-setter": {
- features: [
- "Object.prototype getter/setter methods / __lookupSetter__",
- "Object.prototype getter/setter methods / __lookupSetter__, prototype chain",
- "Object.prototype getter/setter methods / __lookupSetter__, symbols",
- "Object.prototype getter/setter methods / __lookupSetter__, ToObject(this)",
- "Object.prototype getter/setter methods / __lookupSetter__, data properties can shadow accessors",
- ],
- },
- "es6.object.prevent-extensions": "Object static methods accept primitives / Object.preventExtensions",
- "es6.object.to-string": "well-known symbols / Symbol.toStringTag",
- "es6.object.is": "Object static methods / Object.is",
- "es6.object.is-frozen": "Object static methods accept primitives / Object.isFrozen",
- "es6.object.is-sealed": "Object static methods accept primitives / Object.isSealed",
- "es6.object.is-extensible": "Object static methods accept primitives / Object.isExtensible",
- "es6.object.keys": "Object static methods accept primitives / Object.keys",
- "es6.object.seal": "Object static methods accept primitives / Object.seal",
- "es6.object.set-prototype-of": "Object static methods / Object.setPrototypeOf",
- "es7.object.values": "Object static methods / Object.values",
-
- "es6.promise": {
- features: [
- // required unhandled rejection tracking tests
- "Promise",
- "well-known symbols / Symbol.species, Promise.prototype.then",
- ],
- },
- "es7.promise.finally": "Promise.prototype.finally",
-
- "es6.reflect.apply": "Reflect / Reflect.apply",
- "es6.reflect.construct": "Reflect / Reflect.construct",
- "es6.reflect.define-property": "Reflect / Reflect.defineProperty",
- "es6.reflect.delete-property": "Reflect / Reflect.deleteProperty",
- "es6.reflect.get": "Reflect / Reflect.get",
- "es6.reflect.get-own-property-descriptor": "Reflect / Reflect.getOwnPropertyDescriptor",
- "es6.reflect.get-prototype-of": "Reflect / Reflect.getPrototypeOf",
- "es6.reflect.has": "Reflect / Reflect.has",
- "es6.reflect.is-extensible": "Reflect / Reflect.isExtensible",
- "es6.reflect.own-keys": "Reflect / Reflect.ownKeys",
- "es6.reflect.prevent-extensions": "Reflect / Reflect.preventExtensions",
- "es6.reflect.set": "Reflect / Reflect.set",
- "es6.reflect.set-prototype-of": "Reflect / Reflect.setPrototypeOf",
-
- "es6.regexp.constructor": {
- features: [
- "miscellaneous / RegExp constructor can alter flags",
- "well-known symbols / Symbol.match, RegExp constructor",
- ],
- },
- "es6.regexp.flags": "RegExp.prototype properties / RegExp.prototype.flags",
- "es6.regexp.match": "RegExp.prototype properties / RegExp.prototype[Symbol.match]",
- "es6.regexp.replace": "RegExp.prototype properties / RegExp.prototype[Symbol.replace]",
- "es6.regexp.split": "RegExp.prototype properties / RegExp.prototype[Symbol.split]",
- "es6.regexp.search": "RegExp.prototype properties / RegExp.prototype[Symbol.search]",
- "es6.regexp.to-string": "miscellaneous / RegExp.prototype.toString generic and uses \"flags\" property",
-
- // This is explicit due to prevent the stage-1 Set proposals under the
- // category "Set methods" from being included.
- "es6.set": {
- features: [
- "Set / basic functionality",
- "Set / constructor arguments",
- "Set / constructor requires new",
- "Set / constructor accepts null",
- "Set / constructor invokes add",
- "Set / iterator closing",
- "Set / Set.prototype.add returns this",
- "Set / -0 key converts to +0",
- "Set / Set.prototype.size",
- "Set / Set.prototype.delete",
- "Set / Set.prototype.clear",
- "Set / Set.prototype.forEach",
- "Set / Set.prototype.keys",
- "Set / Set.prototype.values",
- "Set / Set.prototype.entries",
- "Set / Set.prototype[Symbol.iterator]",
- "Set / Set.prototype isn't an instance",
- "Set / Set iterator prototype chain",
- "Set / Set[Symbol.species]",
- ],
- },
-
- "es6.symbol": {
- features: [
- "Symbol",
- "Object static methods / Object.getOwnPropertySymbols",
- "well-known symbols / Symbol.hasInstance",
- "well-known symbols / Symbol.isConcatSpreadable",
- "well-known symbols / Symbol.iterator",
- "well-known symbols / Symbol.match",
- "well-known symbols / Symbol.replace",
- "well-known symbols / Symbol.search",
- "well-known symbols / Symbol.species",
- "well-known symbols / Symbol.split",
- "well-known symbols / Symbol.toPrimitive",
- "well-known symbols / Symbol.toStringTag",
- "well-known symbols / Symbol.unscopables",
- ],
- },
- "es7.symbol.async-iterator": "Asynchronous Iterators",
-
- "es6.string.anchor": "String.prototype HTML methods",
- "es6.string.big": "String.prototype HTML methods",
- "es6.string.blink": "String.prototype HTML methods",
- "es6.string.bold": "String.prototype HTML methods",
- "es6.string.code-point-at": "String.prototype methods / String.prototype.codePointAt",
- "es6.string.ends-with": "String.prototype methods / String.prototype.endsWith",
- "es6.string.fixed": "String.prototype HTML methods",
- "es6.string.fontcolor": "String.prototype HTML methods",
- "es6.string.fontsize": "String.prototype HTML methods",
- "es6.string.from-code-point": "String static methods / String.fromCodePoint",
- "es6.string.includes": "String.prototype methods / String.prototype.includes",
- "es6.string.italics": "String.prototype HTML methods",
- "es6.string.iterator": "String.prototype methods / String.prototype[Symbol.iterator]",
- "es6.string.link": "String.prototype HTML methods",
- // "String.prototype methods / String.prototype.normalize" not implemented
- "es7.string.pad-start": "String padding / String.prototype.padStart",
- "es7.string.pad-end": "String padding / String.prototype.padEnd",
- "es6.string.raw": "String static methods / String.raw",
- "es6.string.repeat": "String.prototype methods / String.prototype.repeat",
- "es6.string.small": "String.prototype HTML methods",
- "es6.string.starts-with": "String.prototype methods / String.prototype.startsWith",
- "es6.string.strike": "String.prototype HTML methods",
- "es6.string.sub": "String.prototype HTML methods",
- "es6.string.sup": "String.prototype HTML methods",
- "es6.string.trim": "String properties and methods / String.prototype.trim",
- "es7.string.trim-left": "string trimming / String.prototype.trimStart",
- "es7.string.trim-right": "string trimming / String.prototype.trimEnd",
-
- "es6.typed.array-buffer": "typed arrays / ArrayBuffer[Symbol.species]",
- "es6.typed.data-view": "typed arrays / DataView",
- "es6.typed.int8-array": {
- features: ["typed arrays / Int8Array"].concat(typedArrayMethods),
- },
- "es6.typed.uint8-array": {
- features: ["typed arrays / Uint8Array"].concat(typedArrayMethods),
- },
- "es6.typed.uint8-clamped-array": {
- features: ["typed arrays / Uint8ClampedArray"].concat(typedArrayMethods),
- },
- "es6.typed.int16-array": {
- features: ["typed arrays / Int16Array"].concat(typedArrayMethods),
- },
- "es6.typed.uint16-array": {
- features: ["typed arrays / Uint16Array"].concat(typedArrayMethods),
- },
- "es6.typed.int32-array": {
- features: ["typed arrays / Int32Array"].concat(typedArrayMethods),
- },
- "es6.typed.uint32-array": {
- features: ["typed arrays / Uint32Array"].concat(typedArrayMethods),
- },
- "es6.typed.float32-array": {
- features: ["typed arrays / Float32Array"].concat(typedArrayMethods),
- },
- "es6.typed.float64-array": {
- features: ["typed arrays / Float64Array"].concat(typedArrayMethods),
- },
-
- "es6.weak-map": "WeakMap",
-
- "es6.weak-set": "WeakSet",
-};
-
-const proposals = require("./shipped-proposals").builtIns;
-
-module.exports = Object.assign({}, es, proposals);
diff --git a/tgui-next/node_modules/@babel/preset-env/data/corejs2-built-ins.json b/tgui-next/node_modules/@babel/preset-env/data/corejs2-built-ins.json
deleted file mode 100644
index 5c81e27f27..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/data/corejs2-built-ins.json
+++ /dev/null
@@ -1,1660 +0,0 @@
-{
- "es6.array.copy-within": {
- "chrome": "45",
- "edge": "12",
- "firefox": "32",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "5",
- "opera": "32",
- "electron": "0.35"
- },
- "es6.array.every": {
- "chrome": "5",
- "opera": "10.10",
- "edge": "12",
- "firefox": "2",
- "safari": "3.1",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.array.fill": {
- "chrome": "45",
- "edge": "12",
- "firefox": "31",
- "safari": "7.1",
- "node": "4",
- "ios": "8",
- "samsung": "5",
- "opera": "32",
- "electron": "0.35"
- },
- "es6.array.filter": {
- "chrome": "5",
- "opera": "10.10",
- "edge": "12",
- "firefox": "2",
- "safari": "3.1",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.array.find": {
- "chrome": "45",
- "edge": "12",
- "firefox": "25",
- "safari": "7.1",
- "node": "4",
- "ios": "8",
- "samsung": "5",
- "opera": "32",
- "electron": "0.35"
- },
- "es6.array.find-index": {
- "chrome": "45",
- "edge": "12",
- "firefox": "25",
- "safari": "7.1",
- "node": "4",
- "ios": "8",
- "samsung": "5",
- "opera": "32",
- "electron": "0.35"
- },
- "es7.array.flat-map": {
- "chrome": "69",
- "firefox": "62",
- "safari": "12",
- "node": "11",
- "ios": "12",
- "samsung": "10.2",
- "opera": "56",
- "electron": "4"
- },
- "es6.array.for-each": {
- "chrome": "5",
- "opera": "10.10",
- "edge": "12",
- "firefox": "2",
- "safari": "3.1",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.array.from": {
- "chrome": "51",
- "edge": "15",
- "firefox": "36",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es7.array.includes": {
- "chrome": "47",
- "edge": "14",
- "firefox": "43",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "34",
- "electron": "0.36"
- },
- "es6.array.index-of": {
- "chrome": "5",
- "opera": "10.10",
- "edge": "12",
- "firefox": "2",
- "safari": "3.1",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.array.is-array": {
- "chrome": "5",
- "opera": "10.50",
- "edge": "12",
- "firefox": "4",
- "safari": "4",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.array.iterator": {
- "chrome": "38",
- "edge": "12",
- "firefox": "28",
- "safari": "7.1",
- "node": "0.12",
- "ios": "8",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.array.last-index-of": {
- "chrome": "5",
- "opera": "10.10",
- "edge": "12",
- "firefox": "2",
- "safari": "3.1",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.array.map": {
- "chrome": "5",
- "opera": "10.10",
- "edge": "12",
- "firefox": "2",
- "safari": "3.1",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.array.of": {
- "chrome": "45",
- "edge": "12",
- "firefox": "25",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "5",
- "opera": "32",
- "electron": "0.35"
- },
- "es6.array.reduce": {
- "chrome": "5",
- "opera": "10.50",
- "edge": "12",
- "firefox": "3",
- "safari": "4",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.array.reduce-right": {
- "chrome": "5",
- "opera": "10.50",
- "edge": "12",
- "firefox": "3",
- "safari": "4",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.array.some": {
- "chrome": "5",
- "opera": "10.10",
- "edge": "12",
- "firefox": "2",
- "safari": "3.1",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.array.sort": {
- "chrome": "63",
- "opera": "50",
- "edge": "12",
- "firefox": "5",
- "safari": "12",
- "node": "10",
- "ie": "9",
- "ios": "12",
- "samsung": "8.2",
- "electron": "3.1"
- },
- "es6.array.species": {
- "chrome": "51",
- "edge": "13",
- "firefox": "48",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es6.date.now": {
- "chrome": "5",
- "opera": "10.50",
- "edge": "12",
- "firefox": "2",
- "safari": "4",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.date.to-iso-string": {
- "chrome": "5",
- "opera": "10.50",
- "edge": "12",
- "firefox": "3.5",
- "safari": "4",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.date.to-json": {
- "chrome": "5",
- "opera": "12.10",
- "edge": "12",
- "firefox": "4",
- "safari": "10",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "10",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.date.to-primitive": {
- "chrome": "47",
- "edge": "15",
- "firefox": "44",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "34",
- "electron": "0.36"
- },
- "es6.date.to-string": {
- "chrome": "5",
- "opera": "10.50",
- "edge": "12",
- "firefox": "2",
- "safari": "3.1",
- "node": "0.10",
- "ie": "10",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.function.bind": {
- "chrome": "7",
- "opera": "12",
- "edge": "12",
- "firefox": "4",
- "safari": "5.1",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "5"
- },
- "es6.function.has-instance": {
- "chrome": "51",
- "edge": "15",
- "firefox": "50",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es6.function.name": {
- "chrome": "5",
- "opera": "10.50",
- "edge": "14",
- "firefox": "2",
- "safari": "4",
- "node": "0.10",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.map": {
- "chrome": "51",
- "edge": "15",
- "firefox": "53",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es6.math.acosh": {
- "chrome": "38",
- "edge": "12",
- "firefox": "25",
- "safari": "7.1",
- "node": "0.12",
- "ios": "8",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.math.asinh": {
- "chrome": "38",
- "edge": "12",
- "firefox": "25",
- "safari": "7.1",
- "node": "0.12",
- "ios": "8",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.math.atanh": {
- "chrome": "38",
- "edge": "12",
- "firefox": "25",
- "safari": "7.1",
- "node": "0.12",
- "ios": "8",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.math.cbrt": {
- "chrome": "38",
- "edge": "12",
- "firefox": "25",
- "safari": "7.1",
- "node": "0.12",
- "ios": "8",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.math.clz32": {
- "chrome": "38",
- "edge": "12",
- "firefox": "31",
- "safari": "9",
- "node": "0.12",
- "ios": "9",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.math.cosh": {
- "chrome": "38",
- "edge": "12",
- "firefox": "25",
- "safari": "7.1",
- "node": "0.12",
- "ios": "8",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.math.expm1": {
- "chrome": "38",
- "edge": "12",
- "firefox": "25",
- "safari": "7.1",
- "node": "0.12",
- "ios": "8",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.math.fround": {
- "chrome": "38",
- "edge": "12",
- "firefox": "26",
- "safari": "7.1",
- "node": "0.12",
- "ios": "8",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.math.hypot": {
- "chrome": "38",
- "edge": "12",
- "firefox": "27",
- "safari": "7.1",
- "node": "0.12",
- "ios": "8",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.math.imul": {
- "chrome": "30",
- "edge": "12",
- "firefox": "23",
- "safari": "7",
- "node": "0.12",
- "android": "4.4",
- "ios": "7",
- "samsung": "2.1",
- "opera": "17",
- "electron": "0.2"
- },
- "es6.math.log1p": {
- "chrome": "38",
- "edge": "12",
- "firefox": "25",
- "safari": "7.1",
- "node": "0.12",
- "ios": "8",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.math.log10": {
- "chrome": "38",
- "edge": "12",
- "firefox": "25",
- "safari": "7.1",
- "node": "0.12",
- "ios": "8",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.math.log2": {
- "chrome": "38",
- "edge": "12",
- "firefox": "25",
- "safari": "7.1",
- "node": "0.12",
- "ios": "8",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.math.sign": {
- "chrome": "38",
- "edge": "12",
- "firefox": "25",
- "safari": "9",
- "node": "0.12",
- "ios": "9",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.math.sinh": {
- "chrome": "38",
- "edge": "12",
- "firefox": "25",
- "safari": "7.1",
- "node": "0.12",
- "ios": "8",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.math.tanh": {
- "chrome": "38",
- "edge": "12",
- "firefox": "25",
- "safari": "7.1",
- "node": "0.12",
- "ios": "8",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.math.trunc": {
- "chrome": "38",
- "edge": "12",
- "firefox": "25",
- "safari": "7.1",
- "node": "0.12",
- "ios": "8",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.number.constructor": {
- "chrome": "41",
- "edge": "12",
- "firefox": "36",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "3.4",
- "opera": "28",
- "electron": "0.24"
- },
- "es6.number.epsilon": {
- "chrome": "34",
- "edge": "12",
- "firefox": "25",
- "safari": "9",
- "node": "0.12",
- "ios": "9",
- "samsung": "2.1",
- "opera": "21",
- "electron": "0.2"
- },
- "es6.number.is-finite": {
- "chrome": "19",
- "edge": "12",
- "firefox": "16",
- "safari": "9",
- "node": "0.12",
- "android": "4.1",
- "ios": "9",
- "samsung": "2.1",
- "electron": "0.2"
- },
- "es6.number.is-integer": {
- "chrome": "34",
- "edge": "12",
- "firefox": "16",
- "safari": "9",
- "node": "0.12",
- "ios": "9",
- "samsung": "2.1",
- "opera": "21",
- "electron": "0.2"
- },
- "es6.number.is-nan": {
- "chrome": "19",
- "edge": "12",
- "firefox": "15",
- "safari": "9",
- "node": "0.12",
- "android": "4.1",
- "ios": "9",
- "samsung": "2.1",
- "electron": "0.2"
- },
- "es6.number.is-safe-integer": {
- "chrome": "34",
- "edge": "12",
- "firefox": "32",
- "safari": "9",
- "node": "0.12",
- "ios": "9",
- "samsung": "2.1",
- "opera": "21",
- "electron": "0.2"
- },
- "es6.number.max-safe-integer": {
- "chrome": "34",
- "edge": "12",
- "firefox": "31",
- "safari": "9",
- "node": "0.12",
- "ios": "9",
- "samsung": "2.1",
- "opera": "21",
- "electron": "0.2"
- },
- "es6.number.min-safe-integer": {
- "chrome": "34",
- "edge": "12",
- "firefox": "31",
- "safari": "9",
- "node": "0.12",
- "ios": "9",
- "samsung": "2.1",
- "opera": "21",
- "electron": "0.2"
- },
- "es6.number.parse-float": {
- "chrome": "34",
- "edge": "12",
- "firefox": "25",
- "safari": "9",
- "node": "0.12",
- "ios": "9",
- "samsung": "2.1",
- "opera": "21",
- "electron": "0.2"
- },
- "es6.number.parse-int": {
- "chrome": "34",
- "edge": "12",
- "firefox": "25",
- "safari": "9",
- "node": "0.12",
- "ios": "9",
- "samsung": "2.1",
- "opera": "21",
- "electron": "0.2"
- },
- "es6.object.assign": {
- "chrome": "49",
- "edge": "13",
- "firefox": "36",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "es6.object.create": {
- "chrome": "5",
- "opera": "12",
- "edge": "12",
- "firefox": "4",
- "safari": "4",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es7.object.define-getter": {
- "chrome": "62",
- "edge": "16",
- "firefox": "48",
- "safari": "9",
- "node": "8.10",
- "ios": "9",
- "samsung": "8.2",
- "opera": "49",
- "electron": "3.1"
- },
- "es7.object.define-setter": {
- "chrome": "62",
- "edge": "16",
- "firefox": "48",
- "safari": "9",
- "node": "8.10",
- "ios": "9",
- "samsung": "8.2",
- "opera": "49",
- "electron": "3.1"
- },
- "es6.object.define-property": {
- "chrome": "5",
- "opera": "12",
- "edge": "12",
- "firefox": "4",
- "safari": "5.1",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.object.define-properties": {
- "chrome": "5",
- "opera": "12",
- "edge": "12",
- "firefox": "4",
- "safari": "4",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es7.object.entries": {
- "chrome": "54",
- "edge": "14",
- "firefox": "47",
- "safari": "10.1",
- "node": "7",
- "ios": "10.3",
- "samsung": "6.2",
- "opera": "41",
- "electron": "1.5"
- },
- "es6.object.freeze": {
- "chrome": "44",
- "edge": "12",
- "firefox": "35",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "4",
- "opera": "31",
- "electron": "0.31"
- },
- "es6.object.get-own-property-descriptor": {
- "chrome": "44",
- "edge": "12",
- "firefox": "35",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "4",
- "opera": "31",
- "electron": "0.31"
- },
- "es7.object.get-own-property-descriptors": {
- "chrome": "54",
- "edge": "15",
- "firefox": "50",
- "safari": "10.1",
- "node": "7",
- "ios": "10.3",
- "samsung": "6.2",
- "opera": "41",
- "electron": "1.5"
- },
- "es6.object.get-own-property-names": {
- "chrome": "40",
- "edge": "12",
- "firefox": "33",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "3.4",
- "opera": "27",
- "electron": "0.21"
- },
- "es6.object.get-prototype-of": {
- "chrome": "44",
- "edge": "12",
- "firefox": "35",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "4",
- "opera": "31",
- "electron": "0.31"
- },
- "es7.object.lookup-getter": {
- "chrome": "62",
- "firefox": "36",
- "safari": "9",
- "node": "8.10",
- "ios": "9",
- "samsung": "8.2",
- "opera": "49",
- "electron": "3.1"
- },
- "es7.object.lookup-setter": {
- "chrome": "62",
- "firefox": "36",
- "safari": "9",
- "node": "8.10",
- "ios": "9",
- "samsung": "8.2",
- "opera": "49",
- "electron": "3.1"
- },
- "es6.object.prevent-extensions": {
- "chrome": "44",
- "edge": "12",
- "firefox": "35",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "4",
- "opera": "31",
- "electron": "0.31"
- },
- "es6.object.to-string": {
- "chrome": "57",
- "edge": "15",
- "firefox": "51",
- "safari": "10",
- "node": "8",
- "ios": "10",
- "samsung": "7.2",
- "opera": "44",
- "electron": "1.7"
- },
- "es6.object.is": {
- "chrome": "19",
- "edge": "12",
- "firefox": "22",
- "safari": "9",
- "node": "0.12",
- "android": "4.1",
- "ios": "9",
- "samsung": "2.1",
- "electron": "0.2"
- },
- "es6.object.is-frozen": {
- "chrome": "44",
- "edge": "12",
- "firefox": "35",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "4",
- "opera": "31",
- "electron": "0.31"
- },
- "es6.object.is-sealed": {
- "chrome": "44",
- "edge": "12",
- "firefox": "35",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "4",
- "opera": "31",
- "electron": "0.31"
- },
- "es6.object.is-extensible": {
- "chrome": "44",
- "edge": "12",
- "firefox": "35",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "4",
- "opera": "31",
- "electron": "0.31"
- },
- "es6.object.keys": {
- "chrome": "40",
- "edge": "12",
- "firefox": "35",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "3.4",
- "opera": "27",
- "electron": "0.21"
- },
- "es6.object.seal": {
- "chrome": "44",
- "edge": "12",
- "firefox": "35",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "4",
- "opera": "31",
- "electron": "0.31"
- },
- "es6.object.set-prototype-of": {
- "chrome": "34",
- "edge": "12",
- "firefox": "31",
- "safari": "9",
- "node": "0.12",
- "ie": "11",
- "ios": "9",
- "samsung": "2.1",
- "opera": "21",
- "electron": "0.2"
- },
- "es7.object.values": {
- "chrome": "54",
- "edge": "14",
- "firefox": "47",
- "safari": "10.1",
- "node": "7",
- "ios": "10.3",
- "samsung": "6.2",
- "opera": "41",
- "electron": "1.5"
- },
- "es6.promise": {
- "chrome": "51",
- "edge": "14",
- "firefox": "45",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es7.promise.finally": {
- "chrome": "63",
- "edge": "18",
- "firefox": "58",
- "safari": "11.1",
- "node": "10",
- "ios": "11.3",
- "samsung": "8.2",
- "opera": "50",
- "electron": "3.1"
- },
- "es6.reflect.apply": {
- "chrome": "49",
- "edge": "12",
- "firefox": "42",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "es6.reflect.construct": {
- "chrome": "49",
- "edge": "13",
- "firefox": "49",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "es6.reflect.define-property": {
- "chrome": "49",
- "edge": "13",
- "firefox": "42",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "es6.reflect.delete-property": {
- "chrome": "49",
- "edge": "12",
- "firefox": "42",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "es6.reflect.get": {
- "chrome": "49",
- "edge": "12",
- "firefox": "42",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "es6.reflect.get-own-property-descriptor": {
- "chrome": "49",
- "edge": "12",
- "firefox": "42",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "es6.reflect.get-prototype-of": {
- "chrome": "49",
- "edge": "12",
- "firefox": "42",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "es6.reflect.has": {
- "chrome": "49",
- "edge": "12",
- "firefox": "42",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "es6.reflect.is-extensible": {
- "chrome": "49",
- "edge": "12",
- "firefox": "42",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "es6.reflect.own-keys": {
- "chrome": "49",
- "edge": "12",
- "firefox": "42",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "es6.reflect.prevent-extensions": {
- "chrome": "49",
- "edge": "12",
- "firefox": "42",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "es6.reflect.set": {
- "chrome": "49",
- "edge": "12",
- "firefox": "42",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "es6.reflect.set-prototype-of": {
- "chrome": "49",
- "edge": "12",
- "firefox": "42",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "es6.regexp.constructor": {
- "chrome": "50",
- "firefox": "40",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "37",
- "electron": "1.1"
- },
- "es6.regexp.flags": {
- "chrome": "49",
- "firefox": "37",
- "safari": "9",
- "node": "6",
- "ios": "9",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "es6.regexp.match": {
- "chrome": "50",
- "firefox": "49",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "37",
- "electron": "1.1"
- },
- "es6.regexp.replace": {
- "chrome": "50",
- "firefox": "49",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "37",
- "electron": "1.1"
- },
- "es6.regexp.split": {
- "chrome": "50",
- "firefox": "49",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "37",
- "electron": "1.1"
- },
- "es6.regexp.search": {
- "chrome": "50",
- "firefox": "49",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "37",
- "electron": "1.1"
- },
- "es6.regexp.to-string": {
- "chrome": "50",
- "firefox": "39",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "37",
- "electron": "1.1"
- },
- "es6.set": {
- "chrome": "51",
- "edge": "15",
- "firefox": "53",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es6.symbol": {
- "chrome": "51",
- "firefox": "51",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es7.symbol.async-iterator": {
- "chrome": "63",
- "firefox": "57",
- "safari": "12",
- "node": "10",
- "ios": "12",
- "samsung": "8.2",
- "opera": "50",
- "electron": "3.1"
- },
- "es6.string.anchor": {
- "chrome": "5",
- "edge": "12",
- "firefox": "17",
- "safari": "6",
- "node": "0.10",
- "android": "4",
- "ios": "7",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.string.big": {
- "chrome": "5",
- "edge": "12",
- "firefox": "17",
- "safari": "6",
- "node": "0.10",
- "android": "4",
- "ios": "7",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.string.blink": {
- "chrome": "5",
- "edge": "12",
- "firefox": "17",
- "safari": "6",
- "node": "0.10",
- "android": "4",
- "ios": "7",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.string.bold": {
- "chrome": "5",
- "edge": "12",
- "firefox": "17",
- "safari": "6",
- "node": "0.10",
- "android": "4",
- "ios": "7",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.string.code-point-at": {
- "chrome": "41",
- "edge": "12",
- "firefox": "29",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "3.4",
- "opera": "28",
- "electron": "0.24"
- },
- "es6.string.ends-with": {
- "chrome": "41",
- "edge": "12",
- "firefox": "29",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "3.4",
- "opera": "28",
- "electron": "0.24"
- },
- "es6.string.fixed": {
- "chrome": "5",
- "edge": "12",
- "firefox": "17",
- "safari": "6",
- "node": "0.10",
- "android": "4",
- "ios": "7",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.string.fontcolor": {
- "chrome": "5",
- "edge": "12",
- "firefox": "17",
- "safari": "6",
- "node": "0.10",
- "android": "4",
- "ios": "7",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.string.fontsize": {
- "chrome": "5",
- "edge": "12",
- "firefox": "17",
- "safari": "6",
- "node": "0.10",
- "android": "4",
- "ios": "7",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.string.from-code-point": {
- "chrome": "41",
- "edge": "12",
- "firefox": "29",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "3.4",
- "opera": "28",
- "electron": "0.24"
- },
- "es6.string.includes": {
- "chrome": "41",
- "edge": "12",
- "firefox": "40",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "3.4",
- "opera": "28",
- "electron": "0.24"
- },
- "es6.string.italics": {
- "chrome": "5",
- "edge": "12",
- "firefox": "17",
- "safari": "6",
- "node": "0.10",
- "android": "4",
- "ios": "7",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.string.iterator": {
- "chrome": "38",
- "edge": "12",
- "firefox": "36",
- "safari": "9",
- "node": "0.12",
- "ios": "9",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "es6.string.link": {
- "chrome": "5",
- "edge": "12",
- "firefox": "17",
- "safari": "6",
- "node": "0.10",
- "android": "4",
- "ios": "7",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es7.string.pad-start": {
- "chrome": "57",
- "edge": "15",
- "firefox": "48",
- "safari": "10",
- "node": "8",
- "ios": "10",
- "samsung": "7.2",
- "opera": "44",
- "electron": "1.7"
- },
- "es7.string.pad-end": {
- "chrome": "57",
- "edge": "15",
- "firefox": "48",
- "safari": "10",
- "node": "8",
- "ios": "10",
- "samsung": "7.2",
- "opera": "44",
- "electron": "1.7"
- },
- "es6.string.raw": {
- "chrome": "41",
- "edge": "12",
- "firefox": "34",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "3.4",
- "opera": "28",
- "electron": "0.24"
- },
- "es6.string.repeat": {
- "chrome": "41",
- "edge": "12",
- "firefox": "24",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "3.4",
- "opera": "28",
- "electron": "0.24"
- },
- "es6.string.small": {
- "chrome": "5",
- "edge": "12",
- "firefox": "17",
- "safari": "6",
- "node": "0.10",
- "android": "4",
- "ios": "7",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.string.starts-with": {
- "chrome": "41",
- "edge": "12",
- "firefox": "29",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "3.4",
- "opera": "28",
- "electron": "0.24"
- },
- "es6.string.strike": {
- "chrome": "5",
- "edge": "12",
- "firefox": "17",
- "safari": "6",
- "node": "0.10",
- "android": "4",
- "ios": "7",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.string.sub": {
- "chrome": "5",
- "edge": "12",
- "firefox": "17",
- "safari": "6",
- "node": "0.10",
- "android": "4",
- "ios": "7",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.string.sup": {
- "chrome": "5",
- "edge": "12",
- "firefox": "17",
- "safari": "6",
- "node": "0.10",
- "android": "4",
- "ios": "7",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.string.trim": {
- "chrome": "5",
- "opera": "10.50",
- "edge": "12",
- "firefox": "3.5",
- "safari": "4",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es7.string.trim-left": {
- "chrome": "66",
- "firefox": "61",
- "safari": "12",
- "node": "10",
- "ios": "12",
- "samsung": "9.2",
- "opera": "53",
- "electron": "3.1"
- },
- "es7.string.trim-right": {
- "chrome": "66",
- "firefox": "61",
- "safari": "12",
- "node": "10",
- "ios": "12",
- "samsung": "9.2",
- "opera": "53",
- "electron": "3.1"
- },
- "es6.typed.array-buffer": {
- "chrome": "51",
- "edge": "13",
- "firefox": "48",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es6.typed.data-view": {
- "chrome": "5",
- "opera": "12",
- "edge": "12",
- "firefox": "15",
- "safari": "5.1",
- "node": "0.10",
- "ie": "10",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "1.1"
- },
- "es6.typed.int8-array": {
- "chrome": "51",
- "edge": "13",
- "firefox": "48",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es6.typed.uint8-array": {
- "chrome": "51",
- "edge": "13",
- "firefox": "48",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es6.typed.uint8-clamped-array": {
- "chrome": "51",
- "edge": "13",
- "firefox": "48",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es6.typed.int16-array": {
- "chrome": "51",
- "edge": "13",
- "firefox": "48",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es6.typed.uint16-array": {
- "chrome": "51",
- "edge": "13",
- "firefox": "48",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es6.typed.int32-array": {
- "chrome": "51",
- "edge": "13",
- "firefox": "48",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es6.typed.uint32-array": {
- "chrome": "51",
- "edge": "13",
- "firefox": "48",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es6.typed.float32-array": {
- "chrome": "51",
- "edge": "13",
- "firefox": "48",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es6.typed.float64-array": {
- "chrome": "51",
- "edge": "13",
- "firefox": "48",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es6.weak-map": {
- "chrome": "51",
- "edge": "15",
- "firefox": "53",
- "safari": "9",
- "node": "6.5",
- "ios": "9",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "es6.weak-set": {
- "chrome": "51",
- "edge": "15",
- "firefox": "53",
- "safari": "9",
- "node": "6.5",
- "ios": "9",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- }
-}
diff --git a/tgui-next/node_modules/@babel/preset-env/data/overlapping-plugins.js b/tgui-next/node_modules/@babel/preset-env/data/overlapping-plugins.js
deleted file mode 100644
index 84c0d416b4..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/data/overlapping-plugins.js
+++ /dev/null
@@ -1,15 +0,0 @@
-"use strict";
-
-module.exports = new Map();
-
-// async -> regenerator is better than async -> generator -> regenerator
-ifIncluded("transform-regenerator")
- .isUnnecessary("transform-async-to-generator");
-
-function ifIncluded(name) {
- const set = new Set();
- module.exports.set(name, set);
- return {
- isUnnecessary(name) { set.add(name); return this; }
- };
-}
diff --git a/tgui-next/node_modules/@babel/preset-env/data/plugin-features.js b/tgui-next/node_modules/@babel/preset-env/data/plugin-features.js
deleted file mode 100644
index 3a84be3816..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/data/plugin-features.js
+++ /dev/null
@@ -1,108 +0,0 @@
-const es = {
- "transform-template-literals": {
- features: ["template literals"],
- },
- "transform-literals": {
- features: ["Unicode code point escapes"],
- },
- "transform-function-name": {
- features: ['function "name" property'],
- },
- "transform-arrow-functions": {
- features: ["arrow functions"],
- },
- "transform-block-scoped-functions": {
- features: ["block-level function declaration"],
- },
- "transform-classes": {
- features: ["class", "super"],
- },
- "transform-object-super": {
- features: ["super"],
- },
- "transform-shorthand-properties": {
- features: ["object literal extensions / shorthand properties"],
- },
- "transform-duplicate-keys": {
- features: ["miscellaneous / duplicate property names in strict mode"],
- },
- "transform-computed-properties": {
- features: ["object literal extensions / computed properties"],
- },
- "transform-for-of": {
- features: ["for..of loops"],
- },
- "transform-sticky-regex": {
- features: [
- 'RegExp "y" and "u" flags / "y" flag, lastIndex',
- 'RegExp "y" and "u" flags / "y" flag',
- ],
- },
-
- // We want to apply this prior to unicode regex so that "." and "u"
- // are properly handled.
- //
- // Ref: https://github.com/babel/babel/pull/7065#issuecomment-395959112
- "transform-dotall-regex": "s (dotAll) flag for regular expressions",
-
- "transform-unicode-regex": {
- features: [
- 'RegExp "y" and "u" flags / "u" flag, case folding',
- 'RegExp "y" and "u" flags / "u" flag, Unicode code point escapes',
- 'RegExp "y" and "u" flags / "u" flag, non-BMP Unicode characters',
- 'RegExp "y" and "u" flags / "u" flag',
- ],
- },
-
- "transform-spread": {
- features: "spread syntax for iterable objects",
- },
- "transform-parameters": {
- features: [
- "default function parameters",
- "rest parameters",
- "destructuring, parameters / defaults, arrow function",
- ],
- },
- "transform-destructuring": {
- features: [
- "destructuring, assignment",
- "destructuring, declarations",
- ],
- },
- "transform-block-scoping": {
- features: ["const", "let"],
- },
- "transform-typeof-symbol": {
- features: ["Symbol / typeof support"],
- },
- "transform-new-target": {
- features: ["new.target"],
- },
- "transform-regenerator": {
- features: ["generators"],
- },
-
- "transform-exponentiation-operator": {
- features: ["exponentiation (**) operator"],
- },
-
- "transform-async-to-generator": {
- features: ["async functions"],
- },
-
- "proposal-async-generator-functions": "Asynchronous Iterators",
- "proposal-object-rest-spread": "object rest/spread properties",
- "proposal-unicode-property-regex": "RegExp Unicode Property Escapes",
-
- "proposal-json-strings": "JSON superset",
- "proposal-optional-catch-binding": "optional catch binding",
- "transform-named-capturing-groups-regex": "RegExp named capture groups",
- "transform-member-expression-literals": "Object/array literal extensions / Reserved words as property names",
- "transform-property-literals": "Object/array literal extensions / Reserved words as property names",
- "transform-reserved-words": "Miscellaneous / Unreserved words",
-};
-
-const proposals = require("./shipped-proposals").features;
-
-module.exports = Object.assign({}, es, proposals);
diff --git a/tgui-next/node_modules/@babel/preset-env/data/plugins.json b/tgui-next/node_modules/@babel/preset-env/data/plugins.json
deleted file mode 100644
index f4a5771b01..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/data/plugins.json
+++ /dev/null
@@ -1,353 +0,0 @@
-{
- "transform-template-literals": {
- "chrome": "41",
- "edge": "13",
- "firefox": "34",
- "safari": "13",
- "node": "4",
- "ios": "13",
- "samsung": "3.4",
- "opera": "28",
- "electron": "0.24"
- },
- "transform-literals": {
- "chrome": "44",
- "edge": "12",
- "firefox": "53",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "4",
- "opera": "31",
- "electron": "0.31"
- },
- "transform-function-name": {
- "chrome": "51",
- "firefox": "53",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "transform-arrow-functions": {
- "chrome": "47",
- "edge": "13",
- "firefox": "45",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "34",
- "electron": "0.36"
- },
- "transform-block-scoped-functions": {
- "chrome": "41",
- "edge": "12",
- "firefox": "46",
- "safari": "10",
- "node": "4",
- "ie": "11",
- "ios": "10",
- "samsung": "3.4",
- "opera": "28",
- "electron": "0.24"
- },
- "transform-classes": {
- "chrome": "46",
- "edge": "13",
- "firefox": "45",
- "safari": "10",
- "node": "5",
- "ios": "10",
- "samsung": "5",
- "opera": "33",
- "electron": "0.36"
- },
- "transform-object-super": {
- "chrome": "46",
- "edge": "13",
- "firefox": "45",
- "safari": "10",
- "node": "5",
- "ios": "10",
- "samsung": "5",
- "opera": "33",
- "electron": "0.36"
- },
- "transform-shorthand-properties": {
- "chrome": "43",
- "edge": "12",
- "firefox": "33",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "4",
- "opera": "30",
- "electron": "0.29"
- },
- "transform-duplicate-keys": {
- "chrome": "42",
- "edge": "12",
- "firefox": "34",
- "safari": "9",
- "node": "4",
- "ios": "9",
- "samsung": "3.4",
- "opera": "29",
- "electron": "0.27"
- },
- "transform-computed-properties": {
- "chrome": "44",
- "edge": "12",
- "firefox": "34",
- "safari": "7.1",
- "node": "4",
- "ios": "8",
- "samsung": "4",
- "opera": "31",
- "electron": "0.31"
- },
- "transform-for-of": {
- "chrome": "51",
- "edge": "15",
- "firefox": "53",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "transform-sticky-regex": {
- "chrome": "49",
- "edge": "13",
- "firefox": "3",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "transform-dotall-regex": {
- "chrome": "62",
- "safari": "11.1",
- "node": "8.10",
- "ios": "11.3",
- "samsung": "8.2",
- "opera": "49",
- "electron": "3.1"
- },
- "transform-unicode-regex": {
- "chrome": "50",
- "edge": "13",
- "firefox": "46",
- "safari": "12",
- "node": "6",
- "ios": "12",
- "samsung": "5",
- "opera": "37",
- "electron": "1.1"
- },
- "transform-spread": {
- "chrome": "46",
- "edge": "13",
- "firefox": "36",
- "safari": "10",
- "node": "5",
- "ios": "10",
- "samsung": "5",
- "opera": "33",
- "electron": "0.36"
- },
- "transform-parameters": {
- "chrome": "49",
- "edge": "18",
- "firefox": "53",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "transform-destructuring": {
- "chrome": "51",
- "edge": "15",
- "firefox": "53",
- "safari": "10",
- "node": "6.5",
- "ios": "10",
- "samsung": "5",
- "opera": "38",
- "electron": "1.2"
- },
- "transform-block-scoping": {
- "chrome": "49",
- "edge": "14",
- "firefox": "51",
- "safari": "11",
- "node": "6",
- "ios": "11",
- "samsung": "5",
- "opera": "36",
- "electron": "1"
- },
- "transform-typeof-symbol": {
- "chrome": "38",
- "edge": "12",
- "firefox": "36",
- "safari": "9",
- "node": "0.12",
- "ios": "9",
- "samsung": "3",
- "opera": "25",
- "electron": "0.2"
- },
- "transform-new-target": {
- "chrome": "46",
- "edge": "14",
- "firefox": "41",
- "safari": "10",
- "node": "5",
- "ios": "10",
- "samsung": "5",
- "opera": "33",
- "electron": "0.36"
- },
- "transform-regenerator": {
- "chrome": "50",
- "edge": "13",
- "firefox": "53",
- "safari": "10",
- "node": "6",
- "ios": "10",
- "samsung": "5",
- "opera": "37",
- "electron": "1.1"
- },
- "transform-exponentiation-operator": {
- "chrome": "52",
- "edge": "14",
- "firefox": "52",
- "safari": "10.1",
- "node": "7",
- "ios": "10.3",
- "samsung": "6.2",
- "opera": "39",
- "electron": "1.3"
- },
- "transform-async-to-generator": {
- "chrome": "55",
- "edge": "15",
- "firefox": "52",
- "safari": "11",
- "node": "7.6",
- "ios": "11",
- "samsung": "6.2",
- "opera": "42",
- "electron": "1.6"
- },
- "proposal-async-generator-functions": {
- "chrome": "63",
- "firefox": "57",
- "safari": "12",
- "node": "10",
- "ios": "12",
- "samsung": "8.2",
- "opera": "50",
- "electron": "3.1"
- },
- "proposal-object-rest-spread": {
- "chrome": "60",
- "firefox": "55",
- "safari": "11.1",
- "node": "8.3",
- "ios": "11.3",
- "samsung": "8.2",
- "opera": "47",
- "electron": "2.1"
- },
- "proposal-unicode-property-regex": {
- "chrome": "64",
- "safari": "11.1",
- "node": "10",
- "ios": "11.3",
- "samsung": "9.2",
- "opera": "51",
- "electron": "3.1"
- },
- "proposal-json-strings": {
- "chrome": "66",
- "firefox": "62",
- "safari": "12",
- "node": "10",
- "ios": "12",
- "samsung": "9.2",
- "opera": "53",
- "electron": "3.1"
- },
- "proposal-optional-catch-binding": {
- "chrome": "66",
- "firefox": "58",
- "safari": "11.1",
- "node": "10",
- "ios": "11.3",
- "samsung": "9.2",
- "opera": "53",
- "electron": "3.1"
- },
- "transform-named-capturing-groups-regex": {
- "chrome": "64",
- "safari": "11.1",
- "node": "10",
- "ios": "11.3",
- "samsung": "9.2",
- "opera": "51",
- "electron": "3.1"
- },
- "transform-member-expression-literals": {
- "chrome": "7",
- "opera": "12",
- "edge": "12",
- "firefox": "2",
- "safari": "5.1",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "5"
- },
- "transform-property-literals": {
- "chrome": "7",
- "opera": "12",
- "edge": "12",
- "firefox": "2",
- "safari": "5.1",
- "node": "0.10",
- "ie": "9",
- "android": "4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "5"
- },
- "transform-reserved-words": {
- "chrome": "13",
- "opera": "10.50",
- "edge": "12",
- "firefox": "2",
- "safari": "3.1",
- "node": "0.10",
- "ie": "9",
- "android": "4.4",
- "ios": "6",
- "phantom": "2",
- "samsung": "2.1",
- "electron": "0.2"
- }
-}
diff --git a/tgui-next/node_modules/@babel/preset-env/data/shipped-proposals.js b/tgui-next/node_modules/@babel/preset-env/data/shipped-proposals.js
deleted file mode 100644
index 90864b6c94..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/data/shipped-proposals.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// These mappings represent the syntax proposals that have been
-// shipped by browsers, and are enabled by the `shippedProposals` option.
-
-const proposalPlugins = {};
-
-const pluginSyntaxMap = new Map([
- ["proposal-async-generator-functions", "syntax-async-generators"],
- ["proposal-object-rest-spread", "syntax-object-rest-spread"],
- ["proposal-optional-catch-binding", "syntax-optional-catch-binding"],
- ["proposal-unicode-property-regex", null],
- ["proposal-json-strings", "syntax-json-strings"],
-]);
-
-module.exports = { proposalPlugins, pluginSyntaxMap };
diff --git a/tgui-next/node_modules/@babel/preset-env/data/unreleased-labels.js b/tgui-next/node_modules/@babel/preset-env/data/unreleased-labels.js
deleted file mode 100644
index bc5130567d..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/data/unreleased-labels.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = {
- safari: "tp",
-};
diff --git a/tgui-next/node_modules/@babel/preset-env/node_modules/.bin/browserslist b/tgui-next/node_modules/@babel/preset-env/node_modules/.bin/browserslist
deleted file mode 100644
index 636a5e02c0..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/node_modules/.bin/browserslist
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../../../../browserslist/cli.js" "$@"
- ret=$?
-else
- node "$basedir/../../../../browserslist/cli.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/@babel/preset-env/node_modules/.bin/browserslist.cmd b/tgui-next/node_modules/@babel/preset-env/node_modules/.bin/browserslist.cmd
deleted file mode 100644
index 745d9f0450..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/node_modules/.bin/browserslist.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\..\..\..\browserslist\cli.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\..\..\..\browserslist\cli.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/@babel/preset-env/node_modules/.bin/semver b/tgui-next/node_modules/@babel/preset-env/node_modules/.bin/semver
deleted file mode 100644
index d592e69304..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/node_modules/.bin/semver
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../semver/bin/semver" "$@"
- ret=$?
-else
- node "$basedir/../semver/bin/semver" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/@babel/preset-env/node_modules/.bin/semver.cmd b/tgui-next/node_modules/@babel/preset-env/node_modules/.bin/semver.cmd
deleted file mode 100644
index eabc737647..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/node_modules/.bin/semver.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\semver\bin\semver" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\semver\bin\semver" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/@babel/preset-env/node_modules/semver/CHANGELOG.md b/tgui-next/node_modules/@babel/preset-env/node_modules/semver/CHANGELOG.md
deleted file mode 100644
index 66304fdd23..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/node_modules/semver/CHANGELOG.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# changes log
-
-## 5.7
-
-* Add `minVersion` method
-
-## 5.6
-
-* Move boolean `loose` param to an options object, with
- backwards-compatibility protection.
-* Add ability to opt out of special prerelease version handling with
- the `includePrerelease` option flag.
-
-## 5.5
-
-* Add version coercion capabilities
-
-## 5.4
-
-* Add intersection checking
-
-## 5.3
-
-* Add `minSatisfying` method
-
-## 5.2
-
-* Add `prerelease(v)` that returns prerelease components
-
-## 5.1
-
-* Add Backus-Naur for ranges
-* Remove excessively cute inspection methods
-
-## 5.0
-
-* Remove AMD/Browserified build artifacts
-* Fix ltr and gtr when using the `*` range
-* Fix for range `*` with a prerelease identifier
diff --git a/tgui-next/node_modules/@babel/preset-env/node_modules/semver/LICENSE b/tgui-next/node_modules/@babel/preset-env/node_modules/semver/LICENSE
deleted file mode 100644
index 19129e315f..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/node_modules/semver/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/preset-env/node_modules/semver/README.md b/tgui-next/node_modules/@babel/preset-env/node_modules/semver/README.md
deleted file mode 100644
index f8dfa5a0df..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/node_modules/semver/README.md
+++ /dev/null
@@ -1,412 +0,0 @@
-semver(1) -- The semantic versioner for npm
-===========================================
-
-## Install
-
-```bash
-npm install --save semver
-````
-
-## Usage
-
-As a node module:
-
-```js
-const semver = require('semver')
-
-semver.valid('1.2.3') // '1.2.3'
-semver.valid('a.b.c') // null
-semver.clean(' =v1.2.3 ') // '1.2.3'
-semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true
-semver.gt('1.2.3', '9.8.7') // false
-semver.lt('1.2.3', '9.8.7') // true
-semver.minVersion('>=1.0.0') // '1.0.0'
-semver.valid(semver.coerce('v2')) // '2.0.0'
-semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7'
-```
-
-As a command-line utility:
-
-```
-$ semver -h
-
-A JavaScript implementation of the https://semver.org/ specification
-Copyright Isaac Z. Schlueter
-
-Usage: semver [options] [ [...]]
-Prints valid versions sorted by SemVer precedence
-
-Options:
--r --range
- Print versions that match the specified range.
-
--i --increment []
- Increment a version by the specified level. Level can
- be one of: major, minor, patch, premajor, preminor,
- prepatch, or prerelease. Default level is 'patch'.
- Only one version may be specified.
-
---preid
- Identifier to be used to prefix premajor, preminor,
- prepatch or prerelease version increments.
-
--l --loose
- Interpret versions and ranges loosely
-
--p --include-prerelease
- Always include prerelease versions in range matching
-
--c --coerce
- Coerce a string into SemVer if possible
- (does not imply --loose)
-
-Program exits successfully if any valid version satisfies
-all supplied ranges, and prints all satisfying versions.
-
-If no satisfying versions are found, then exits failure.
-
-Versions are printed in ascending order, so supplying
-multiple versions to the utility will just sort them.
-```
-
-## Versions
-
-A "version" is described by the `v2.0.0` specification found at
- .
-
-A leading `"="` or `"v"` character is stripped off and ignored.
-
-## Ranges
-
-A `version range` is a set of `comparators` which specify versions
-that satisfy the range.
-
-A `comparator` is composed of an `operator` and a `version`. The set
-of primitive `operators` is:
-
-* `<` Less than
-* `<=` Less than or equal to
-* `>` Greater than
-* `>=` Greater than or equal to
-* `=` Equal. If no operator is specified, then equality is assumed,
- so this operator is optional, but MAY be included.
-
-For example, the comparator `>=1.2.7` would match the versions
-`1.2.7`, `1.2.8`, `2.5.3`, and `1.3.9`, but not the versions `1.2.6`
-or `1.1.0`.
-
-Comparators can be joined by whitespace to form a `comparator set`,
-which is satisfied by the **intersection** of all of the comparators
-it includes.
-
-A range is composed of one or more comparator sets, joined by `||`. A
-version matches a range if and only if every comparator in at least
-one of the `||`-separated comparator sets is satisfied by the version.
-
-For example, the range `>=1.2.7 <1.3.0` would match the versions
-`1.2.7`, `1.2.8`, and `1.2.99`, but not the versions `1.2.6`, `1.3.0`,
-or `1.1.0`.
-
-The range `1.2.7 || >=1.2.9 <2.0.0` would match the versions `1.2.7`,
-`1.2.9`, and `1.4.6`, but not the versions `1.2.8` or `2.0.0`.
-
-### Prerelease Tags
-
-If a version has a prerelease tag (for example, `1.2.3-alpha.3`) then
-it will only be allowed to satisfy comparator sets if at least one
-comparator with the same `[major, minor, patch]` tuple also has a
-prerelease tag.
-
-For example, the range `>1.2.3-alpha.3` would be allowed to match the
-version `1.2.3-alpha.7`, but it would *not* be satisfied by
-`3.4.5-alpha.9`, even though `3.4.5-alpha.9` is technically "greater
-than" `1.2.3-alpha.3` according to the SemVer sort rules. The version
-range only accepts prerelease tags on the `1.2.3` version. The
-version `3.4.5` *would* satisfy the range, because it does not have a
-prerelease flag, and `3.4.5` is greater than `1.2.3-alpha.7`.
-
-The purpose for this behavior is twofold. First, prerelease versions
-frequently are updated very quickly, and contain many breaking changes
-that are (by the author's design) not yet fit for public consumption.
-Therefore, by default, they are excluded from range matching
-semantics.
-
-Second, a user who has opted into using a prerelease version has
-clearly indicated the intent to use *that specific* set of
-alpha/beta/rc versions. By including a prerelease tag in the range,
-the user is indicating that they are aware of the risk. However, it
-is still not appropriate to assume that they have opted into taking a
-similar risk on the *next* set of prerelease versions.
-
-Note that this behavior can be suppressed (treating all prerelease
-versions as if they were normal versions, for the purpose of range
-matching) by setting the `includePrerelease` flag on the options
-object to any
-[functions](https://github.com/npm/node-semver#functions) that do
-range matching.
-
-#### Prerelease Identifiers
-
-The method `.inc` takes an additional `identifier` string argument that
-will append the value of the string as a prerelease identifier:
-
-```javascript
-semver.inc('1.2.3', 'prerelease', 'beta')
-// '1.2.4-beta.0'
-```
-
-command-line example:
-
-```bash
-$ semver 1.2.3 -i prerelease --preid beta
-1.2.4-beta.0
-```
-
-Which then can be used to increment further:
-
-```bash
-$ semver 1.2.4-beta.0 -i prerelease
-1.2.4-beta.1
-```
-
-### Advanced Range Syntax
-
-Advanced range syntax desugars to primitive comparators in
-deterministic ways.
-
-Advanced ranges may be combined in the same way as primitive
-comparators using white space or `||`.
-
-#### Hyphen Ranges `X.Y.Z - A.B.C`
-
-Specifies an inclusive set.
-
-* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`
-
-If a partial version is provided as the first version in the inclusive
-range, then the missing pieces are replaced with zeroes.
-
-* `1.2 - 2.3.4` := `>=1.2.0 <=2.3.4`
-
-If a partial version is provided as the second version in the
-inclusive range, then all versions that start with the supplied parts
-of the tuple are accepted, but nothing that would be greater than the
-provided tuple parts.
-
-* `1.2.3 - 2.3` := `>=1.2.3 <2.4.0`
-* `1.2.3 - 2` := `>=1.2.3 <3.0.0`
-
-#### X-Ranges `1.2.x` `1.X` `1.2.*` `*`
-
-Any of `X`, `x`, or `*` may be used to "stand in" for one of the
-numeric values in the `[major, minor, patch]` tuple.
-
-* `*` := `>=0.0.0` (Any version satisfies)
-* `1.x` := `>=1.0.0 <2.0.0` (Matching major version)
-* `1.2.x` := `>=1.2.0 <1.3.0` (Matching major and minor versions)
-
-A partial version range is treated as an X-Range, so the special
-character is in fact optional.
-
-* `""` (empty string) := `*` := `>=0.0.0`
-* `1` := `1.x.x` := `>=1.0.0 <2.0.0`
-* `1.2` := `1.2.x` := `>=1.2.0 <1.3.0`
-
-#### Tilde Ranges `~1.2.3` `~1.2` `~1`
-
-Allows patch-level changes if a minor version is specified on the
-comparator. Allows minor-level changes if not.
-
-* `~1.2.3` := `>=1.2.3 <1.(2+1).0` := `>=1.2.3 <1.3.0`
-* `~1.2` := `>=1.2.0 <1.(2+1).0` := `>=1.2.0 <1.3.0` (Same as `1.2.x`)
-* `~1` := `>=1.0.0 <(1+1).0.0` := `>=1.0.0 <2.0.0` (Same as `1.x`)
-* `~0.2.3` := `>=0.2.3 <0.(2+1).0` := `>=0.2.3 <0.3.0`
-* `~0.2` := `>=0.2.0 <0.(2+1).0` := `>=0.2.0 <0.3.0` (Same as `0.2.x`)
-* `~0` := `>=0.0.0 <(0+1).0.0` := `>=0.0.0 <1.0.0` (Same as `0.x`)
-* `~1.2.3-beta.2` := `>=1.2.3-beta.2 <1.3.0` Note that prereleases in
- the `1.2.3` version will be allowed, if they are greater than or
- equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but
- `1.2.4-beta.2` would not, because it is a prerelease of a
- different `[major, minor, patch]` tuple.
-
-#### Caret Ranges `^1.2.3` `^0.2.5` `^0.0.4`
-
-Allows changes that do not modify the left-most non-zero digit in the
-`[major, minor, patch]` tuple. In other words, this allows patch and
-minor updates for versions `1.0.0` and above, patch updates for
-versions `0.X >=0.1.0`, and *no* updates for versions `0.0.X`.
-
-Many authors treat a `0.x` version as if the `x` were the major
-"breaking-change" indicator.
-
-Caret ranges are ideal when an author may make breaking changes
-between `0.2.4` and `0.3.0` releases, which is a common practice.
-However, it presumes that there will *not* be breaking changes between
-`0.2.4` and `0.2.5`. It allows for changes that are presumed to be
-additive (but non-breaking), according to commonly observed practices.
-
-* `^1.2.3` := `>=1.2.3 <2.0.0`
-* `^0.2.3` := `>=0.2.3 <0.3.0`
-* `^0.0.3` := `>=0.0.3 <0.0.4`
-* `^1.2.3-beta.2` := `>=1.2.3-beta.2 <2.0.0` Note that prereleases in
- the `1.2.3` version will be allowed, if they are greater than or
- equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but
- `1.2.4-beta.2` would not, because it is a prerelease of a
- different `[major, minor, patch]` tuple.
-* `^0.0.3-beta` := `>=0.0.3-beta <0.0.4` Note that prereleases in the
- `0.0.3` version *only* will be allowed, if they are greater than or
- equal to `beta`. So, `0.0.3-pr.2` would be allowed.
-
-When parsing caret ranges, a missing `patch` value desugars to the
-number `0`, but will allow flexibility within that value, even if the
-major and minor versions are both `0`.
-
-* `^1.2.x` := `>=1.2.0 <2.0.0`
-* `^0.0.x` := `>=0.0.0 <0.1.0`
-* `^0.0` := `>=0.0.0 <0.1.0`
-
-A missing `minor` and `patch` values will desugar to zero, but also
-allow flexibility within those values, even if the major version is
-zero.
-
-* `^1.x` := `>=1.0.0 <2.0.0`
-* `^0.x` := `>=0.0.0 <1.0.0`
-
-### Range Grammar
-
-Putting all this together, here is a Backus-Naur grammar for ranges,
-for the benefit of parser authors:
-
-```bnf
-range-set ::= range ( logical-or range ) *
-logical-or ::= ( ' ' ) * '||' ( ' ' ) *
-range ::= hyphen | simple ( ' ' simple ) * | ''
-hyphen ::= partial ' - ' partial
-simple ::= primitive | partial | tilde | caret
-primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
-partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
-xr ::= 'x' | 'X' | '*' | nr
-nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) *
-tilde ::= '~' partial
-caret ::= '^' partial
-qualifier ::= ( '-' pre )? ( '+' build )?
-pre ::= parts
-build ::= parts
-parts ::= part ( '.' part ) *
-part ::= nr | [-0-9A-Za-z]+
-```
-
-## Functions
-
-All methods and classes take a final `options` object argument. All
-options in this object are `false` by default. The options supported
-are:
-
-- `loose` Be more forgiving about not-quite-valid semver strings.
- (Any resulting output will always be 100% strict compliant, of
- course.) For backwards compatibility reasons, if the `options`
- argument is a boolean value instead of an object, it is interpreted
- to be the `loose` param.
-- `includePrerelease` Set to suppress the [default
- behavior](https://github.com/npm/node-semver#prerelease-tags) of
- excluding prerelease tagged versions from ranges unless they are
- explicitly opted into.
-
-Strict-mode Comparators and Ranges will be strict about the SemVer
-strings that they parse.
-
-* `valid(v)`: Return the parsed version, or null if it's not valid.
-* `inc(v, release)`: Return the version incremented by the release
- type (`major`, `premajor`, `minor`, `preminor`, `patch`,
- `prepatch`, or `prerelease`), or null if it's not valid
- * `premajor` in one call will bump the version up to the next major
- version and down to a prerelease of that major version.
- `preminor`, and `prepatch` work the same way.
- * If called from a non-prerelease version, the `prerelease` will work the
- same as `prepatch`. It increments the patch version, then makes a
- prerelease. If the input version is already a prerelease it simply
- increments it.
-* `prerelease(v)`: Returns an array of prerelease components, or null
- if none exist. Example: `prerelease('1.2.3-alpha.1') -> ['alpha', 1]`
-* `major(v)`: Return the major version number.
-* `minor(v)`: Return the minor version number.
-* `patch(v)`: Return the patch version number.
-* `intersects(r1, r2, loose)`: Return true if the two supplied ranges
- or comparators intersect.
-* `parse(v)`: Attempt to parse a string as a semantic version, returning either
- a `SemVer` object or `null`.
-
-### Comparison
-
-* `gt(v1, v2)`: `v1 > v2`
-* `gte(v1, v2)`: `v1 >= v2`
-* `lt(v1, v2)`: `v1 < v2`
-* `lte(v1, v2)`: `v1 <= v2`
-* `eq(v1, v2)`: `v1 == v2` This is true if they're logically equivalent,
- even if they're not the exact same string. You already know how to
- compare strings.
-* `neq(v1, v2)`: `v1 != v2` The opposite of `eq`.
-* `cmp(v1, comparator, v2)`: Pass in a comparison string, and it'll call
- the corresponding function above. `"==="` and `"!=="` do simple
- string comparison, but are included for completeness. Throws if an
- invalid comparison string is provided.
-* `compare(v1, v2)`: Return `0` if `v1 == v2`, or `1` if `v1` is greater, or `-1` if
- `v2` is greater. Sorts in ascending order if passed to `Array.sort()`.
-* `rcompare(v1, v2)`: The reverse of compare. Sorts an array of versions
- in descending order when passed to `Array.sort()`.
-* `diff(v1, v2)`: Returns difference between two versions by the release type
- (`major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, or `prerelease`),
- or null if the versions are the same.
-
-### Comparators
-
-* `intersects(comparator)`: Return true if the comparators intersect
-
-### Ranges
-
-* `validRange(range)`: Return the valid range or null if it's not valid
-* `satisfies(version, range)`: Return true if the version satisfies the
- range.
-* `maxSatisfying(versions, range)`: Return the highest version in the list
- that satisfies the range, or `null` if none of them do.
-* `minSatisfying(versions, range)`: Return the lowest version in the list
- that satisfies the range, or `null` if none of them do.
-* `minVersion(range)`: Return the lowest version that can possibly match
- the given range.
-* `gtr(version, range)`: Return `true` if version is greater than all the
- versions possible in the range.
-* `ltr(version, range)`: Return `true` if version is less than all the
- versions possible in the range.
-* `outside(version, range, hilo)`: Return true if the version is outside
- the bounds of the range in either the high or low direction. The
- `hilo` argument must be either the string `'>'` or `'<'`. (This is
- the function called by `gtr` and `ltr`.)
-* `intersects(range)`: Return true if any of the ranges comparators intersect
-
-Note that, since ranges may be non-contiguous, a version might not be
-greater than a range, less than a range, *or* satisfy a range! For
-example, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9`
-until `2.0.0`, so the version `1.2.10` would not be greater than the
-range (because `2.0.1` satisfies, which is higher), nor less than the
-range (since `1.2.8` satisfies, which is lower), and it also does not
-satisfy the range.
-
-If you want to know if a version satisfies or does not satisfy a
-range, use the `satisfies(version, range)` function.
-
-### Coercion
-
-* `coerce(version)`: Coerces a string to semver if possible
-
-This aims to provide a very forgiving translation of a non-semver string to
-semver. It looks for the first digit in a string, and consumes all
-remaining characters which satisfy at least a partial semver (e.g., `1`,
-`1.2`, `1.2.3`) up to the max permitted length (256 characters). Longer
-versions are simply truncated (`4.6.3.9.2-alpha2` becomes `4.6.3`). All
-surrounding text is simply ignored (`v3.4 replaces v3.3.1` becomes
-`3.4.0`). Only text which lacks digits will fail coercion (`version one`
-is not valid). The maximum length for any semver component considered for
-coercion is 16 characters; longer components will be ignored
-(`10000000000000000.4.7.4` becomes `4.7.4`). The maximum value for any
-semver component is `Number.MAX_SAFE_INTEGER || (2**53 - 1)`; higher value
-components are invalid (`9999999999999999.4.7.4` is likely invalid).
diff --git a/tgui-next/node_modules/@babel/preset-env/node_modules/semver/bin/semver b/tgui-next/node_modules/@babel/preset-env/node_modules/semver/bin/semver
deleted file mode 100644
index 801e77f130..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/node_modules/semver/bin/semver
+++ /dev/null
@@ -1,160 +0,0 @@
-#!/usr/bin/env node
-// Standalone semver comparison program.
-// Exits successfully and prints matching version(s) if
-// any supplied version is valid and passes all tests.
-
-var argv = process.argv.slice(2)
-
-var versions = []
-
-var range = []
-
-var inc = null
-
-var version = require('../package.json').version
-
-var loose = false
-
-var includePrerelease = false
-
-var coerce = false
-
-var identifier
-
-var semver = require('../semver')
-
-var reverse = false
-
-var options = {}
-
-main()
-
-function main () {
- if (!argv.length) return help()
- while (argv.length) {
- var a = argv.shift()
- var indexOfEqualSign = a.indexOf('=')
- if (indexOfEqualSign !== -1) {
- a = a.slice(0, indexOfEqualSign)
- argv.unshift(a.slice(indexOfEqualSign + 1))
- }
- switch (a) {
- case '-rv': case '-rev': case '--rev': case '--reverse':
- reverse = true
- break
- case '-l': case '--loose':
- loose = true
- break
- case '-p': case '--include-prerelease':
- includePrerelease = true
- break
- case '-v': case '--version':
- versions.push(argv.shift())
- break
- case '-i': case '--inc': case '--increment':
- switch (argv[0]) {
- case 'major': case 'minor': case 'patch': case 'prerelease':
- case 'premajor': case 'preminor': case 'prepatch':
- inc = argv.shift()
- break
- default:
- inc = 'patch'
- break
- }
- break
- case '--preid':
- identifier = argv.shift()
- break
- case '-r': case '--range':
- range.push(argv.shift())
- break
- case '-c': case '--coerce':
- coerce = true
- break
- case '-h': case '--help': case '-?':
- return help()
- default:
- versions.push(a)
- break
- }
- }
-
- var options = { loose: loose, includePrerelease: includePrerelease }
-
- versions = versions.map(function (v) {
- return coerce ? (semver.coerce(v) || { version: v }).version : v
- }).filter(function (v) {
- return semver.valid(v)
- })
- if (!versions.length) return fail()
- if (inc && (versions.length !== 1 || range.length)) { return failInc() }
-
- for (var i = 0, l = range.length; i < l; i++) {
- versions = versions.filter(function (v) {
- return semver.satisfies(v, range[i], options)
- })
- if (!versions.length) return fail()
- }
- return success(versions)
-}
-
-function failInc () {
- console.error('--inc can only be used on a single version with no range')
- fail()
-}
-
-function fail () { process.exit(1) }
-
-function success () {
- var compare = reverse ? 'rcompare' : 'compare'
- versions.sort(function (a, b) {
- return semver[compare](a, b, options)
- }).map(function (v) {
- return semver.clean(v, options)
- }).map(function (v) {
- return inc ? semver.inc(v, inc, options, identifier) : v
- }).forEach(function (v, i, _) { console.log(v) })
-}
-
-function help () {
- console.log(['SemVer ' + version,
- '',
- 'A JavaScript implementation of the https://semver.org/ specification',
- 'Copyright Isaac Z. Schlueter',
- '',
- 'Usage: semver [options] [ [...]]',
- 'Prints valid versions sorted by SemVer precedence',
- '',
- 'Options:',
- '-r --range ',
- ' Print versions that match the specified range.',
- '',
- '-i --increment []',
- ' Increment a version by the specified level. Level can',
- ' be one of: major, minor, patch, premajor, preminor,',
- " prepatch, or prerelease. Default level is 'patch'.",
- ' Only one version may be specified.',
- '',
- '--preid ',
- ' Identifier to be used to prefix premajor, preminor,',
- ' prepatch or prerelease version increments.',
- '',
- '-l --loose',
- ' Interpret versions and ranges loosely',
- '',
- '-p --include-prerelease',
- ' Always include prerelease versions in range matching',
- '',
- '-c --coerce',
- ' Coerce a string into SemVer if possible',
- ' (does not imply --loose)',
- '',
- 'Program exits successfully if any valid version satisfies',
- 'all supplied ranges, and prints all satisfying versions.',
- '',
- 'If no satisfying versions are found, then exits failure.',
- '',
- 'Versions are printed in ascending order, so supplying',
- 'multiple versions to the utility will just sort them.'
- ].join('\n'))
-}
diff --git a/tgui-next/node_modules/@babel/preset-env/node_modules/semver/package.json b/tgui-next/node_modules/@babel/preset-env/node_modules/semver/package.json
deleted file mode 100644
index 69d2db162c..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/node_modules/semver/package.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "name": "semver",
- "version": "5.7.1",
- "description": "The semantic version parser used by npm.",
- "main": "semver.js",
- "scripts": {
- "test": "tap",
- "preversion": "npm test",
- "postversion": "npm publish",
- "postpublish": "git push origin --all; git push origin --tags"
- },
- "devDependencies": {
- "tap": "^13.0.0-rc.18"
- },
- "license": "ISC",
- "repository": "https://github.com/npm/node-semver",
- "bin": {
- "semver": "./bin/semver"
- },
- "files": [
- "bin",
- "range.bnf",
- "semver.js"
- ],
- "tap": {
- "check-coverage": true
- }
-}
diff --git a/tgui-next/node_modules/@babel/preset-env/node_modules/semver/range.bnf b/tgui-next/node_modules/@babel/preset-env/node_modules/semver/range.bnf
deleted file mode 100644
index d4c6ae0d76..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/node_modules/semver/range.bnf
+++ /dev/null
@@ -1,16 +0,0 @@
-range-set ::= range ( logical-or range ) *
-logical-or ::= ( ' ' ) * '||' ( ' ' ) *
-range ::= hyphen | simple ( ' ' simple ) * | ''
-hyphen ::= partial ' - ' partial
-simple ::= primitive | partial | tilde | caret
-primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
-partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
-xr ::= 'x' | 'X' | '*' | nr
-nr ::= '0' | [1-9] ( [0-9] ) *
-tilde ::= '~' partial
-caret ::= '^' partial
-qualifier ::= ( '-' pre )? ( '+' build )?
-pre ::= parts
-build ::= parts
-parts ::= part ( '.' part ) *
-part ::= nr | [-0-9A-Za-z]+
diff --git a/tgui-next/node_modules/@babel/preset-env/node_modules/semver/semver.js b/tgui-next/node_modules/@babel/preset-env/node_modules/semver/semver.js
deleted file mode 100644
index d315d5d68b..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/node_modules/semver/semver.js
+++ /dev/null
@@ -1,1483 +0,0 @@
-exports = module.exports = SemVer
-
-var debug
-/* istanbul ignore next */
-if (typeof process === 'object' &&
- process.env &&
- process.env.NODE_DEBUG &&
- /\bsemver\b/i.test(process.env.NODE_DEBUG)) {
- debug = function () {
- var args = Array.prototype.slice.call(arguments, 0)
- args.unshift('SEMVER')
- console.log.apply(console, args)
- }
-} else {
- debug = function () {}
-}
-
-// Note: this is the semver.org version of the spec that it implements
-// Not necessarily the package version of this code.
-exports.SEMVER_SPEC_VERSION = '2.0.0'
-
-var MAX_LENGTH = 256
-var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||
- /* istanbul ignore next */ 9007199254740991
-
-// Max safe segment length for coercion.
-var MAX_SAFE_COMPONENT_LENGTH = 16
-
-// The actual regexps go on exports.re
-var re = exports.re = []
-var src = exports.src = []
-var R = 0
-
-// The following Regular Expressions can be used for tokenizing,
-// validating, and parsing SemVer version strings.
-
-// ## Numeric Identifier
-// A single `0`, or a non-zero digit followed by zero or more digits.
-
-var NUMERICIDENTIFIER = R++
-src[NUMERICIDENTIFIER] = '0|[1-9]\\d*'
-var NUMERICIDENTIFIERLOOSE = R++
-src[NUMERICIDENTIFIERLOOSE] = '[0-9]+'
-
-// ## Non-numeric Identifier
-// Zero or more digits, followed by a letter or hyphen, and then zero or
-// more letters, digits, or hyphens.
-
-var NONNUMERICIDENTIFIER = R++
-src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'
-
-// ## Main Version
-// Three dot-separated numeric identifiers.
-
-var MAINVERSION = R++
-src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' +
- '(' + src[NUMERICIDENTIFIER] + ')\\.' +
- '(' + src[NUMERICIDENTIFIER] + ')'
-
-var MAINVERSIONLOOSE = R++
-src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
- '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
- '(' + src[NUMERICIDENTIFIERLOOSE] + ')'
-
-// ## Pre-release Version Identifier
-// A numeric identifier, or a non-numeric identifier.
-
-var PRERELEASEIDENTIFIER = R++
-src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +
- '|' + src[NONNUMERICIDENTIFIER] + ')'
-
-var PRERELEASEIDENTIFIERLOOSE = R++
-src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +
- '|' + src[NONNUMERICIDENTIFIER] + ')'
-
-// ## Pre-release Version
-// Hyphen, followed by one or more dot-separated pre-release version
-// identifiers.
-
-var PRERELEASE = R++
-src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +
- '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))'
-
-var PRERELEASELOOSE = R++
-src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +
- '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'
-
-// ## Build Metadata Identifier
-// Any combination of digits, letters, or hyphens.
-
-var BUILDIDENTIFIER = R++
-src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'
-
-// ## Build Metadata
-// Plus sign, followed by one or more period-separated build metadata
-// identifiers.
-
-var BUILD = R++
-src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] +
- '(?:\\.' + src[BUILDIDENTIFIER] + ')*))'
-
-// ## Full Version String
-// A main version, followed optionally by a pre-release version and
-// build metadata.
-
-// Note that the only major, minor, patch, and pre-release sections of
-// the version string are capturing groups. The build metadata is not a
-// capturing group, because it should not ever be used in version
-// comparison.
-
-var FULL = R++
-var FULLPLAIN = 'v?' + src[MAINVERSION] +
- src[PRERELEASE] + '?' +
- src[BUILD] + '?'
-
-src[FULL] = '^' + FULLPLAIN + '$'
-
-// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.
-// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty
-// common in the npm registry.
-var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] +
- src[PRERELEASELOOSE] + '?' +
- src[BUILD] + '?'
-
-var LOOSE = R++
-src[LOOSE] = '^' + LOOSEPLAIN + '$'
-
-var GTLT = R++
-src[GTLT] = '((?:<|>)?=?)'
-
-// Something like "2.*" or "1.2.x".
-// Note that "x.x" is a valid xRange identifer, meaning "any version"
-// Only the first item is strictly required.
-var XRANGEIDENTIFIERLOOSE = R++
-src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'
-var XRANGEIDENTIFIER = R++
-src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*'
-
-var XRANGEPLAIN = R++
-src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' +
- '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
- '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
- '(?:' + src[PRERELEASE] + ')?' +
- src[BUILD] + '?' +
- ')?)?'
-
-var XRANGEPLAINLOOSE = R++
-src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
- '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
- '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
- '(?:' + src[PRERELEASELOOSE] + ')?' +
- src[BUILD] + '?' +
- ')?)?'
-
-var XRANGE = R++
-src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$'
-var XRANGELOOSE = R++
-src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$'
-
-// Coercion.
-// Extract anything that could conceivably be a part of a valid semver
-var COERCE = R++
-src[COERCE] = '(?:^|[^\\d])' +
- '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +
- '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
- '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
- '(?:$|[^\\d])'
-
-// Tilde ranges.
-// Meaning is "reasonably at or greater than"
-var LONETILDE = R++
-src[LONETILDE] = '(?:~>?)'
-
-var TILDETRIM = R++
-src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+'
-re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g')
-var tildeTrimReplace = '$1~'
-
-var TILDE = R++
-src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'
-var TILDELOOSE = R++
-src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'
-
-// Caret ranges.
-// Meaning is "at least and backwards compatible with"
-var LONECARET = R++
-src[LONECARET] = '(?:\\^)'
-
-var CARETTRIM = R++
-src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+'
-re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g')
-var caretTrimReplace = '$1^'
-
-var CARET = R++
-src[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'
-var CARETLOOSE = R++
-src[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'
-
-// A simple gt/lt/eq thing, or just "" to indicate "any version"
-var COMPARATORLOOSE = R++
-src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$'
-var COMPARATOR = R++
-src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$'
-
-// An expression to strip any whitespace between the gtlt and the thing
-// it modifies, so that `> 1.2.3` ==> `>1.2.3`
-var COMPARATORTRIM = R++
-src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] +
- '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'
-
-// this one has to use the /g flag
-re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g')
-var comparatorTrimReplace = '$1$2$3'
-
-// Something like `1.2.3 - 1.2.4`
-// Note that these all use the loose form, because they'll be
-// checked against either the strict or loose comparator form
-// later.
-var HYPHENRANGE = R++
-src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' +
- '\\s+-\\s+' +
- '(' + src[XRANGEPLAIN] + ')' +
- '\\s*$'
-
-var HYPHENRANGELOOSE = R++
-src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' +
- '\\s+-\\s+' +
- '(' + src[XRANGEPLAINLOOSE] + ')' +
- '\\s*$'
-
-// Star ranges basically just allow anything at all.
-var STAR = R++
-src[STAR] = '(<|>)?=?\\s*\\*'
-
-// Compile to actual regexp objects.
-// All are flag-free, unless they were created above with a flag.
-for (var i = 0; i < R; i++) {
- debug(i, src[i])
- if (!re[i]) {
- re[i] = new RegExp(src[i])
- }
-}
-
-exports.parse = parse
-function parse (version, options) {
- if (!options || typeof options !== 'object') {
- options = {
- loose: !!options,
- includePrerelease: false
- }
- }
-
- if (version instanceof SemVer) {
- return version
- }
-
- if (typeof version !== 'string') {
- return null
- }
-
- if (version.length > MAX_LENGTH) {
- return null
- }
-
- var r = options.loose ? re[LOOSE] : re[FULL]
- if (!r.test(version)) {
- return null
- }
-
- try {
- return new SemVer(version, options)
- } catch (er) {
- return null
- }
-}
-
-exports.valid = valid
-function valid (version, options) {
- var v = parse(version, options)
- return v ? v.version : null
-}
-
-exports.clean = clean
-function clean (version, options) {
- var s = parse(version.trim().replace(/^[=v]+/, ''), options)
- return s ? s.version : null
-}
-
-exports.SemVer = SemVer
-
-function SemVer (version, options) {
- if (!options || typeof options !== 'object') {
- options = {
- loose: !!options,
- includePrerelease: false
- }
- }
- if (version instanceof SemVer) {
- if (version.loose === options.loose) {
- return version
- } else {
- version = version.version
- }
- } else if (typeof version !== 'string') {
- throw new TypeError('Invalid Version: ' + version)
- }
-
- if (version.length > MAX_LENGTH) {
- throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')
- }
-
- if (!(this instanceof SemVer)) {
- return new SemVer(version, options)
- }
-
- debug('SemVer', version, options)
- this.options = options
- this.loose = !!options.loose
-
- var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL])
-
- if (!m) {
- throw new TypeError('Invalid Version: ' + version)
- }
-
- this.raw = version
-
- // these are actually numbers
- this.major = +m[1]
- this.minor = +m[2]
- this.patch = +m[3]
-
- if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
- throw new TypeError('Invalid major version')
- }
-
- if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
- throw new TypeError('Invalid minor version')
- }
-
- if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
- throw new TypeError('Invalid patch version')
- }
-
- // numberify any prerelease numeric ids
- if (!m[4]) {
- this.prerelease = []
- } else {
- this.prerelease = m[4].split('.').map(function (id) {
- if (/^[0-9]+$/.test(id)) {
- var num = +id
- if (num >= 0 && num < MAX_SAFE_INTEGER) {
- return num
- }
- }
- return id
- })
- }
-
- this.build = m[5] ? m[5].split('.') : []
- this.format()
-}
-
-SemVer.prototype.format = function () {
- this.version = this.major + '.' + this.minor + '.' + this.patch
- if (this.prerelease.length) {
- this.version += '-' + this.prerelease.join('.')
- }
- return this.version
-}
-
-SemVer.prototype.toString = function () {
- return this.version
-}
-
-SemVer.prototype.compare = function (other) {
- debug('SemVer.compare', this.version, this.options, other)
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options)
- }
-
- return this.compareMain(other) || this.comparePre(other)
-}
-
-SemVer.prototype.compareMain = function (other) {
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options)
- }
-
- return compareIdentifiers(this.major, other.major) ||
- compareIdentifiers(this.minor, other.minor) ||
- compareIdentifiers(this.patch, other.patch)
-}
-
-SemVer.prototype.comparePre = function (other) {
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options)
- }
-
- // NOT having a prerelease is > having one
- if (this.prerelease.length && !other.prerelease.length) {
- return -1
- } else if (!this.prerelease.length && other.prerelease.length) {
- return 1
- } else if (!this.prerelease.length && !other.prerelease.length) {
- return 0
- }
-
- var i = 0
- do {
- var a = this.prerelease[i]
- var b = other.prerelease[i]
- debug('prerelease compare', i, a, b)
- if (a === undefined && b === undefined) {
- return 0
- } else if (b === undefined) {
- return 1
- } else if (a === undefined) {
- return -1
- } else if (a === b) {
- continue
- } else {
- return compareIdentifiers(a, b)
- }
- } while (++i)
-}
-
-// preminor will bump the version up to the next minor release, and immediately
-// down to pre-release. premajor and prepatch work the same way.
-SemVer.prototype.inc = function (release, identifier) {
- switch (release) {
- case 'premajor':
- this.prerelease.length = 0
- this.patch = 0
- this.minor = 0
- this.major++
- this.inc('pre', identifier)
- break
- case 'preminor':
- this.prerelease.length = 0
- this.patch = 0
- this.minor++
- this.inc('pre', identifier)
- break
- case 'prepatch':
- // If this is already a prerelease, it will bump to the next version
- // drop any prereleases that might already exist, since they are not
- // relevant at this point.
- this.prerelease.length = 0
- this.inc('patch', identifier)
- this.inc('pre', identifier)
- break
- // If the input is a non-prerelease version, this acts the same as
- // prepatch.
- case 'prerelease':
- if (this.prerelease.length === 0) {
- this.inc('patch', identifier)
- }
- this.inc('pre', identifier)
- break
-
- case 'major':
- // If this is a pre-major version, bump up to the same major version.
- // Otherwise increment major.
- // 1.0.0-5 bumps to 1.0.0
- // 1.1.0 bumps to 2.0.0
- if (this.minor !== 0 ||
- this.patch !== 0 ||
- this.prerelease.length === 0) {
- this.major++
- }
- this.minor = 0
- this.patch = 0
- this.prerelease = []
- break
- case 'minor':
- // If this is a pre-minor version, bump up to the same minor version.
- // Otherwise increment minor.
- // 1.2.0-5 bumps to 1.2.0
- // 1.2.1 bumps to 1.3.0
- if (this.patch !== 0 || this.prerelease.length === 0) {
- this.minor++
- }
- this.patch = 0
- this.prerelease = []
- break
- case 'patch':
- // If this is not a pre-release version, it will increment the patch.
- // If it is a pre-release it will bump up to the same patch version.
- // 1.2.0-5 patches to 1.2.0
- // 1.2.0 patches to 1.2.1
- if (this.prerelease.length === 0) {
- this.patch++
- }
- this.prerelease = []
- break
- // This probably shouldn't be used publicly.
- // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction.
- case 'pre':
- if (this.prerelease.length === 0) {
- this.prerelease = [0]
- } else {
- var i = this.prerelease.length
- while (--i >= 0) {
- if (typeof this.prerelease[i] === 'number') {
- this.prerelease[i]++
- i = -2
- }
- }
- if (i === -1) {
- // didn't increment anything
- this.prerelease.push(0)
- }
- }
- if (identifier) {
- // 1.2.0-beta.1 bumps to 1.2.0-beta.2,
- // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0
- if (this.prerelease[0] === identifier) {
- if (isNaN(this.prerelease[1])) {
- this.prerelease = [identifier, 0]
- }
- } else {
- this.prerelease = [identifier, 0]
- }
- }
- break
-
- default:
- throw new Error('invalid increment argument: ' + release)
- }
- this.format()
- this.raw = this.version
- return this
-}
-
-exports.inc = inc
-function inc (version, release, loose, identifier) {
- if (typeof (loose) === 'string') {
- identifier = loose
- loose = undefined
- }
-
- try {
- return new SemVer(version, loose).inc(release, identifier).version
- } catch (er) {
- return null
- }
-}
-
-exports.diff = diff
-function diff (version1, version2) {
- if (eq(version1, version2)) {
- return null
- } else {
- var v1 = parse(version1)
- var v2 = parse(version2)
- var prefix = ''
- if (v1.prerelease.length || v2.prerelease.length) {
- prefix = 'pre'
- var defaultResult = 'prerelease'
- }
- for (var key in v1) {
- if (key === 'major' || key === 'minor' || key === 'patch') {
- if (v1[key] !== v2[key]) {
- return prefix + key
- }
- }
- }
- return defaultResult // may be undefined
- }
-}
-
-exports.compareIdentifiers = compareIdentifiers
-
-var numeric = /^[0-9]+$/
-function compareIdentifiers (a, b) {
- var anum = numeric.test(a)
- var bnum = numeric.test(b)
-
- if (anum && bnum) {
- a = +a
- b = +b
- }
-
- return a === b ? 0
- : (anum && !bnum) ? -1
- : (bnum && !anum) ? 1
- : a < b ? -1
- : 1
-}
-
-exports.rcompareIdentifiers = rcompareIdentifiers
-function rcompareIdentifiers (a, b) {
- return compareIdentifiers(b, a)
-}
-
-exports.major = major
-function major (a, loose) {
- return new SemVer(a, loose).major
-}
-
-exports.minor = minor
-function minor (a, loose) {
- return new SemVer(a, loose).minor
-}
-
-exports.patch = patch
-function patch (a, loose) {
- return new SemVer(a, loose).patch
-}
-
-exports.compare = compare
-function compare (a, b, loose) {
- return new SemVer(a, loose).compare(new SemVer(b, loose))
-}
-
-exports.compareLoose = compareLoose
-function compareLoose (a, b) {
- return compare(a, b, true)
-}
-
-exports.rcompare = rcompare
-function rcompare (a, b, loose) {
- return compare(b, a, loose)
-}
-
-exports.sort = sort
-function sort (list, loose) {
- return list.sort(function (a, b) {
- return exports.compare(a, b, loose)
- })
-}
-
-exports.rsort = rsort
-function rsort (list, loose) {
- return list.sort(function (a, b) {
- return exports.rcompare(a, b, loose)
- })
-}
-
-exports.gt = gt
-function gt (a, b, loose) {
- return compare(a, b, loose) > 0
-}
-
-exports.lt = lt
-function lt (a, b, loose) {
- return compare(a, b, loose) < 0
-}
-
-exports.eq = eq
-function eq (a, b, loose) {
- return compare(a, b, loose) === 0
-}
-
-exports.neq = neq
-function neq (a, b, loose) {
- return compare(a, b, loose) !== 0
-}
-
-exports.gte = gte
-function gte (a, b, loose) {
- return compare(a, b, loose) >= 0
-}
-
-exports.lte = lte
-function lte (a, b, loose) {
- return compare(a, b, loose) <= 0
-}
-
-exports.cmp = cmp
-function cmp (a, op, b, loose) {
- switch (op) {
- case '===':
- if (typeof a === 'object')
- a = a.version
- if (typeof b === 'object')
- b = b.version
- return a === b
-
- case '!==':
- if (typeof a === 'object')
- a = a.version
- if (typeof b === 'object')
- b = b.version
- return a !== b
-
- case '':
- case '=':
- case '==':
- return eq(a, b, loose)
-
- case '!=':
- return neq(a, b, loose)
-
- case '>':
- return gt(a, b, loose)
-
- case '>=':
- return gte(a, b, loose)
-
- case '<':
- return lt(a, b, loose)
-
- case '<=':
- return lte(a, b, loose)
-
- default:
- throw new TypeError('Invalid operator: ' + op)
- }
-}
-
-exports.Comparator = Comparator
-function Comparator (comp, options) {
- if (!options || typeof options !== 'object') {
- options = {
- loose: !!options,
- includePrerelease: false
- }
- }
-
- if (comp instanceof Comparator) {
- if (comp.loose === !!options.loose) {
- return comp
- } else {
- comp = comp.value
- }
- }
-
- if (!(this instanceof Comparator)) {
- return new Comparator(comp, options)
- }
-
- debug('comparator', comp, options)
- this.options = options
- this.loose = !!options.loose
- this.parse(comp)
-
- if (this.semver === ANY) {
- this.value = ''
- } else {
- this.value = this.operator + this.semver.version
- }
-
- debug('comp', this)
-}
-
-var ANY = {}
-Comparator.prototype.parse = function (comp) {
- var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]
- var m = comp.match(r)
-
- if (!m) {
- throw new TypeError('Invalid comparator: ' + comp)
- }
-
- this.operator = m[1]
- if (this.operator === '=') {
- this.operator = ''
- }
-
- // if it literally is just '>' or '' then allow anything.
- if (!m[2]) {
- this.semver = ANY
- } else {
- this.semver = new SemVer(m[2], this.options.loose)
- }
-}
-
-Comparator.prototype.toString = function () {
- return this.value
-}
-
-Comparator.prototype.test = function (version) {
- debug('Comparator.test', version, this.options.loose)
-
- if (this.semver === ANY) {
- return true
- }
-
- if (typeof version === 'string') {
- version = new SemVer(version, this.options)
- }
-
- return cmp(version, this.operator, this.semver, this.options)
-}
-
-Comparator.prototype.intersects = function (comp, options) {
- if (!(comp instanceof Comparator)) {
- throw new TypeError('a Comparator is required')
- }
-
- if (!options || typeof options !== 'object') {
- options = {
- loose: !!options,
- includePrerelease: false
- }
- }
-
- var rangeTmp
-
- if (this.operator === '') {
- rangeTmp = new Range(comp.value, options)
- return satisfies(this.value, rangeTmp, options)
- } else if (comp.operator === '') {
- rangeTmp = new Range(this.value, options)
- return satisfies(comp.semver, rangeTmp, options)
- }
-
- var sameDirectionIncreasing =
- (this.operator === '>=' || this.operator === '>') &&
- (comp.operator === '>=' || comp.operator === '>')
- var sameDirectionDecreasing =
- (this.operator === '<=' || this.operator === '<') &&
- (comp.operator === '<=' || comp.operator === '<')
- var sameSemVer = this.semver.version === comp.semver.version
- var differentDirectionsInclusive =
- (this.operator === '>=' || this.operator === '<=') &&
- (comp.operator === '>=' || comp.operator === '<=')
- var oppositeDirectionsLessThan =
- cmp(this.semver, '<', comp.semver, options) &&
- ((this.operator === '>=' || this.operator === '>') &&
- (comp.operator === '<=' || comp.operator === '<'))
- var oppositeDirectionsGreaterThan =
- cmp(this.semver, '>', comp.semver, options) &&
- ((this.operator === '<=' || this.operator === '<') &&
- (comp.operator === '>=' || comp.operator === '>'))
-
- return sameDirectionIncreasing || sameDirectionDecreasing ||
- (sameSemVer && differentDirectionsInclusive) ||
- oppositeDirectionsLessThan || oppositeDirectionsGreaterThan
-}
-
-exports.Range = Range
-function Range (range, options) {
- if (!options || typeof options !== 'object') {
- options = {
- loose: !!options,
- includePrerelease: false
- }
- }
-
- if (range instanceof Range) {
- if (range.loose === !!options.loose &&
- range.includePrerelease === !!options.includePrerelease) {
- return range
- } else {
- return new Range(range.raw, options)
- }
- }
-
- if (range instanceof Comparator) {
- return new Range(range.value, options)
- }
-
- if (!(this instanceof Range)) {
- return new Range(range, options)
- }
-
- this.options = options
- this.loose = !!options.loose
- this.includePrerelease = !!options.includePrerelease
-
- // First, split based on boolean or ||
- this.raw = range
- this.set = range.split(/\s*\|\|\s*/).map(function (range) {
- return this.parseRange(range.trim())
- }, this).filter(function (c) {
- // throw out any that are not relevant for whatever reason
- return c.length
- })
-
- if (!this.set.length) {
- throw new TypeError('Invalid SemVer Range: ' + range)
- }
-
- this.format()
-}
-
-Range.prototype.format = function () {
- this.range = this.set.map(function (comps) {
- return comps.join(' ').trim()
- }).join('||').trim()
- return this.range
-}
-
-Range.prototype.toString = function () {
- return this.range
-}
-
-Range.prototype.parseRange = function (range) {
- var loose = this.options.loose
- range = range.trim()
- // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
- var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]
- range = range.replace(hr, hyphenReplace)
- debug('hyphen replace', range)
- // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
- range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace)
- debug('comparator trim', range, re[COMPARATORTRIM])
-
- // `~ 1.2.3` => `~1.2.3`
- range = range.replace(re[TILDETRIM], tildeTrimReplace)
-
- // `^ 1.2.3` => `^1.2.3`
- range = range.replace(re[CARETTRIM], caretTrimReplace)
-
- // normalize spaces
- range = range.split(/\s+/).join(' ')
-
- // At this point, the range is completely trimmed and
- // ready to be split into comparators.
-
- var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]
- var set = range.split(' ').map(function (comp) {
- return parseComparator(comp, this.options)
- }, this).join(' ').split(/\s+/)
- if (this.options.loose) {
- // in loose mode, throw out any that are not valid comparators
- set = set.filter(function (comp) {
- return !!comp.match(compRe)
- })
- }
- set = set.map(function (comp) {
- return new Comparator(comp, this.options)
- }, this)
-
- return set
-}
-
-Range.prototype.intersects = function (range, options) {
- if (!(range instanceof Range)) {
- throw new TypeError('a Range is required')
- }
-
- return this.set.some(function (thisComparators) {
- return thisComparators.every(function (thisComparator) {
- return range.set.some(function (rangeComparators) {
- return rangeComparators.every(function (rangeComparator) {
- return thisComparator.intersects(rangeComparator, options)
- })
- })
- })
- })
-}
-
-// Mostly just for testing and legacy API reasons
-exports.toComparators = toComparators
-function toComparators (range, options) {
- return new Range(range, options).set.map(function (comp) {
- return comp.map(function (c) {
- return c.value
- }).join(' ').trim().split(' ')
- })
-}
-
-// comprised of xranges, tildes, stars, and gtlt's at this point.
-// already replaced the hyphen ranges
-// turn into a set of JUST comparators.
-function parseComparator (comp, options) {
- debug('comp', comp, options)
- comp = replaceCarets(comp, options)
- debug('caret', comp)
- comp = replaceTildes(comp, options)
- debug('tildes', comp)
- comp = replaceXRanges(comp, options)
- debug('xrange', comp)
- comp = replaceStars(comp, options)
- debug('stars', comp)
- return comp
-}
-
-function isX (id) {
- return !id || id.toLowerCase() === 'x' || id === '*'
-}
-
-// ~, ~> --> * (any, kinda silly)
-// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0
-// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0
-// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0
-// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0
-// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0
-function replaceTildes (comp, options) {
- return comp.trim().split(/\s+/).map(function (comp) {
- return replaceTilde(comp, options)
- }).join(' ')
-}
-
-function replaceTilde (comp, options) {
- var r = options.loose ? re[TILDELOOSE] : re[TILDE]
- return comp.replace(r, function (_, M, m, p, pr) {
- debug('tilde', comp, _, M, m, p, pr)
- var ret
-
- if (isX(M)) {
- ret = ''
- } else if (isX(m)) {
- ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'
- } else if (isX(p)) {
- // ~1.2 == >=1.2.0 <1.3.0
- ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'
- } else if (pr) {
- debug('replaceTilde pr', pr)
- ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
- ' <' + M + '.' + (+m + 1) + '.0'
- } else {
- // ~1.2.3 == >=1.2.3 <1.3.0
- ret = '>=' + M + '.' + m + '.' + p +
- ' <' + M + '.' + (+m + 1) + '.0'
- }
-
- debug('tilde return', ret)
- return ret
- })
-}
-
-// ^ --> * (any, kinda silly)
-// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0
-// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0
-// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0
-// ^1.2.3 --> >=1.2.3 <2.0.0
-// ^1.2.0 --> >=1.2.0 <2.0.0
-function replaceCarets (comp, options) {
- return comp.trim().split(/\s+/).map(function (comp) {
- return replaceCaret(comp, options)
- }).join(' ')
-}
-
-function replaceCaret (comp, options) {
- debug('caret', comp, options)
- var r = options.loose ? re[CARETLOOSE] : re[CARET]
- return comp.replace(r, function (_, M, m, p, pr) {
- debug('caret', comp, _, M, m, p, pr)
- var ret
-
- if (isX(M)) {
- ret = ''
- } else if (isX(m)) {
- ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'
- } else if (isX(p)) {
- if (M === '0') {
- ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'
- } else {
- ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'
- }
- } else if (pr) {
- debug('replaceCaret pr', pr)
- if (M === '0') {
- if (m === '0') {
- ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
- ' <' + M + '.' + m + '.' + (+p + 1)
- } else {
- ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
- ' <' + M + '.' + (+m + 1) + '.0'
- }
- } else {
- ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
- ' <' + (+M + 1) + '.0.0'
- }
- } else {
- debug('no pr')
- if (M === '0') {
- if (m === '0') {
- ret = '>=' + M + '.' + m + '.' + p +
- ' <' + M + '.' + m + '.' + (+p + 1)
- } else {
- ret = '>=' + M + '.' + m + '.' + p +
- ' <' + M + '.' + (+m + 1) + '.0'
- }
- } else {
- ret = '>=' + M + '.' + m + '.' + p +
- ' <' + (+M + 1) + '.0.0'
- }
- }
-
- debug('caret return', ret)
- return ret
- })
-}
-
-function replaceXRanges (comp, options) {
- debug('replaceXRanges', comp, options)
- return comp.split(/\s+/).map(function (comp) {
- return replaceXRange(comp, options)
- }).join(' ')
-}
-
-function replaceXRange (comp, options) {
- comp = comp.trim()
- var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]
- return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
- debug('xRange', comp, ret, gtlt, M, m, p, pr)
- var xM = isX(M)
- var xm = xM || isX(m)
- var xp = xm || isX(p)
- var anyX = xp
-
- if (gtlt === '=' && anyX) {
- gtlt = ''
- }
-
- if (xM) {
- if (gtlt === '>' || gtlt === '<') {
- // nothing is allowed
- ret = '<0.0.0'
- } else {
- // nothing is forbidden
- ret = '*'
- }
- } else if (gtlt && anyX) {
- // we know patch is an x, because we have any x at all.
- // replace X with 0
- if (xm) {
- m = 0
- }
- p = 0
-
- if (gtlt === '>') {
- // >1 => >=2.0.0
- // >1.2 => >=1.3.0
- // >1.2.3 => >= 1.2.4
- gtlt = '>='
- if (xm) {
- M = +M + 1
- m = 0
- p = 0
- } else {
- m = +m + 1
- p = 0
- }
- } else if (gtlt === '<=') {
- // <=0.7.x is actually <0.8.0, since any 0.7.x should
- // pass. Similarly, <=7.x is actually <8.0.0, etc.
- gtlt = '<'
- if (xm) {
- M = +M + 1
- } else {
- m = +m + 1
- }
- }
-
- ret = gtlt + M + '.' + m + '.' + p
- } else if (xm) {
- ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'
- } else if (xp) {
- ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'
- }
-
- debug('xRange return', ret)
-
- return ret
- })
-}
-
-// Because * is AND-ed with everything else in the comparator,
-// and '' means "any version", just remove the *s entirely.
-function replaceStars (comp, options) {
- debug('replaceStars', comp, options)
- // Looseness is ignored here. star is always as loose as it gets!
- return comp.trim().replace(re[STAR], '')
-}
-
-// This function is passed to string.replace(re[HYPHENRANGE])
-// M, m, patch, prerelease, build
-// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
-// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do
-// 1.2 - 3.4 => >=1.2.0 <3.5.0
-function hyphenReplace ($0,
- from, fM, fm, fp, fpr, fb,
- to, tM, tm, tp, tpr, tb) {
- if (isX(fM)) {
- from = ''
- } else if (isX(fm)) {
- from = '>=' + fM + '.0.0'
- } else if (isX(fp)) {
- from = '>=' + fM + '.' + fm + '.0'
- } else {
- from = '>=' + from
- }
-
- if (isX(tM)) {
- to = ''
- } else if (isX(tm)) {
- to = '<' + (+tM + 1) + '.0.0'
- } else if (isX(tp)) {
- to = '<' + tM + '.' + (+tm + 1) + '.0'
- } else if (tpr) {
- to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr
- } else {
- to = '<=' + to
- }
-
- return (from + ' ' + to).trim()
-}
-
-// if ANY of the sets match ALL of its comparators, then pass
-Range.prototype.test = function (version) {
- if (!version) {
- return false
- }
-
- if (typeof version === 'string') {
- version = new SemVer(version, this.options)
- }
-
- for (var i = 0; i < this.set.length; i++) {
- if (testSet(this.set[i], version, this.options)) {
- return true
- }
- }
- return false
-}
-
-function testSet (set, version, options) {
- for (var i = 0; i < set.length; i++) {
- if (!set[i].test(version)) {
- return false
- }
- }
-
- if (version.prerelease.length && !options.includePrerelease) {
- // Find the set of versions that are allowed to have prereleases
- // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0
- // That should allow `1.2.3-pr.2` to pass.
- // However, `1.2.4-alpha.notready` should NOT be allowed,
- // even though it's within the range set by the comparators.
- for (i = 0; i < set.length; i++) {
- debug(set[i].semver)
- if (set[i].semver === ANY) {
- continue
- }
-
- if (set[i].semver.prerelease.length > 0) {
- var allowed = set[i].semver
- if (allowed.major === version.major &&
- allowed.minor === version.minor &&
- allowed.patch === version.patch) {
- return true
- }
- }
- }
-
- // Version has a -pre, but it's not one of the ones we like.
- return false
- }
-
- return true
-}
-
-exports.satisfies = satisfies
-function satisfies (version, range, options) {
- try {
- range = new Range(range, options)
- } catch (er) {
- return false
- }
- return range.test(version)
-}
-
-exports.maxSatisfying = maxSatisfying
-function maxSatisfying (versions, range, options) {
- var max = null
- var maxSV = null
- try {
- var rangeObj = new Range(range, options)
- } catch (er) {
- return null
- }
- versions.forEach(function (v) {
- if (rangeObj.test(v)) {
- // satisfies(v, range, options)
- if (!max || maxSV.compare(v) === -1) {
- // compare(max, v, true)
- max = v
- maxSV = new SemVer(max, options)
- }
- }
- })
- return max
-}
-
-exports.minSatisfying = minSatisfying
-function minSatisfying (versions, range, options) {
- var min = null
- var minSV = null
- try {
- var rangeObj = new Range(range, options)
- } catch (er) {
- return null
- }
- versions.forEach(function (v) {
- if (rangeObj.test(v)) {
- // satisfies(v, range, options)
- if (!min || minSV.compare(v) === 1) {
- // compare(min, v, true)
- min = v
- minSV = new SemVer(min, options)
- }
- }
- })
- return min
-}
-
-exports.minVersion = minVersion
-function minVersion (range, loose) {
- range = new Range(range, loose)
-
- var minver = new SemVer('0.0.0')
- if (range.test(minver)) {
- return minver
- }
-
- minver = new SemVer('0.0.0-0')
- if (range.test(minver)) {
- return minver
- }
-
- minver = null
- for (var i = 0; i < range.set.length; ++i) {
- var comparators = range.set[i]
-
- comparators.forEach(function (comparator) {
- // Clone to avoid manipulating the comparator's semver object.
- var compver = new SemVer(comparator.semver.version)
- switch (comparator.operator) {
- case '>':
- if (compver.prerelease.length === 0) {
- compver.patch++
- } else {
- compver.prerelease.push(0)
- }
- compver.raw = compver.format()
- /* fallthrough */
- case '':
- case '>=':
- if (!minver || gt(minver, compver)) {
- minver = compver
- }
- break
- case '<':
- case '<=':
- /* Ignore maximum versions */
- break
- /* istanbul ignore next */
- default:
- throw new Error('Unexpected operation: ' + comparator.operator)
- }
- })
- }
-
- if (minver && range.test(minver)) {
- return minver
- }
-
- return null
-}
-
-exports.validRange = validRange
-function validRange (range, options) {
- try {
- // Return '*' instead of '' so that truthiness works.
- // This will throw if it's invalid anyway
- return new Range(range, options).range || '*'
- } catch (er) {
- return null
- }
-}
-
-// Determine if version is less than all the versions possible in the range
-exports.ltr = ltr
-function ltr (version, range, options) {
- return outside(version, range, '<', options)
-}
-
-// Determine if version is greater than all the versions possible in the range.
-exports.gtr = gtr
-function gtr (version, range, options) {
- return outside(version, range, '>', options)
-}
-
-exports.outside = outside
-function outside (version, range, hilo, options) {
- version = new SemVer(version, options)
- range = new Range(range, options)
-
- var gtfn, ltefn, ltfn, comp, ecomp
- switch (hilo) {
- case '>':
- gtfn = gt
- ltefn = lte
- ltfn = lt
- comp = '>'
- ecomp = '>='
- break
- case '<':
- gtfn = lt
- ltefn = gte
- ltfn = gt
- comp = '<'
- ecomp = '<='
- break
- default:
- throw new TypeError('Must provide a hilo val of "<" or ">"')
- }
-
- // If it satisifes the range it is not outside
- if (satisfies(version, range, options)) {
- return false
- }
-
- // From now on, variable terms are as if we're in "gtr" mode.
- // but note that everything is flipped for the "ltr" function.
-
- for (var i = 0; i < range.set.length; ++i) {
- var comparators = range.set[i]
-
- var high = null
- var low = null
-
- comparators.forEach(function (comparator) {
- if (comparator.semver === ANY) {
- comparator = new Comparator('>=0.0.0')
- }
- high = high || comparator
- low = low || comparator
- if (gtfn(comparator.semver, high.semver, options)) {
- high = comparator
- } else if (ltfn(comparator.semver, low.semver, options)) {
- low = comparator
- }
- })
-
- // If the edge version comparator has a operator then our version
- // isn't outside it
- if (high.operator === comp || high.operator === ecomp) {
- return false
- }
-
- // If the lowest version comparator has an operator and our version
- // is less than it then it isn't higher than the range
- if ((!low.operator || low.operator === comp) &&
- ltefn(version, low.semver)) {
- return false
- } else if (low.operator === ecomp && ltfn(version, low.semver)) {
- return false
- }
- }
- return true
-}
-
-exports.prerelease = prerelease
-function prerelease (version, options) {
- var parsed = parse(version, options)
- return (parsed && parsed.prerelease.length) ? parsed.prerelease : null
-}
-
-exports.intersects = intersects
-function intersects (r1, r2, options) {
- r1 = new Range(r1, options)
- r2 = new Range(r2, options)
- return r1.intersects(r2)
-}
-
-exports.coerce = coerce
-function coerce (version) {
- if (version instanceof SemVer) {
- return version
- }
-
- if (typeof version !== 'string') {
- return null
- }
-
- var match = version.match(re[COERCE])
-
- if (match == null) {
- return null
- }
-
- return parse(match[1] +
- '.' + (match[2] || '0') +
- '.' + (match[3] || '0'))
-}
diff --git a/tgui-next/node_modules/@babel/preset-env/package.json b/tgui-next/node_modules/@babel/preset-env/package.json
deleted file mode 100644
index 16ef76688a..0000000000
--- a/tgui-next/node_modules/@babel/preset-env/package.json
+++ /dev/null
@@ -1,83 +0,0 @@
-{
- "name": "@babel/preset-env",
- "version": "7.7.6",
- "description": "A Babel preset for each environment.",
- "author": "Henry Zhu ",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-preset-env",
- "main": "lib/index.js",
- "scripts": {
- "build-data": "node ./scripts/build-data.js; node ./scripts/build-modules-support.js"
- },
- "dependencies": {
- "@babel/helper-module-imports": "^7.7.4",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-proposal-async-generator-functions": "^7.7.4",
- "@babel/plugin-proposal-dynamic-import": "^7.7.4",
- "@babel/plugin-proposal-json-strings": "^7.7.4",
- "@babel/plugin-proposal-object-rest-spread": "^7.7.4",
- "@babel/plugin-proposal-optional-catch-binding": "^7.7.4",
- "@babel/plugin-proposal-unicode-property-regex": "^7.7.4",
- "@babel/plugin-syntax-async-generators": "^7.7.4",
- "@babel/plugin-syntax-dynamic-import": "^7.7.4",
- "@babel/plugin-syntax-json-strings": "^7.7.4",
- "@babel/plugin-syntax-object-rest-spread": "^7.7.4",
- "@babel/plugin-syntax-optional-catch-binding": "^7.7.4",
- "@babel/plugin-syntax-top-level-await": "^7.7.4",
- "@babel/plugin-transform-arrow-functions": "^7.7.4",
- "@babel/plugin-transform-async-to-generator": "^7.7.4",
- "@babel/plugin-transform-block-scoped-functions": "^7.7.4",
- "@babel/plugin-transform-block-scoping": "^7.7.4",
- "@babel/plugin-transform-classes": "^7.7.4",
- "@babel/plugin-transform-computed-properties": "^7.7.4",
- "@babel/plugin-transform-destructuring": "^7.7.4",
- "@babel/plugin-transform-dotall-regex": "^7.7.4",
- "@babel/plugin-transform-duplicate-keys": "^7.7.4",
- "@babel/plugin-transform-exponentiation-operator": "^7.7.4",
- "@babel/plugin-transform-for-of": "^7.7.4",
- "@babel/plugin-transform-function-name": "^7.7.4",
- "@babel/plugin-transform-literals": "^7.7.4",
- "@babel/plugin-transform-member-expression-literals": "^7.7.4",
- "@babel/plugin-transform-modules-amd": "^7.7.5",
- "@babel/plugin-transform-modules-commonjs": "^7.7.5",
- "@babel/plugin-transform-modules-systemjs": "^7.7.4",
- "@babel/plugin-transform-modules-umd": "^7.7.4",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4",
- "@babel/plugin-transform-new-target": "^7.7.4",
- "@babel/plugin-transform-object-super": "^7.7.4",
- "@babel/plugin-transform-parameters": "^7.7.4",
- "@babel/plugin-transform-property-literals": "^7.7.4",
- "@babel/plugin-transform-regenerator": "^7.7.5",
- "@babel/plugin-transform-reserved-words": "^7.7.4",
- "@babel/plugin-transform-shorthand-properties": "^7.7.4",
- "@babel/plugin-transform-spread": "^7.7.4",
- "@babel/plugin-transform-sticky-regex": "^7.7.4",
- "@babel/plugin-transform-template-literals": "^7.7.4",
- "@babel/plugin-transform-typeof-symbol": "^7.7.4",
- "@babel/plugin-transform-unicode-regex": "^7.7.4",
- "@babel/types": "^7.7.4",
- "browserslist": "^4.6.0",
- "core-js-compat": "^3.4.7",
- "invariant": "^2.2.2",
- "js-levenshtein": "^1.1.3",
- "semver": "^5.5.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- },
- "devDependencies": {
- "@babel/cli": "^7.7.5",
- "@babel/core": "^7.7.5",
- "@babel/helper-fixtures": "^7.6.3",
- "@babel/helper-plugin-test-runner": "^7.7.4",
- "@babel/plugin-syntax-dynamic-import": "^7.2.0",
- "caniuse-db": "1.0.30000969",
- "compat-table": "kangax/compat-table#4195aca631ad904cb0efeb62a9c2d8c8511706f8",
- "electron-to-chromium": "1.3.113"
- },
- "gitHead": "f753c48f74e9556265796806370fdf104e8147eb"
-}
diff --git a/tgui-next/node_modules/@babel/template/LICENSE b/tgui-next/node_modules/@babel/template/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/template/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/template/README.md b/tgui-next/node_modules/@babel/template/README.md
deleted file mode 100644
index cf8f944396..0000000000
--- a/tgui-next/node_modules/@babel/template/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/template
-
-> Generate an AST from a string template.
-
-See our website [@babel/template](https://babeljs.io/docs/en/next/babel-template.html) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20template%22+is%3Aopen) associated with this package.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/template
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/template --dev
-```
diff --git a/tgui-next/node_modules/@babel/template/node_modules/.bin/parser b/tgui-next/node_modules/@babel/template/node_modules/.bin/parser
deleted file mode 100644
index 193dfcec99..0000000000
--- a/tgui-next/node_modules/@babel/template/node_modules/.bin/parser
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../../../parser/bin/babel-parser.js" "$@"
- ret=$?
-else
- node "$basedir/../../../parser/bin/babel-parser.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/@babel/template/node_modules/.bin/parser.cmd b/tgui-next/node_modules/@babel/template/node_modules/.bin/parser.cmd
deleted file mode 100644
index b7ddba7e21..0000000000
--- a/tgui-next/node_modules/@babel/template/node_modules/.bin/parser.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\..\..\parser\bin\babel-parser.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\..\..\parser\bin\babel-parser.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/@babel/template/package.json b/tgui-next/node_modules/@babel/template/package.json
deleted file mode 100644
index 492bc516f1..0000000000
--- a/tgui-next/node_modules/@babel/template/package.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name": "@babel/template",
- "version": "7.7.4",
- "description": "Generate an AST from a string template.",
- "author": "Sebastian McKenzie ",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-template",
- "main": "lib/index.js",
- "dependencies": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.7.4",
- "@babel/types": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/traverse/LICENSE b/tgui-next/node_modules/@babel/traverse/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/traverse/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/traverse/README.md b/tgui-next/node_modules/@babel/traverse/README.md
deleted file mode 100644
index 61dc580065..0000000000
--- a/tgui-next/node_modules/@babel/traverse/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/traverse
-
-> The Babel Traverse module maintains the overall tree state, and is responsible for replacing, removing, and adding nodes
-
-See our website [@babel/traverse](https://babeljs.io/docs/en/next/babel-traverse.html) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20traverse%22+is%3Aopen) associated with this package.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/traverse
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/traverse --dev
-```
diff --git a/tgui-next/node_modules/@babel/traverse/node_modules/.bin/parser b/tgui-next/node_modules/@babel/traverse/node_modules/.bin/parser
deleted file mode 100644
index 193dfcec99..0000000000
--- a/tgui-next/node_modules/@babel/traverse/node_modules/.bin/parser
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../../../parser/bin/babel-parser.js" "$@"
- ret=$?
-else
- node "$basedir/../../../parser/bin/babel-parser.js" "$@"
- ret=$?
-fi
-exit $ret
diff --git a/tgui-next/node_modules/@babel/traverse/node_modules/.bin/parser.cmd b/tgui-next/node_modules/@babel/traverse/node_modules/.bin/parser.cmd
deleted file mode 100644
index b7ddba7e21..0000000000
--- a/tgui-next/node_modules/@babel/traverse/node_modules/.bin/parser.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\..\..\parser\bin\babel-parser.js" %*
-) ELSE (
- @SETLOCAL
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\..\..\parser\bin\babel-parser.js" %*
-)
\ No newline at end of file
diff --git a/tgui-next/node_modules/@babel/traverse/node_modules/debug/CHANGELOG.md b/tgui-next/node_modules/@babel/traverse/node_modules/debug/CHANGELOG.md
deleted file mode 100644
index 820d21e332..0000000000
--- a/tgui-next/node_modules/@babel/traverse/node_modules/debug/CHANGELOG.md
+++ /dev/null
@@ -1,395 +0,0 @@
-
-3.1.0 / 2017-09-26
-==================
-
- * Add `DEBUG_HIDE_DATE` env var (#486)
- * Remove ReDoS regexp in %o formatter (#504)
- * Remove "component" from package.json
- * Remove `component.json`
- * Ignore package-lock.json
- * Examples: fix colors printout
- * Fix: browser detection
- * Fix: spelling mistake (#496, @EdwardBetts)
-
-3.0.1 / 2017-08-24
-==================
-
- * Fix: Disable colors in Edge and Internet Explorer (#489)
-
-3.0.0 / 2017-08-08
-==================
-
- * Breaking: Remove DEBUG_FD (#406)
- * Breaking: Use `Date#toISOString()` instead to `Date#toUTCString()` when output is not a TTY (#418)
- * Breaking: Make millisecond timer namespace specific and allow 'always enabled' output (#408)
- * Addition: document `enabled` flag (#465)
- * Addition: add 256 colors mode (#481)
- * Addition: `enabled()` updates existing debug instances, add `destroy()` function (#440)
- * Update: component: update "ms" to v2.0.0
- * Update: separate the Node and Browser tests in Travis-CI
- * Update: refactor Readme, fixed documentation, added "Namespace Colors" section, redid screenshots
- * Update: separate Node.js and web browser examples for organization
- * Update: update "browserify" to v14.4.0
- * Fix: fix Readme typo (#473)
-
-2.6.9 / 2017-09-22
-==================
-
- * remove ReDoS regexp in %o formatter (#504)
-
-2.6.8 / 2017-05-18
-==================
-
- * Fix: Check for undefined on browser globals (#462, @marbemac)
-
-2.6.7 / 2017-05-16
-==================
-
- * Fix: Update ms to 2.0.0 to fix regular expression denial of service vulnerability (#458, @hubdotcom)
- * Fix: Inline extend function in node implementation (#452, @dougwilson)
- * Docs: Fix typo (#455, @msasad)
-
-2.6.5 / 2017-04-27
-==================
-
- * Fix: null reference check on window.documentElement.style.WebkitAppearance (#447, @thebigredgeek)
- * Misc: clean up browser reference checks (#447, @thebigredgeek)
- * Misc: add npm-debug.log to .gitignore (@thebigredgeek)
-
-
-2.6.4 / 2017-04-20
-==================
-
- * Fix: bug that would occur if process.env.DEBUG is a non-string value. (#444, @LucianBuzzo)
- * Chore: ignore bower.json in npm installations. (#437, @joaovieira)
- * Misc: update "ms" to v0.7.3 (@tootallnate)
-
-2.6.3 / 2017-03-13
-==================
-
- * Fix: Electron reference to `process.env.DEBUG` (#431, @paulcbetts)
- * Docs: Changelog fix (@thebigredgeek)
-
-2.6.2 / 2017-03-10
-==================
-
- * Fix: DEBUG_MAX_ARRAY_LENGTH (#420, @slavaGanzin)
- * Docs: Add backers and sponsors from Open Collective (#422, @piamancini)
- * Docs: Add Slackin invite badge (@tootallnate)
-
-2.6.1 / 2017-02-10
-==================
-
- * Fix: Module's `export default` syntax fix for IE8 `Expected identifier` error
- * Fix: Whitelist DEBUG_FD for values 1 and 2 only (#415, @pi0)
- * Fix: IE8 "Expected identifier" error (#414, @vgoma)
- * Fix: Namespaces would not disable once enabled (#409, @musikov)
-
-2.6.0 / 2016-12-28
-==================
-
- * Fix: added better null pointer checks for browser useColors (@thebigredgeek)
- * Improvement: removed explicit `window.debug` export (#404, @tootallnate)
- * Improvement: deprecated `DEBUG_FD` environment variable (#405, @tootallnate)
-
-2.5.2 / 2016-12-25
-==================
-
- * Fix: reference error on window within webworkers (#393, @KlausTrainer)
- * Docs: fixed README typo (#391, @lurch)
- * Docs: added notice about v3 api discussion (@thebigredgeek)
-
-2.5.1 / 2016-12-20
-==================
-
- * Fix: babel-core compatibility
-
-2.5.0 / 2016-12-20
-==================
-
- * Fix: wrong reference in bower file (@thebigredgeek)
- * Fix: webworker compatibility (@thebigredgeek)
- * Fix: output formatting issue (#388, @kribblo)
- * Fix: babel-loader compatibility (#383, @escwald)
- * Misc: removed built asset from repo and publications (@thebigredgeek)
- * Misc: moved source files to /src (#378, @yamikuronue)
- * Test: added karma integration and replaced babel with browserify for browser tests (#378, @yamikuronue)
- * Test: coveralls integration (#378, @yamikuronue)
- * Docs: simplified language in the opening paragraph (#373, @yamikuronue)
-
-2.4.5 / 2016-12-17
-==================
-
- * Fix: `navigator` undefined in Rhino (#376, @jochenberger)
- * Fix: custom log function (#379, @hsiliev)
- * Improvement: bit of cleanup + linting fixes (@thebigredgeek)
- * Improvement: rm non-maintainted `dist/` dir (#375, @freewil)
- * Docs: simplified language in the opening paragraph. (#373, @yamikuronue)
-
-2.4.4 / 2016-12-14
-==================
-
- * Fix: work around debug being loaded in preload scripts for electron (#368, @paulcbetts)
-
-2.4.3 / 2016-12-14
-==================
-
- * Fix: navigation.userAgent error for react native (#364, @escwald)
-
-2.4.2 / 2016-12-14
-==================
-
- * Fix: browser colors (#367, @tootallnate)
- * Misc: travis ci integration (@thebigredgeek)
- * Misc: added linting and testing boilerplate with sanity check (@thebigredgeek)
-
-2.4.1 / 2016-12-13
-==================
-
- * Fix: typo that broke the package (#356)
-
-2.4.0 / 2016-12-13
-==================
-
- * Fix: bower.json references unbuilt src entry point (#342, @justmatt)
- * Fix: revert "handle regex special characters" (@tootallnate)
- * Feature: configurable util.inspect()`options for NodeJS (#327, @tootallnate)
- * Feature: %O`(big O) pretty-prints objects (#322, @tootallnate)
- * Improvement: allow colors in workers (#335, @botverse)
- * Improvement: use same color for same namespace. (#338, @lchenay)
-
-2.3.3 / 2016-11-09
-==================
-
- * Fix: Catch `JSON.stringify()` errors (#195, Jovan Alleyne)
- * Fix: Returning `localStorage` saved values (#331, Levi Thomason)
- * Improvement: Don't create an empty object when no `process` (Nathan Rajlich)
-
-2.3.2 / 2016-11-09
-==================
-
- * Fix: be super-safe in index.js as well (@TooTallNate)
- * Fix: should check whether process exists (Tom Newby)
-
-2.3.1 / 2016-11-09
-==================
-
- * Fix: Added electron compatibility (#324, @paulcbetts)
- * Improvement: Added performance optimizations (@tootallnate)
- * Readme: Corrected PowerShell environment variable example (#252, @gimre)
- * Misc: Removed yarn lock file from source control (#321, @fengmk2)
-
-2.3.0 / 2016-11-07
-==================
-
- * Fix: Consistent placement of ms diff at end of output (#215, @gorangajic)
- * Fix: Escaping of regex special characters in namespace strings (#250, @zacronos)
- * Fix: Fixed bug causing crash on react-native (#282, @vkarpov15)
- * Feature: Enabled ES6+ compatible import via default export (#212 @bucaran)
- * Feature: Added %O formatter to reflect Chrome's console.log capability (#279, @oncletom)
- * Package: Update "ms" to 0.7.2 (#315, @DevSide)
- * Package: removed superfluous version property from bower.json (#207 @kkirsche)
- * Readme: fix USE_COLORS to DEBUG_COLORS
- * Readme: Doc fixes for format string sugar (#269, @mlucool)
- * Readme: Updated docs for DEBUG_FD and DEBUG_COLORS environment variables (#232, @mattlyons0)
- * Readme: doc fixes for PowerShell (#271 #243, @exoticknight @unreadable)
- * Readme: better docs for browser support (#224, @matthewmueller)
- * Tooling: Added yarn integration for development (#317, @thebigredgeek)
- * Misc: Renamed History.md to CHANGELOG.md (@thebigredgeek)
- * Misc: Added license file (#226 #274, @CantemoInternal @sdaitzman)
- * Misc: Updated contributors (@thebigredgeek)
-
-2.2.0 / 2015-05-09
-==================
-
- * package: update "ms" to v0.7.1 (#202, @dougwilson)
- * README: add logging to file example (#193, @DanielOchoa)
- * README: fixed a typo (#191, @amir-s)
- * browser: expose `storage` (#190, @stephenmathieson)
- * Makefile: add a `distclean` target (#189, @stephenmathieson)
-
-2.1.3 / 2015-03-13
-==================
-
- * Updated stdout/stderr example (#186)
- * Updated example/stdout.js to match debug current behaviour
- * Renamed example/stderr.js to stdout.js
- * Update Readme.md (#184)
- * replace high intensity foreground color for bold (#182, #183)
-
-2.1.2 / 2015-03-01
-==================
-
- * dist: recompile
- * update "ms" to v0.7.0
- * package: update "browserify" to v9.0.3
- * component: fix "ms.js" repo location
- * changed bower package name
- * updated documentation about using debug in a browser
- * fix: security error on safari (#167, #168, @yields)
-
-2.1.1 / 2014-12-29
-==================
-
- * browser: use `typeof` to check for `console` existence
- * browser: check for `console.log` truthiness (fix IE 8/9)
- * browser: add support for Chrome apps
- * Readme: added Windows usage remarks
- * Add `bower.json` to properly support bower install
-
-2.1.0 / 2014-10-15
-==================
-
- * node: implement `DEBUG_FD` env variable support
- * package: update "browserify" to v6.1.0
- * package: add "license" field to package.json (#135, @panuhorsmalahti)
-
-2.0.0 / 2014-09-01
-==================
-
- * package: update "browserify" to v5.11.0
- * node: use stderr rather than stdout for logging (#29, @stephenmathieson)
-
-1.0.4 / 2014-07-15
-==================
-
- * dist: recompile
- * example: remove `console.info()` log usage
- * example: add "Content-Type" UTF-8 header to browser example
- * browser: place %c marker after the space character
- * browser: reset the "content" color via `color: inherit`
- * browser: add colors support for Firefox >= v31
- * debug: prefer an instance `log()` function over the global one (#119)
- * Readme: update documentation about styled console logs for FF v31 (#116, @wryk)
-
-1.0.3 / 2014-07-09
-==================
-
- * Add support for multiple wildcards in namespaces (#122, @seegno)
- * browser: fix lint
-
-1.0.2 / 2014-06-10
-==================
-
- * browser: update color palette (#113, @gscottolson)
- * common: make console logging function configurable (#108, @timoxley)
- * node: fix %o colors on old node <= 0.8.x
- * Makefile: find node path using shell/which (#109, @timoxley)
-
-1.0.1 / 2014-06-06
-==================
-
- * browser: use `removeItem()` to clear localStorage
- * browser, node: don't set DEBUG if namespaces is undefined (#107, @leedm777)
- * package: add "contributors" section
- * node: fix comment typo
- * README: list authors
-
-1.0.0 / 2014-06-04
-==================
-
- * make ms diff be global, not be scope
- * debug: ignore empty strings in enable()
- * node: make DEBUG_COLORS able to disable coloring
- * *: export the `colors` array
- * npmignore: don't publish the `dist` dir
- * Makefile: refactor to use browserify
- * package: add "browserify" as a dev dependency
- * Readme: add Web Inspector Colors section
- * node: reset terminal color for the debug content
- * node: map "%o" to `util.inspect()`
- * browser: map "%j" to `JSON.stringify()`
- * debug: add custom "formatters"
- * debug: use "ms" module for humanizing the diff
- * Readme: add "bash" syntax highlighting
- * browser: add Firebug color support
- * browser: add colors for WebKit browsers
- * node: apply log to `console`
- * rewrite: abstract common logic for Node & browsers
- * add .jshintrc file
-
-0.8.1 / 2014-04-14
-==================
-
- * package: re-add the "component" section
-
-0.8.0 / 2014-03-30
-==================
-
- * add `enable()` method for nodejs. Closes #27
- * change from stderr to stdout
- * remove unnecessary index.js file
-
-0.7.4 / 2013-11-13
-==================
-
- * remove "browserify" key from package.json (fixes something in browserify)
-
-0.7.3 / 2013-10-30
-==================
-
- * fix: catch localStorage security error when cookies are blocked (Chrome)
- * add debug(err) support. Closes #46
- * add .browser prop to package.json. Closes #42
-
-0.7.2 / 2013-02-06
-==================
-
- * fix package.json
- * fix: Mobile Safari (private mode) is broken with debug
- * fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript
-
-0.7.1 / 2013-02-05
-==================
-
- * add repository URL to package.json
- * add DEBUG_COLORED to force colored output
- * add browserify support
- * fix component. Closes #24
-
-0.7.0 / 2012-05-04
-==================
-
- * Added .component to package.json
- * Added debug.component.js build
-
-0.6.0 / 2012-03-16
-==================
-
- * Added support for "-" prefix in DEBUG [Vinay Pulim]
- * Added `.enabled` flag to the node version [TooTallNate]
-
-0.5.0 / 2012-02-02
-==================
-
- * Added: humanize diffs. Closes #8
- * Added `debug.disable()` to the CS variant
- * Removed padding. Closes #10
- * Fixed: persist client-side variant again. Closes #9
-
-0.4.0 / 2012-02-01
-==================
-
- * Added browser variant support for older browsers [TooTallNate]
- * Added `debug.enable('project:*')` to browser variant [TooTallNate]
- * Added padding to diff (moved it to the right)
-
-0.3.0 / 2012-01-26
-==================
-
- * Added millisecond diff when isatty, otherwise UTC string
-
-0.2.0 / 2012-01-22
-==================
-
- * Added wildcard support
-
-0.1.0 / 2011-12-02
-==================
-
- * Added: remove colors unless stderr isatty [TooTallNate]
-
-0.0.1 / 2010-01-03
-==================
-
- * Initial release
diff --git a/tgui-next/node_modules/@babel/traverse/node_modules/debug/LICENSE b/tgui-next/node_modules/@babel/traverse/node_modules/debug/LICENSE
deleted file mode 100644
index 658c933d28..0000000000
--- a/tgui-next/node_modules/@babel/traverse/node_modules/debug/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2014 TJ Holowaychuk
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software
-and associated documentation files (the 'Software'), to deal in the Software without restriction,
-including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial
-portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
diff --git a/tgui-next/node_modules/@babel/traverse/node_modules/debug/README.md b/tgui-next/node_modules/@babel/traverse/node_modules/debug/README.md
deleted file mode 100644
index 88dae35d9f..0000000000
--- a/tgui-next/node_modules/@babel/traverse/node_modules/debug/README.md
+++ /dev/null
@@ -1,455 +0,0 @@
-# debug
-[](https://travis-ci.org/visionmedia/debug) [](https://coveralls.io/github/visionmedia/debug?branch=master) [](https://visionmedia-community-slackin.now.sh/) [](#backers)
-[](#sponsors)
-
-
-
-A tiny JavaScript debugging utility modelled after Node.js core's debugging
-technique. Works in Node.js and web browsers.
-
-## Installation
-
-```bash
-$ npm install debug
-```
-
-## Usage
-
-`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole.
-
-Example [_app.js_](./examples/node/app.js):
-
-```js
-var debug = require('debug')('http')
- , http = require('http')
- , name = 'My App';
-
-// fake app
-
-debug('booting %o', name);
-
-http.createServer(function(req, res){
- debug(req.method + ' ' + req.url);
- res.end('hello\n');
-}).listen(3000, function(){
- debug('listening');
-});
-
-// fake worker of some kind
-
-require('./worker');
-```
-
-Example [_worker.js_](./examples/node/worker.js):
-
-```js
-var a = require('debug')('worker:a')
- , b = require('debug')('worker:b');
-
-function work() {
- a('doing lots of uninteresting work');
- setTimeout(work, Math.random() * 1000);
-}
-
-work();
-
-function workb() {
- b('doing some work');
- setTimeout(workb, Math.random() * 2000);
-}
-
-workb();
-```
-
-The `DEBUG` environment variable is then used to enable these based on space or
-comma-delimited names.
-
-Here are some examples:
-
-
-
-
-
-#### Windows command prompt notes
-
-##### CMD
-
-On Windows the environment variable is set using the `set` command.
-
-```cmd
-set DEBUG=*,-not_this
-```
-
-Example:
-
-```cmd
-set DEBUG=* & node app.js
-```
-
-##### PowerShell (VS Code default)
-
-PowerShell uses different syntax to set environment variables.
-
-```cmd
-$env:DEBUG = "*,-not_this"
-```
-
-Example:
-
-```cmd
-$env:DEBUG='app';node app.js
-```
-
-Then, run the program to be debugged as usual.
-
-npm script example:
-```js
- "windowsDebug": "@powershell -Command $env:DEBUG='*';node app.js",
-```
-
-## Namespace Colors
-
-Every debug instance has a color generated for it based on its namespace name.
-This helps when visually parsing the debug output to identify which debug instance
-a debug line belongs to.
-
-#### Node.js
-
-In Node.js, colors are enabled when stderr is a TTY. You also _should_ install
-the [`supports-color`](https://npmjs.org/supports-color) module alongside debug,
-otherwise debug will only use a small handful of basic colors.
-
-
-
-#### Web Browser
-
-Colors are also enabled on "Web Inspectors" that understand the `%c` formatting
-option. These are WebKit web inspectors, Firefox ([since version
-31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))
-and the Firebug plugin for Firefox (any version).
-
-
-
-
-## Millisecond diff
-
-When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls.
-
-
-
-When stdout is not a TTY, `Date#toISOString()` is used, making it more useful for logging the debug information as shown below:
-
-
-
-
-## Conventions
-
-If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". If you append a "*" to the end of your name, it will always be enabled regardless of the setting of the DEBUG environment variable. You can then use it for normal output as well as debug output.
-
-## Wildcards
-
-The `*` character may be used as a wildcard. Suppose for example your library has
-debuggers named "connect:bodyParser", "connect:compress", "connect:session",
-instead of listing all three with
-`DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do
-`DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.
-
-You can also exclude specific debuggers by prefixing them with a "-" character.
-For example, `DEBUG=*,-connect:*` would include all debuggers except those
-starting with "connect:".
-
-## Environment Variables
-
-When running through Node.js, you can set a few environment variables that will
-change the behavior of the debug logging:
-
-| Name | Purpose |
-|-----------|-------------------------------------------------|
-| `DEBUG` | Enables/disables specific debugging namespaces. |
-| `DEBUG_HIDE_DATE` | Hide date from debug output (non-TTY). |
-| `DEBUG_COLORS`| Whether or not to use colors in the debug output. |
-| `DEBUG_DEPTH` | Object inspection depth. |
-| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. |
-
-
-__Note:__ The environment variables beginning with `DEBUG_` end up being
-converted into an Options object that gets used with `%o`/`%O` formatters.
-See the Node.js documentation for
-[`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options)
-for the complete list.
-
-## Formatters
-
-Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting.
-Below are the officially supported formatters:
-
-| Formatter | Representation |
-|-----------|----------------|
-| `%O` | Pretty-print an Object on multiple lines. |
-| `%o` | Pretty-print an Object all on a single line. |
-| `%s` | String. |
-| `%d` | Number (both integer and float). |
-| `%j` | JSON. Replaced with the string '[Circular]' if the argument contains circular references. |
-| `%%` | Single percent sign ('%'). This does not consume an argument. |
-
-
-### Custom formatters
-
-You can add custom formatters by extending the `debug.formatters` object.
-For example, if you wanted to add support for rendering a Buffer as hex with
-`%h`, you could do something like:
-
-```js
-const createDebug = require('debug')
-createDebug.formatters.h = (v) => {
- return v.toString('hex')
-}
-
-// …elsewhere
-const debug = createDebug('foo')
-debug('this is hex: %h', new Buffer('hello world'))
-// foo this is hex: 68656c6c6f20776f726c6421 +0ms
-```
-
-
-## Browser Support
-
-You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify),
-or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest),
-if you don't want to build it yourself.
-
-Debug's enable state is currently persisted by `localStorage`.
-Consider the situation shown below where you have `worker:a` and `worker:b`,
-and wish to debug both. You can enable this using `localStorage.debug`:
-
-```js
-localStorage.debug = 'worker:*'
-```
-
-And then refresh the page.
-
-```js
-a = debug('worker:a');
-b = debug('worker:b');
-
-setInterval(function(){
- a('doing some work');
-}, 1000);
-
-setInterval(function(){
- b('doing some work');
-}, 1200);
-```
-
-
-## Output streams
-
- By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method:
-
-Example [_stdout.js_](./examples/node/stdout.js):
-
-```js
-var debug = require('debug');
-var error = debug('app:error');
-
-// by default stderr is used
-error('goes to stderr!');
-
-var log = debug('app:log');
-// set this namespace to log via console.log
-log.log = console.log.bind(console); // don't forget to bind to console!
-log('goes to stdout');
-error('still goes to stderr!');
-
-// set all output to go via console.info
-// overrides all per-namespace log settings
-debug.log = console.info.bind(console);
-error('now goes to stdout via console.info');
-log('still goes to stdout, but via console.info now');
-```
-
-## Extend
-You can simply extend debugger
-```js
-const log = require('debug')('auth');
-
-//creates new debug instance with extended namespace
-const logSign = log.extend('sign');
-const logLogin = log.extend('login');
-
-log('hello'); // auth hello
-logSign('hello'); //auth:sign hello
-logLogin('hello'); //auth:login hello
-```
-
-## Set dynamically
-
-You can also enable debug dynamically by calling the `enable()` method :
-
-```js
-let debug = require('debug');
-
-console.log(1, debug.enabled('test'));
-
-debug.enable('test');
-console.log(2, debug.enabled('test'));
-
-debug.disable();
-console.log(3, debug.enabled('test'));
-
-```
-
-print :
-```
-1 false
-2 true
-3 false
-```
-
-Usage :
-`enable(namespaces)`
-`namespaces` can include modes separated by a colon and wildcards.
-
-Note that calling `enable()` completely overrides previously set DEBUG variable :
-
-```
-$ DEBUG=foo node -e 'var dbg = require("debug"); dbg.enable("bar"); console.log(dbg.enabled("foo"))'
-=> false
-```
-
-`disable()`
-
-Will disable all namespaces. The functions returns the namespaces currently
-enabled (and skipped). This can be useful if you want to disable debugging
-temporarily without knowing what was enabled to begin with.
-
-For example:
-
-```js
-let debug = require('debug');
-debug.enable('foo:*,-foo:bar');
-let namespaces = debug.disable();
-debug.enable(namespaces);
-```
-
-Note: There is no guarantee that the string will be identical to the initial
-enable string, but semantically they will be identical.
-
-## Checking whether a debug target is enabled
-
-After you've created a debug instance, you can determine whether or not it is
-enabled by checking the `enabled` property:
-
-```javascript
-const debug = require('debug')('http');
-
-if (debug.enabled) {
- // do stuff...
-}
-```
-
-You can also manually toggle this property to force the debug instance to be
-enabled or disabled.
-
-
-## Authors
-
- - TJ Holowaychuk
- - Nathan Rajlich
- - Andrew Rhyne
-
-## Backers
-
-Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Sponsors
-
-Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## License
-
-(The MIT License)
-
-Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca>
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/traverse/node_modules/debug/package.json b/tgui-next/node_modules/@babel/traverse/node_modules/debug/package.json
deleted file mode 100644
index 86713156d9..0000000000
--- a/tgui-next/node_modules/@babel/traverse/node_modules/debug/package.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "name": "debug",
- "version": "4.1.1",
- "repository": {
- "type": "git",
- "url": "git://github.com/visionmedia/debug.git"
- },
- "description": "small debugging utility",
- "keywords": [
- "debug",
- "log",
- "debugger"
- ],
- "files": [
- "src",
- "dist/debug.js",
- "LICENSE",
- "README.md"
- ],
- "author": "TJ Holowaychuk ",
- "contributors": [
- "Nathan Rajlich (http://n8.io)",
- "Andrew Rhyne "
- ],
- "license": "MIT",
- "scripts": {
- "lint": "xo",
- "test": "npm run test:node && npm run test:browser",
- "test:node": "istanbul cover _mocha -- test.js",
- "pretest:browser": "npm run build",
- "test:browser": "karma start --single-run",
- "prebuild:debug": "mkdir -p dist && browserify --standalone debug -o dist/debug.es6.js .",
- "build:debug": "babel -o dist/debug.js dist/debug.es6.js > dist/debug.js",
- "build:test": "babel -d dist test.js",
- "build": "npm run build:debug && npm run build:test",
- "clean": "rimraf dist coverage",
- "test:coverage": "cat ./coverage/lcov.info | coveralls"
- },
- "dependencies": {
- "ms": "^2.1.1"
- },
- "devDependencies": {
- "@babel/cli": "^7.0.0",
- "@babel/core": "^7.0.0",
- "@babel/preset-env": "^7.0.0",
- "browserify": "14.4.0",
- "chai": "^3.5.0",
- "concurrently": "^3.1.0",
- "coveralls": "^3.0.2",
- "istanbul": "^0.4.5",
- "karma": "^3.0.0",
- "karma-chai": "^0.1.0",
- "karma-mocha": "^1.3.0",
- "karma-phantomjs-launcher": "^1.0.2",
- "mocha": "^5.2.0",
- "mocha-lcov-reporter": "^1.2.0",
- "rimraf": "^2.5.4",
- "xo": "^0.23.0"
- },
- "main": "./src/index.js",
- "browser": "./src/browser.js",
- "unpkg": "./dist/debug.js"
-}
diff --git a/tgui-next/node_modules/@babel/traverse/node_modules/debug/src/browser.js b/tgui-next/node_modules/@babel/traverse/node_modules/debug/src/browser.js
deleted file mode 100644
index 5f34c0d0a7..0000000000
--- a/tgui-next/node_modules/@babel/traverse/node_modules/debug/src/browser.js
+++ /dev/null
@@ -1,264 +0,0 @@
-/* eslint-env browser */
-
-/**
- * This is the web browser implementation of `debug()`.
- */
-
-exports.log = log;
-exports.formatArgs = formatArgs;
-exports.save = save;
-exports.load = load;
-exports.useColors = useColors;
-exports.storage = localstorage();
-
-/**
- * Colors.
- */
-
-exports.colors = [
- '#0000CC',
- '#0000FF',
- '#0033CC',
- '#0033FF',
- '#0066CC',
- '#0066FF',
- '#0099CC',
- '#0099FF',
- '#00CC00',
- '#00CC33',
- '#00CC66',
- '#00CC99',
- '#00CCCC',
- '#00CCFF',
- '#3300CC',
- '#3300FF',
- '#3333CC',
- '#3333FF',
- '#3366CC',
- '#3366FF',
- '#3399CC',
- '#3399FF',
- '#33CC00',
- '#33CC33',
- '#33CC66',
- '#33CC99',
- '#33CCCC',
- '#33CCFF',
- '#6600CC',
- '#6600FF',
- '#6633CC',
- '#6633FF',
- '#66CC00',
- '#66CC33',
- '#9900CC',
- '#9900FF',
- '#9933CC',
- '#9933FF',
- '#99CC00',
- '#99CC33',
- '#CC0000',
- '#CC0033',
- '#CC0066',
- '#CC0099',
- '#CC00CC',
- '#CC00FF',
- '#CC3300',
- '#CC3333',
- '#CC3366',
- '#CC3399',
- '#CC33CC',
- '#CC33FF',
- '#CC6600',
- '#CC6633',
- '#CC9900',
- '#CC9933',
- '#CCCC00',
- '#CCCC33',
- '#FF0000',
- '#FF0033',
- '#FF0066',
- '#FF0099',
- '#FF00CC',
- '#FF00FF',
- '#FF3300',
- '#FF3333',
- '#FF3366',
- '#FF3399',
- '#FF33CC',
- '#FF33FF',
- '#FF6600',
- '#FF6633',
- '#FF9900',
- '#FF9933',
- '#FFCC00',
- '#FFCC33'
-];
-
-/**
- * Currently only WebKit-based Web Inspectors, Firefox >= v31,
- * and the Firebug extension (any Firefox version) are known
- * to support "%c" CSS customizations.
- *
- * TODO: add a `localStorage` variable to explicitly enable/disable colors
- */
-
-// eslint-disable-next-line complexity
-function useColors() {
- // NB: In an Electron preload script, document will be defined but not fully
- // initialized. Since we know we're in Chrome, we'll just detect this case
- // explicitly
- if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
- return true;
- }
-
- // Internet Explorer and Edge do not support colors.
- if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
- return false;
- }
-
- // Is webkit? http://stackoverflow.com/a/16459606/376773
- // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
- return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
- // Is firebug? http://stackoverflow.com/a/398120/376773
- (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
- // Is firefox >= v31?
- // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
- (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||
- // Double check webkit in userAgent just in case we are in a worker
- (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
-}
-
-/**
- * Colorize log arguments if enabled.
- *
- * @api public
- */
-
-function formatArgs(args) {
- args[0] = (this.useColors ? '%c' : '') +
- this.namespace +
- (this.useColors ? ' %c' : ' ') +
- args[0] +
- (this.useColors ? '%c ' : ' ') +
- '+' + module.exports.humanize(this.diff);
-
- if (!this.useColors) {
- return;
- }
-
- const c = 'color: ' + this.color;
- args.splice(1, 0, c, 'color: inherit');
-
- // The final "%c" is somewhat tricky, because there could be other
- // arguments passed either before or after the %c, so we need to
- // figure out the correct index to insert the CSS into
- let index = 0;
- let lastC = 0;
- args[0].replace(/%[a-zA-Z%]/g, match => {
- if (match === '%%') {
- return;
- }
- index++;
- if (match === '%c') {
- // We only are interested in the *last* %c
- // (the user may have provided their own)
- lastC = index;
- }
- });
-
- args.splice(lastC, 0, c);
-}
-
-/**
- * Invokes `console.log()` when available.
- * No-op when `console.log` is not a "function".
- *
- * @api public
- */
-function log(...args) {
- // This hackery is required for IE8/9, where
- // the `console.log` function doesn't have 'apply'
- return typeof console === 'object' &&
- console.log &&
- console.log(...args);
-}
-
-/**
- * Save `namespaces`.
- *
- * @param {String} namespaces
- * @api private
- */
-function save(namespaces) {
- try {
- if (namespaces) {
- exports.storage.setItem('debug', namespaces);
- } else {
- exports.storage.removeItem('debug');
- }
- } catch (error) {
- // Swallow
- // XXX (@Qix-) should we be logging these?
- }
-}
-
-/**
- * Load `namespaces`.
- *
- * @return {String} returns the previously persisted debug modes
- * @api private
- */
-function load() {
- let r;
- try {
- r = exports.storage.getItem('debug');
- } catch (error) {
- // Swallow
- // XXX (@Qix-) should we be logging these?
- }
-
- // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
- if (!r && typeof process !== 'undefined' && 'env' in process) {
- r = process.env.DEBUG;
- }
-
- return r;
-}
-
-/**
- * Localstorage attempts to return the localstorage.
- *
- * This is necessary because safari throws
- * when a user disables cookies/localstorage
- * and you attempt to access it.
- *
- * @return {LocalStorage}
- * @api private
- */
-
-function localstorage() {
- try {
- // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
- // The Browser also has localStorage in the global context.
- return localStorage;
- } catch (error) {
- // Swallow
- // XXX (@Qix-) should we be logging these?
- }
-}
-
-module.exports = require('./common')(exports);
-
-const {formatters} = module.exports;
-
-/**
- * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
- */
-
-formatters.j = function (v) {
- try {
- return JSON.stringify(v);
- } catch (error) {
- return '[UnexpectedJSONParseError]: ' + error.message;
- }
-};
diff --git a/tgui-next/node_modules/@babel/traverse/node_modules/debug/src/common.js b/tgui-next/node_modules/@babel/traverse/node_modules/debug/src/common.js
deleted file mode 100644
index 2f82b8dc7d..0000000000
--- a/tgui-next/node_modules/@babel/traverse/node_modules/debug/src/common.js
+++ /dev/null
@@ -1,266 +0,0 @@
-
-/**
- * This is the common logic for both the Node.js and web browser
- * implementations of `debug()`.
- */
-
-function setup(env) {
- createDebug.debug = createDebug;
- createDebug.default = createDebug;
- createDebug.coerce = coerce;
- createDebug.disable = disable;
- createDebug.enable = enable;
- createDebug.enabled = enabled;
- createDebug.humanize = require('ms');
-
- Object.keys(env).forEach(key => {
- createDebug[key] = env[key];
- });
-
- /**
- * Active `debug` instances.
- */
- createDebug.instances = [];
-
- /**
- * The currently active debug mode names, and names to skip.
- */
-
- createDebug.names = [];
- createDebug.skips = [];
-
- /**
- * Map of special "%n" handling functions, for the debug "format" argument.
- *
- * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
- */
- createDebug.formatters = {};
-
- /**
- * Selects a color for a debug namespace
- * @param {String} namespace The namespace string for the for the debug instance to be colored
- * @return {Number|String} An ANSI color code for the given namespace
- * @api private
- */
- function selectColor(namespace) {
- let hash = 0;
-
- for (let i = 0; i < namespace.length; i++) {
- hash = ((hash << 5) - hash) + namespace.charCodeAt(i);
- hash |= 0; // Convert to 32bit integer
- }
-
- return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
- }
- createDebug.selectColor = selectColor;
-
- /**
- * Create a debugger with the given `namespace`.
- *
- * @param {String} namespace
- * @return {Function}
- * @api public
- */
- function createDebug(namespace) {
- let prevTime;
-
- function debug(...args) {
- // Disabled?
- if (!debug.enabled) {
- return;
- }
-
- const self = debug;
-
- // Set `diff` timestamp
- const curr = Number(new Date());
- const ms = curr - (prevTime || curr);
- self.diff = ms;
- self.prev = prevTime;
- self.curr = curr;
- prevTime = curr;
-
- args[0] = createDebug.coerce(args[0]);
-
- if (typeof args[0] !== 'string') {
- // Anything else let's inspect with %O
- args.unshift('%O');
- }
-
- // Apply any `formatters` transformations
- let index = 0;
- args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
- // If we encounter an escaped % then don't increase the array index
- if (match === '%%') {
- return match;
- }
- index++;
- const formatter = createDebug.formatters[format];
- if (typeof formatter === 'function') {
- const val = args[index];
- match = formatter.call(self, val);
-
- // Now we need to remove `args[index]` since it's inlined in the `format`
- args.splice(index, 1);
- index--;
- }
- return match;
- });
-
- // Apply env-specific formatting (colors, etc.)
- createDebug.formatArgs.call(self, args);
-
- const logFn = self.log || createDebug.log;
- logFn.apply(self, args);
- }
-
- debug.namespace = namespace;
- debug.enabled = createDebug.enabled(namespace);
- debug.useColors = createDebug.useColors();
- debug.color = selectColor(namespace);
- debug.destroy = destroy;
- debug.extend = extend;
- // Debug.formatArgs = formatArgs;
- // debug.rawLog = rawLog;
-
- // env-specific initialization logic for debug instances
- if (typeof createDebug.init === 'function') {
- createDebug.init(debug);
- }
-
- createDebug.instances.push(debug);
-
- return debug;
- }
-
- function destroy() {
- const index = createDebug.instances.indexOf(this);
- if (index !== -1) {
- createDebug.instances.splice(index, 1);
- return true;
- }
- return false;
- }
-
- function extend(namespace, delimiter) {
- const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
- newDebug.log = this.log;
- return newDebug;
- }
-
- /**
- * Enables a debug mode by namespaces. This can include modes
- * separated by a colon and wildcards.
- *
- * @param {String} namespaces
- * @api public
- */
- function enable(namespaces) {
- createDebug.save(namespaces);
-
- createDebug.names = [];
- createDebug.skips = [];
-
- let i;
- const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
- const len = split.length;
-
- for (i = 0; i < len; i++) {
- if (!split[i]) {
- // ignore empty strings
- continue;
- }
-
- namespaces = split[i].replace(/\*/g, '.*?');
-
- if (namespaces[0] === '-') {
- createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
- } else {
- createDebug.names.push(new RegExp('^' + namespaces + '$'));
- }
- }
-
- for (i = 0; i < createDebug.instances.length; i++) {
- const instance = createDebug.instances[i];
- instance.enabled = createDebug.enabled(instance.namespace);
- }
- }
-
- /**
- * Disable debug output.
- *
- * @return {String} namespaces
- * @api public
- */
- function disable() {
- const namespaces = [
- ...createDebug.names.map(toNamespace),
- ...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)
- ].join(',');
- createDebug.enable('');
- return namespaces;
- }
-
- /**
- * Returns true if the given mode name is enabled, false otherwise.
- *
- * @param {String} name
- * @return {Boolean}
- * @api public
- */
- function enabled(name) {
- if (name[name.length - 1] === '*') {
- return true;
- }
-
- let i;
- let len;
-
- for (i = 0, len = createDebug.skips.length; i < len; i++) {
- if (createDebug.skips[i].test(name)) {
- return false;
- }
- }
-
- for (i = 0, len = createDebug.names.length; i < len; i++) {
- if (createDebug.names[i].test(name)) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Convert regexp to namespace
- *
- * @param {RegExp} regxep
- * @return {String} namespace
- * @api private
- */
- function toNamespace(regexp) {
- return regexp.toString()
- .substring(2, regexp.toString().length - 2)
- .replace(/\.\*\?$/, '*');
- }
-
- /**
- * Coerce `val`.
- *
- * @param {Mixed} val
- * @return {Mixed}
- * @api private
- */
- function coerce(val) {
- if (val instanceof Error) {
- return val.stack || val.message;
- }
- return val;
- }
-
- createDebug.enable(createDebug.load());
-
- return createDebug;
-}
-
-module.exports = setup;
diff --git a/tgui-next/node_modules/@babel/traverse/node_modules/debug/src/index.js b/tgui-next/node_modules/@babel/traverse/node_modules/debug/src/index.js
deleted file mode 100644
index bf4c57f259..0000000000
--- a/tgui-next/node_modules/@babel/traverse/node_modules/debug/src/index.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
- * Detect Electron renderer / nwjs process, which is node, but we should
- * treat as a browser.
- */
-
-if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
- module.exports = require('./browser.js');
-} else {
- module.exports = require('./node.js');
-}
diff --git a/tgui-next/node_modules/@babel/traverse/node_modules/debug/src/node.js b/tgui-next/node_modules/@babel/traverse/node_modules/debug/src/node.js
deleted file mode 100644
index 5e1f1541a0..0000000000
--- a/tgui-next/node_modules/@babel/traverse/node_modules/debug/src/node.js
+++ /dev/null
@@ -1,257 +0,0 @@
-/**
- * Module dependencies.
- */
-
-const tty = require('tty');
-const util = require('util');
-
-/**
- * This is the Node.js implementation of `debug()`.
- */
-
-exports.init = init;
-exports.log = log;
-exports.formatArgs = formatArgs;
-exports.save = save;
-exports.load = load;
-exports.useColors = useColors;
-
-/**
- * Colors.
- */
-
-exports.colors = [6, 2, 3, 4, 5, 1];
-
-try {
- // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)
- // eslint-disable-next-line import/no-extraneous-dependencies
- const supportsColor = require('supports-color');
-
- if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
- exports.colors = [
- 20,
- 21,
- 26,
- 27,
- 32,
- 33,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 56,
- 57,
- 62,
- 63,
- 68,
- 69,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 92,
- 93,
- 98,
- 99,
- 112,
- 113,
- 128,
- 129,
- 134,
- 135,
- 148,
- 149,
- 160,
- 161,
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 178,
- 179,
- 184,
- 185,
- 196,
- 197,
- 198,
- 199,
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 209,
- 214,
- 215,
- 220,
- 221
- ];
- }
-} catch (error) {
- // Swallow - we only care if `supports-color` is available; it doesn't have to be.
-}
-
-/**
- * Build up the default `inspectOpts` object from the environment variables.
- *
- * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
- */
-
-exports.inspectOpts = Object.keys(process.env).filter(key => {
- return /^debug_/i.test(key);
-}).reduce((obj, key) => {
- // Camel-case
- const prop = key
- .substring(6)
- .toLowerCase()
- .replace(/_([a-z])/g, (_, k) => {
- return k.toUpperCase();
- });
-
- // Coerce string value into JS value
- let val = process.env[key];
- if (/^(yes|on|true|enabled)$/i.test(val)) {
- val = true;
- } else if (/^(no|off|false|disabled)$/i.test(val)) {
- val = false;
- } else if (val === 'null') {
- val = null;
- } else {
- val = Number(val);
- }
-
- obj[prop] = val;
- return obj;
-}, {});
-
-/**
- * Is stdout a TTY? Colored output is enabled when `true`.
- */
-
-function useColors() {
- return 'colors' in exports.inspectOpts ?
- Boolean(exports.inspectOpts.colors) :
- tty.isatty(process.stderr.fd);
-}
-
-/**
- * Adds ANSI color escape codes if enabled.
- *
- * @api public
- */
-
-function formatArgs(args) {
- const {namespace: name, useColors} = this;
-
- if (useColors) {
- const c = this.color;
- const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c);
- const prefix = ` ${colorCode};1m${name} \u001B[0m`;
-
- args[0] = prefix + args[0].split('\n').join('\n' + prefix);
- args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m');
- } else {
- args[0] = getDate() + name + ' ' + args[0];
- }
-}
-
-function getDate() {
- if (exports.inspectOpts.hideDate) {
- return '';
- }
- return new Date().toISOString() + ' ';
-}
-
-/**
- * Invokes `util.format()` with the specified arguments and writes to stderr.
- */
-
-function log(...args) {
- return process.stderr.write(util.format(...args) + '\n');
-}
-
-/**
- * Save `namespaces`.
- *
- * @param {String} namespaces
- * @api private
- */
-function save(namespaces) {
- if (namespaces) {
- process.env.DEBUG = namespaces;
- } else {
- // If you set a process.env field to null or undefined, it gets cast to the
- // string 'null' or 'undefined'. Just delete instead.
- delete process.env.DEBUG;
- }
-}
-
-/**
- * Load `namespaces`.
- *
- * @return {String} returns the previously persisted debug modes
- * @api private
- */
-
-function load() {
- return process.env.DEBUG;
-}
-
-/**
- * Init logic for `debug` instances.
- *
- * Create a new `inspectOpts` object in case `useColors` is set
- * differently for a particular `debug` instance.
- */
-
-function init(debug) {
- debug.inspectOpts = {};
-
- const keys = Object.keys(exports.inspectOpts);
- for (let i = 0; i < keys.length; i++) {
- debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
- }
-}
-
-module.exports = require('./common')(exports);
-
-const {formatters} = module.exports;
-
-/**
- * Map %o to `util.inspect()`, all on a single line.
- */
-
-formatters.o = function (v) {
- this.inspectOpts.colors = this.useColors;
- return util.inspect(v, this.inspectOpts)
- .replace(/\s*\n\s*/g, ' ');
-};
-
-/**
- * Map %O to `util.inspect()`, allowing multiple lines if needed.
- */
-
-formatters.O = function (v) {
- this.inspectOpts.colors = this.useColors;
- return util.inspect(v, this.inspectOpts);
-};
diff --git a/tgui-next/node_modules/@babel/traverse/package.json b/tgui-next/node_modules/@babel/traverse/package.json
deleted file mode 100644
index e669f37d2c..0000000000
--- a/tgui-next/node_modules/@babel/traverse/package.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "name": "@babel/traverse",
- "version": "7.7.4",
- "description": "The Babel Traverse module maintains the overall tree state, and is responsible for replacing, removing, and adding nodes",
- "author": "Sebastian McKenzie ",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-traverse",
- "main": "lib/index.js",
- "dependencies": {
- "@babel/code-frame": "^7.5.5",
- "@babel/generator": "^7.7.4",
- "@babel/helper-function-name": "^7.7.4",
- "@babel/helper-split-export-declaration": "^7.7.4",
- "@babel/parser": "^7.7.4",
- "@babel/types": "^7.7.4",
- "debug": "^4.1.0",
- "globals": "^11.1.0",
- "lodash": "^4.17.13"
- },
- "devDependencies": {
- "@babel/helper-plugin-test-runner": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/types/LICENSE b/tgui-next/node_modules/@babel/types/LICENSE
deleted file mode 100644
index f31575ec77..0000000000
--- a/tgui-next/node_modules/@babel/types/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tgui-next/node_modules/@babel/types/README.md b/tgui-next/node_modules/@babel/types/README.md
deleted file mode 100644
index 8d33374d3b..0000000000
--- a/tgui-next/node_modules/@babel/types/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/types
-
-> Babel Types is a Lodash-esque utility library for AST nodes
-
-See our website [@babel/types](https://babeljs.io/docs/en/next/babel-types.html) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20types%22+is%3Aopen) associated with this package.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/types
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/types --dev
-```
diff --git a/tgui-next/node_modules/@babel/types/package.json b/tgui-next/node_modules/@babel/types/package.json
deleted file mode 100644
index 07e59f8767..0000000000
--- a/tgui-next/node_modules/@babel/types/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@babel/types",
- "version": "7.7.4",
- "description": "Babel Types is a Lodash-esque utility library for AST nodes",
- "author": "Sebastian McKenzie ",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-types",
- "main": "lib/index.js",
- "types": "lib/index.d.ts",
- "dependencies": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.13",
- "to-fast-properties": "^2.0.0"
- },
- "devDependencies": {
- "@babel/generator": "^7.7.4",
- "@babel/parser": "^7.7.4"
- },
- "gitHead": "75767d87cb147709b9bd9b99bf44daa6688874a9"
-}
diff --git a/tgui-next/node_modules/@babel/types/scripts/generateTypeHelpers.js b/tgui-next/node_modules/@babel/types/scripts/generateTypeHelpers.js
deleted file mode 100644
index bf0b036c18..0000000000
--- a/tgui-next/node_modules/@babel/types/scripts/generateTypeHelpers.js
+++ /dev/null
@@ -1,29 +0,0 @@
-"use strict";
-const path = require("path");
-const chalk = require("chalk");
-const generateBuilders = require("./generators/generateBuilders");
-const generateValidators = require("./generators/generateValidators");
-const generateAsserts = require("./generators/generateAsserts");
-const generateConstants = require("./generators/generateConstants");
-const format = require("../../../scripts/utils/formatCode");
-const writeFile = require("../../../scripts/utils/writeFileAndMkDir");
-
-const baseDir = path.join(__dirname, "../src");
-
-console.log("Generating @babel/types dynamic functions");
-
-const buildersFile = path.join(baseDir, "builders/generated/index.js");
-writeFile(buildersFile, format(generateBuilders(), buildersFile));
-console.log(` ${chalk.green("✔")} Generated builders`);
-
-const validatorsFile = path.join(baseDir, "validators/generated/index.js");
-writeFile(validatorsFile, format(generateValidators(), validatorsFile));
-console.log(` ${chalk.green("✔")} Generated validators`);
-
-const assertsFile = path.join(baseDir, "asserts/generated/index.js");
-writeFile(assertsFile, format(generateAsserts(), assertsFile));
-console.log(` ${chalk.green("✔")} Generated asserts`);
-
-const constantsFile = path.join(baseDir, "constants/generated/index.js");
-writeFile(constantsFile, format(generateConstants(), constantsFile));
-console.log(` ${chalk.green("✔")} Generated constants`);
diff --git a/tgui-next/node_modules/@babel/types/scripts/generators/docs.js b/tgui-next/node_modules/@babel/types/scripts/generators/docs.js
deleted file mode 100644
index 3bbb523624..0000000000
--- a/tgui-next/node_modules/@babel/types/scripts/generators/docs.js
+++ /dev/null
@@ -1,117 +0,0 @@
-"use strict";
-
-const util = require("util");
-const stringifyValidator = require("../utils/stringifyValidator");
-const toFunctionName = require("../utils/toFunctionName");
-
-const types = require("../../");
-
-const readme = [
- `# @babel/types
-
-> This module contains methods for building ASTs manually and for checking the types of AST nodes.
-
-## Install
-
-\`\`\`sh
-npm install --save-dev @babel/types
-\`\`\`
-
-## API`,
-];
-
-const customTypes = {
- ClassMethod: {
- key: "if computed then `Expression` else `Identifier | Literal`",
- },
- Identifier: {
- name: "`string`",
- },
- MemberExpression: {
- property: "if computed then `Expression` else `Identifier`",
- },
- ObjectMethod: {
- key: "if computed then `Expression` else `Identifier | Literal`",
- },
- ObjectProperty: {
- key: "if computed then `Expression` else `Identifier | Literal`",
- },
-};
-Object.keys(types.BUILDER_KEYS)
- .sort()
- .forEach(function(key) {
- readme.push("### " + key[0].toLowerCase() + key.substr(1));
- readme.push("```javascript");
- readme.push(
- "t." +
- toFunctionName(key) +
- "(" +
- types.BUILDER_KEYS[key].join(", ") +
- ")"
- );
- readme.push("```");
- readme.push("");
- readme.push(
- "See also `t.is" +
- key +
- "(node, opts)` and `t.assert" +
- key +
- "(node, opts)`."
- );
- readme.push("");
- if (types.ALIAS_KEYS[key] && types.ALIAS_KEYS[key].length) {
- readme.push(
- "Aliases: " +
- types.ALIAS_KEYS[key]
- .map(function(key) {
- return "`" + key + "`";
- })
- .join(", ")
- );
- readme.push("");
- }
- Object.keys(types.NODE_FIELDS[key])
- .sort(function(fieldA, fieldB) {
- const indexA = types.BUILDER_KEYS[key].indexOf(fieldA);
- const indexB = types.BUILDER_KEYS[key].indexOf(fieldB);
- if (indexA === indexB) return fieldA < fieldB ? -1 : 1;
- if (indexA === -1) return 1;
- if (indexB === -1) return -1;
- return indexA - indexB;
- })
- .forEach(function(field) {
- const defaultValue = types.NODE_FIELDS[key][field].default;
- const fieldDescription = ["`" + field + "`"];
- const validator = types.NODE_FIELDS[key][field].validate;
- if (customTypes[key] && customTypes[key][field]) {
- fieldDescription.push(`: ${customTypes[key][field]}`);
- } else if (validator) {
- try {
- fieldDescription.push(
- ": `" + stringifyValidator(validator, "") + "`"
- );
- } catch (ex) {
- if (ex.code === "UNEXPECTED_VALIDATOR_TYPE") {
- console.log(
- "Unrecognised validator type for " + key + "." + field
- );
- console.dir(ex.validator, { depth: 10, colors: true });
- }
- }
- }
- if (defaultValue !== null || types.NODE_FIELDS[key][field].optional) {
- fieldDescription.push(
- " (default: `" + util.inspect(defaultValue) + "`)"
- );
- } else {
- fieldDescription.push(" (required)");
- }
- readme.push(" - " + fieldDescription.join(""));
- });
-
- readme.push("");
- readme.push("---");
- readme.push("");
- });
-
-process.stdout.write(readme.join("\n"));
diff --git a/tgui-next/node_modules/@babel/types/scripts/generators/flow.js b/tgui-next/node_modules/@babel/types/scripts/generators/flow.js
deleted file mode 100644
index 8b40554e21..0000000000
--- a/tgui-next/node_modules/@babel/types/scripts/generators/flow.js
+++ /dev/null
@@ -1,246 +0,0 @@
-"use strict";
-
-const t = require("../../");
-const stringifyValidator = require("../utils/stringifyValidator");
-const toFunctionName = require("../utils/toFunctionName");
-
-const NODE_PREFIX = "BabelNode";
-
-let code = `// NOTE: This file is autogenerated. Do not modify.
-// See packages/babel-types/scripts/generators/flow.js for script used.
-
-declare class ${NODE_PREFIX}Comment {
- value: string;
- start: number;
- end: number;
- loc: ${NODE_PREFIX}SourceLocation;
-}
-
-declare class ${NODE_PREFIX}CommentBlock extends ${NODE_PREFIX}Comment {
- type: "CommentBlock";
-}
-
-declare class ${NODE_PREFIX}CommentLine extends ${NODE_PREFIX}Comment {
- type: "CommentLine";
-}
-
-declare class ${NODE_PREFIX}SourceLocation {
- start: {
- line: number;
- column: number;
- };
-
- end: {
- line: number;
- column: number;
- };
-}
-
-declare class ${NODE_PREFIX} {
- leadingComments?: Array<${NODE_PREFIX}Comment>;
- innerComments?: Array<${NODE_PREFIX}Comment>;
- trailingComments?: Array<${NODE_PREFIX}Comment>;
- start: ?number;
- end: ?number;
- loc: ?${NODE_PREFIX}SourceLocation;
-}\n\n`;
-
-//
-
-const lines = [];
-
-for (const type in t.NODE_FIELDS) {
- const fields = t.NODE_FIELDS[type];
-
- const struct = ['type: "' + type + '";'];
- const args = [];
-
- Object.keys(t.NODE_FIELDS[type])
- .sort((fieldA, fieldB) => {
- const indexA = t.BUILDER_KEYS[type].indexOf(fieldA);
- const indexB = t.BUILDER_KEYS[type].indexOf(fieldB);
- if (indexA === indexB) return fieldA < fieldB ? -1 : 1;
- if (indexA === -1) return 1;
- if (indexB === -1) return -1;
- return indexA - indexB;
- })
- .forEach(fieldName => {
- const field = fields[fieldName];
-
- let suffix = "";
- if (field.optional || field.default != null) suffix += "?";
-
- let typeAnnotation = "any";
-
- const validate = field.validate;
- if (validate) {
- typeAnnotation = stringifyValidator(validate, NODE_PREFIX);
- }
-
- if (typeAnnotation) {
- suffix += ": " + typeAnnotation;
- }
-
- args.push(t.toBindingIdentifierName(fieldName) + suffix);
-
- if (t.isValidIdentifier(fieldName)) {
- struct.push(fieldName + suffix + ";");
- }
- });
-
- code += `declare class ${NODE_PREFIX}${type} extends ${NODE_PREFIX} {
- ${struct.join("\n ").trim()}
-}\n\n`;
-
- // Flow chokes on super() and import() :/
- if (type !== "Super" && type !== "Import") {
- lines.push(
- `declare function ${toFunctionName(type)}(${args.join(
- ", "
- )}): ${NODE_PREFIX}${type};`
- );
- } else {
- const functionName = toFunctionName(type);
- lines.push(
- `declare function _${functionName}(${args.join(
- ", "
- )}): ${NODE_PREFIX}${type};`,
- `declare export { _${functionName} as ${functionName} }`
- );
- }
-}
-
-for (let i = 0; i < t.TYPES.length; i++) {
- let decl = `declare function is${t.TYPES[i]}(node: ?Object, opts?: ?Object): boolean`;
-
- if (t.NODE_FIELDS[t.TYPES[i]]) {
- decl += ` %checks (node instanceof ${NODE_PREFIX}${t.TYPES[i]})`;
- }
-
- lines.push(decl);
-}
-
-lines.push(
- // builders/
- // eslint-disable-next-line max-len
- `declare function createTypeAnnotationBasedOnTypeof(type: 'string' | 'number' | 'undefined' | 'boolean' | 'function' | 'object' | 'symbol'): ${NODE_PREFIX}TypeAnnotation`,
- // eslint-disable-next-line max-len
- `declare function createUnionTypeAnnotation(types: Array<${NODE_PREFIX}FlowType>): ${NODE_PREFIX}UnionTypeAnnotation`,
- // this smells like "internal API"
- // eslint-disable-next-line max-len
- `declare function buildChildren(node: { children: Array<${NODE_PREFIX}JSXText | ${NODE_PREFIX}JSXExpressionContainer | ${NODE_PREFIX}JSXSpreadChild | ${NODE_PREFIX}JSXElement | ${NODE_PREFIX}JSXFragment | ${NODE_PREFIX}JSXEmptyExpression> }): Array<${NODE_PREFIX}JSXText | ${NODE_PREFIX}JSXExpressionContainer | ${NODE_PREFIX}JSXSpreadChild | ${NODE_PREFIX}JSXElement | ${NODE_PREFIX}JSXFragment>`,
-
- // clone/
- `declare function clone(n: T): T;`,
- `declare function cloneDeep(n: T): T;`,
- `declare function cloneNode(n: T, deep?: boolean): T;`,
- `declare function cloneWithoutLoc(n: T): T;`,
-
- // comments/
- `declare type CommentTypeShorthand = 'leading' | 'inner' | 'trailing'`,
- // eslint-disable-next-line max-len
- `declare function addComment(node: T, type: CommentTypeShorthand, content: string, line?: boolean): T`,
- // eslint-disable-next-line max-len
- `declare function addComments(node: T, type: CommentTypeShorthand, comments: Array): T`,
- `declare function inheritInnerComments(node: Node, parent: Node): void`,
- `declare function inheritLeadingComments(node: Node, parent: Node): void`,
- `declare function inheritsComments(node: T, parent: Node): void`,
- `declare function inheritTrailingComments(node: Node, parent: Node): void`,
- `declare function removeComments(node: T): T`,
-
- // converters/
- `declare function ensureBlock(node: ${NODE_PREFIX}, key: string): ${NODE_PREFIX}BlockStatement`,
- `declare function toBindingIdentifierName(name?: ?string): string`,
- // eslint-disable-next-line max-len
- `declare function toBlock(node: ${NODE_PREFIX}Statement | ${NODE_PREFIX}Expression, parent?: ${NODE_PREFIX}Function | null): ${NODE_PREFIX}BlockStatement`,
- // eslint-disable-next-line max-len
- `declare function toComputedKey(node: ${NODE_PREFIX}Method | ${NODE_PREFIX}Property, key?: ${NODE_PREFIX}Expression | ${NODE_PREFIX}Identifier): ${NODE_PREFIX}Expression`,
- // eslint-disable-next-line max-len
- `declare function toExpression(node: ${NODE_PREFIX}ExpressionStatement | ${NODE_PREFIX}Expression | ${NODE_PREFIX}Class | ${NODE_PREFIX}Function): ${NODE_PREFIX}Expression`,
- `declare function toIdentifier(name?: ?string): string`,
- // eslint-disable-next-line max-len
- `declare function toKeyAlias(node: ${NODE_PREFIX}Method | ${NODE_PREFIX}Property, key?: ${NODE_PREFIX}): string`,
- // toSequenceExpression relies on types that aren't declared in flow
- // eslint-disable-next-line max-len
- `declare function toStatement(node: ${NODE_PREFIX}Statement | ${NODE_PREFIX}Class | ${NODE_PREFIX}Function | ${NODE_PREFIX}AssignmentExpression, ignore?: boolean): ${NODE_PREFIX}Statement | void`,
- `declare function valueToNode(value: any): ${NODE_PREFIX}Expression`,
-
- // modifications/
- // eslint-disable-next-line max-len
- `declare function removeTypeDuplicates(types: Array<${NODE_PREFIX}FlowType>): Array<${NODE_PREFIX}FlowType>`,
- // eslint-disable-next-line max-len
- `declare function appendToMemberExpression(member: ${NODE_PREFIX}MemberExpression, append: ${NODE_PREFIX}, computed?: boolean): ${NODE_PREFIX}MemberExpression`,
- // eslint-disable-next-line max-len
- `declare function inherits(child: T, parent: ${NODE_PREFIX} | null | void): T`,
- // eslint-disable-next-line max-len
- `declare function prependToMemberExpression(member: ${NODE_PREFIX}MemberExpression, prepend: ${NODE_PREFIX}Expression): ${NODE_PREFIX}MemberExpression`,
- `declare function removeProperties(n: T, opts: ?{}): void;`,
- `declare function removePropertiesDeep(n: T, opts: ?{}): T;`,
-
- // retrievers/
- // eslint-disable-next-line max-len
- `declare function getBindingIdentifiers(node: ${NODE_PREFIX}, duplicates: boolean, outerOnly?: boolean): { [key: string]: ${NODE_PREFIX}Identifier | Array<${NODE_PREFIX}Identifier> }`,
- // eslint-disable-next-line max-len
- `declare function getOuterBindingIdentifiers(node: Node, duplicates: boolean): { [key: string]: ${NODE_PREFIX}Identifier | Array<${NODE_PREFIX}Identifier> }`,
-
- // traverse/
- `declare type TraversalAncestors = Array<{
- node: BabelNode,
- key: string,
- index?: number,
- }>;
- declare type TraversalHandler = (BabelNode, TraversalAncestors, T) => void;
- declare type TraversalHandlers = {
- enter?: TraversalHandler,
- exit?: TraversalHandler,
- };`.replace(/(^|\n) {2}/g, "$1"),
- // eslint-disable-next-line
- `declare function traverse(n: BabelNode, TraversalHandler | TraversalHandlers, state?: T): void;`,
- `declare function traverseFast(n: Node, h: TraversalHandler, state?: T): void;`,
-
- // utils/
- // cleanJSXElementLiteralChild is not exported
- // inherit is not exported
- `declare function shallowEqual(actual: Object, expected: Object): boolean`,
-
- // validators/
- // eslint-disable-next-line max-len
- `declare function buildMatchMemberExpression(match: string, allowPartial?: boolean): (?BabelNode) => boolean`,
- `declare function is(type: string, n: BabelNode, opts: Object): boolean;`,
- `declare function isBinding(node: BabelNode, parent: BabelNode, grandparent?: BabelNode): boolean`,
- `declare function isBlockScoped(node: BabelNode): boolean`,
- `declare function isImmutable(node: BabelNode): boolean`,
- `declare function isLet(node: BabelNode): boolean`,
- `declare function isNode(node: ?Object): boolean`,
- `declare function isNodesEquivalent(a: any, b: any): boolean`,
- `declare function isPlaceholderType(placeholderType: string, targetType: string): boolean`,
- `declare function isReferenced(node: BabelNode, parent: BabelNode, grandparent?: BabelNode): boolean`,
- `declare function isScope(node: BabelNode, parent: BabelNode): boolean`,
- `declare function isSpecifierDefault(specifier: BabelNodeModuleSpecifier): boolean`,
- `declare function isType(nodetype: ?string, targetType: string): boolean`,
- `declare function isValidES3Identifier(name: string): boolean`,
- `declare function isValidES3Identifier(name: string): boolean`,
- `declare function isValidIdentifier(name: string): boolean`,
- `declare function isVar(node: BabelNode): boolean`,
- // eslint-disable-next-line max-len
- `declare function matchesPattern(node: ?BabelNode, match: string | Array, allowPartial?: boolean): boolean`,
- `declare function validate(n: BabelNode, key: string, value: mixed): void;`
-);
-
-for (const type in t.FLIPPED_ALIAS_KEYS) {
- const types = t.FLIPPED_ALIAS_KEYS[type];
- code += `type ${NODE_PREFIX}${type} = ${types
- .map(type => `${NODE_PREFIX}${type}`)
- .join(" | ")};\n`;
-}
-
-code += `\ndeclare module "@babel/types" {
- ${lines
- .join("\n")
- .replace(/\n/g, "\n ")
- .trim()}
-}\n`;
-
-//
-
-process.stdout.write(code);
diff --git a/tgui-next/node_modules/@babel/types/scripts/generators/generateAsserts.js b/tgui-next/node_modules/@babel/types/scripts/generators/generateAsserts.js
deleted file mode 100644
index 26bdb8dccb..0000000000
--- a/tgui-next/node_modules/@babel/types/scripts/generators/generateAsserts.js
+++ /dev/null
@@ -1,44 +0,0 @@
-"use strict";
-const definitions = require("../../lib/definitions");
-
-function addAssertHelper(type) {
- return `export function assert${type}(node: Object, opts?: Object = {}): void {
- assert("${type}", node, opts) }
- `;
-}
-
-module.exports = function generateAsserts() {
- let output = `// @flow
-/*
- * This file is auto-generated! Do not modify it directly.
- * To re-generate run 'make build'
- */
-import is from "../../validators/is";
-
-function assert(type: string, node: Object, opts?: Object): void {
- if (!is(type, node, opts)) {
- throw new Error(
- \`Expected type "\${type}" with option \${JSON.stringify((opts: any))}, \` +
- \`but instead got "\${node.type}".\`,
- );
- }
-}\n\n`;
-
- Object.keys(definitions.VISITOR_KEYS).forEach(type => {
- output += addAssertHelper(type);
- });
-
- Object.keys(definitions.FLIPPED_ALIAS_KEYS).forEach(type => {
- output += addAssertHelper(type);
- });
-
- Object.keys(definitions.DEPRECATED_KEYS).forEach(type => {
- const newType = definitions.DEPRECATED_KEYS[type];
- output += `export function assert${type}(node: Object, opts: Object): void {
- console.trace("The node type ${type} has been renamed to ${newType}");
- assert("${type}", node, opts);
-}\n`;
- });
-
- return output;
-};
diff --git a/tgui-next/node_modules/@babel/types/scripts/generators/generateBuilders.js b/tgui-next/node_modules/@babel/types/scripts/generators/generateBuilders.js
deleted file mode 100644
index 08a5b6fc61..0000000000
--- a/tgui-next/node_modules/@babel/types/scripts/generators/generateBuilders.js
+++ /dev/null
@@ -1,43 +0,0 @@
-"use strict";
-const definitions = require("../../lib/definitions");
-const formatBuilderName = require("../utils/formatBuilderName");
-const lowerFirst = require("../utils/lowerFirst");
-
-module.exports = function generateBuilders() {
- let output = `// @flow
-/*
- * This file is auto-generated! Do not modify it directly.
- * To re-generate run 'make build'
- */
-import builder from "../builder";\n\n`;
-
- Object.keys(definitions.BUILDER_KEYS).forEach(type => {
- output += `export function ${type}(...args: Array): Object { return builder("${type}", ...args); }
-export { ${type} as ${formatBuilderName(type)} };\n`;
-
- // This is needed for backwards compatibility.
- // It should be removed in the next major version.
- // JSXIdentifier -> jSXIdentifier
- if (/^[A-Z]{2}/.test(type)) {
- output += `export { ${type} as ${lowerFirst(type)} }\n`;
- }
- });
-
- Object.keys(definitions.DEPRECATED_KEYS).forEach(type => {
- const newType = definitions.DEPRECATED_KEYS[type];
- output += `export function ${type}(...args: Array): Object {
- console.trace("The node type ${type} has been renamed to ${newType}");
- return ${type}("${type}", ...args);
-}
-export { ${type} as ${formatBuilderName(type)} };\n`;
-
- // This is needed for backwards compatibility.
- // It should be removed in the next major version.
- // JSXIdentifier -> jSXIdentifier
- if (/^[A-Z]{2}/.test(type)) {
- output += `export { ${type} as ${lowerFirst(type)} }\n`;
- }
- });
-
- return output;
-};
diff --git a/tgui-next/node_modules/@babel/types/scripts/generators/generateConstants.js b/tgui-next/node_modules/@babel/types/scripts/generators/generateConstants.js
deleted file mode 100644
index 1e4d2cabae..0000000000
--- a/tgui-next/node_modules/@babel/types/scripts/generators/generateConstants.js
+++ /dev/null
@@ -1,17 +0,0 @@
-"use strict";
-const definitions = require("../../lib/definitions");
-
-module.exports = function generateConstants() {
- let output = `// @flow
-/*
- * This file is auto-generated! Do not modify it directly.
- * To re-generate run 'make build'
- */
-import { FLIPPED_ALIAS_KEYS } from "../../definitions";\n\n`;
-
- Object.keys(definitions.FLIPPED_ALIAS_KEYS).forEach(type => {
- output += `export const ${type.toUpperCase()}_TYPES = FLIPPED_ALIAS_KEYS["${type}"];\n`;
- });
-
- return output;
-};
diff --git a/tgui-next/node_modules/@babel/types/scripts/generators/generateValidators.js b/tgui-next/node_modules/@babel/types/scripts/generators/generateValidators.js
deleted file mode 100644
index 1455f99e5b..0000000000
--- a/tgui-next/node_modules/@babel/types/scripts/generators/generateValidators.js
+++ /dev/null
@@ -1,78 +0,0 @@
-"use strict";
-const definitions = require("../../lib/definitions");
-
-const has = Function.call.bind(Object.prototype.hasOwnProperty);
-
-function joinComparisons(leftArr, right) {
- return (
- leftArr.map(JSON.stringify).join(` === ${right} || `) + ` === ${right}`
- );
-}
-
-function addIsHelper(type, aliasKeys, deprecated) {
- const targetType = JSON.stringify(type);
- let aliasSource = "";
- if (aliasKeys) {
- aliasSource = " || " + joinComparisons(aliasKeys, "nodeType");
- }
-
- let placeholderSource = "";
- const placeholderTypes = [];
- if (
- definitions.PLACEHOLDERS.includes(type) &&
- has(definitions.FLIPPED_ALIAS_KEYS, type)
- ) {
- placeholderTypes.push(type);
- }
- if (has(definitions.PLACEHOLDERS_FLIPPED_ALIAS, type)) {
- placeholderTypes.push(...definitions.PLACEHOLDERS_FLIPPED_ALIAS[type]);
- }
- if (placeholderTypes.length > 0) {
- placeholderSource =
- ' || nodeType === "Placeholder" && (' +
- joinComparisons(placeholderTypes, "node.expectedNode") +
- ")";
- }
-
- return `export function is${type}(node: ?Object, opts?: Object): boolean {
- ${deprecated || ""}
- if (!node) return false;
-
- const nodeType = node.type;
- if (nodeType === ${targetType}${aliasSource}${placeholderSource}) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return shallowEqual(node, opts);
- }
- }
-
- return false;
- }
- `;
-}
-
-module.exports = function generateValidators() {
- let output = `// @flow
-/*
- * This file is auto-generated! Do not modify it directly.
- * To re-generate run 'make build'
- */
-import shallowEqual from "../../utils/shallowEqual";\n\n`;
-
- Object.keys(definitions.VISITOR_KEYS).forEach(type => {
- output += addIsHelper(type);
- });
-
- Object.keys(definitions.FLIPPED_ALIAS_KEYS).forEach(type => {
- output += addIsHelper(type, definitions.FLIPPED_ALIAS_KEYS[type]);
- });
-
- Object.keys(definitions.DEPRECATED_KEYS).forEach(type => {
- const newType = definitions.DEPRECATED_KEYS[type];
- const deprecated = `console.trace("The node type ${type} has been renamed to ${newType}");`;
- output += addIsHelper(type, null, deprecated);
- });
-
- return output;
-};
diff --git a/tgui-next/node_modules/@babel/types/scripts/generators/typescript.js b/tgui-next/node_modules/@babel/types/scripts/generators/typescript.js
deleted file mode 100644
index 01e6c47828..0000000000
--- a/tgui-next/node_modules/@babel/types/scripts/generators/typescript.js
+++ /dev/null
@@ -1,358 +0,0 @@
-"use strict";
-
-const t = require("../../");
-const stringifyValidator = require("../utils/stringifyValidator");
-const toFunctionName = require("../utils/toFunctionName");
-
-let code = `// NOTE: This file is autogenerated. Do not modify.
-// See packages/babel-types/scripts/generators/typescript.js for script used.
-
-interface BaseComment {
- value: string;
- start: number;
- end: number;
- loc: SourceLocation;
- type: "CommentBlock" | "CommentLine";
-}
-
-export interface CommentBlock extends BaseComment {
- type: "CommentBlock";
-}
-
-export interface CommentLine extends BaseComment {
- type: "CommentLine";
-}
-
-export type Comment = CommentBlock | CommentLine;
-
-export interface SourceLocation {
- start: {
- line: number;
- column: number;
- };
-
- end: {
- line: number;
- column: number;
- };
-}
-
-interface BaseNode {
- leadingComments: ReadonlyArray | null;
- innerComments: ReadonlyArray | null;
- trailingComments: ReadonlyArray | null;
- start: number | null;
- end: number | null;
- loc: SourceLocation | null;
- type: Node["type"];
-}
-
-export type Node = ${t.TYPES.sort().join(" | ")};\n\n`;
-
-//
-
-const lines = [];
-
-for (const type in t.NODE_FIELDS) {
- const fields = t.NODE_FIELDS[type];
- const fieldNames = sortFieldNames(Object.keys(t.NODE_FIELDS[type]), type);
-
- const struct = ['type: "' + type + '";'];
- const args = [];
-
- fieldNames.forEach(fieldName => {
- const field = fields[fieldName];
- // Future / annoying TODO:
- // MemberExpression.property, ObjectProperty.key and ObjectMethod.key need special cases; either:
- // - convert the declaration to chain() like ClassProperty.key and ClassMethod.key,
- // - declare an alias type for valid keys, detect the case and reuse it here,
- // - declare a disjoint union with, for example, ObjectPropertyBase,
- // ObjectPropertyLiteralKey and ObjectPropertyComputedKey, and declare ObjectProperty
- // as "ObjectPropertyBase & (ObjectPropertyLiteralKey | ObjectPropertyComputedKey)"
- let typeAnnotation = stringifyValidator(field.validate, "");
-
- if (isNullable(field) && !hasDefault(field)) {
- typeAnnotation += " | null";
- }
-
- if (areAllRemainingFieldsNullable(fieldName, fieldNames, fields)) {
- args.push(
- `${t.toBindingIdentifierName(fieldName)}${
- isNullable(field) ? "?:" : ":"
- } ${typeAnnotation}`
- );
- } else {
- args.push(
- `${t.toBindingIdentifierName(fieldName)}: ${typeAnnotation}${
- isNullable(field) ? " | undefined" : ""
- }`
- );
- }
-
- const alphaNumeric = /^\w+$/;
-
- if (t.isValidIdentifier(fieldName) || alphaNumeric.test(fieldName)) {
- struct.push(`${fieldName}: ${typeAnnotation};`);
- } else {
- struct.push(`"${fieldName}": ${typeAnnotation};`);
- }
- });
-
- code += `export interface ${type} extends BaseNode {
- ${struct.join("\n ").trim()}
-}\n\n`;
-
- // super and import are reserved words in JavaScript
- if (type !== "Super" && type !== "Import") {
- lines.push(
- `export function ${toFunctionName(type)}(${args.join(", ")}): ${type};`
- );
- } else {
- const functionName = toFunctionName(type);
- lines.push(
- `declare function _${functionName}(${args.join(", ")}): ${type};`,
- `export { _${functionName} as ${functionName}}`
- );
- }
-}
-
-for (const typeName of t.TYPES) {
- const result =
- t.NODE_FIELDS[typeName] || t.FLIPPED_ALIAS_KEYS[typeName]
- ? `node is ${typeName}`
- : "boolean";
-
- lines.push(
- `export function is${typeName}(node: object | null | undefined, opts?: object | null): ${result};`,
- // TypeScript 3.7: https://github.com/microsoft/TypeScript/pull/32695 will allow assert declarations
- // eslint-disable-next-line max-len
- `// export function assert${typeName}(node: object | null | undefined, opts?: object | null): asserts ${
- result === "boolean" ? "node" : result
- };`
- );
-}
-
-lines.push(
- // assert/
- // Commented out as this declaration requires TypeScript 3.7 (what do?)
- `// export function assertNode(obj: any): asserts obj is Node`,
-
- // builders/
- // eslint-disable-next-line max-len
- `export function createTypeAnnotationBasedOnTypeof(type: 'string' | 'number' | 'undefined' | 'boolean' | 'function' | 'object' | 'symbol'): StringTypeAnnotation | VoidTypeAnnotation | NumberTypeAnnotation | BooleanTypeAnnotation | GenericTypeAnnotation`,
- `export function createUnionTypeAnnotation(types: [T]): T`,
- // this probably misbehaves if there are 0 elements, and it's not a UnionTypeAnnotation if there's only 1
- // it is possible to require "2 or more" for this overload ([T, T, ...T[]]) but it requires typescript 3.0
- `export function createUnionTypeAnnotation(types: ReadonlyArray): UnionTypeAnnotation`,
- // this smells like "internal API"
- // eslint-disable-next-line max-len
- `export function buildChildren(node: { children: ReadonlyArray }): JSXElement['children']`,
-
- // clone/
- `export function clone(n: T): T;`,
- `export function cloneDeep(n: T): T;`,
- `export function cloneNode(n: T, deep?: boolean): T;`,
- `export function cloneWithoutLoc(n: T): T;`,
-
- // comments/
- `export type CommentTypeShorthand = 'leading' | 'inner' | 'trailing'`,
- // eslint-disable-next-line max-len
- `export function addComment(node: T, type: CommentTypeShorthand, content: string, line?: boolean): T`,
- // eslint-disable-next-line max-len
- `export function addComments(node: T, type: CommentTypeShorthand, comments: ReadonlyArray): T`,
- `export function inheritInnerComments(node: Node, parent: Node): void`,
- `export function inheritLeadingComments(node: Node, parent: Node): void`,
- `export function inheritsComments(node: T, parent: Node): void`,
- `export function inheritTrailingComments(node: Node, parent: Node): void`,
- `export function removeComments(node: T): T`,
-
- // converters/
- // eslint-disable-next-line max-len
- `export function ensureBlock(node: Extract): BlockStatement`,
- // too complex?
- // eslint-disable-next-line max-len
- `export function ensureBlock = 'body'>(node: Extract>, key: K): BlockStatement`,
- // gatherSequenceExpressions is not exported
- `export function toBindingIdentifierName(name: { toString(): string } | null | undefined): string`,
- `export function toBlock(node: Statement | Expression, parent?: Function | null): BlockStatement`,
- // it is possible for `node` to be an arbitrary object if `key` is always provided,
- // but that doesn't look like intended API
- // eslint-disable-next-line max-len
- `export function toComputedKey>(node: T, key?: Expression | Identifier): Expression`,
- `export function toExpression(node: Function): FunctionExpression`,
- `export function toExpression(node: Class): ClassExpression`,
- `export function toExpression(node: ExpressionStatement | Expression | Class | Function): Expression`,
- `export function toIdentifier(name: { toString(): string } | null | undefined): string`,
- `export function toKeyAlias(node: Method | Property, key?: Node): string`,
- // NOTE: this actually uses Scope from @babel/traverse, but we can't add a dependency on its types,
- // as they live in @types. Declare the structural subset that is required.
- // eslint-disable-next-line max-len
- `export function toSequenceExpression(nodes: ReadonlyArray, scope: { push(value: { id: LVal; kind: 'var'; init?: Expression}): void; buildUndefinedNode(): Node }): SequenceExpression | undefined`,
- `export function toStatement(node: AssignmentExpression, ignore?: boolean): ExpressionStatement`,
- `export function toStatement(node: Statement | AssignmentExpression, ignore?: boolean): Statement`,
- `export function toStatement(node: Class, ignore: true): ClassDeclaration | undefined`,
- `export function toStatement(node: Class, ignore?: boolean): ClassDeclaration`,
- `export function toStatement(node: Function, ignore: true): FunctionDeclaration | undefined`,
- `export function toStatement(node: Function, ignore?: boolean): FunctionDeclaration`,
- // eslint-disable-next-line max-len
- `export function toStatement(node: Statement | Class | Function | AssignmentExpression, ignore: true): Statement | undefined`,
- // eslint-disable-next-line max-len
- `export function toStatement(node: Statement | Class | Function | AssignmentExpression, ignore?: boolean): Statement`,
- // eslint-disable-next-line max-len
- `export function valueToNode(value: undefined): Identifier`, // (should this not be a UnaryExpression to avoid shadowing?)
- `export function valueToNode(value: boolean): BooleanLiteral`,
- `export function valueToNode(value: null): NullLiteral`,
- `export function valueToNode(value: string): StringLiteral`,
- // Infinities and NaN need to use a BinaryExpression; negative values must be wrapped in UnaryExpression
- `export function valueToNode(value: number): NumericLiteral | BinaryExpression | UnaryExpression`,
- `export function valueToNode(value: RegExp): RegExpLiteral`,
- // eslint-disable-next-line max-len
- `export function valueToNode(value: ReadonlyArray): ArrayExpression`,
- // this throws with objects that are not PlainObject according to lodash,
- // or if there are non-valueToNode-able values
- `export function valueToNode(value: object): ObjectExpression`,
- // eslint-disable-next-line max-len
- `export function valueToNode(value: undefined | boolean | null | string | number | RegExp | object): Expression`,
-
- // modifications/
- // eslint-disable-next-line max-len
- `export function removeTypeDuplicates(types: ReadonlyArray): FlowType[]`,
- // eslint-disable-next-line max-len
- `export function appendToMemberExpression>(member: T, append: MemberExpression['property'], computed?: boolean): T`,
- // eslint-disable-next-line max-len
- `export function inherits(child: T, parent: Node | null | undefined): T`,
- // eslint-disable-next-line max-len
- `export function prependToMemberExpression>(member: T, prepend: MemberExpression['object']): T`,
- `export function removeProperties(
- n: Node,
- opts?: { preserveComments: boolean } | null
-): void;`,
- `export function removePropertiesDeep(
- n: T,
- opts?: { preserveComments: boolean } | null
-): T;`,
-
- // retrievers/
- // eslint-disable-next-line max-len
- `export function getBindingIdentifiers(node: Node, duplicates: true, outerOnly?: boolean): Record>`,
- // eslint-disable-next-line max-len
- `export function getBindingIdentifiers(node: Node, duplicates?: false, outerOnly?: boolean): Record`,
- // eslint-disable-next-line max-len
- `export function getBindingIdentifiers(node: Node, duplicates: boolean, outerOnly?: boolean): Record>`,
- // eslint-disable-next-line max-len
- `export function getOuterBindingIdentifiers(node: Node, duplicates: true): Record>`,
- `export function getOuterBindingIdentifiers(node: Node, duplicates?: false): Record`,
- // eslint-disable-next-line max-len
- `export function getOuterBindingIdentifiers(node: Node, duplicates: boolean): Record>`,
-
- // traverse/
- `export type TraversalAncestors = ReadonlyArray<{
- node: Node,
- key: string,
- index?: number,
- }>;
- export type TraversalHandler = (
- this: undefined, node: Node, parent: TraversalAncestors, type: T
- ) => void;
- export type TraversalHandlers = {
- enter?: TraversalHandler,
- exit?: TraversalHandler,
- };`.replace(/(^|\n) {2}/g, "$1"),
- // eslint-disable-next-line
- `export function traverse(n: Node, h: TraversalHandler | TraversalHandlers, state?: T): void;`,
- `export function traverseFast(n: Node, h: TraversalHandler, state?: T): void;`,
-
- // utils/
- // cleanJSXElementLiteralChild is not exported
- // inherit is not exported
- `export function shallowEqual(actual: object, expected: T): actual is T`,
-
- // validators/
- // eslint-disable-next-line max-len
- `export function buildMatchMemberExpression(match: string, allowPartial?: boolean): (node: Node | null | undefined) => node is MemberExpression`,
- // eslint-disable-next-line max-len
- `export function is(type: T, n: Node | null | undefined, required?: undefined): n is Extract`,
- // eslint-disable-next-line max-len
- `export function is>(type: T, n: Node | null | undefined, required: Partial): n is P`,
- // eslint-disable-next-line max-len
- `export function is
(type: string, n: Node | null | undefined, required: Partial
): n is P`,
- `export function is(type: string, n: Node | null | undefined, required?: Partial): n is Node`,
- `export function isBinding(node: Node, parent: Node, grandparent?: Node): boolean`,
- // eslint-disable-next-line max-len
- `export function isBlockScoped(node: Node): node is FunctionDeclaration | ClassDeclaration | VariableDeclaration`,
- `export function isImmutable(node: Node): node is Immutable`,
- `export function isLet(node: Node): node is VariableDeclaration`,
- `export function isNode(node: object | null | undefined): node is Node`,
- `export function isNodesEquivalent>(a: T, b: any): b is T`,
- `export function isNodesEquivalent(a: any, b: any): boolean`,
- `export function isPlaceholderType(placeholderType: Node['type'], targetType: Node['type']): boolean`,
- `export function isReferenced(node: Node, parent: Node, grandparent?: Node): boolean`,
- `export function isScope(node: Node, parent: Node): node is Scopable`,
- `export function isSpecifierDefault(specifier: ModuleSpecifier): boolean`,
- `export function isType(nodetype: string, targetType: T): nodetype is T`,
- `export function isType(nodetype: string | null | undefined, targetType: string): boolean`,
- `export function isValidES3Identifier(name: string): boolean`,
- `export function isValidIdentifier(name: string): boolean`,
- `export function isVar(node: Node): node is VariableDeclaration`,
- // the MemberExpression implication is incidental, but it follows from the implementation
- // eslint-disable-next-line max-len
- `export function matchesPattern(node: Node | null | undefined, match: string | ReadonlyArray, allowPartial?: boolean): node is MemberExpression`,
- // TypeScript 3.7: ": asserts n is T"
- // eslint-disable-next-line max-len
- `export function validate(n: Node | null | undefined, key: K, value: T[K]): void`,
- `export function validate(n: Node, key: string, value: any): void;`
-);
-
-for (const type in t.DEPRECATED_KEYS) {
- code += `/**
- * @deprecated Use \`${t.DEPRECATED_KEYS[type]}\`
- */
-export type ${type} = ${t.DEPRECATED_KEYS[type]};\n
-`;
-}
-
-for (const type in t.FLIPPED_ALIAS_KEYS) {
- const types = t.FLIPPED_ALIAS_KEYS[type];
- code += `export type ${type} = ${types
- .map(type => `${type}`)
- .join(" | ")};\n`;
-}
-code += "\n";
-
-code += "export interface Aliases {\n";
-for (const type in t.FLIPPED_ALIAS_KEYS) {
- code += ` ${type}: ${type};\n`;
-}
-code += "}\n\n";
-
-code += lines.join("\n") + "\n";
-
-//
-
-process.stdout.write(code);
-
-//
-
-function areAllRemainingFieldsNullable(fieldName, fieldNames, fields) {
- const index = fieldNames.indexOf(fieldName);
- return fieldNames.slice(index).every(_ => isNullable(fields[_]));
-}
-
-function hasDefault(field) {
- return field.default != null;
-}
-
-function isNullable(field) {
- return field.optional || hasDefault(field);
-}
-
-function sortFieldNames(fields, type) {
- return fields.sort((fieldA, fieldB) => {
- const indexA = t.BUILDER_KEYS[type].indexOf(fieldA);
- const indexB = t.BUILDER_KEYS[type].indexOf(fieldB);
- if (indexA === indexB) return fieldA < fieldB ? -1 : 1;
- if (indexA === -1) return 1;
- if (indexB === -1) return -1;
- return indexA - indexB;
- });
-}
diff --git a/tgui-next/node_modules/@babel/types/scripts/utils/formatBuilderName.js b/tgui-next/node_modules/@babel/types/scripts/utils/formatBuilderName.js
deleted file mode 100644
index 621c468219..0000000000
--- a/tgui-next/node_modules/@babel/types/scripts/utils/formatBuilderName.js
+++ /dev/null
@@ -1,10 +0,0 @@
-"use strict";
-
-const toLowerCase = Function.call.bind("".toLowerCase);
-
-module.exports = function formatBuilderName(type) {
- // FunctionExpression -> functionExpression
- // JSXIdentifier -> jsxIdentifier
- // V8IntrinsicIdentifier -> v8IntrinsicIdentifier
- return type.replace(/^([A-Z](?=[a-z0-9])|[A-Z]+(?=[A-Z]))/, toLowerCase);
-};
diff --git a/tgui-next/node_modules/@babel/types/scripts/utils/lowerFirst.js b/tgui-next/node_modules/@babel/types/scripts/utils/lowerFirst.js
deleted file mode 100644
index 9e7b0cee51..0000000000
--- a/tgui-next/node_modules/@babel/types/scripts/utils/lowerFirst.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-module.exports = function lowerFirst(string) {
- return string[0].toLowerCase() + string.slice(1);
-};
diff --git a/tgui-next/node_modules/@babel/types/scripts/utils/stringifyValidator.js b/tgui-next/node_modules/@babel/types/scripts/utils/stringifyValidator.js
deleted file mode 100644
index 2ea1e80357..0000000000
--- a/tgui-next/node_modules/@babel/types/scripts/utils/stringifyValidator.js
+++ /dev/null
@@ -1,66 +0,0 @@
-module.exports = function stringifyValidator(validator, nodePrefix) {
- if (validator === undefined) {
- return "any";
- }
-
- if (validator.each) {
- return `Array<${stringifyValidator(validator.each, nodePrefix)}>`;
- }
-
- if (validator.chainOf) {
- return stringifyValidator(validator.chainOf[1], nodePrefix);
- }
-
- if (validator.oneOf) {
- return validator.oneOf.map(JSON.stringify).join(" | ");
- }
-
- if (validator.oneOfNodeTypes) {
- return validator.oneOfNodeTypes.map(_ => nodePrefix + _).join(" | ");
- }
-
- if (validator.oneOfNodeOrValueTypes) {
- return validator.oneOfNodeOrValueTypes
- .map(_ => {
- return isValueType(_) ? _ : nodePrefix + _;
- })
- .join(" | ");
- }
-
- if (validator.type) {
- return validator.type;
- }
-
- if (validator.shapeOf) {
- return (
- "{ " +
- Object.keys(validator.shapeOf)
- .map(shapeKey => {
- const propertyDefinition = validator.shapeOf[shapeKey];
- if (propertyDefinition.validate) {
- const isOptional =
- propertyDefinition.optional || propertyDefinition.default != null;
- return (
- shapeKey +
- (isOptional ? "?: " : ": ") +
- stringifyValidator(propertyDefinition.validate)
- );
- }
- return null;
- })
- .filter(Boolean)
- .join(", ") +
- " }"
- );
- }
-
- return ["any"];
-};
-
-/**
- * Heuristic to decide whether or not the given type is a value type (eg. "null")
- * or a Node type (eg. "Expression").
- */
-function isValueType(type) {
- return type.charAt(0).toLowerCase() === type.charAt(0);
-}
diff --git a/tgui-next/node_modules/@babel/types/scripts/utils/toFunctionName.js b/tgui-next/node_modules/@babel/types/scripts/utils/toFunctionName.js
deleted file mode 100644
index 627c9a7d8f..0000000000
--- a/tgui-next/node_modules/@babel/types/scripts/utils/toFunctionName.js
+++ /dev/null
@@ -1,4 +0,0 @@
-module.exports = function toFunctionName(typeName) {
- const _ = typeName.replace(/^TS/, "ts").replace(/^JSX/, "jsx");
- return _.slice(0, 1).toLowerCase() + _.slice(1);
-};
diff --git a/tgui-next/node_modules/@types/q/LICENSE b/tgui-next/node_modules/@types/q/LICENSE
deleted file mode 100644
index 4b1ad51b2f..0000000000
--- a/tgui-next/node_modules/@types/q/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
- MIT License
-
- Copyright (c) Microsoft Corporation. All rights reserved.
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all
- copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE
diff --git a/tgui-next/node_modules/@types/q/README.md b/tgui-next/node_modules/@types/q/README.md
deleted file mode 100644
index d07788d560..0000000000
--- a/tgui-next/node_modules/@types/q/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Installation
-> `npm install --save @types/q`
-
-# Summary
-This package contains type definitions for Q ( https://github.com/kriskowal/q ).
-
-# Details
-Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/q
-
-Additional Details
- * Last updated: Wed, 13 Mar 2019 17:15:46 GMT
- * Dependencies: none
- * Global values: Q
-
-# Credits
-These definitions were written by Barrie Nemetchek , Andrew Gaspar , John Reilly , Michel Boudreau , TeamworkGuy2 .
diff --git a/tgui-next/node_modules/@types/q/index.d.ts b/tgui-next/node_modules/@types/q/index.d.ts
deleted file mode 100644
index 5dc94f67d2..0000000000
--- a/tgui-next/node_modules/@types/q/index.d.ts
+++ /dev/null
@@ -1,598 +0,0 @@
-// Type definitions for Q 1.5
-// Project: https://github.com/kriskowal/q
-// Definitions by: Barrie Nemetchek
-// Andrew Gaspar
-// John Reilly
-// Michel Boudreau
-// TeamworkGuy2
-// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
-// TypeScript Version: 2.3
-
-export = Q;
-export as namespace Q;
-
-/**
- * If value is a Q promise, returns the promise.
- * If value is a promise from another library it is coerced into a Q promise (where possible).
- * If value is not a promise, returns a promise that is fulfilled with value.
- */
-declare function Q(promise: PromiseLike | T): Q.Promise;
-/**
- * Calling with nothing at all creates a void promise
- */
-declare function Q(): Q.Promise;
-
-declare namespace Q {
- export type IWhenable = PromiseLike | T;
- export type IPromise = PromiseLike;
-
- export interface Deferred {
- promise: Promise;
-
- /**
- * Calling resolve with a pending promise causes promise to wait on the passed promise, becoming fulfilled with its
- * fulfillment value or rejected with its rejection reason (or staying pending forever, if the passed promise does).
- * Calling resolve with a rejected promise causes promise to be rejected with the passed promise's rejection reason.
- * Calling resolve with a fulfilled promise causes promise to be fulfilled with the passed promise's fulfillment value.
- * Calling resolve with a non-promise value causes promise to be fulfilled with that value.
- */
- resolve(value?: IWhenable): void;
-
- /**
- * Calling reject with a reason causes promise to be rejected with that reason.
- */
- reject(reason?: any): void;
-
- /**
- * Calling notify with a value causes promise to be notified of progress with that value. That is, any onProgress
- * handlers registered with promise or promises derived from promise will be called with the progress value.
- */
- notify(value: any): void;
-
- /**
- * Returns a function suitable for passing to a Node.js API. That is, it has a signature (err, result) and will
- * reject deferred.promise with err if err is given, or fulfill it with result if that is given.
- */
- makeNodeResolver(): (reason: any, value: T) => void;
- }
-
- export interface Promise {
- /**
- * The then method from the Promises/A+ specification, with an additional progress handler.
- */
- then(onFulfill?: ((value: T) => IWhenable) | null, onReject?: ((error: any) => IWhenable) | null, onProgress?: ((progress: any) => any) | null): Promise;
- then(onFulfill?: ((value: T) => IWhenable) | null, onReject?: ((error: any) => IWhenable) | null, onProgress?: ((progress: any) => any) | null): Promise;
- /**
- * Like a finally clause, allows you to observe either the fulfillment or rejection of a promise, but to do so
- * without modifying the final value. This is useful for collecting resources regardless of whether a job succeeded,
- * like closing a database connection, shutting a server down, or deleting an unneeded key from an object.
- * finally returns a promise, which will become resolved with the same fulfillment value or rejection reason
- * as promise. However, if callback returns a promise, the resolution of the returned promise will be delayed
- * until the promise returned from callback is finished. Furthermore, if the returned promise rejects, that
- * rejection will be passed down the chain instead of the previous result.
- */
- finally(finallyCallback: () => any): Promise;
-
- /**
- * Alias for finally() (for non-ES5 browsers)
- */
- fin(finallyCallback: () => any): Promise;
-
- /**
- * Like then, but "spreads" the array into a variadic fulfillment handler. If any of the promises in the array are
- * rejected, instead calls onRejected with the first rejected promise's rejection reason.
- * This is especially useful in conjunction with all
- */
- spread(onFulfill: (...args: any[]) => IWhenable, onReject?: (reason: any) => IWhenable): Promise;
-
- /**
- * A sugar method, equivalent to promise.then(undefined, onRejected).
- */
- catch(onRejected: (reason: any) => IWhenable