~andrewzah/apps.andrei.kr

112710c6d7baf89d83b0d032e8e1bf238edf76fe — Andrew Zah 1 year, 3 months ago c56a045 master
I made changes and I'm scared to undo
A devCaddyfile => devCaddyfile +3 -0
@@ 0,0 1,3 @@
:2016 {
  root dist
}

M frontend/components/korean_numbers/korean_numbers.js => frontend/components/korean_numbers/korean_numbers.js +2 -3
@@ 13,7 13,7 @@ import ToggleButtonGroup from '@material-ui/lab/ToggleButtonGroup';
import Typography from '@material-ui/core/Typography';
import { withStyles } from '@material-ui/core/styles';

const { 
const {
  random_korean_bigint,
  random_korean_int,
  random_korean_money


@@ 130,7 130,6 @@ class KoreanNumbers extends React.Component {

  updateNumbers() {
    const { numberSystemTypeSelect, typeSelect, lowerBound, upperBound } = this.state;

    try {
      if (typeSelect === "integer") {
        if (upperBound.length > 38) {


@@ 306,7 305,7 @@ class KoreanNumbers extends React.Component {
                    variant="outlined"
                  />
                </Grid>
                <Grid item xs={0} sm={1}></Grid>
                <Grid item xs={false} sm={1}></Grid>

                <Grid item xs={10} sm={6}>
                  <ToggleButtonGroup selected onChange={this.handleNumberSystemToggle} exclusive value={numberSystemTypeSelect}>

M frontend/favicon.ico => frontend/favicon.ico +0 -0

M frontend/favicon.png => frontend/favicon.png +0 -0

M frontend/index.html => frontend/index.html +1 -0
@@ 6,6 6,7 @@

    <title> Korean Learning Tools written by Andrew Zah </title>
  </head>
  <script src="//instant.page/1.1.0" type="module" integrity="sha384-EwBObn5QAxP8f09iemwAJljc+sU+eUXeL9vSBw1eNmVarwhKk2F9vBEpaN9rsrtp"></script>
  <body>
    <div id="root"></div>
  </body>

A native/rust-toolchain => native/rust-toolchain +1 -0
@@ 0,0 1,1 @@
nightly

M native/src/lib.rs => native/src/lib.rs +2 -3
@@ 7,7 7,6 @@ extern crate serde;
extern crate serde_json;
extern crate num_bigint;


use wasm_bindgen::prelude::*;
use rand::prelude::*;
use serde::ser::Error;


@@ 104,7 103,7 @@ fn random_bigint(lower: &str, upper: &str) -> BigInt {
    };

    let mut rng = rand::thread_rng();
    let roll: BigInt = rng.gen_bigint_range(&big_lower, &big_upper + 1);
    let roll: BigInt = rng.gen_bigint_range(&big_lower, &big_upper);
    roll
}



@@ 115,5 114,5 @@ fn random_int(lower: i128, upper: i128) -> i128 {

fn random_float(lower: f64, upper: f64) -> f64 {
    let mut rng = rand::thread_rng();
    (rng.gen_range(lower, upper + 1) * 100.0).round() / 100.0
    (rng.gen_range(lower, upper + 1.0) * 100.0).round() / 100.0
}

M package-lock.json => package-lock.json +187 -857
@@ 4,32 4,6 @@
  "lockfileVersion": 1,
  "requires": true,
  "dependencies": {
    "@babel/cli": {
      "version": "7.2.3",
      "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.2.3.tgz",
      "integrity": "sha512-bfna97nmJV6nDJhXNPeEfxyMjWnt6+IjUAaDPiYRTBlm8L41n8nvw6UAqUCbvpFfU246gHPxW7sfWwqtF4FcYA==",
      "dev": true,
      "requires": {
        "chokidar": "^2.0.3",
        "commander": "^2.8.1",
        "convert-source-map": "^1.1.0",
        "fs-readdir-recursive": "^1.1.0",
        "glob": "^7.0.0",
        "lodash": "^4.17.10",
        "mkdirp": "^0.5.1",
        "output-file-sync": "^2.0.0",
        "slash": "^2.0.0",
        "source-map": "^0.5.0"
      },
      "dependencies": {
        "slash": {
          "version": "2.0.0",
          "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
          "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
          "dev": true
        }
      }
    },
    "@babel/code-frame": {
      "version": "7.0.0",
      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",


@@ 1328,7 1302,8 @@
    "array-find-index": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E="
      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
      "dev": true
    },
    "array-flatten": {
      "version": "2.1.2",


@@ 1373,11 1348,6 @@
      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
      "dev": true
    },
    "art": {
      "version": "0.10.3",
      "resolved": "https://registry.npmjs.org/art/-/art-0.10.3.tgz",
      "integrity": "sha512-HXwbdofRTiJT6qZX/FnchtldzJjS3vkLJxQilc3Xj+ma2MXjY4UAyQ0ls1XZYVnDvVIBiFZbC6QsvtW86TD6tQ=="
    },
    "asap": {
      "version": "2.0.6",
      "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",


@@ 1458,13 1428,12 @@
      "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
      "dev": true
    },
    "async": {
      "version": "2.6.1",
      "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
      "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
      "dev": true,
    "async-child-process": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/async-child-process/-/async-child-process-1.1.1.tgz",
      "integrity": "sha1-J9ClmLVzhwf5iYwEi9IxNAWDdHs=",
      "requires": {
        "lodash": "^4.17.10"
        "babel-runtime": "^6.11.6"
      }
    },
    "async-each": {


@@ 1479,12 1448,6 @@
      "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
      "dev": true
    },
    "async-limiter": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
      "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
      "dev": true
    },
    "asynckit": {
      "version": "0.4.0",
      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",


@@ 1540,30 1503,10 @@
        "mkdirp": "^0.5.1"
      }
    },
    "babel-polyfill": {
      "version": "6.23.0",
      "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz",
      "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=",
      "dev": true,
      "requires": {
        "babel-runtime": "^6.22.0",
        "core-js": "^2.4.0",
        "regenerator-runtime": "^0.10.0"
      },
      "dependencies": {
        "regenerator-runtime": {
          "version": "0.10.5",
          "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
          "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
          "dev": true
        }
      }
    },
    "babel-runtime": {
      "version": "6.26.0",
      "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
      "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
      "dev": true,
      "requires": {
        "core-js": "^2.4.0",
        "regenerator-runtime": "^0.11.0"


@@ 1572,11 1515,16 @@
        "regenerator-runtime": {
          "version": "0.11.1",
          "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
          "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
          "dev": true
          "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
        }
      }
    },
    "babylon": {
      "version": "7.0.0-beta.47",
      "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.47.tgz",
      "integrity": "sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ==",
      "dev": true
    },
    "balanced-match": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",


@@ 1659,23 1607,10 @@
        "tweetnacl": "^0.14.3"
      }
    },
    "bfj": {
      "version": "6.1.1",
      "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.1.tgz",
      "integrity": "sha512-+GUNvzHR4nRyGybQc2WpNJL4MJazMuvf92ueIyA0bIkPRwhhQu3IfZQ2PSoVPpCBJfmoSdOxu5rnotfFLlvYRQ==",
      "dev": true,
      "requires": {
        "bluebird": "^3.5.1",
        "check-types": "^7.3.0",
        "hoopy": "^0.1.2",
        "tryer": "^1.0.0"
      }
    },
    "big.js": {
      "version": "5.2.2",
      "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
      "dev": true
      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
    },
    "bignumber.js": {
      "version": "2.4.0",


@@ 1777,7 1712,8 @@
    "boolbase": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
      "dev": true
    },
    "brace-expansion": {
      "version": "1.1.11",


@@ 2122,57 2058,6 @@
      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
      "dev": true
    },
    "check-types": {
      "version": "7.4.0",
      "resolved": "https://registry.npmjs.org/check-types/-/check-types-7.4.0.tgz",
      "integrity": "sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg==",
      "dev": true
    },
    "cheerio": {
      "version": "0.22.0",
      "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz",
      "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=",
      "requires": {
        "css-select": "~1.2.0",
        "dom-serializer": "~0.1.0",
        "entities": "~1.1.1",
        "htmlparser2": "^3.9.1",
        "lodash.assignin": "^4.0.9",
        "lodash.bind": "^4.1.4",
        "lodash.defaults": "^4.0.1",
        "lodash.filter": "^4.4.0",
        "lodash.flatten": "^4.2.0",
        "lodash.foreach": "^4.3.0",
        "lodash.map": "^4.4.0",
        "lodash.merge": "^4.4.0",
        "lodash.pick": "^4.2.1",
        "lodash.reduce": "^4.4.0",
        "lodash.reject": "^4.4.0",
        "lodash.some": "^4.4.0"
      },
      "dependencies": {
        "css-select": {
          "version": "1.2.0",
          "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
          "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
          "requires": {
            "boolbase": "~1.0.0",
            "css-what": "2.1",
            "domutils": "1.5.1",
            "nth-check": "~1.0.1"
          }
        },
        "domutils": {
          "version": "1.5.1",
          "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
          "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
          "requires": {
            "dom-serializer": "0",
            "domelementtype": "1"
          }
        }
      }
    },
    "chokidar": {
      "version": "2.0.4",
      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",


@@ 2283,17 2168,6 @@
      "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
      "dev": true
    },
    "clipboard": {
      "version": "2.0.4",
      "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz",
      "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==",
      "optional": true,
      "requires": {
        "good-listener": "^1.2.2",
        "select": "^1.1.2",
        "tiny-emitter": "^2.0.0"
      }
    },
    "cliui": {
      "version": "4.1.0",
      "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",


@@ 2571,16 2445,6 @@
        "sha.js": "^2.4.8"
      }
    },
    "create-react-class": {
      "version": "15.6.3",
      "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz",
      "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==",
      "requires": {
        "fbjs": "^0.8.9",
        "loose-envify": "^1.3.1",
        "object-assign": "^4.1.1"
      }
    },
    "cross-spawn": {
      "version": "6.0.5",
      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",


@@ 2613,15 2477,6 @@
        "randomfill": "^1.0.3"
      }
    },
    "css-in-js-utils": {
      "version": "2.0.1",
      "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz",
      "integrity": "sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA==",
      "requires": {
        "hyphenate-style-name": "^1.0.2",
        "isobject": "^3.0.1"
      }
    },
    "css-loader": {
      "version": "2.1.0",
      "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.0.tgz",


@@ 2845,7 2700,8 @@
    "css-what": {
      "version": "2.1.2",
      "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz",
      "integrity": "sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ=="
      "integrity": "sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ==",
      "dev": true
    },
    "csso": {
      "version": "3.5.1",


@@ 2931,14 2787,6 @@
      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
      "dev": true
    },
    "deep-assign": {
      "version": "3.0.0",
      "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-3.0.0.tgz",
      "integrity": "sha512-YX2i9XjJ7h5q/aQ/IM9PEwEnDqETAIYbggmdDB3HLTlSgo1CxPsj6pvhPG68rq6SVE0+p+6Ywsm5fTYNrYtBWw==",
      "requires": {
        "is-obj": "^1.0.0"
      }
    },
    "deep-equal": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",


@@ 3044,12 2892,6 @@
      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
      "dev": true
    },
    "delegate": {
      "version": "3.2.0",
      "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
      "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==",
      "optional": true
    },
    "delegates": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",


@@ 3156,6 2998,7 @@
      "version": "0.1.0",
      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
      "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
      "dev": true,
      "requires": {
        "domelementtype": "~1.1.1",
        "entities": "~1.1.1"


@@ 3164,7 3007,8 @@
        "domelementtype": {
          "version": "1.1.3",
          "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
          "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs="
          "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
          "dev": true
        }
      }
    },


@@ 3183,29 3027,7 @@
    "domelementtype": {
      "version": "1.3.1",
      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
      "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
    },
    "domhandler": {
      "version": "2.4.2",
      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
      "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
      "requires": {
        "domelementtype": "1"
      }
    },
    "domutils": {
      "version": "1.7.0",
      "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
      "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
      "requires": {
        "dom-serializer": "0",
        "domelementtype": "1"
      }
    },
    "duplexer": {
      "version": "0.1.1",
      "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
      "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
      "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
      "dev": true
    },
    "duplexify": {


@@ 3236,12 3058,6 @@
      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
      "dev": true
    },
    "ejs": {
      "version": "2.6.1",
      "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz",
      "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==",
      "dev": true
    },
    "electron-to-chromium": {
      "version": "1.3.96",
      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.96.tgz",


@@ 3272,8 3088,7 @@
    "emojis-list": {
      "version": "2.1.0",
      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
      "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
      "dev": true
      "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k="
    },
    "encodeurl": {
      "version": "1.0.2",


@@ 3312,7 3127,8 @@
    "entities": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
      "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
      "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
      "dev": true
    },
    "errno": {
      "version": "0.1.7",


@@ 4054,30 3870,6 @@
        }
      }
    },
    "extract-text-webpack-plugin": {
      "version": "4.0.0-beta.0",
      "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-4.0.0-beta.0.tgz",
      "integrity": "sha512-Hypkn9jUTnFr0DpekNam53X47tXn3ucY08BQumv7kdGgeVUBLq3DJHJTi6HNxv4jl9W+Skxjz9+RnK0sJyqqjA==",
      "dev": true,
      "requires": {
        "async": "^2.4.1",
        "loader-utils": "^1.1.0",
        "schema-utils": "^0.4.5",
        "webpack-sources": "^1.1.0"
      },
      "dependencies": {
        "schema-utils": {
          "version": "0.4.7",
          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
          "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
          "dev": true,
          "requires": {
            "ajv": "^6.1.0",
            "ajv-keywords": "^3.1.0"
          }
        }
      }
    },
    "extract-zip": {
      "version": "1.6.7",
      "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",


@@ 4327,11 4119,6 @@
        }
      }
    },
    "fbjs-css-vars": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz",
      "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ=="
    },
    "fd-slicer": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",


