Index: frontend/node_modules/char-regex/LICENSE
===================================================================
--- frontend/node_modules/char-regex/LICENSE	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/char-regex/LICENSE	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2019 Richie Bendall
+
+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.
Index: frontend/node_modules/char-regex/README.md
===================================================================
--- frontend/node_modules/char-regex/README.md	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/char-regex/README.md	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,27 @@
+# Char Regex [![Travis CI Build Status](https://img.shields.io/travis/com/Richienb/char-regex/master.svg?style=for-the-badge)](https://travis-ci.com/Richienb/char-regex)
+
+A regex to match any full character, considering weird character ranges. Tested on every single emoji and unicode character. Based on the Lodash implementation.
+
+[![NPM Badge](https://nodei.co/npm/char-regex.png)](https://npmjs.com/package/char-regex)
+
+## Install
+
+```sh
+npm install char-regex
+```
+
+## Usage
+
+```js
+const charRegex = require("char-regex");
+
+"❤️👊🏽".match(/./);
+//=> ["", "", "", "", "", "", ""]
+
+"❤️👊🏽".match(charRegex());
+//=> ["❤️", "👊🏽"]
+```
+
+## API
+
+### charRegex()
Index: frontend/node_modules/char-regex/index.d.ts
===================================================================
--- frontend/node_modules/char-regex/index.d.ts	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/char-regex/index.d.ts	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,13 @@
+/**
+ * A regex to match any full character, considering weird character ranges.
+ * @example
+ * ```
+ * const charRegex = require("char-regex");
+ *
+ * "❤️👊🏽".match(charRegex());
+ * //=> ["❤️", "👊🏽"]
+ * ```
+*/
+declare function charRegex(): RegExp
+
+export = charRegex
Index: frontend/node_modules/char-regex/index.js
===================================================================
--- frontend/node_modules/char-regex/index.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/char-regex/index.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,39 @@
+"use strict"
+
+// Based on: https://github.com/lodash/lodash/blob/6018350ac10d5ce6a5b7db625140b82aeab804df/.internal/unicodeSize.js
+
+module.exports = () => {
+	// Used to compose unicode character classes.
+	const astralRange = "\\ud800-\\udfff"
+	const comboMarksRange = "\\u0300-\\u036f"
+	const comboHalfMarksRange = "\\ufe20-\\ufe2f"
+	const comboSymbolsRange = "\\u20d0-\\u20ff"
+	const comboMarksExtendedRange = "\\u1ab0-\\u1aff"
+	const comboMarksSupplementRange = "\\u1dc0-\\u1dff"
+	const comboRange = comboMarksRange + comboHalfMarksRange + comboSymbolsRange + comboMarksExtendedRange + comboMarksSupplementRange
+	const varRange = "\\ufe0e\\ufe0f"
+	const familyRange = "\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83C\\uDF93"
+
+	// Used to compose unicode capture groups.
+	const astral = `[${astralRange}]`
+	const combo = `[${comboRange}]`
+	const fitz = "\\ud83c[\\udffb-\\udfff]"
+	const modifier = `(?:${combo}|${fitz})`
+	const nonAstral = `[^${astralRange}]`
+	const regional = "(?:\\uD83C[\\uDDE6-\\uDDFF]){2}"
+	const surrogatePair = "[\\ud800-\\udbff][\\udc00-\\udfff]"
+	const zwj = "\\u200d"
+	const blackFlag = "(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40(?:\\udc65|\\udc73|\\udc77)\\udb40(?:\\udc6e|\\udc63|\\udc6c)\\udb40(?:\\udc67|\\udc74|\\udc73)\\udb40\\udc7f)"
+	const family = `[${familyRange}]`
+
+	// Used to compose unicode regexes.
+	const optModifier = `${modifier}?`
+	const optVar = `[${varRange}]?`
+	const optJoin = `(?:${zwj}(?:${[nonAstral, regional, surrogatePair].join("|")})${optVar + optModifier})*`
+	const seq = optVar + optModifier + optJoin
+	const nonAstralCombo = `${nonAstral}${combo}?`
+	const symbol = `(?:${[nonAstralCombo, combo, regional, surrogatePair, astral, family].join("|")})`
+
+	// Used to match [String symbols](https://mathiasbynens.be/notes/javascript-unicode).
+	return new RegExp(`${blackFlag}|${fitz}(?=${fitz})|${symbol + seq}`, "g")
+}
Index: frontend/node_modules/char-regex/package.json
===================================================================
--- frontend/node_modules/char-regex/package.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/char-regex/package.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,44 @@
+{
+	"name": "char-regex",
+	"version": "1.0.2",
+	"description": "A regex to match any full character, considering weird character ranges.",
+	"repository": "https://github.com/Richienb/char-regex.git",
+	"author": "Richie Bendall <richiebendall@gmail.com>",
+	"license": "MIT",
+	"main": "index.js",
+	"files": [
+		"index.js",
+		"index.d.ts"
+	],
+	"engines": {
+		"node": ">=10"
+	},
+	"scripts": {
+		"lint": "xo",
+		"test": "yarn lint && ava"
+	},
+	"keywords": [
+		"character",
+		"regex",
+		"match",
+		"split",
+		"length"
+	],
+	"dependencies": {},
+	"devDependencies": {
+		"@babel/core": "^7.8.4",
+		"@babel/plugin-proposal-unicode-property-regex": "^7.8.3",
+		"array-uniq": "^2.1.0",
+		"ava": "^3.0.0",
+		"emoji.json": "^12.1.1",
+		"eslint-config-richienb": "^0.3.0",
+		"unicode-chars": "^1.0.1",
+		"xo": "^0.25.3"
+	},
+	"resolutions": {
+		"eslint": "^6.8.0"
+	},
+	"xo": {
+		"extends": "richienb/node"
+	}
+}
