<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[49527] branches/5.2: Build/Test Tools: Backport the local Docker environment to the 5.2 branch.</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { white-space: pre-line; overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="https://core.trac.wordpress.org/changeset/49527">49527</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"https://core.trac.wordpress.org/changeset/49527","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>desrosj</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2020-11-06 17:17:17 +0000 (Fri, 06 Nov 2020)</dd>
</dl>

<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>Build/Test Tools: Backport the local Docker environment to the 5.2 branch.

This commit introduces the Docker-based local WordPress development environment to the 5.2 branch and converts the Travis test jobs to utilize this environment for easier and more consistent testing.

Merges [45745,45762,45783-45784,45800,45819,45885,46320,46999,47225,47912,48121,49335,49358,49360,49362] to the 5.2 branch.
See <a href="https://core.trac.wordpress.org/ticket/48301">#48301</a>, <a href="https://core.trac.wordpress.org/ticket/47767">#47767</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#branches52travisyml">branches/5.2/.travis.yml</a></li>
<li><a href="#branches52packagelockjson">branches/5.2/package-lock.json</a></li>
<li><a href="#branches52packagejson">branches/5.2/package.json</a></li>
<li><a href="#branches52testsphpunitincludesobjectcachephp">branches/5.2/tests/phpunit/includes/object-cache.php</a></li>
<li><a href="#branches52testsphpunittestsajaxCustomizeMenusphp">branches/5.2/tests/phpunit/tests/ajax/CustomizeMenus.php</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#branches52env">branches/5.2/.env</a></li>
<li><a href="#branches52dockercomposeyml">branches/5.2/docker-compose.yml</a></li>
<li>branches/5.2/tools/local-env/</li>
<li><a href="#branches52toolslocalenvdefaulttemplate">branches/5.2/tools/local-env/default.template</a></li>
<li><a href="#branches52toolslocalenvmysqlinitsql">branches/5.2/tools/local-env/mysql-init.sql</a></li>
<li><a href="#branches52toolslocalenvphpconfigini">branches/5.2/tools/local-env/php-config.ini</a></li>
<li><a href="#branches52toolslocalenvphpunitconfigini">branches/5.2/tools/local-env/phpunit-config.ini</a></li>
<li>branches/5.2/tools/local-env/scripts/</li>
<li><a href="#branches52toolslocalenvscriptsdockerjs">branches/5.2/tools/local-env/scripts/docker.js</a></li>
<li><a href="#branches52toolslocalenvscriptsinstalljs">branches/5.2/tools/local-env/scripts/install.js</a></li>
<li><a href="#branches52toolslocalenvscriptsstartjs">branches/5.2/tools/local-env/scripts/start.js</a></li>
</ul>

<h3>Property Changed</h3>
<ul>
<li><a href="#branches52">branches/5.2/</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<span class="cx" style="display: block; padding: 0 10px">Index: branches/5.2
</span><span class="cx" style="display: block; padding: 0 10px">===================================================================
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">--- branches/5.2 2020-11-06 17:05:59 UTC (rev 49526)
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+++ branches/5.2  2020-11-06 17:17:17 UTC (rev 49527)
</ins><a id="branches52"></a>
<div class="propset"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Property changes: branches/5.2</h4>
<pre class="diff"><span>
</span></pre></div>
<a id="svnmergeinfo"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: svn:mergeinfo</h4></div>
<span class="cx" style="display: block; padding: 0 10px"> /branches/4.9:43557,43622
</span><span class="cx" style="display: block; padding: 0 10px"> /branches/5.0:43681-43682,43684-43688,43719-43720,43723,43726-43727,43729-43731,43734-43744,43747,43751-43754,43758,43760-43765,43767-43770,43772,43774-43781,43783,43785,43790-43806,43808-43821,43825,43828,43830-43834,43836-43843,43846-43863,43867-43889,43891-43894,43897-43905,43908-43909,43911-43929,43931-43942,43946-43947,43949-43956,43959-43964,43967-43969,43988,43994,44014,44017,44047,44183,44185,44187-44206,44208-44213,44231-44232,44235,44248,44284,44287-44288
</span><span class="cx" style="display: block; padding: 0 10px"> /branches/5.5:49373-49379,49381
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-/trunk:45284-45285,45287,45289,45292,45296,45298,45300-45301,45308-45311,45316,45319,45322,45324,45326,45328,45331,45334,45336,45338,45340,45342,45344-45346,45348,45350,45352,45357,45365,45367,45376,45403,45411,45416,45425,45463,45481,45488,45495,45501-45503,45506-45507,45515,45520,45522,45526-45527,45529,45551,45563-45564,45569,45572,45576,45618-45619,45626,45655-45656,45673,45684,45701,45722,45725,45727,45750,45761,45764,45861,45863,45867,45869,45935-45936,45971,45979,45990,45997,46019,46073,46472,46474-46476,46478,46483,46485,46893-46896,47313,47318,47341,47633-47638,47790,47887,47889,47948-47951,47984,48241,48338,48341,49306,49380,49382-49388,49452
</del><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+/trunk:45284-45285,45287,45289,45292,45296,45298,45300-45301,45308-45311,45316,45319,45322,45324,45326,45328,45331,45334,45336,45338,45340,45342,45344-45346,45348,45350,45352,45357,45365,45367,45376,45403,45411,45416,45425,45463,45481,45488,45495,45501-45503,45506-45507,45515,45520,45522,45526-45527,45529,45551,45563-45564,45569,45572,45576,45618-45619,45626,45655-45656,45673,45684,45701,45722,45725,45727,45745,45750,45761-45762,45764,45783-45784,45800,45819,45861,45863,45867,45869,45885,45935-45936,45971,45979,45990,45997,46019,46073,46320,46472,46474-46476,46478,46483,46485,46893-46896,46999,47225,47313,47318,47341,47633-47638,47790,47887,47889,47912,47948-47951,47984,48121,48241,48338,48341,49306,49335,49358,49360,49362,49380,49382-49388,49452
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="branches52env"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: branches/5.2/.env</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/5.2/.env                         (rev 0)
+++ branches/5.2/.env   2020-11-06 17:17:17 UTC (rev 49527)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,59 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+##
+# Default configuration options for the local dev environment.
+#
+# All of these options can be overridden by setting them as environment variables before starting
+# the environment. You will need to restart your environment when changing any of these.
+#
+# Below, the following substitutions can be made:
+# - '{version}': any major.minor PHP version from 5.2 onwards.
+# - '{phpunit_version}': any major PHPUnit version starting with 4.
+##
+
+# The site will be available at http://localhost:LOCAL_PORT
+LOCAL_PORT=8889
+
+# Where to run WordPress from. Valid options are 'src' and 'build'.
+LOCAL_DIR=src
+
+# The PHP version to use. Valid options are 'latest', and '{version}-fpm'.
+LOCAL_PHP=7.3-fpm
+
+##
+# The PHPUnit version to use when running tests.
+#
+# Support for new PHPUnit versions is not backported to past versions, so some old WordPress branches require an older
+# version to run tests.
+#
+# Valid versions are:
+# - 'latest' for the highest version of PHPUnit supported on the highest version of PHP supported.
+# - '{version}-fpm' for the highest version of PHPUnit supported on the specified version of PHP.
+# - '{phpunit_version}-php-{version}-fpm' for a specific version of PHPUnit on the specified version of PHP. This format
+# is only available for PHP versions 5.6 and higher.
+#
+# For the full list of available options, see https://hub.docker.com/r/wordpressdevelop/phpunit/tags.
+#
+# For full documentation on PHPUnit compatibility and WordPress versions, see
+# https://make.wordpress.org/core/handbook/references/phpunit-compatibility-and-wordpress-versions/.
+#
+# This defaults to the value assigned to the value of LOCAL_PHP.
+##
+LOCAL_PHPUNIT=${LOCAL_PHP}
+
+# Whether or not to enable XDebug.
+LOCAL_PHP_XDEBUG=false
+
+# Whether or not to enable Memcached.
+LOCAL_PHP_MEMCACHED=false
+
+# The MySQL version to use. See https://hub.docker.com/_/mysql/ for valid versions.
+LOCAL_MYSQL=5.7
+
+# The debug settings to add to `wp-config.php`.
+LOCAL_WP_DEBUG=true
+LOCAL_WP_DEBUG_LOG=true
+LOCAL_WP_DEBUG_DISPLAY=true
+LOCAL_SCRIPT_DEBUG=true
+LOCAL_WP_ENVIRONMENT_TYPE=local
+
+# The URL to use when running e2e tests.
+WP_BASE_URL=http://localhost:${LOCAL_PORT}
</ins></span></pre></div>
<a id="branches52travisyml"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/5.2/.travis.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/5.2/.travis.yml  2020-11-06 17:05:59 UTC (rev 49526)
+++ branches/5.2/.travis.yml    2020-11-06 17:17:17 UTC (rev 49527)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1,115 +1,119 @@
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-sudo: false
-dist: trusty
-language: php
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+language: generic
+
+services:
+  - docker
+
+addons:
+  apt:
+    packages:
+      - docker-ce
+
</ins><span class="cx" style="display: block; padding: 0 10px"> cache:
</span><span class="cx" style="display: block; padding: 0 10px">   apt: true
</span><span class="cx" style="display: block; padding: 0 10px">   directories:
</span><span class="cx" style="display: block; padding: 0 10px">     - $HOME/.npm
</span><span class="cx" style="display: block; padding: 0 10px">     - vendor
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-    - $HOME/.composer/cache
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> env:
</span><span class="cx" style="display: block; padding: 0 10px">   global:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-    - WP_TRAVISCI=travis:phpunit
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+    - LOCAL_DIR: build
+    - COMPOSER_INSTALL: false
+    - NPM_INSTALL: true
+    - WP_INSTALL: true
+    - PHP_FPM_UID: "`id -u`"
+    - PHP_FPM_GID: "`id -g`"
+
</ins><span class="cx" style="display: block; padding: 0 10px"> matrix:
</span><span class="cx" style="display: block; padding: 0 10px">   include:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  - php: 7.2
-    env: WP_TRAVISCI=travis:format
-  - php: 7.1
-    env: WP_TRAVISCI=travis:js
-  - php: 7.3
-    env: WP_TRAVIS_OBJECT_CACHE=true
-    services: memcached
-  - php: 7.0
-    env: WP_TEST_REPORTER=true
-  - php: 5.6
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+    - env: WP_TRAVISCI=travis:format LOCAL_PHP=7.2-fpm LOCAL_PHPUNIT=7.2-fpm COMPOSER_INSTALL=true WP_INSTALL=false
+      name: "PHP Linting"
+    - env: WP_TRAVISCI=travis:js LOCAL_PHP=7.1-fpm WP_INSTALL=false
+      name: "JS Tests"
+    - env: LOCAL_PHP_MEMCACHED=true LOCAL_PHPUNIT=7.3-fpm WP_TRAVISCI=test:php
+      name: "PHPUnit Tests: PHP 7.3 with Memcached"
+    - env: LOCAL_PHP=7.0-fpm LOCAL_PHPUNIT=7.0-fpm WP_TEST_REPORTER=true WP_TRAVISCI=test:php
+      name: "PHPUnit Tests: PHP 7.0"
+    - env: LOCAL_PHP=5.6-fpm LOCAL_PHPUNIT=5.6-fpm WP_TRAVISCI=test:php
+      name: "PHPUnit Tests: PHP 5.6"
</ins><span class="cx" style="display: block; padding: 0 10px">   fast_finish: true
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> before_install:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-- |
-  if [[ "$WP_TRAVISCI" == "travis:phpunit" ]]; then
-      mysql -u root -e "CREATE DATABASE wordpress_tests;"
-      cp wp-tests-config-sample.php wp-tests-config.php
-      sed -i "s/youremptytestdbnamehere/wordpress_tests/" wp-tests-config.php
-      sed -i "s/yourusernamehere/root/" wp-tests-config.php
-      sed -i "s/yourpasswordhere//" wp-tests-config.php
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  - |
+    if [[ "$WP_TRAVISCI" == "test:php" ]]; then
</ins><span class="cx" style="display: block; padding: 0 10px">       travis_retry svn checkout https://plugins.svn.wordpress.org/wordpress-importer/tags/0.6.3/ tests/phpunit/data/plugins/wordpress-importer
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  fi
-- |
-  if [[ "$WP_TRAVIS_OBJECT_CACHE" == "true" ]]; then
-    cp tests/phpunit/includes/object-cache.php src/wp-content/object-cache.php
-    echo "extension = memcached.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
-  fi
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+    fi
+  - |
+    sudo rm /usr/local/bin/docker-compose
+    curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > docker-compose
+    chmod +x docker-compose
+    sudo mv docker-compose /usr/local/bin
+
</ins><span class="cx" style="display: block; padding: 0 10px"> before_script:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-- |
-  # Remove Xdebug for a huge performance increase:
-  if [ -f ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini ]; then
-    phpenv config-rm xdebug.ini
-  else
-    echo "xdebug.ini does not exist"
-  fi
-- |
-  # Export Composer's global bin dir to PATH, but not on PHP 5.2:
-  composer config --list --global
-  export PATH=`composer config --list --global | grep '\[home\]' | { read a; echo "${a#* }/vendor/bin:$PATH"; }`
-- |
-  # Install the specified version of PHPUnit depending on the PHP version:
-  if [[ "$WP_TRAVISCI" == "travis:phpunit" ]]; then
-    case "$TRAVIS_PHP_VERSION" in
-      7.3|7.2|7.1)
-        echo "Using PHPUnit 7.x"
-        travis_retry composer global require "phpunit/phpunit:^7"
-        ;;
-      7.0)
-        echo "Using PHPUnit 6.x"
-        travis_retry composer global require "phpunit/phpunit:^6"
-        ;;
-      5.6)
-        echo "Using PHPUnit 4.x"
-        travis_retry composer global require "phpunit/phpunit:^4"
-        ;;
-      *)
-        echo "No PHPUnit version handling for PHP version $TRAVIS_PHP_VERSION"
-        exit 1
-        ;;
-    esac
-  fi
-- |
-  # We only need to run composer install on the code formatting job.
-  if [[ "$WP_TRAVISCI" == "travis:format" ]]; then
-    composer --version
-    travis_retry composer install
-  fi
-- npm --version
-- node --version
-- nvm install 10.13.0
-- npm install -g grunt-cli
-- npm install
-- npm prune
-- mysql --version
-- phpenv versions
-- php --version
-- php -m
-- npm --version
-- node --version
-- |
-  # Display PHPUnit information (for PHP tests only).
-  if [[ "$WP_TRAVISCI" == "travis:phpunit" ]]; then
-    which phpunit
-    phpunit --version
-  fi
-- curl --version
-- grunt --version
-- git --version
-- svn --version
-- locale -a
-script: grunt $WP_TRAVISCI
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  - |
+    if [[ "$COMPOSER_INSTALL" == "true" ]]; then
+      docker-compose run --rm php composer --version
+      docker-compose run --rm php composer install
+    fi
+  - npm --version
+  - node --version
+  - nvm install 10.13.0
+  - |
+    if [[ "$NPM_INSTALL" == "true" ]]; then
+      npm install
+    fi
+  - |
+    if [[ "$WP_TRAVISCI" == "test:php" ]]; then
+      npm run env:start
+      npm run build
+      docker-compose run --rm mysql mysql --version
+      docker-compose run --rm php php --version
+      docker-compose run --rm php php -m
+      docker-compose run --rm phpunit phpunit --version
+    fi
+  - |
+    if [[ "$LOCAL_PHP_MEMCACHED" == "true" ]]; then
+      cp tests/phpunit/includes/object-cache.php build/wp-content/object-cache.php
+      # The memcached server needs to start after `npm run env:start`, which sets up the Docker network.
+      docker run --name memcached --net $(basename "$PWD")_wpdevnet -d memcached
+    fi
+  - |
+    if [[ "$WP_INSTALL" == "true" ]]; then
+      # Run the install process after memcached has started.
+      npm run env:install
+    fi
+  - npm --version
+  - node --version
+  - curl --version
+  - git --version
+  - svn --version
+  - php --version
+  - php -i
+  - locale -a
+
+script:
+  - |
+    if [[ "$WP_TRAVISCI" == "test:php" ]]; then
+      npm run test:php -- --verbose -c phpunit.xml.dist &&
+      npm run test:php -- --verbose -c phpunit.xml.dist --group ajax &&
+      npm run test:php -- --verbose -c tests/phpunit/multisite.xml &&
+      npm run test:php -- --verbose -c tests/phpunit/multisite.xml --group ms-files &&
+      npm run test:php -- --verbose -c phpunit.xml.dist --group external-http &&
+      npm run test:php -- --verbose -c phpunit.xml.dist --group restapi-jsclient &&
+      # __fakegroup__ is excluded to force PHPUnit to ignore the <exclude> settings in phpunit.xml.dist.
+      LOCAL_PHP_XDEBUG=true npm run test:php -- -v --group xdebug --exclude-group __fakegroup__
+    elif [[ "$WP_TRAVISCI" == "travis:format" ]]; then
+      docker-compose run --rm php composer format
+    else
+      npm run grunt $WP_TRAVISCI
+    fi
+
</ins><span class="cx" style="display: block; padding: 0 10px"> after_script:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-- |
-  if [[ "$WP_TEST_REPORTER" == "true" ]]; then
-    git clone https://github.com/WordPress/phpunit-test-runner.git test-runner
-    export WPT_PREPARE_DIR=$(pwd)
-    export WPT_TEST_DIR=$(pwd)
-    php test-runner/report.php
-  fi
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  - |
+    if [[ "$WP_TEST_REPORTER" == "true" ]]; then
+      git clone https://github.com/WordPress/phpunit-test-runner.git test-runner
+      docker-compose run --rm -e WPT_PREPARE_DIR=/var/www -e WPT_TEST_DIR=/var/www php php test-runner/report.php
+    fi
+
</ins><span class="cx" style="display: block; padding: 0 10px"> notifications:
</span><span class="cx" style="display: block; padding: 0 10px">   slack:
</span><span class="cx" style="display: block; padding: 0 10px">     rooms:
</span></span></pre></div>
<a id="branches52dockercomposeyml"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: branches/5.2/docker-compose.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/5.2/docker-compose.yml                           (rev 0)
+++ branches/5.2/docker-compose.yml     2020-11-06 17:17:17 UTC (rev 49527)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,134 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+version: '3.7'
+
+services:
+
+  ##
+  # The web server container.
+  ##
+  wordpress-develop:
+    image: nginx:alpine
+
+    networks:
+      - wpdevnet
+
+    ports:
+      - ${LOCAL_PORT-8889}:80
+
+    environment:
+      LOCAL_DIR: ${LOCAL_DIR-src}
+
+    volumes:
+      - ./tools/local-env/default.template:/etc/nginx/conf.d/default.template
+      - ./:/var/www
+
+    # Load our config file, substituting environment variables into the config.
+    command: /bin/sh -c "envsubst '$$LOCAL_DIR' < /etc/nginx/conf.d/default.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'"
+
+    depends_on:
+      - php
+
+  ##
+  # The PHP container.
+  ##
+  php:
+    image: wordpressdevelop/php:${LOCAL_PHP-7.3-fpm}
+
+    networks:
+      - wpdevnet
+
+    environment:
+      LOCAL_PHP_XDEBUG: ${LOCAL_PHP_XDEBUG-false}
+      LOCAL_PHP_MEMCACHED: ${LOCAL_PHP_MEMCACHED-false}
+      PHP_FPM_UID: ${PHP_FPM_UID-1000}
+      PHP_FPM_GID: ${PHP_FPM_GID-1000}
+
+    volumes:
+      - ./tools/local-env/php-config.ini:/usr/local/etc/php/conf.d/php-config.ini
+      - ./:/var/www
+
+    depends_on:
+      - mysql
+
+  ##
+  # The MySQL container.
+  ##
+  mysql:
+    image: mysql:${LOCAL_MYSQL-5.7}
+
+    networks:
+      - wpdevnet
+
+    ports:
+      - "3306"
+
+    environment:
+      MYSQL_ROOT_PASSWORD: password
+
+    volumes:
+      - ./tools/local-env/mysql-init.sql:/docker-entrypoint-initdb.d/mysql-init.sql
+      - mysql:/var/lib/mysql
+
+    # For compatibility with PHP versions that don't support the caching_sha2_password auth plugin used in MySQL 8.0.
+    command: --default-authentication-plugin=mysql_native_password
+
+  ##
+  # The WP CLI container.
+  ##
+  cli:
+    image: wordpressdevelop/cli:${LOCAL_PHP-7.3-fpm}
+
+    networks:
+      - wpdevnet
+
+    environment:
+      LOCAL_PHP_XDEBUG: ${LOCAL_PHP_XDEBUG-false}
+      LOCAL_PHP_MEMCACHED: ${LOCAL_PHP_MEMCACHED-false}
+      PHP_FPM_UID: ${PHP_FPM_UID-1000}
+      PHP_FPM_GID: ${PHP_FPM_GID-1000}
+
+    volumes:
+      - ./:/var/www
+
+    # The init directive ensures the command runs with a PID > 1, so Ctrl+C works correctly.
+    init: true
+
+  ##
+  # The PHPUnit container.
+  ##
+  phpunit:
+    image: wordpressdevelop/phpunit:${LOCAL_PHPUNIT-7.3-fpm}
+
+    networks:
+      - wpdevnet
+
+    environment:
+      LOCAL_PHP_XDEBUG: ${LOCAL_PHP_XDEBUG-false}
+      LOCAL_PHP_MEMCACHED: ${LOCAL_PHP_MEMCACHED-false}
+      LOCAL_DIR: ${LOCAL_DIR-src}
+      WP_MULTISITE: ${WP_MULTISITE-false}
+      PHP_FPM_UID: ${PHP_FPM_UID-1000}
+      PHP_FPM_GID: ${PHP_FPM_GID-1000}
+      TRAVIS_BRANCH: ${TRAVIS_BRANCH-false}
+      TRAVIS_PULL_REQUEST: ${TRAVIS_PULL_REQUEST-false}
+
+    volumes:
+      - ./tools/local-env/phpunit-config.ini:/usr/local/etc/php/conf.d/phpunit-config.ini
+      - ./:/var/www
+      - phpunit-uploads:/var/www/${LOCAL_DIR-src}/wp-content/uploads
+
+    # The init directive ensures the command runs with a PID > 1, so Ctrl+C works correctly.
+    init: true
+
+    depends_on:
+      - mysql
+
+volumes:
+  # So that sites aren't wiped every time containers are restarted, MySQL uses a persistent volume.
+  mysql: {}
+  # Using a volume for the uploads directory improves PHPUnit performance.
+  phpunit-uploads: {}
+
+networks:
+  # Creating our own network allows us to connect between containers using their service name.
+  wpdevnet:
+    driver: bridge
</ins></span></pre></div>
<a id="branches52packagelockjson"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/5.2/package-lock.json</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/5.2/package-lock.json    2020-11-06 17:05:59 UTC (rev 49526)
+++ branches/5.2/package-lock.json      2020-11-06 17:17:17 UTC (rev 49527)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -26,6 +26,45 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/@financial-times/useragent_parser/-/useragent_parser-1.0.2.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-zuJMxn5Qnk7CKl+zrVXDqXs0F+p4tshO6B4s8VenJj34EEVuV4iZIbkGiEFJUbn29z9Mcn6k8yfj9qSCNDcPPQ=="
</span><span class="cx" style="display: block; padding: 0 10px">                },
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                "@hapi/address": {
+                       "version": "2.1.4",
+                       "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
+                       "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==",
+                       "dev": true
+               },
+               "@hapi/bourne": {
+                       "version": "1.3.2",
+                       "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz",
+                       "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==",
+                       "dev": true
+               },
+               "@hapi/hoek": {
+                       "version": "8.5.1",
+                       "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz",
+                       "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==",
+                       "dev": true
+               },
+               "@hapi/joi": {
+                       "version": "15.1.1",
+                       "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz",
+                       "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==",
+                       "dev": true,
+                       "requires": {
+                               "@hapi/address": "2.x.x",
+                               "@hapi/bourne": "1.x.x",
+                               "@hapi/hoek": "8.x.x",
+                               "@hapi/topo": "3.x.x"
+                       }
+               },
+               "@hapi/topo": {
+                       "version": "3.1.6",
+                       "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz",
+                       "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==",
+                       "dev": true,
+                       "requires": {
+                               "@hapi/hoek": "^8.3.0"
+                       }
+               },
</ins><span class="cx" style="display: block; padding: 0 10px">                 "@tannin/compile": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.3",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/@tannin/compile/-/compile-1.0.3.tgz",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -988,7 +1027,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "ansi-wrap": "0.1.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1013,8 +1051,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.1.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "anymatch": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "2.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1349,7 +1386,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "file-type": "^3.1.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        },
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1358,8 +1394,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "3.9.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "http://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 }
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="cx" style="display: block; padding: 0 10px">                },
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1387,7 +1422,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "arr-flatten": "^1.0.1"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1408,8 +1442,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "array-find-index": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.2",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1442,8 +1475,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.2.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "array.of": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.1.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2214,8 +2246,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.1.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "big.js": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.2.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2327,7 +2358,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "readable-stream": "^2.3.5",
</span><span class="cx" style="display: block; padding: 0 10px">                                "safe-buffer": "^5.1.1"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2453,7 +2483,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "expand-range": "^1.8.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                "preserve": "^0.2.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2577,7 +2606,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "buffer-alloc-unsafe": "^1.1.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "buffer-fill": "^1.0.0"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2587,22 +2615,19 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.1.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "buffer-crc32": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.2.13",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "buffer-fill": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "buffer-from": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.1.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2621,7 +2646,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "file-type": "^3.1.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "readable-stream": "^2.0.2",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2633,15 +2657,13 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "3.9.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "http://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "uuid": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "2.0.3",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "http://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 }
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="cx" style="display: block; padding: 0 10px">                },
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2830,8 +2852,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "caseless": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.12.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2853,7 +2874,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "get-proxy": "^1.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-obj": "^1.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2865,8 +2885,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "3.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 }
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="cx" style="display: block; padding: 0 10px">                },
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3281,22 +3300,19 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.4",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "clone-stats": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "co": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.1.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "coa": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.4",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3368,8 +3384,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.1.3",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "colors": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.6.2",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3391,7 +3406,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "graceful-readlink": ">= 1.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3876,7 +3890,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "capture-stack-trace": "^1.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4207,7 +4220,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "buffer-to-vinyl": "^1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "concat-stream": "^1.4.6",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4225,7 +4237,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-tar": "^1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "object-assign": "^2.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4239,15 +4250,13 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "0.2.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "object-assign": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "2.1.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "vinyl": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "0.4.6",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4254,7 +4263,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "clone": "^0.2.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "clone-stats": "^0.0.1"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4267,7 +4275,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-bzip2": "^1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "object-assign": "^2.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4282,15 +4289,13 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "0.2.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "object-assign": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "2.1.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "vinyl": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "0.4.6",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4297,7 +4302,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "clone": "^0.2.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "clone-stats": "^0.0.1"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4310,7 +4314,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-gzip": "^1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "object-assign": "^2.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4324,15 +4327,13 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "0.2.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "object-assign": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "2.1.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "vinyl": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "0.4.6",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4339,7 +4340,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "clone": "^0.2.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "clone-stats": "^0.0.1"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4352,7 +4352,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-zip": "^1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "read-all-stream": "^3.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4368,7 +4367,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "core-util-is": "~1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "inherits": "~2.0.3",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4384,7 +4382,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "safe-buffer": "~5.1.0"
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4394,7 +4391,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "readable-stream": "~2.3.6",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "xtend": "~4.0.1"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4412,8 +4408,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.6.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "deep-for-each": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "2.0.3",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4780,12 +4775,23 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-obj": "^1.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="cx" style="display: block; padding: 0 10px">                },
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                "dotenv": {
+                       "version": "8.2.0",
+                       "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
+                       "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==",
+                       "dev": true
+               },
+               "dotenv-expand": {
+                       "version": "5.1.0",
+                       "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
+                       "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==",
+                       "dev": true
+               },
</ins><span class="cx" style="display: block; padding: 0 10px">                 "download": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "4.4.3",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/download/-/download-4.4.3.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-qlX9rTktldS2jowr4D4MKqIbqaw=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "caw": "^1.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                "concat-stream": "^1.4.7",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4815,7 +4821,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "readable-stream": "^2.0.2"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4837,7 +4842,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "onetime": "^1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "set-immediate-shim": "^1.0.0"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5205,7 +5209,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-posix-bracket": "^0.1.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5215,7 +5218,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "fill-range": "^2.1.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5291,8 +5293,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "extend-shallow": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "2.0.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5330,7 +5331,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-extglob": "^1.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        },
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5339,8 +5339,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 }
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="cx" style="display: block; padding: 0 10px">                },
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5387,7 +5386,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "ansi-gray": "^0.1.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                "color-support": "^1.1.3",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5447,7 +5445,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "pend": "~1.2.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5484,15 +5481,13 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "2.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "filename-reserved-regex": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "filenamify": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.2.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5499,7 +5494,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "filename-reserved-regex": "^1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "strip-outer": "^1.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5511,7 +5505,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-number": "^2.1.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "isobject": "^2.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5615,8 +5608,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "fizzy-ui-utils": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5668,7 +5660,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "for-in": "^1.0.1"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5742,8 +5733,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "fs-extra": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5793,8 +5783,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                "ansi-regex": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "2.1.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "aproba": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.2.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5815,14 +5804,12 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                "balanced-match": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "brace-expansion": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.1.11",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "balanced-match": "^1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "concat-map": "0.0.1"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5837,20 +5824,17 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                "code-point-at": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.1.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "concat-map": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "0.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "console-control-strings": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.1.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "core-util-is": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.0.2",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5967,8 +5951,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                "inherits": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "2.0.3",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "ini": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.3.5",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5980,7 +5963,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "number-is-nan": "^1.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5995,7 +5977,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "3.0.4",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "brace-expansion": "^1.1.7"
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6003,14 +5984,12 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                "minimist": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "0.0.8",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "minipass": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "2.3.5",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "safe-buffer": "^5.1.2",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "yallist": "^3.0.0"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6029,7 +6008,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "0.5.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "minimist": "0.0.8"
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6110,8 +6088,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                "number-is-nan": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "object-assign": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "4.1.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6123,7 +6100,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.4.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "wrappy": "1"
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6209,8 +6185,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                "safe-buffer": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "5.1.2",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "safer-buffer": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "2.1.2",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6246,7 +6221,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.0.2",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "code-point-at": "^1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "is-fullwidth-code-point": "^1.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6266,7 +6240,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "3.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "ansi-regex": "^2.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6310,14 +6283,12 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                "wrappy": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.0.2",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "yallist": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "3.0.3",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "bundled": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 }
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="cx" style="display: block; padding: 0 10px">                },
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6391,7 +6362,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "rc": "^1.1.2"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6476,7 +6446,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "glob-parent": "^2.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-glob": "^2.0.0"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6487,7 +6456,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "is-glob": "^2.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6496,8 +6464,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-glob": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "2.0.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6504,7 +6471,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "is-extglob": "^1.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6526,7 +6492,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "extend": "^3.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "glob": "^5.0.3",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6543,7 +6508,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "inflight": "^1.0.4",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "inherits": "2",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6688,7 +6652,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "sparkles": "^1.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6706,7 +6669,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "create-error-class": "^3.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                "duplexer2": "^0.1.4",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6734,8 +6696,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "grunt": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.3",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7384,7 +7345,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "archive-type": "^3.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "decompress": "^3.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7396,8 +7356,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.4.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.4.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg==",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "gulp-sourcemaps": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.6.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7404,7 +7363,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "convert-source-map": "^1.1.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                "graceful-fs": "^4.1.2",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7418,7 +7376,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "core-util-is": "~1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "inherits": "~2.0.3",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7434,7 +7391,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "safe-buffer": "~5.1.0"
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7444,7 +7400,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "readable-stream": "~2.3.6",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "xtend": "~4.0.1"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7457,7 +7412,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "array-differ": "^1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "array-uniq": "^1.0.2",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7483,15 +7437,13 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "2.2.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "object-assign": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "3.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "readable-stream": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "2.3.6",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7498,7 +7450,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "core-util-is": "~1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "inherits": "~2.0.3",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7513,8 +7464,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "0.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "string_decoder": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.1.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7521,7 +7471,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "safe-buffer": "~5.1.0"
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7531,7 +7480,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "readable-stream": "~2.3.6",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "xtend": "~4.0.1"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7542,7 +7490,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "clone": "^1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "clone-stats": "^0.0.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7556,7 +7503,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "glogg": "^1.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7619,7 +7565,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "sparkles": "^1.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8549,7 +8494,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-relative": "^0.1.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8610,8 +8554,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "is-callable": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.1.4",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8683,8 +8626,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.3",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "is-equal-shallow": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.1.3",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8691,7 +8633,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-primitive": "^2.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8744,8 +8685,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "is-jpg": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8758,8 +8698,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "2.1.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "is-number": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "2.1.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8766,7 +8705,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "kind-of": "^3.0.2"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8846,15 +8784,13 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.1.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "is-primitive": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "2.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "is-promise": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "2.1.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8865,8 +8801,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "is-regex": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.4",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8880,8 +8815,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.1.3",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "is-resolvable": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.1.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8893,8 +8827,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.1.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "is-stream": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.1.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8923,8 +8856,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "is-touch-device": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8941,8 +8873,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.2.4",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "is-utf8": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.2.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8954,8 +8885,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.3.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "is-windows": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.2",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8973,8 +8903,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "isarray": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8991,7 +8920,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "isarray": "1.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -9196,7 +9124,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "jsonify": "~0.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -9230,8 +9157,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "jsprim": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.4.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -9381,64 +9307,55 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "lodash._basetostring": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "lodash._basevalues": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "lodash._getnative": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.9.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "lodash._isiterateecall": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.0.9",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "lodash._reescape": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "lodash._reevaluate": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "lodash._reinterpolate": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "lodash._root": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "lodash.assign": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "4.2.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -9457,7 +9374,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "lodash._root": "^3.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -9472,22 +9388,19 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.1.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "lodash.isarray": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.0.4",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "lodash.isequal": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "4.5.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "lodash.isplainobject": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "4.0.6",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -9506,7 +9419,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "lodash._getnative": "^3.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "lodash.isarguments": "^3.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -9529,8 +9441,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.6.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "lodash.template": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.6.2",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -9537,7 +9448,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "lodash._basecopy": "^3.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "lodash._basetostring": "^3.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -9555,7 +9465,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "lodash._reinterpolate": "^3.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "lodash.escape": "^3.0.0"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -9611,8 +9520,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "lpad-align": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.1.2",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -10115,7 +10023,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "readable-stream": "^2.0.1"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -10136,7 +10043,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "arr-diff": "^2.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "array-unique": "^0.2.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -10157,8 +10063,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-glob": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "2.0.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -10165,7 +10070,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "is-extglob": "^1.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -10403,7 +10307,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "duplexer2": "0.0.2"
</span><span class="cx" style="display: block; padding: 0 10px">                        },
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -10413,7 +10316,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "readable-stream": "~1.1.9"
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -10422,8 +10324,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "0.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "readable-stream": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.1.14",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -10430,7 +10331,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "core-util-is": "~1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "inherits": "~2.0.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -10442,8 +10342,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "0.10.31",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 }
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="cx" style="display: block; padding: 0 10px">                },
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -10788,8 +10687,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "nopt": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.0.6",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -11028,7 +10926,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "for-own": "^0.1.4",
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-extendable": "^0.1.1"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -11095,8 +10992,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.1.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "opn": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "5.4.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -11124,7 +11020,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-stream": "^1.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                "readable-stream": "^2.0.1"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -11290,7 +11185,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "glob-base": "^0.3.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-dotfile": "^1.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -11302,8 +11196,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-glob": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "2.0.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -11310,7 +11203,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "is-extglob": "^1.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -11330,8 +11222,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-02GTVHD1u0nWc20n2G7WX/PgdhNFG04j5fi1OkaJzPWLTcf6vh6229Lta1wTmXG/7Dg42tCssgkccVt7qvd8Kg==",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "parse-passwd": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -12182,15 +12073,13 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.4",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "preserve": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.2.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "pretty-bytes": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "4.0.2",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -12362,7 +12251,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-number": "^3.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "kind-of": "^4.0.0"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -12373,7 +12261,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "kind-of": "^3.0.2"
</span><span class="cx" style="display: block; padding: 0 10px">                                        },
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -12383,7 +12270,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                                        "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                                        "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
</span><span class="cx" style="display: block; padding: 0 10px">                                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                                "is-buffer": "^1.1.5"
</span><span class="cx" style="display: block; padding: 0 10px">                                                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -12395,7 +12281,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "is-buffer": "^1.1.5"
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -12450,7 +12335,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "deep-extend": "^0.6.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "ini": "~1.3.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -12641,7 +12525,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "pinkie-promise": "^2.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "readable-stream": "^2.0.0"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -13032,7 +12915,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "is-equal-shallow": "^0.1.3"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -13444,6 +13326,12 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/rungen/-/rungen-0.3.2.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-QAwJ6+kU57F+C27zJjQA/Cq8fLM="
</span><span class="cx" style="display: block; padding: 0 10px">                },
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                "rx": {
+                       "version": "4.1.0",
+                       "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
+                       "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=",
+                       "dev": true
+               },
</ins><span class="cx" style="display: block; padding: 0 10px">                 "rxjs": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "5.5.10",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.10.tgz",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -13700,7 +13588,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "commander": "~2.8.1"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -13819,8 +13706,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "set-value": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "2.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -14290,8 +14176,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "spdx-correct": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -14506,8 +14391,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.2.2",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "static-extend": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.1.2",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -14617,7 +14501,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "duplexer2": "~0.1.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "readable-stream": "^2.0.2"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -14737,7 +14620,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "first-chunk-stream": "^1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "strip-bom": "^2.0.0"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -14748,7 +14630,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "chalk": "^1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "get-stdin": "^4.0.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -14783,7 +14664,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "escape-string-regexp": "^1.0.2"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -14817,7 +14697,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "chalk": "^1.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -14916,7 +14795,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "bl": "^1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "buffer-alloc": "^1.2.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15020,7 +14898,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "readable-stream": ">=1.0.33-1 <1.1.0-0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "xtend": ">=4.0.0 <4.1.0-0"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15030,8 +14907,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "0.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 },
</span><span class="cx" style="display: block; padding: 0 10px">                                "readable-stream": {
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "1.0.34",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15038,7 +14914,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "core-util-is": "~1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "inherits": "~2.0.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15050,8 +14925,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "0.10.31",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 }
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="cx" style="display: block; padding: 0 10px">                },
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15060,7 +14934,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "through2": "~2.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "xtend": "~4.0.0"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15071,7 +14944,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "core-util-is": "~1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "inherits": "~2.0.3",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15087,7 +14959,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "safe-buffer": "~5.1.0"
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15097,7 +14968,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "readable-stream": "~2.3.6",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "xtend": "~4.0.1"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15115,15 +14985,13 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.1.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "timed-out": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.1.3",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "timers-browserify": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "2.0.10",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15195,7 +15063,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "extend-shallow": "^2.0.1"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15210,8 +15077,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.1.1",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "to-fast-properties": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.3",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15312,7 +15178,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "escape-string-regexp": "^1.0.2"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15363,8 +15228,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "0.4.3",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "turbo-combine-reducers": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.2",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15557,7 +15421,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "json-stable-stringify": "^1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "through2-filter": "^2.0.0"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15625,8 +15488,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.2",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "upath": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.1.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15694,7 +15556,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "prepend-http": "^1.0.1"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15847,8 +15708,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "dev": true,
-                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px">                "validate-npm-package-license": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "3.0.3",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15888,7 +15748,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "clone": "^1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "clone-stats": "^0.0.1",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15899,8 +15758,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "version": "0.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "dev": true,
-                                       "optional": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 "dev": true
</ins><span class="cx" style="display: block; padding: 0 10px">                                 }
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="cx" style="display: block; padding: 0 10px">                },
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15909,7 +15767,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "object-assign": "^4.0.1",
</span><span class="cx" style="display: block; padding: 0 10px">                                "readable-stream": "^2.0.0"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15920,7 +15777,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "duplexify": "^3.2.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                "glob-stream": "^5.3.2",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15946,7 +15802,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "safe-buffer": "~5.1.0"
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15956,7 +15811,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
</span><span class="cx" style="display: block; padding: 0 10px">                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                "readable-stream": "~2.3.6",
</span><span class="cx" style="display: block; padding: 0 10px">                                                "xtend": "~4.0.1"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15967,7 +15821,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                                        "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                                                        "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
</span><span class="cx" style="display: block; padding: 0 10px">                                                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                                                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                                                "core-util-is": "~1.0.0",
</span><span class="cx" style="display: block; padding: 0 10px">                                                                "inherits": "~2.0.3",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15991,12 +15844,32 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                "indexof": "0.0.1"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="cx" style="display: block; padding: 0 10px">                },
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                "wait-on": {
+                       "version": "3.3.0",
+                       "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-3.3.0.tgz",
+                       "integrity": "sha512-97dEuUapx4+Y12aknWZn7D25kkjMk16PbWoYzpSdA8bYpVfS6hpl2a2pOWZ3c+Tyt3/i4/pglyZctG3J4V1hWQ==",
+                       "dev": true,
+                       "requires": {
+                               "@hapi/joi": "^15.0.3",
+                               "core-js": "^2.6.5",
+                               "minimist": "^1.2.0",
+                               "request": "^2.88.0",
+                               "rx": "^4.1.0"
+                       },
+                       "dependencies": {
+                               "core-js": {
+                                       "version": "2.6.11",
+                                       "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
+                                       "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==",
+                                       "dev": true
+                               }
+                       }
+               },
</ins><span class="cx" style="display: block; padding: 0 10px">                 "ware": {
</span><span class="cx" style="display: block; padding: 0 10px">                        "version": "1.3.0",
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "wrap-fn": "^0.1.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -16556,7 +16429,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "co": "3.1.0"
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -16811,7 +16683,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
</span><span class="cx" style="display: block; padding: 0 10px">                        "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
</span><span class="cx" style="display: block; padding: 0 10px">                        "dev": true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "optional": true,
</del><span class="cx" style="display: block; padding: 0 10px">                         "requires": {
</span><span class="cx" style="display: block; padding: 0 10px">                                "buffer-crc32": "~0.2.3",
</span><span class="cx" style="display: block; padding: 0 10px">                                "fd-slicer": "~1.1.0"
</span></span></pre></div>
<a id="branches52packagejson"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/5.2/package.json</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/5.2/package.json 2020-11-06 17:05:59 UTC (rev 49526)
+++ branches/5.2/package.json   2020-11-06 17:17:17 UTC (rev 49527)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -19,6 +19,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                "check-node-version": "3.2.0",
</span><span class="cx" style="display: block; padding: 0 10px">                "copy-webpack-plugin": "^4.6.0",
</span><span class="cx" style="display: block; padding: 0 10px">                "cssnano": "4.1.8",
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                "dotenv": "^8.2.0",
+               "dotenv-expand": "^5.1.0",
</ins><span class="cx" style="display: block; padding: 0 10px">                 "grunt": "~1.0.3",
</span><span class="cx" style="display: block; padding: 0 10px">                "grunt-banner": "^0.6.0",
</span><span class="cx" style="display: block; padding: 0 10px">                "grunt-contrib-clean": "~2.0.0",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -48,6 +50,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                "source-map-loader": "^0.2.4",
</span><span class="cx" style="display: block; padding: 0 10px">                "uglify-js": "^3.4.9",
</span><span class="cx" style="display: block; padding: 0 10px">                "uglifyjs-webpack-plugin": "2.1.1",
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                "wait-on": "^3.3.0",
</ins><span class="cx" style="display: block; padding: 0 10px">                 "webpack": "4.29.2",
</span><span class="cx" style="display: block; padding: 0 10px">                "webpack-dev-server": "3.1.14",
</span><span class="cx" style="display: block; padding: 0 10px">                "webpack-livereload-plugin": "2.2.0"
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -113,6 +116,21 @@
</span><span class="cx" style="display: block; padding: 0 10px">                "whatwg-fetch": "3.0.0"
</span><span class="cx" style="display: block; padding: 0 10px">        },
</span><span class="cx" style="display: block; padding: 0 10px">        "scripts": {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                "grunt": "grunt"
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         "build": "grunt build",
+               "build:dev": "grunt build --dev",
+               "dev": "grunt watch --dev",
+               "test": "grunt test",
+               "watch": "grunt watch",
+               "grunt": "grunt",
+               "env:start": "node ./tools/local-env/scripts/start.js",
+               "env:stop": "node ./tools/local-env/scripts/docker.js down",
+               "env:restart": "npm run env:stop && npm run env:start",
+               "env:clean": "node ./tools/local-env/scripts/docker.js down -v --remove-orphans",
+               "env:reset": "node ./tools/local-env/scripts/docker.js down --rmi all -v --remove-orphans",
+               "env:install": "node ./tools/local-env/scripts/install.js",
+               "env:cli": "node ./tools/local-env/scripts/docker.js run cli",
+               "env:logs": "node ./tools/local-env/scripts/docker.js logs",
+               "env:pull": "node ./tools/local-env/scripts/docker.js pull",
+               "test:php": "node ./tools/local-env/scripts/docker.js run --rm phpunit phpunit"
</ins><span class="cx" style="display: block; padding: 0 10px">         }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span></span></pre></div>
<a id="branches52testsphpunitincludesobjectcachephp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/5.2/tests/phpunit/includes/object-cache.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/5.2/tests/phpunit/includes/object-cache.php      2020-11-06 17:05:59 UTC (rev 49526)
+++ branches/5.2/tests/phpunit/includes/object-cache.php        2020-11-06 17:17:17 UTC (rev 49527)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -834,7 +834,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                if ( isset( $memcached_servers ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $this->servers = $memcached_servers;
</span><span class="cx" style="display: block; padding: 0 10px">                } else {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        $this->servers = array( array( '127.0.0.1', 11211 ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 $this->servers = array( array( 'memcached', 11211 ) );
</ins><span class="cx" style="display: block; padding: 0 10px">                 }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $this->addServers( $this->servers );
</span></span></pre></div>
<a id="branches52testsphpunittestsajaxCustomizeMenusphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/5.2/tests/phpunit/tests/ajax/CustomizeMenus.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/5.2/tests/phpunit/tests/ajax/CustomizeMenus.php  2020-11-06 17:05:59 UTC (rev 49526)
+++ branches/5.2/tests/phpunit/tests/ajax/CustomizeMenus.php    2020-11-06 17:17:17 UTC (rev 49527)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -54,7 +54,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                if ( 'administrator' != $role ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        // If we're not an admin, we should get a wp_die(-1).
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        $this->setExpectedException( 'WPAjaxDieStopException' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 $this->setExpectedException( 'WPAjaxDieStopException', '-1' );
</ins><span class="cx" style="display: block; padding: 0 10px">                 }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                wp_set_current_user( self::factory()->user->create( array( 'role' => $role ) ) );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -443,7 +443,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                if ( 'administrator' != $role ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        // If we're not an admin, we should get a wp_die(-1).
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        $this->setExpectedException( 'WPAjaxDieStopException' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 $this->setExpectedException( 'WPAjaxDieStopException', '-1' );
</ins><span class="cx" style="display: block; padding: 0 10px">                 }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                wp_set_current_user( self::factory()->user->create( array( 'role' => $role ) ) );
</span></span></pre></div>
<a id="branches52toolslocalenvdefaulttemplate"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: branches/5.2/tools/local-env/default.template</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/5.2/tools/local-env/default.template                             (rev 0)
+++ branches/5.2/tools/local-env/default.template       2020-11-06 17:17:17 UTC (rev 49527)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,32 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+server {
+       index index.php index.html;
+
+       listen 80 default_server;
+       listen [::]:80 default_server;
+
+       server_name localhost;
+
+       client_max_body_size 1g;
+
+       error_log  /var/log/nginx/error.log;
+       access_log /var/log/nginx/access.log;
+
+       root /var/www/${LOCAL_DIR};
+
+       absolute_redirect off;
+
+       location / {
+               try_files $uri $uri/ /index.php?$args;
+       }
+
+       location ~ \.php$ {
+               try_files $uri =404;
+               fastcgi_split_path_info ^(.+\.php)(/.+)$;
+               fastcgi_pass php:9000;
+               fastcgi_index index.php;
+               include fastcgi_params;
+               fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+               fastcgi_param PATH_INFO $fastcgi_path_info;
+               fastcgi_pass_header Authorization;
+       }
+}
</ins></span></pre></div>
<a id="branches52toolslocalenvmysqlinitsql"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: branches/5.2/tools/local-env/mysql-init.sql</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/5.2/tools/local-env/mysql-init.sql                               (rev 0)
+++ branches/5.2/tools/local-env/mysql-init.sql 2020-11-06 17:17:17 UTC (rev 49527)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,8 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+/**
+ * MySQL server init.
+ *
+ * SQL queries in this file will be executed the first time the MySQL server is started.
+ */
+
+CREATE DATABASE IF NOT EXISTS wordpress_develop;
+CREATE DATABASE IF NOT EXISTS wordpress_develop_tests;
</ins></span></pre></div>
<a id="branches52toolslocalenvphpconfigini"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: branches/5.2/tools/local-env/php-config.ini</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/5.2/tools/local-env/php-config.ini                               (rev 0)
+++ branches/5.2/tools/local-env/php-config.ini 2020-11-06 17:17:17 UTC (rev 49527)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,2 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+upload_max_filesize = 1G
+post_max_size = 1G
</ins></span></pre></div>
<a id="branches52toolslocalenvphpunitconfigini"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: branches/5.2/tools/local-env/phpunit-config.ini</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/5.2/tools/local-env/phpunit-config.ini                           (rev 0)
+++ branches/5.2/tools/local-env/phpunit-config.ini     2020-11-06 17:17:17 UTC (rev 49527)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,6 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+upload_max_filesize = 1G
+post_max_size = 1G
+
+opcache.enable = 1
+opcache.enable_cli = 1
+opache.file_cache = /tmp/php-opcache
</ins></span></pre></div>
<a id="branches52toolslocalenvscriptsdockerjs"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: branches/5.2/tools/local-env/scripts/docker.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/5.2/tools/local-env/scripts/docker.js                            (rev 0)
+++ branches/5.2/tools/local-env/scripts/docker.js      2020-11-06 17:17:17 UTC (rev 49527)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,8 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+const dotenv       = require( 'dotenv' );
+const dotenvExpand = require( 'dotenv-expand' );
+const { execSync } = require( 'child_process' );
+
+dotenvExpand( dotenv.config() );
+
+// Execute any docker-compose command passed to this script.
+execSync( 'docker-compose ' + process.argv.slice( 2 ).join( ' ' ), { stdio: 'inherit' } );
</ins></span></pre></div>
<a id="branches52toolslocalenvscriptsinstalljs"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: branches/5.2/tools/local-env/scripts/install.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/5.2/tools/local-env/scripts/install.js                           (rev 0)
+++ branches/5.2/tools/local-env/scripts/install.js     2020-11-06 17:17:17 UTC (rev 49527)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,47 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+const dotenv       = require( 'dotenv' );
+const dotenvExpand = require( 'dotenv-expand' );
+const wait_on = require( 'wait-on' );
+const { execSync } = require( 'child_process' );
+const { renameSync, readFileSync, writeFileSync } = require( 'fs' );
+
+dotenvExpand( dotenv.config() );
+
+// Create wp-config.php.
+wp_cli( 'config create --dbname=wordpress_develop --dbuser=root --dbpass=password --dbhost=mysql --path=/var/www/src --force' );
+
+// Add the debug settings to wp-config.php.
+// Windows requires this to be done as an additional step, rather than using the --extra-php option in the previous step.
+wp_cli( `config set WP_DEBUG ${process.env.LOCAL_WP_DEBUG} --raw --type=constant` );
+wp_cli( `config set WP_DEBUG_LOG ${process.env.LOCAL_WP_DEBUG_LOG} --raw --type=constant` );
+wp_cli( `config set WP_DEBUG_DISPLAY ${process.env.LOCAL_WP_DEBUG_DISPLAY} --raw --type=constant` );
+wp_cli( `config set SCRIPT_DEBUG ${process.env.LOCAL_SCRIPT_DEBUG} --raw --type=constant` );
+wp_cli( `config set WP_ENVIRONMENT_TYPE ${process.env.LOCAL_WP_ENVIRONMENT_TYPE} --type=constant` );
+
+// Move wp-config.php to the base directory, so it doesn't get mixed up in the src or build directories.
+renameSync( 'src/wp-config.php', 'wp-config.php' );
+
+// Read in wp-tests-config-sample.php, edit it to work with our config, then write it to wp-tests-config.php.
+const testConfig = readFileSync( 'wp-tests-config-sample.php', 'utf8' )
+       .replace( 'youremptytestdbnamehere', 'wordpress_develop_tests' )
+       .replace( 'yourusernamehere', 'root' )
+       .replace( 'yourpasswordhere', 'password' )
+       .replace( 'localhost', 'mysql' )
+       .concat( "\ndefine( 'FS_METHOD', 'direct' );\n" );
+
+writeFileSync( 'wp-tests-config.php', testConfig );
+
+// Once the site is available, install WordPress!
+wait_on( { resources: [ `tcp:localhost:${process.env.LOCAL_PORT}`] } )
+       .then( () => {
+               wp_cli( 'db reset --yes' );
+               wp_cli( `core install --title="WordPress Develop" --admin_user=admin --admin_password=password --admin_email=test@test.com --skip-email --url=http://localhost:${process.env.LOCAL_PORT}` );
+       } );
+
+/**
+ * Runs WP-CLI commands in the Docker environment.
+ *
+ * @param {string} cmd The WP-CLI command to run.
+ */
+function wp_cli( cmd ) {
+       execSync( `docker-compose run --rm cli ${cmd}`, { stdio: 'inherit' } );
+}
</ins></span></pre></div>
<a id="branches52toolslocalenvscriptsstartjs"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: branches/5.2/tools/local-env/scripts/start.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/5.2/tools/local-env/scripts/start.js                             (rev 0)
+++ branches/5.2/tools/local-env/scripts/start.js       2020-11-06 17:17:17 UTC (rev 49527)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,36 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+const dotenv       = require( 'dotenv' );
+const dotenvExpand = require( 'dotenv-expand' );
+const { execSync } = require( 'child_process' );
+
+dotenvExpand( dotenv.config() );
+
+// Start the local-env containers.
+execSync( 'docker-compose up -d wordpress-develop', { stdio: 'inherit' } );
+
+// If Docker Toolbox is being used, we need to manually forward LOCAL_PORT to the Docker VM.
+if ( process.env.DOCKER_TOOLBOX_INSTALL_PATH ) {
+       // VBoxManage is added to the PATH on every platform except Windows.
+       const vboxmanage = process.env.VBOX_MSI_INSTALL_PATH ? `${ process.env.VBOX_MSI_INSTALL_PATH }/VBoxManage` : 'VBoxManage'
+
+       // Check if the port forwarding is already configured for this port.
+       const vminfoBuffer = execSync( `"${ vboxmanage }" showvminfo "${ process.env.DOCKER_MACHINE_NAME }" --machinereadable` );
+       const vminfo = vminfoBuffer.toString().split( /[\r\n]+/ );
+
+       vminfo.forEach( ( info ) => {
+               if ( ! info.startsWith( 'Forwarding' ) ) {
+                       return;
+               }
+
+               // `info` is in the format: Forwarding(1)="tcp-port8889,tcp,127.0.0.1,8889,,8889"
+               // Parse it down so `rule` only contains the data inside quotes, split by ','.
+               const rule = info.replace( /(^.*?"|"$)/, '' ).split( ',' );
+
+               // Delete rules that are using the port we need.
+               if ( rule[ 3 ] === process.env.LOCAL_PORT || rule[ 5 ] === process.env.LOCAL_PORT ) {
+                       execSync( `"${ vboxmanage }" controlvm "${ process.env.DOCKER_MACHINE_NAME }" natpf1 delete ${ rule[ 0 ] }`, { stdio: 'inherit' } );
+               }
+       } );
+
+       // Add our port forwarding rule.
+       execSync( `"${ vboxmanage }" controlvm "${ process.env.DOCKER_MACHINE_NAME }" natpf1 "tcp-port${ process.env.LOCAL_PORT },tcp,127.0.0.1,${ process.env.LOCAL_PORT },,${ process.env.LOCAL_PORT }"`, { stdio: 'inherit' } );
+}
</ins></span></pre>
</div>
</div>

</body>
</html>