@@ 4372,12 4159,6 @@
      "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
      "dev": true
    },
    "filesize": {
      "version": "3.6.1",
      "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
      "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==",
      "dev": true
    },
    "fill-range": {
      "version": "4.0.0",
      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",


@@ 4606,12 4387,6 @@
        "klaw": "^1.0.0"
      }
    },
    "fs-readdir-recursive": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz",
      "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==",
      "dev": true
    },
    "fs-write-stream-atomic": {
      "version": "1.0.10",
      "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",


@@ 4652,7 4427,8 @@
          "version": "2.1.1",
          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
          "dev": true
          "dev": true,
          "optional": true
        },
        "aproba": {
          "version": "1.2.0",


@@ 4676,13 4452,15 @@
          "version": "1.0.0",
          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
          "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
          "dev": true
          "dev": true,
          "optional": true
        },
        "brace-expansion": {
          "version": "1.1.11",
          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
          "dev": true,
          "optional": true,
          "requires": {
            "balanced-match": "^1.0.0",
            "concat-map": "0.0.1"


@@ 4699,19 4477,22 @@
          "version": "1.1.0",
          "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
          "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
          "dev": true
          "dev": true,
          "optional": true
        },
        "concat-map": {
          "version": "0.0.1",
          "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
          "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
          "dev": true
          "dev": true,
          "optional": true
        },
        "console-control-strings": {
          "version": "1.1.0",
          "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
          "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
          "dev": true
          "dev": true,
          "optional": true
        },
        "core-util-is": {
          "version": "1.0.2",


@@ 4842,7 4623,8 @@
          "version": "2.0.3",
          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
          "dev": true
          "dev": true,
          "optional": true
        },
        "ini": {
          "version": "1.3.5",


@@ 4856,6 4638,7 @@
          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
          "dev": true,
          "optional": true,
          "requires": {
            "number-is-nan": "^1.0.0"
          }


@@ 4872,6 4655,7 @@
          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
          "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
          "dev": true,
          "optional": true,
          "requires": {
            "brace-expansion": "^1.1.7"
          }


@@ 4880,13 4664,15 @@
          "version": "0.0.8",
          "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
          "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
          "dev": true
          "dev": true,
          "optional": true
        },
        "minipass": {
          "version": "2.2.4",
          "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz",
          "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==",
          "dev": true,
          "optional": true,
          "requires": {
            "safe-buffer": "^5.1.1",
            "yallist": "^3.0.0"


@@ 4907,6 4693,7 @@
          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
          "dev": true,
          "optional": true,
          "requires": {
            "minimist": "0.0.8"
          }


@@ 4995,7 4782,8 @@
          "version": "1.0.1",
          "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
          "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
          "dev": true
          "dev": true,
          "optional": true
        },
        "object-assign": {
          "version": "4.1.1",


@@ 5009,6 4797,7 @@
          "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
          "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
          "dev": true,
          "optional": true,
          "requires": {
            "wrappy": "1"
          }


@@ 5104,7 4893,8 @@
          "version": "5.1.1",
          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
          "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
          "dev": true
          "dev": true,
          "optional": true
        },
        "safer-buffer": {
          "version": "2.1.2",


@@ 5146,6 4936,7 @@
          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
          "dev": true,
          "optional": true,
          "requires": {
            "code-point-at": "^1.0.0",
            "is-fullwidth-code-point": "^1.0.0",


@@ 5167,6 4958,7 @@
          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
          "dev": true,
          "optional": true,
          "requires": {
            "ansi-regex": "^2.0.0"
          }


@@ 5215,13 5007,15 @@
          "version": "1.0.2",
          "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
          "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
          "dev": true
          "dev": true,
          "optional": true
        },
        "yallist": {
          "version": "3.0.2",
          "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz",
          "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=",
          "dev": true
          "dev": true,
          "optional": true
        }
      }
    },


@@ 5282,7 5076,7 @@
        },
        "string-width": {
          "version": "1.0.2",
          "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
          "dev": true,
          "requires": {


@@ 5293,7 5087,7 @@
        },
        "strip-ansi": {
          "version": "3.0.1",
          "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
          "dev": true,
          "requires": {


@@ 5379,16 5173,6 @@
        "assert-plus": "^1.0.0"
      }
    },
    "gitbook-plugin-prism": {
      "version": "2.4.0",
      "resolved": "https://registry.npmjs.org/gitbook-plugin-prism/-/gitbook-plugin-prism-2.4.0.tgz",
      "integrity": "sha512-qt16TmNJA5SVpFF+4OhiaPf5VHg/aWj9QFuYEC/dUHmBgYbaq5HMwsqGFFXj4N/zwqAzr3YDiq1V/udsU5D1qA==",
      "requires": {
        "cheerio": "0.22.0",
        "mkdirp": "0.5.1",
        "prismjs": "^1.15.0"
      }
    },
    "glob": {
      "version": "7.1.3",
      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",


@@ 5459,12 5243,6 @@
        "resolve-dir": "^1.0.0"
      }
    },
    "global-modules-path": {
      "version": "2.3.1",
      "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.1.tgz",
      "integrity": "sha512-y+shkf4InI7mPRHSo2b/k6ix6+NLDtyccYv86whhxrSGX9wjPX1VMITmrDbE1eh7zkzhiWtW2sHklJYoQ62Cxg==",
      "dev": true
    },
    "global-prefix": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",


@@ 5508,38 5286,10 @@
        "minimatch": "~3.0.2"
      }
    },
    "good-listener": {
      "version": "1.2.2",
      "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
      "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=",
      "optional": true,
      "requires": {
        "delegate": "^3.1.2"
      }
    },
    "graceful-fs": {
      "version": "4.1.15",
      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
      "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
      "dev": true
    },
    "gzip-size": {
      "version": "5.0.0",
      "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.0.0.tgz",
      "integrity": "sha512-5iI7omclyqrnWw4XbXAmGhPsABkSIDQonv2K0h61lybgofWa6iZyvrI3r2zsJH4P8Nb64fFVzlvfhs0g7BBxAA==",
      "dev": true,
      "requires": {
        "duplexer": "^0.1.1",
        "pify": "^3.0.0"
      },
      "dependencies": {
        "pify": {
          "version": "3.0.0",
          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
          "dev": true
        }
      }
      "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA=="
    },
    "handle-thing": {
      "version": "2.0.0",


@@ 5716,12 5466,6 @@
        "parse-passwd": "^1.0.0"
      }
    },
    "hoopy": {
      "version": "0.1.4",
      "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
      "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==",
      "dev": true
    },
    "hosted-git-info": {
      "version": "2.7.1",
      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",


@@ 5773,17 5517,6 @@
        "uglify-js": "3.4.x"
      }
    },
    "html-webpack-inline-source-plugin": {
      "version": "0.0.10",
      "resolved": "http://registry.npmjs.org/html-webpack-inline-source-plugin/-/html-webpack-inline-source-plugin-0.0.10.tgz",
      "integrity": "sha512-0ZNU57u7283vrXSF5a4VDnVOMWiSwypKIp1z/XfXWoVHLA1r3Xmyxx5+Lz+mnthz/UvxL1OAf41w5UIF68Jngw==",
      "dev": true,
      "requires": {
        "escape-string-regexp": "^1.0.5",
        "slash": "^1.0.0",
        "source-map-url": "^0.4.0"
      }
    },
    "html-webpack-plugin": {
      "version": "3.2.0",
      "resolved": "http://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz",


@@ 5825,31 5558,6 @@
        }
      }
    },
    "htmlparser2": {
      "version": "3.10.0",
      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz",
      "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==",
      "requires": {
        "domelementtype": "^1.3.0",
        "domhandler": "^2.3.0",
        "domutils": "^1.5.1",
        "entities": "^1.1.1",
        "inherits": "^2.0.1",
        "readable-stream": "^3.0.6"
      },
      "dependencies": {
        "readable-stream": {
          "version": "3.1.1",
          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz",
          "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==",
          "requires": {
            "inherits": "^2.0.3",
            "string_decoder": "^1.1.1",
            "util-deprecate": "^1.0.1"
          }
        }
      }
    },
    "http-deceiver": {
      "version": "1.2.7",
      "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",


@@ 6068,7 5776,8 @@
    "inherits": {
      "version": "2.0.3",
      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
      "dev": true
    },
    "ini": {
      "version": "1.3.5",


@@ 6093,15 5802,6 @@
        "uglify-js": "3.4.9"
      }
    },
    "inline-style-prefixer": {
      "version": "5.0.3",
      "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-5.0.3.tgz",
      "integrity": "sha512-cD31gdJKWn84vAJYQTFH54jhq0t05xOAQr6YGmcCT8UV34A8ebu9Evwt/LI4YAcnNJGxmXWO+YEEvb1j+aqydA==",
      "requires": {
        "css-in-js-utils": "^2.0.0",
        "gitbook-plugin-prism": "^2.4.0"
      }
    },
    "inquirer": {
      "version": "6.2.1",
      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz",


@@ 6355,11 6055,6 @@
        }
      }
    },
    "is-obj": {
      "version": "1.0.1",
      "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
      "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
    },
    "is-path-cwd": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",


@@ 6384,12 6079,6 @@
        "path-is-inside": "^1.0.1"
      }
    },
    "is-plain-obj": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
      "dev": true
    },
    "is-plain-object": {
      "version": "2.0.4",
      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",


@@ 6513,15 6202,10 @@
      "integrity": "sha1-U+RI7J0mPmgyZkZ+lELSxaLvVII=",
      "dev": true
    },
    "jquery": {
      "version": "3.3.1",
      "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz",
      "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg=="
    },
    "js-base64": {
      "version": "2.5.0",
      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.0.tgz",
      "integrity": "sha512-wlEBIZ5LP8usDylWbDNhKPEFVFdI5hCHpnVoT/Ysvoi/PRhJENm/Rlh9TvjYB38HFfKZN7OzEbRjmjvLkFw11g==",
      "version": "2.5.1",
      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
      "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==",
      "dev": true
    },
    "js-levenshtein": {


@@ 6605,7 6289,6 @@
      "version": "1.0.1",
      "resolved": "http://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
      "dev": true,
      "requires": {
        "minimist": "^1.2.0"
      }


@@ 6926,7 6609,7 @@
    },
    "load-json-file": {
      "version": "1.1.0",
      "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
      "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
      "dev": true,
      "requires": {


@@ 6935,17 6618,6 @@
        "pify": "^2.0.0",
        "pinkie-promise": "^2.0.0",
        "strip-bom": "^2.0.0"
      },
      "dependencies": {
        "parse-json": {
          "version": "2.2.0",
          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
          "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
          "dev": true,
          "requires": {
            "error-ex": "^1.2.0"
          }
        }
      }
    },
    "loader-runner": {


@@ 6958,7 6630,6 @@
      "version": "1.2.3",
      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
      "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
      "dev": true,
      "requires": {
        "big.js": "^5.2.2",
        "emojis-list": "^2.0.0",


@@ 6986,16 6657,6 @@
      "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
      "dev": true
    },
    "lodash.assignin": {
      "version": "4.2.0",
      "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz",
      "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI="
    },
    "lodash.bind": {
      "version": "4.2.1",
      "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz",
      "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU="
    },
    "lodash.clonedeep": {
      "version": "4.5.0",
      "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",


@@ 7008,62 6669,12 @@
      "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
      "dev": true
    },
    "lodash.defaults": {
      "version": "4.2.0",
      "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
      "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw="
    },
    "lodash.filter": {
      "version": "4.6.0",
      "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz",
      "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4="
    },
    "lodash.flatten": {
      "version": "4.4.0",
      "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
      "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8="
    },
    "lodash.foreach": {
      "version": "4.5.0",
      "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz",
      "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM="
    },
    "lodash.map": {
      "version": "4.6.0",
      "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz",
      "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM="
    },
    "lodash.merge": {
      "version": "4.6.1",
      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz",
      "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ=="
    },
    "lodash.mergewith": {
      "version": "4.6.1",
      "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
      "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
      "dev": true
    },
    "lodash.pick": {
      "version": "4.4.0",
      "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
      "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM="
    },
    "lodash.reduce": {
      "version": "4.6.0",
      "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz",
      "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs="
    },
    "lodash.reject": {
      "version": "4.6.0",
      "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz",
      "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU="
    },
    "lodash.some": {
      "version": "4.6.0",
      "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz",
      "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0="
    },
    "lodash.tail": {
      "version": "4.1.1",
      "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz",


@@ 7076,6 6687,12 @@
      "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=",
      "dev": true
    },
    "long": {
      "version": "3.2.0",
      "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz",
      "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=",
      "dev": true
    },
    "loose-envify": {
      "version": "1.4.0",
      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",


@@ 7201,7 6818,7 @@
    },
    "meow": {
      "version": "3.7.0",
      "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
      "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
      "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
      "dev": true,
      "requires": {


@@ 7353,8 6970,7 @@
    "minimist": {
      "version": "1.2.0",
      "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
      "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
      "dev": true
      "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
    },
    "mississippi": {
      "version": "3.0.0",


@@ 7417,6 7033,7 @@
      "version": "0.5.1",
      "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
      "dev": true,
      "requires": {
        "minimist": "0.0.8"
      },


@@ 7424,7 7041,8 @@
        "minimist": {
          "version": "0.0.8",
          "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
          "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
          "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
          "dev": true
        }
      }
    },


@@ 7556,18 7174,9 @@
        "which": "1"
      },
      "dependencies": {
        "nopt": {
          "version": "3.0.6",
          "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
          "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
          "dev": true,
          "requires": {
            "abbrev": "1"
          }
        },
        "semver": {
          "version": "5.3.0",
          "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
          "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
          "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
          "dev": true
        }


@@ 7704,7 7313,7 @@
        },
        "strip-ansi": {
          "version": "3.0.1",
          "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
          "dev": true,
          "requires": {


@@ 7713,16 7322,20 @@
        },
        "supports-color": {
          "version": "2.0.0",
          "resolved": "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
          "dev": true
        }
      }
    },
    "normalize-css-color": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/normalize-css-color/-/normalize-css-color-1.0.2.tgz",
      "integrity": "sha1-Apkel8zOxmI/5XOvu/Deah8+n40="
    "nopt": {
      "version": "3.0.6",
      "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
      "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
      "dev": true,
      "requires": {
        "abbrev": "1"
      }
    },
    "normalize-package-data": {
      "version": "2.4.0",


@@ 7780,6 7393,7 @@
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
      "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
      "dev": true,
      "requires": {
        "boolbase": "~1.0.0"
      }


@@ 7941,132 7555,6 @@
        "mimic-fn": "^1.0.0"
      }
    },
    "opencollective": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/opencollective/-/opencollective-1.0.3.tgz",
      "integrity": "sha1-ruY3K8KBRFg2kMPKja7PwSDdDvE=",
      "dev": true,
      "requires": {
        "babel-polyfill": "6.23.0",
        "chalk": "1.1.3",
        "inquirer": "3.0.6",
        "minimist": "1.2.0",
        "node-fetch": "1.6.3",
        "opn": "4.0.2"
      },
      "dependencies": {
        "ansi-escapes": {
          "version": "1.4.0",
          "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
          "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
          "dev": true
        },
        "ansi-regex": {
          "version": "2.1.1",
          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
          "dev": true
        },
        "ansi-styles": {
          "version": "2.2.1",
          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
          "dev": true
        },
        "chalk": {
          "version": "1.1.3",
          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
          "dev": true,
          "requires": {
            "ansi-styles": "^2.2.1",
            "escape-string-regexp": "^1.0.2",
            "has-ansi": "^2.0.0",
            "strip-ansi": "^3.0.0",
            "supports-color": "^2.0.0"
          }
        },
        "chardet": {
          "version": "0.4.2",
          "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
          "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=",
          "dev": true
        },
        "external-editor": {
          "version": "2.2.0",
          "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
          "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
          "dev": true,
          "requires": {
            "chardet": "^0.4.0",
            "iconv-lite": "^0.4.17",
            "tmp": "^0.0.33"
          }
        },
        "inquirer": {
          "version": "3.0.6",
          "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz",
          "integrity": "sha1-4EqqnQW3o8ubD0B9BDdfBEcZA0c=",
          "dev": true,
          "requires": {
            "ansi-escapes": "^1.1.0",
            "chalk": "^1.0.0",
            "cli-cursor": "^2.1.0",
            "cli-width": "^2.0.0",
            "external-editor": "^2.0.1",
            "figures": "^2.0.0",
            "lodash": "^4.3.0",
            "mute-stream": "0.0.7",
            "run-async": "^2.2.0",
            "rx": "^4.1.0",
            "string-width": "^2.0.0",
            "strip-ansi": "^3.0.0",
            "through": "^2.3.6"
          }
        },
        "node-fetch": {
          "version": "1.6.3",
          "resolved": "http://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz",
          "integrity": "sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=",
          "dev": true,
          "requires": {
            "encoding": "^0.1.11",
            "is-stream": "^1.0.1"
          }
        },
        "opn": {
          "version": "4.0.2",
          "resolved": "http://registry.npmjs.org/opn/-/opn-4.0.2.tgz",
          "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=",
          "dev": true,
          "requires": {
            "object-assign": "^4.0.1",
            "pinkie-promise": "^2.0.0"
          }
        },
        "strip-ansi": {
          "version": "3.0.1",
          "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
          "dev": true,
          "requires": {
            "ansi-regex": "^2.0.0"
          }
        },
        "supports-color": {
          "version": "2.0.0",
          "resolved": "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
          "dev": true
        }
      }
    },
    "opener": {
      "version": "1.5.1",
      "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz",
      "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==",
      "dev": true
    },
    "opn": {
      "version": "5.4.0",
      "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz",


@@ 8107,7 7595,7 @@
    },
    "os-homedir": {
      "version": "1.0.2",
      "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
      "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
      "dev": true
    },


@@ 8179,17 7667,6 @@
        "os-tmpdir": "^1.0.0"
      }
    },
    "output-file-sync": {
      "version": "2.0.1",
      "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz",
      "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==",
      "dev": true,
      "requires": {
        "graceful-fs": "^4.1.11",
        "is-plain-obj": "^1.1.0",
        "mkdirp": "^0.5.1"
      }
    },
    "p-defer": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",


@@ 8324,6 7801,15 @@
        "trim": "0.0.1"
      }
    },
    "parse-json": {
      "version": "2.2.0",
      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
      "dev": true,
      "requires": {
        "error-ex": "^1.2.0"
      }
    },
    "parse-passwd": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",


@@ 8783,14 8269,6 @@
        "utila": "~0.4"
      }
    },
    "prismjs": {
      "version": "1.15.0",
      "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.15.0.tgz",
      "integrity": "sha512-Lf2JrFYx8FanHrjoV5oL8YHCclLQgbJcVZR+gikGGMqz6ub5QVWDTM6YIwm3BuPxM/LOV+rKns3LssXNLIf+DA==",
      "requires": {
        "clipboard": "^2.0.0"
      }
    },
    "private": {
      "version": "0.1.8",
      "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",


@@ 9003,19 8481,6 @@
        "scheduler": "^0.12.0"
      }
    },
    "react-art": {
      "version": "16.7.0",
      "resolved": "https://registry.npmjs.org/react-art/-/react-art-16.7.0.tgz",
      "integrity": "sha512-T6iyUFmqJegwgE1Kg4JQa7S/qf79RFxEXvbHeukiC1QgaETwKY7L2HO4D5gT9khowJmiNh0xN2b61ak7N4D6yQ==",
      "requires": {
        "art": "^0.10.1",
        "create-react-class": "^15.6.2",
        "loose-envify": "^1.1.0",
        "object-assign": "^4.1.1",
        "prop-types": "^15.6.2",
        "scheduler": "^0.12.0"
      }
    },
    "react-dom": {
      "version": "16.7.0",
      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.7.0.tgz",


@@ 9097,40 8562,6 @@
      "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
      "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
    },
    "react-native-web": {
      "version": "0.9.13",
      "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.9.13.tgz",
      "integrity": "sha512-P1nCvBVFrv3J5BXu39iS4A3fR7m0vtGaCAy4MigAtZpakIuara/98h516fDQajPqoVy2T4cQgYZUQAr+FBnppQ==",
      "requires": {
        "array-find-index": "^1.0.2",
        "create-react-class": "^15.6.2",
        "debounce": "^1.2.0",
        "deep-assign": "^3.0.0",
        "fbjs": "^1.0.0",
        "hyphenate-style-name": "^1.0.2",
        "inline-style-prefixer": "^5.0.3",
        "normalize-css-color": "^1.0.2",
        "prop-types": "^15.6.0",
        "react-timer-mixin": "^0.13.4"
      },
      "dependencies": {
        "fbjs": {
          "version": "1.0.0",
          "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz",
          "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==",
          "requires": {
            "core-js": "^2.4.1",
            "fbjs-css-vars": "^1.0.0",
            "isomorphic-fetch": "^2.1.1",
            "loose-envify": "^1.0.0",
            "object-assign": "^4.1.0",
            "promise": "^7.1.1",
            "setimmediate": "^1.0.5",
            "ua-parser-js": "^0.7.18"
          }
        }
      }
    },
    "react-number-format": {
      "version": "4.0.6",
      "resolved": "https://registry.npmjs.org/react-number-format/-/react-number-format-4.0.6.tgz",


@@ 9163,14 8594,6 @@
        }
      }
    },
    "react-router-bootstrap": {
      "version": "0.24.4",
      "resolved": "https://registry.npmjs.org/react-router-bootstrap/-/react-router-bootstrap-0.24.4.tgz",
      "integrity": "sha512-kEwk3ml4wvE3IbJvRVjx0zBBBxW4JLhD0wyy0hBdlWSdfjvgoHVvlxx9gBPxvEs5VwWlbFvNRyUghLZ2AMcmzg==",
      "requires": {
        "prop-types": "^15.5.10"
      }
    },
    "react-router-dom": {
      "version": "4.3.1",
      "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.3.1.tgz",


@@ 9194,20 8617,6 @@
        }
      }
    },
    "react-router-native": {
      "version": "4.3.0",
      "resolved": "https://registry.npmjs.org/react-router-native/-/react-router-native-4.3.0.tgz",
      "integrity": "sha512-G+djpkW0zMs7iNgL33uHTsNOmkhl0NxHYzGaG/C4G3dCNV4RPg20OLvTHHiZ20X9921sq98nPfTNAjCHNrGYjw==",
      "requires": {
        "prop-types": "^15.6.1",
        "react-router": "^4.3.0"
      }
    },
    "react-timer-mixin": {
      "version": "0.13.4",
      "resolved": "https://registry.npmjs.org/react-timer-mixin/-/react-timer-mixin-0.13.4.tgz",
      "integrity": "sha512-4+ow23tp/Tv7hBM5Az5/Be/eKKF7DIvJ09voz5LyHGQaqqz9WV8YMs31eFvcYQs7d451LSg7kDJV70XYN/Ug/Q=="
    },
    "react-transition-group": {
      "version": "2.5.2",
      "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.5.2.tgz",


@@ 9759,11 9168,36 @@
        "aproba": "^1.1.1"
      }
    },
    "rx": {
      "version": "4.1.0",
      "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
      "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=",
      "dev": true
    "rust-native-wasm-loader": {
      "version": "0.8.1",
      "resolved": "https://registry.npmjs.org/rust-native-wasm-loader/-/rust-native-wasm-loader-0.8.1.tgz",
      "integrity": "sha1-uh+xDHQLXzZL94H0KDs5SO+ygw8=",
      "requires": {
        "async-child-process": "^1.1.1",
        "fs-extra": "^5.0.0",
        "loader-utils": "^1.1.0",
        "semver": "^5.5.0"
      },
      "dependencies": {
        "fs-extra": {
          "version": "5.0.0",
          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz",
          "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==",
          "requires": {
            "graceful-fs": "^4.1.2",
            "jsonfile": "^4.0.0",
            "universalify": "^0.1.0"
          }
        },
        "jsonfile": {
          "version": "4.0.0",
          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
          "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
          "requires": {
            "graceful-fs": "^4.1.6"
          }
        }
      }
    },
    "rxjs": {
      "version": "6.3.3",


@@ 9777,7 9211,8 @@
    "safe-buffer": {
      "version": "5.1.2",
      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
      "dev": true
    },
    "safe-regex": {
      "version": "1.1.0",


@@ 9839,7 9274,7 @@
        },
        "os-locale": {
          "version": "1.4.0",
          "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
          "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
          "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
          "dev": true,
          "requires": {


@@ 9848,7 9283,7 @@
        },
        "string-width": {
          "version": "1.0.2",
          "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
          "dev": true,
          "requires": {


@@ 9859,7 9294,7 @@
        },
        "strip-ansi": {
          "version": "3.0.1",
          "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
          "dev": true,
          "requires": {


@@ 9976,6 9411,7 @@
      "version": "0.12.0",
      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.12.0.tgz",
      "integrity": "sha512-t7MBR28Akcp4Jm+QoR63XgAi9YgCUmgvDHqf5otgAj4QvdoBE4ImCX0ffehefePPG+aitiYHp0g/mW6s4Tp+dw==",
      "dev": true,
      "requires": {
        "loose-envify": "^1.1.0",
        "object-assign": "^4.1.1"


@@ 10004,7 9440,7 @@
      "dependencies": {
        "source-map": {
          "version": "0.4.4",
          "resolved": "http://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
          "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
          "dev": true,
          "requires": {


@@ 10019,12 9455,6 @@
      "integrity": "sha1-CbqfG9W0b7sTRxjrGaaDgsuxuck=",
      "dev": true
    },
    "select": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
      "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=",
      "optional": true
    },
    "select-hose": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",


@@ 10212,12 9642,6 @@
      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
      "dev": true
    },
    "slash": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
      "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
      "dev": true
    },
    "slice-ansi": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.0.0.tgz",


@@ 10665,6 10089,7 @@
      "version": "1.1.1",
      "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
      "dev": true,
      "requires": {
        "safe-buffer": "~5.1.0"
      }


@@ 10708,16 10133,6 @@
      "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
      "dev": true
    },
    "style-loader": {
      "version": "0.23.1",
      "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz",
      "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==",
      "dev": true,
      "requires": {
        "loader-utils": "^1.1.0",
        "schema-utils": "^1.0.0"
      }
    },
    "supports-color": {
      "version": "5.5.0",
      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",


@@ 10840,7 10255,7 @@
    },
    "tar": {
      "version": "2.2.1",
      "resolved": "http://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
      "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
      "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
      "dev": true,
      "requires": {


@@ 11009,12 10424,6 @@
        "setimmediate": "^1.0.4"
      }
    },
    "tiny-emitter": {
      "version": "2.0.2",
      "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz",
      "integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow==",
      "optional": true
    },
    "tiny-warning": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.2.tgz",


@@ 11143,12 10552,6 @@
        "glob": "^7.1.2"
      }
    },
    "tryer": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
      "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==",
      "dev": true
    },
    "tslib": {
      "version": "1.9.3",
      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",


@@ 11309,6 10712,11 @@
        "imurmurhash": "^0.1.4"
      }
    },
    "universalify": {
      "version": "0.1.2",
      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
    },
    "unpipe": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",


@@ 11452,7 10860,8 @@
    "util-deprecate": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
      "dev": true
    },
    "util.promisify": {
      "version": "1.0.0",


@@ 11548,6 10957,29 @@
        "loose-envify": "^1.0.0"
      }
    },
    "wasm-dce": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/wasm-dce/-/wasm-dce-1.0.2.tgz",
      "integrity": "sha512-Fq1+nu43ybsjSnBquLrW/cULmKs61qbv9k8ep13QUe0nABBezMoNAA+j6QY66MW0/eoDVDp1rjXDqQ2VKyS/Xg==",
      "dev": true,
      "requires": {
        "@babel/core": "^7.0.0-beta.39",
        "@babel/traverse": "^7.0.0-beta.39",
        "@babel/types": "^7.0.0-beta.39",
        "babylon": "^7.0.0-beta.39",
        "webassembly-interpreter": "0.0.30"
      }
    },
    "wasm-loader": {
      "version": "1.3.0",
      "resolved": "https://registry.npmjs.org/wasm-loader/-/wasm-loader-1.3.0.tgz",
      "integrity": "sha512-R4s75XH+o8qM+WaRrAU9S2rbAMDzob18/S3V8R9ZoFpZkPWLAohWWlzWAp1ybeTkOuuku/X1zJtxiV0pBYxZww==",
      "dev": true,
      "requires": {
        "loader-utils": "^1.1.0",
        "wasm-dce": "^1.0.0"
      }
    },
    "watchpack": {
      "version": "1.6.0",
      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",


@@ 11568,6 11000,23 @@
        "minimalistic-assert": "^1.0.0"
      }
    },
    "webassembly-floating-point-hex-parser": {
      "version": "0.1.2",
      "resolved": "https://registry.npmjs.org/webassembly-floating-point-hex-parser/-/webassembly-floating-point-hex-parser-0.1.2.tgz",
      "integrity": "sha512-TUf1H++8U10+stJbFydnvrpG5Sznz5Rilez/oZlV5zI0C/e4cSxd8rALAJ8VpTvjVWxLmL3SVSJUK6Ap9AoiNg==",
      "dev": true
    },
    "webassembly-interpreter": {
      "version": "0.0.30",
      "resolved": "https://registry.npmjs.org/webassembly-interpreter/-/webassembly-interpreter-0.0.30.tgz",
      "integrity": "sha512-+Jdy2piEvz9T5j751mOE8+rBO12p+nNW6Fg4kJZ+zP1oUfsm+151sbAbM8AFxWTURmWCGP+r8Lxwfv3pzN1bCQ==",
      "dev": true,
      "requires": {
        "@babel/code-frame": "^7.0.0-beta.36",
        "long": "^3.2.0",
        "webassembly-floating-point-hex-parser": "0.1.2"
      }
    },
    "webpack": {
      "version": "4.28.3",
      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.28.3.tgz",


@@ 11612,47 11061,10 @@
        }
      }
    },
    "webpack-bundle-analyzer": {
      "version": "3.0.3",
      "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.0.3.tgz",
      "integrity": "sha512-naLWiRfmtH4UJgtUktRTLw6FdoZJ2RvCR9ePbwM9aRMsS/KjFerkPZG9epEvXRAw5d5oPdrs9+3p+afNjxW8Xw==",
      "dev": true,
      "requires": {
        "acorn": "^5.7.3",
        "bfj": "^6.1.1",
        "chalk": "^2.4.1",
        "commander": "^2.18.0",
        "ejs": "^2.6.1",
        "express": "^4.16.3",
        "filesize": "^3.6.1",
        "gzip-size": "^5.0.0",
        "lodash": "^4.17.10",
        "mkdirp": "^0.5.1",
        "opener": "^1.5.1",
        "ws": "^6.0.0"
      },
      "dependencies": {
        "commander": {
          "version": "2.19.0",
          "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
          "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==",
          "dev": true
        },
        "ws": {
          "version": "6.1.3",
          "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.3.tgz",
          "integrity": "sha512-tbSxiT+qJI223AP4iLfQbkbxkwdFcneYinM2+x46Gx2wgvbaOMO36czfdfVUBRTHvzAMRhDd98sA5d/BuWbQdg==",
          "dev": true,
          "requires": {
            "async-limiter": "~1.0.0"
          }
        }
      }
    },
    "webpack-cli": {
      "version": "3.2.0",
      "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.2.0.tgz",
      "integrity": "sha512-wxnUqH0P5ErcwGIKMZbUqix2FjuUmhpS2N9ukZAuGmk9+3vOt7VY2ZM/90W9UZetf6lOJuBNcsbeGU7uCTLdSA==",
      "version": "3.2.3",
      "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.2.3.tgz",
      "integrity": "sha512-Ik3SjV6uJtWIAN5jp5ZuBMWEAaP5E4V78XJ2nI+paFPh8v4HPSwo/myN0r29Xc/6ZKnd2IdrAlpSgNOu2CDQ6Q==",
      "dev": true,
      "requires": {
        "chalk": "^2.4.1",


@@ 11660,31 11072,14 @@
        "enhanced-resolve": "^4.1.0",
        "findup-sync": "^2.0.0",
        "global-modules": "^1.0.0",
        "global-modules-path": "^2.3.0",
        "import-local": "^2.0.0",
        "interpret": "^1.1.0",
        "loader-utils": "^1.1.0",
        "opencollective": "^1.0.3",
        "supports-color": "^5.5.0",
        "v8-compile-cache": "^2.0.2",
        "yargs": "^12.0.4"
      },
      "dependencies": {
        "execa": {
          "version": "1.0.0",
          "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
          "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
          "dev": true,
          "requires": {
            "cross-spawn": "^6.0.0",
            "get-stream": "^4.0.0",
            "is-stream": "^1.1.0",
            "npm-run-path": "^2.0.0",
            "p-finally": "^1.0.0",
            "signal-exit": "^3.0.0",
            "strip-eof": "^1.0.0"
          }
        },
        "find-up": {
          "version": "3.0.0",
          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",


@@ 11694,40 11089,6 @@
            "locate-path": "^3.0.0"
          }
        },
        "get-stream": {
          "version": "4.1.0",
          "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
          "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
          "dev": true,
          "requires": {
            "pump": "^3.0.0"
          }
        },
        "import-local": {
          "version": "2.0.0",
          "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
          "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
          "dev": true,
          "requires": {
            "pkg-dir": "^3.0.0",
            "resolve-cwd": "^2.0.0"
          }
        },
        "invert-kv": {
          "version": "2.0.0",
          "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
          "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
          "dev": true
        },
        "lcid": {
          "version": "2.0.0",
          "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
          "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
          "dev": true,
          "requires": {
            "invert-kv": "^2.0.0"
          }
        },
        "locate-path": {
          "version": "3.0.0",
          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",


@@ 11738,28 11099,6 @@
            "path-exists": "^3.0.0"
          }
        },
        "mem": {
          "version": "4.0.0",
          "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz",
          "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==",
          "dev": true,
          "requires": {
            "map-age-cleaner": "^0.1.1",
            "mimic-fn": "^1.0.0",
            "p-is-promise": "^1.1.0"
          }
        },
        "os-locale": {
          "version": "3.1.0",
          "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
          "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
          "dev": true,
          "requires": {
            "execa": "^1.0.0",
            "lcid": "^2.0.0",
            "mem": "^4.0.0"
          }
        },
        "p-limit": {
          "version": "2.1.0",
          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz",


@@ 11784,15 11123,6 @@
          "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
          "dev": true
        },
        "pkg-dir": {
          "version": "3.0.0",
          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
          "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
          "dev": true,
          "requires": {
            "find-up": "^3.0.0"
          }
        },
        "yargs": {
          "version": "12.0.5",
          "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",

M package.json => package.json +11 -18
@@ 1,23 1,24 @@
{
  "name": "korean-wasm",
  "version": "1.0.0",
  "sideEffects": false,
  "description": "",
  "main": "frontend/bootstrap.js",
  "scripts": {
    "webpack": "webpack --config webpack.config.js",
    "dev": "npm run build-debug && npm run serve",
    "derve": "npm run webpack && webpack-dev-server --hot --colors --mode=development",
    "serve": "webpack-dev-server --hot --colors --mode=development",
    "webpack": "webpack --progress --config webpack.config.js",
    "build-debug": "cd native; cargo +nightly build --target wasm32-unknown-unknown && wasm-bindgen target/wasm32-unknown-unknown/debug/korean_wasm.wasm --out-dir ../frontend/wasm; cd ..",
    "build-release": "cd native; cargo +nightly build --release --target wasm32-unknown-unknown && wasm-bindgen target/wasm32-unknown-unknown/release/korean_wasm.wasm --out-dir ../frontend/wasm; cd ..",
    "debug": "npm run build-debug && npm run webpack && npm run serve",
    "release": "npm run build-release && npm run webpack && npm run serve",
    "serve": "webpack-dev-server --hot --colors --mode=development",
    "derve": "npm run webpack && webpack-dev-server --hot --colors --mode=development",
    "filler": "------------------------------------------------",
    "bundle-debug": "npm run build-debug && webpack --config webpack.config.js ",
    "bundle-release": "npm run build-release && webpack --config webpack.config.js --mode production ",
    "inline": "inline-assets dist/index.html dist/bundle.html"
    "bundle-release": "npm run build-release && webpack --config webpack.config.js --mode production "
  },
  "author": "Andrew Zah",
  "license": "Apache-2.0",
  "devDependencies": {
    "@babel/cli": "^7.2.3",
    "@babel/core": "^7.2.2",
    "@babel/plugin-syntax-dynamic-import": "^7.2.0",
    "@babel/preset-env": "^7.2.3",


@@ 30,20 31,17 @@
    "eslint-plugin-import": "^2.14.0",
    "eslint-plugin-jsx-a11y": "^6.1.2",
    "eslint-plugin-react": "^7.12.3",
    "extract-text-webpack-plugin": "^4.0.0-beta.0",
    "favicons-webpack-plugin": "0.0.9",
    "html-loader": "^0.5.5",
    "html-webpack-inline-source-plugin": "0.0.10",
    "html-webpack-plugin": "^3.2.0",
    "mini-css-extract-plugin": "^0.5.0",
    "node-sass": "^4.11.0",
    "react": "^16.7.0",
    "react-dom": "^16.7.0",
    "sass-loader": "^7.1.0",
    "style-loader": "^0.23.1",
    "wasm-loader": "^1.3.0",
    "webpack": "^4.28.3",
    "webpack-bundle-analyzer": "^3.0.3",
    "webpack-cli": "^3.2.0",
    "webpack-cli": "^3.2.3",
    "webpack-dev-server": "^3.1.14"
  },
  "dependencies": {


@@ 51,18 49,13 @@
    "@material-ui/lab": "^3.0.0-alpha.28",
    "final-form": "^4.11.0",
    "inline-assets": "^1.4.2",
    "jquery": "^3.3.1",
    "jss": "^9.8.7",
    "jss-preset-default": "^10.0.0-alpha.7",
    "notistack": "^0.4.1",
    "popper.js": "^1.14.6",
    "react-art": "^16.7.0",
    "react-final-form": "^4.0.2",
    "react-jss": "^8.6.1",
    "react-native-web": "^0.9.13",
    "react-number-format": "^4.0.6",
    "react-router-bootstrap": "^0.24.4",
    "react-router-dom": "^4.3.1",
    "react-router-native": "^4.3.0"
    "rust-native-wasm-loader": "^0.8.1"
  }
}

M webpack.config.js => webpack.config.js +10 -41
@@ 7,48 7,30 @@ const webpack = require('webpack');
const webpackConfig = {
  entry: "./frontend/bootstrap.js",
  output: {
    path: path.resolve(__dirname, "dist"),
    filename: "bundle.js",
    path: path.resolve(__dirname, "dist"),
  },
  optimization: {
    nodeEnv: 'production',
    minimize: true,
  },
  mode: "production",
  module: {
    rules: [
    ]
  },
  mode: 'development',
  module: { rules: [] },
  plugins: [
    new HtmlWebPackPlugin({
      template: "./frontend/index.html"
      template: "./frontend/index.html",
    }),
    new MiniCssExtractPlugin(),
    new FaviconsWebpackPlugin('./frontend/favicon.png')
  ],
  resolve: {
    alias: {
      'react-native$': 'react-native-web'
    }
  }
  ]
};

const babelConfig = {
  test: /\.(js|jsx)$/,
  exclude: /node_modules/,
  use: ['babel-loader']
  loader: 'babel-loader',
  options: {
    compact: true
  }
}
webpackConfig.module.rules.push(babelConfig);

const cssConfig = {
  test: /\.css$/,
  use: [
    MiniCssExtractPlugin.loader,
    'css-loader'
  ]
}
webpackConfig.module.rules.push(cssConfig);

const scssConfig = {
  test: /\.scss$/,
  use: [


@@ 56,20 38,7 @@ const scssConfig = {
    "css-loader",
    "sass-loader"
  ]
}
};
webpackConfig.module.rules.push(scssConfig);

const htmlConfig = {
  test: /\.html$/,
  use: [ { loader: "html-loader" } ]
}
webpackConfig.module.rules.push(htmlConfig);

module.exports = webpackConfig;

require.extensions['.scss'] = () => {
  return;
};
require.extensions['.css'] = () => {
  return;
};