WordPress.org

Make WordPress Core

Changeset 50642


Ignore:
Timestamp:
04/02/2021 03:49:47 PM (6 weeks ago)
Author:
desrosj
Message:

Build/Test Tools: Backport GitHub Action and build improvements to the 4.2 branch.

This backports several build and test tool improvements to the 4.2 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP <= 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50379,50387,50416,50432,50435,50436,50444,50446,50473,50474,50476,50479,50485,50486,50487,50545,50579,50590] to the 4.2 branch.
See #50401, #51801, #51802, #52548, #52612, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

Location:
branches/4.2
Files:
1 added
1 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • branches/4.2

  • branches/4.2/.github/workflows/coding-standards.yml

    r50319 r50642  
    22
    33on:
     4  # JSHint was introduced in WordPress 3.8.
     5  # PHPCS checking was introduced in WordPress 5.1.
    46  push:
    57    branches:
    68      - master
    7       # JSHint was introduced in WordPress 3.8.
    8       # PHPCS checking was introduced in WordPress 5.1.
     9      - trunk
    910      - '3.[89]'
    1011      - '[4-9].[0-9]'
     
    1314      - '[4-9].[0-9]*'
    1415  pull_request:
     16    branches:
     17      - master
     18      - trunk
     19      - '3.[89]'
     20      - '[4-9].[0-9]'
     21    paths:
     22      # Any change to a PHP or JavaScript file should run checks.
     23      - '**.js'
     24      - '**.php'
     25      # These files configure NPM. Changes could affect the outcome.
     26      - 'package*.json'
     27      # These files configure Composer. Changes could affect the outcome.
     28      - 'composer.*'
     29      # This file configures JSHint. Changes could affect the outcome.
     30      - '.jshintrc'
     31      # This file configures PHPCS. Changes could affect the outcome.
     32      - 'phpcs.xml.dist'
     33      # Changes to workflow files should always verify all workflows are successful.
     34      - '.github/workflows/*.yml'
     35  workflow_dispatch:
    1536
    1637jobs:
     
    3758    steps:
    3859      - name: Checkout repository
    39         uses: actions/checkout@v2
     60        uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
    4061
    4162      - name: Log debug information
     
    4768
    4869      - name: Install NodeJS
    49         uses: actions/setup-node@v1
     70        uses: actions/setup-node@46071b5c7a2e0c34e49c3cb8a0e792e86e18d5ea # v2.1.5
    5071        with:
    5172          node-version: 14
    5273
    5374      - name: Cache NodeJS modules
    54         uses: actions/cache@v2
     75        uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6 # v2.1.4
    5576        env:
    5677          cache-name: cache-node-modules
     
    5980          path: ~/.npm
    6081          key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
    61           restore-keys: |
    62             ${{ runner.os }}-npm-
    6382
    6483      - name: Log debug information
     
    6887
    6988      - name: Install Dependencies
    70         run: npx install-changed --install-command="npm ci"
     89        run: npm ci
    7190
    7291      - name: Run JSHint
  • branches/4.2/.github/workflows/end-to-end-tests.yml

    r50319 r50642  
    22
    33on:
     4  # The end to end test suite was introduced in WordPress 5.3.
    45  push:
    56    branches:
    67      - master
    7       # The end to end test suite was introduced in WordPress 5.3.
     8      - trunk
    89      - '5.[3-9]'
    910      - '[6-9].[0-9]'
     
    1213      - '[6-9].[0-9]*'
    1314  pull_request:
     15    branches:
     16      - master
     17      - trunk
     18      - '5.[3-9]'
     19      - '[6-9].[0-9]'
     20  workflow_dispatch:
    1421
    1522env:
     
    4350      - name: Cancel previous runs of this workflow (pull requests only)
    4451        if: ${{ github.event_name == 'pull_request' }}
    45         uses: styfle/cancel-workflow-action@0.5.0
    46         with:
    47           access_token: ${{ github.token }}
     52        uses: styfle/cancel-workflow-action@3d86a7cc43670094ac248017207be0295edbc31d # v0.8.0
    4853
    4954      - name: Configure environment variables
     
    5358
    5459      - name: Checkout repository
    55         uses: actions/checkout@v2
     60        uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
    5661
    5762      - name: Log debug information
     
    6772
    6873      - name: Install NodeJS
    69         uses: actions/setup-node@v1
     74        uses: actions/setup-node@46071b5c7a2e0c34e49c3cb8a0e792e86e18d5ea # v2.1.5
    7075        with:
    7176          node-version: 14
    7277
    7378      - name: Cache NodeJS modules
    74         uses: actions/cache@v2
     79        uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6 # v2.1.4
    7580        env:
    7681          cache-name: cache-node-modules
     
    7984          path: ~/.npm
    8085          key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
    81           restore-keys: |
    82             ${{ runner.os }}-npm-
    8386
    8487      - name: Install Dependencies
    85         run: npx install-changed --install-command="npm ci"
     88        run: npm ci
    8689
    8790      - name: Build WordPress
  • branches/4.2/.github/workflows/javascript-tests.yml

    r50319 r50642  
    22
    33on:
     4  # JavaScript testing was introduced in WordPress 3.8.
    45  push:
    56    branches:
    67      - master
    7       # JavaScript testing was introduced in WordPress 3.8.
     8      - trunk
    89      - '3.[89]'
    910      - '[4-9].[0-9]'
     
    1213      - '[4-9].[0-9]*'
    1314  pull_request:
     15    branches:
     16      - master
     17      - trunk
     18      - '3.[89]'
     19      - '[4-9].[0-9]'
     20    paths:
     21      # Any change to a JavaScript file should run tests.
     22      - '**.js'
     23      # These files configure NPM. Changes could affect the outcome.
     24      - 'package*.json'
     25      # This file configures ESLint. Changes could affect the outcome.
     26      - '.eslintignore'
     27      # This file configures JSHint. Changes could affect the outcome.
     28      - '.jshintrc'
     29      # Any change to the QUnit directory should run tests.
     30      - 'tests/qunit/**'
     31      # Changes to workflow files should always verify all workflows are successful.
     32      - '.github/workflows/*.yml'
     33  workflow_dispatch:
    1434
    1535jobs:
     
    3454      - name: Cancel previous runs of this workflow (pull requests only)
    3555        if: ${{ github.event_name == 'pull_request' }}
    36         uses: styfle/cancel-workflow-action@0.5.0
    37         with:
    38           access_token: ${{ github.token }}
     56        uses: styfle/cancel-workflow-action@3d86a7cc43670094ac248017207be0295edbc31d # v0.8.0
    3957
    4058      - name: Checkout repository
    41         uses: actions/checkout@v2
     59        uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
    4260
    4361      - name: Log debug information
     
    4967
    5068      - name: Install NodeJS
    51         uses: actions/setup-node@v1
     69        uses: actions/setup-node@46071b5c7a2e0c34e49c3cb8a0e792e86e18d5ea # v2.1.5
    5270        with:
    5371          node-version: 14
    5472
    5573      - name: Cache NodeJS modules
    56         uses: actions/cache@v2
     74        uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6 # v2.1.4
    5775        env:
    5876          cache-name: cache-node-modules
     
    6179          path: ~/.npm
    6280          key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
    63           restore-keys: |
    64             ${{ runner.os }}-npm-
    6581
    6682      - name: Log debug information
     
    7086
    7187      - name: Install Dependencies
    72         run: npx install-changed --install-command="npm ci"
     88        run: npm ci
    7389
    7490      - name: Run QUnit tests
  • branches/4.2/.github/workflows/php-compatibility.yml

    r50319 r50642  
    22
    33on:
     4  # PHP compatibility testing was introduced in WordPress 5.5.
    45  push:
    56    branches:
    67      - master
    7       # The PHP compatibility testing was introduced in WordPress 5.5.
     8      - trunk
    89      - '5.[5-9]'
    910      - '[6-9].[0-9]'
     
    1213      - '[6-9].[0-9]*'
    1314  pull_request:
     15    branches:
     16      - master
     17      - trunk
     18      - '5.[5-9]'
     19      - '[6-9].[0-9]'
     20    paths:
     21      # This workflow only scans PHP files.
     22      - '**.php'
     23      # These files configure Composer. Changes could affect the outcome.
     24      - 'composer.*'
     25      # This file configures PHP Compatibility scanning. Changes could affect the outcome.
     26      - 'phpcompat.xml.dist'
     27      # Changes to workflow files should always verify all workflows are successful.
     28      - '.github/workflows/*.yml'
     29  workflow_dispatch:
    1430
    1531jobs:
     
    3551    steps:
    3652      - name: Checkout repository
    37         uses: actions/checkout@v2
     53        uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
    3854
    3955      - name: Set up PHP
    40         uses: shivammathur/setup-php@v2
     56        uses: shivammathur/setup-php@afefcaf556d98dc7896cca380e181decb609ca44 # v2.10.0
    4157        with:
    4258          php-version: '7.4'
     
    5066
    5167      - name: Install Composer dependencies
    52         uses: ramsey/composer-install@v1
     68        uses: ramsey/composer-install@92a7904348d4ad30236f3611e33b7f0c6f9edd70 # v1.1.0
    5369        with:
    5470          composer-options: "--no-progress --no-ansi --no-interaction"
  • branches/4.2/.github/workflows/phpunit-tests.yml

    r50326 r50642  
    55    branches:
    66      - master
     7      - trunk
    78      - '3.[7-9]'
    89      - '[4-9].[0-9]'
     
    1112      - '[4-9].[0-9]*'
    1213  pull_request:
     14    branches:
     15      - master
     16      - trunk
     17      - '3.[7-9]'
     18      - '[4-9].[0-9]'
     19  workflow_dispatch:
    1320  # Once weekly On Sundays at 00:00 UTC.
    1421  schedule:
     
    2229  PHPUNIT_SCRIPT: php
    2330  LOCAL_PHP_MEMCACHED: ${{ false }}
     31  SLOW_TESTS: 'external-http,media'
    2432
    2533jobs:
     
    4452      - name: Cancel previous runs of this workflow (pull requests only)
    4553        if: ${{ github.event_name == 'pull_request' }}
    46         uses: styfle/cancel-workflow-action@0.5.0
    47         with:
    48           access_token: ${{ github.token }}
     54        uses: styfle/cancel-workflow-action@3d86a7cc43670094ac248017207be0295edbc31d # v0.8.0
    4955
    5056      - name: Checkout repository
    51         uses: actions/checkout@v2
     57        uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
    5258
    5359      - name: Log debug information
     
    6571
    6672      - name: Install NodeJS
    67         uses: actions/setup-node@v1
     73        uses: actions/setup-node@46071b5c7a2e0c34e49c3cb8a0e792e86e18d5ea # v2.1.5
    6874        with:
    6975          node-version: 14
    7076
    7177      - name: Cache NodeJS modules
    72         uses: actions/cache@v2
     78        uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6 # v2.1.4
    7379        env:
    7480          cache-name: cache-node-modules
     
    7783          path: ~/.npm
    7884          key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
    79           restore-keys: |
    80             ${{ runner.os }}-npm-
    8185
    8286      - name: Install Dependencies
    83         run: npx install-changed --install-command="npm ci"
     87        run: npm ci
    8488
    8589      - name: Build WordPress
     
    8791
    8892      - name: Create ZIP artifact
    89         uses: thedoctor0/zip-release@0.4.1
     93        uses: thedoctor0/zip-release@a1afcab9c664c9976ac398fa831eac67bed1eb0e # v0.4.1
    9094        with:
    9195          filename: built-wp-${{ github.sha }}.zip
     
    9397
    9498      - name: Upload build artifact
    95         uses: actions/upload-artifact@v2
     99        uses: actions/upload-artifact@e448a9b857ee2131e752b06002bf0e093c65e571 # v2.2.2
    96100        with:
    97101          name: built-wp-${{ github.sha }}
     
    125129  # - todo: Configure Slack notifications for failing tests.
    126130  test-php:
    127     name: ${{ matrix.php }}${{ matrix.memcached && ' with memcached' || '' }} on ${{ matrix.os }}
     131    name: ${{ matrix.php }}${{ matrix.multisite && ' multisite' || '' }}${{ matrix.split_slow && ' slow tests' || '' }} ${{ matrix.memcached && ' with memcached' || '' }} on ${{ matrix.os }}
    128132    needs: setup-wordpress
    129133    runs-on: ${{ matrix.os }}
    130134    strategy:
     135      fail-fast: false
    131136      matrix:
    132         php: [ '5.6' ]
    133         phpunit: [ '4-php-5.6' ]
     137        php: [ '5.3', '5.4', '5.5' ]
    134138        os: [ ubuntu-latest ]
    135139        memcached: [ false ]
     140        split_slow: [ false, true ]
     141        multisite: [ false, true ]
    136142        include:
    137           - php: '5.5'
    138             phpunit: '5.5'
     143          # Additional "slow" jobs for PHP 5.6.
     144          - php: '5.6'
     145            phpunit: '4-php-5.6'
    139146            os: ubuntu-latest
    140147            memcached: false
    141           - php: '5.4'
    142             phpunit: '5.4'
     148            multisite: false
     149            split_slow: true
     150          - php: '5.6'
     151            phpunit: '4-php-5.6'
    143152            os: ubuntu-latest
    144153            memcached: false
    145           - php: '5.3'
    146             phpunit: '5.3'
     154            multisite: true
     155            split_slow: true
     156          # Include job for specific PHPUnit versions.
     157          - php: '5.6'
     158            phpunit: '4-php-5.6'
    147159            os: ubuntu-latest
    148160            memcached: false
     161            multisite: false
     162            split_slow: false
     163          - php: '5.6'
     164            phpunit: '4-php-5.6'
     165            os: ubuntu-latest
     166            memcached: false
     167            multisite: true
     168            split_slow: false
     169
    149170    env:
    150171      LOCAL_PHP: ${{ matrix.php }}-fpm
    151       LOCAL_PHPUNIT: ${{ matrix.phpunit }}-fpm
     172      LOCAL_PHPUNIT: ${{ matrix.phpunit && matrix.phpunit || matrix.php }}-fpm
    152173      LOCAL_PHP_MEMCACHED: ${{ matrix.memcached }}
     174      PHPUNIT_CONFIG: ${{ matrix.multisite && 'tests/phpunit/multisite.xml' || 'phpunit.xml.dist' }}
    153175
    154176    steps:
     
    159181
    160182      - name: Download the built WordPress artifact
    161         uses: actions/download-artifact@v2
     183        uses: actions/download-artifact@4a7a711286f30c025902c28b541c10e147a9b843 # v2.0.8
    162184        with:
    163185          name: built-wp-${{ github.sha }}
     
    167189
    168190      - name: Install NodeJS
    169         uses: actions/setup-node@v1
     191        uses: actions/setup-node@46071b5c7a2e0c34e49c3cb8a0e792e86e18d5ea # v2.1.5
    170192        with:
    171193          node-version: 14
    172194
    173195      - name: Use cached Node modules
    174         uses: actions/cache@v2
     196        uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6 # v2.1.4
    175197        env:
    176198          cache-name: cache-node-modules
     
    179201          path: ~/.npm
    180202          key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
    181           restore-keys: |
    182             ${{ runner.os }}-npm-
    183203
    184204      - name: Install Dependencies
    185         run: npx install-changed --install-command="npm ci"
     205        run: npm ci
    186206
    187207      - name: Cache Composer dependencies
    188208        if: ${{ env.COMPOSER_INSTALL == true }}
    189         uses: actions/cache@v2
     209        uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6 # v2.1.4
    190210        env:
    191211          cache-name: cache-composer-dependencies
     
    193213          path: ${{ steps.composer-cache.outputs.dir }}
    194214          key: ${{ runner.os }}-php-${{ matrix.php }}-composer-${{ hashFiles('**/composer.lock') }}
    195           restore-keys: |
    196             ${{ runner.os }}-php-${{ matrix.php }}-composer-
    197215
    198216      - name: Install Composer dependencies
     
    240258        run: npm run env:install
    241259
     260      - name: Run slow PHPUnit tests
     261        if: ${{ matrix.split_slow }}
     262        run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c ${{ env.PHPUNIT_CONFIG }} --group ${{ env.SLOW_TESTS }}
     263
     264      - name: Run PHPUnit tests for single site excluding slow tests
     265        if: ${{ matrix.php < '7.0' && ! matrix.split_slow && ! matrix.multisite }}
     266        run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c ${{ env.PHPUNIT_CONFIG }} --exclude-group ${{ env.SLOW_TESTS }},ajax,ms-files,ms-required
     267
     268      - name: Run PHPUnit tests for Multisite excluding slow tests
     269        if: ${{ matrix.php < '7.0' && ! matrix.split_slow && matrix.multisite }}
     270        run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c ${{ env.PHPUNIT_CONFIG }} --exclude-group ${{ env.SLOW_TESTS }},ajax,ms-files,ms-excluded,oembed-headers
     271
    242272      - name: Run PHPUnit tests
    243         run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c phpunit.xml.dist
     273        if: ${{ matrix.php >= '7.0' }}
     274        run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c ${{ env.PHPUNIT_CONFIG }}
    244275
    245276      - name: Run AJAX tests
    246         run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c phpunit.xml.dist --group ajax
    247 
    248       - name: Run tests as a multisite install
    249         run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c tests/phpunit/multisite.xml
     277        if: ${{ ! matrix.multisite && ! matrix.split_slow }}
     278        run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c ${{ env.PHPUNIT_CONFIG }} --group ajax
    250279
    251280      - name: Run ms-files tests as a multisite install
     281        if: ${{ matrix.multisite && ! matrix.split_slow }}
    252282        run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c tests/phpunit/multisite.xml --group ms-files
    253283
    254284      - name: Run external HTTP tests
     285        if: ${{ ! matrix.multisite && ! matrix.split_slow }}
    255286        run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c phpunit.xml.dist --group external-http
    256287
    257288      - name: Checkout the WordPress Test Reporter
    258289        if: ${{ github.repository == 'WordPress/wordpress-develop' && github.ref == 'refs/heads/master' && matrix.report }}
    259         uses: actions/checkout@v2
     290        uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
    260291        with:
    261292          repository: 'WordPress/phpunit-test-runner'
  • branches/4.2/.github/workflows/welcome-new-contributors.yml

    r50319 r50642  
    1212
    1313    steps:
    14       - uses: bubkoo/welcome-action@v1
     14      - uses: bubkoo/welcome-action@8dbbac2540d155744c90e4e37da6b05ffc9c5e2c # v1.0.3
    1515        with:
    1616          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  • branches/4.2/package-lock.json

    r50246 r50642  
    188188        },
    189189        "anymatch": {
    190             "version": "2.0.0",
    191             "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
    192             "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
    193             "dev": true,
    194             "requires": {
    195                 "micromatch": "^3.1.4",
    196                 "normalize-path": "^2.1.1"
     190            "version": "3.1.1",
     191            "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
     192            "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
     193            "dev": true,
     194            "requires": {
     195                "normalize-path": "^3.0.0",
     196                "picomatch": "^2.0.4"
    197197            }
    198198        },
     
    324324            "dev": true
    325325        },
     326        "array-filter": {
     327            "version": "1.0.0",
     328            "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz",
     329            "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=",
     330            "dev": true
     331        },
    326332        "array-find-index": {
    327333            "version": "1.0.2",
     
    386392            "dependencies": {
    387393                "bn.js": {
    388                     "version": "4.11.9",
    389                     "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
    390                     "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
     394                    "version": "4.12.0",
     395                    "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
     396                    "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
    391397                    "dev": true
    392398                }
     
    438444            "dev": true
    439445        },
    440         "async-each": {
    441             "version": "1.0.3",
    442             "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
    443             "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
    444             "dev": true
    445         },
    446446        "asynckit": {
    447447            "version": "0.4.0",
     
    466466                "num2fraction": "^1.1.0",
    467467                "postcss": "~4.1.12"
     468            }
     469        },
     470        "available-typed-arrays": {
     471            "version": "1.0.2",
     472            "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz",
     473            "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==",
     474            "dev": true,
     475            "requires": {
     476                "array-filter": "^1.0.0"
    468477            }
    469478        },
     
    789798        },
    790799        "binary-extensions": {
    791             "version": "1.13.1",
    792             "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
    793             "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
    794             "dev": true
    795         },
    796         "bindings": {
    797             "version": "1.5.0",
    798             "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
    799             "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
    800             "dev": true,
    801             "optional": true,
    802             "requires": {
    803                 "file-uri-to-path": "1.0.0"
    804             }
     800            "version": "2.2.0",
     801            "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
     802            "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
     803            "dev": true
    805804        },
    806805        "bl": {
     
    839838        },
    840839        "bn.js": {
    841             "version": "5.1.3",
    842             "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz",
    843             "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==",
     840            "version": "5.2.0",
     841            "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz",
     842            "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==",
    844843            "dev": true
    845844        },
     
    932931        },
    933932        "browserify": {
    934             "version": "16.5.2",
    935             "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz",
    936             "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==",
     933            "version": "17.0.0",
     934            "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz",
     935            "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==",
    937936            "dev": true,
    938937            "requires": {
     
    949948                "crypto-browserify": "^3.0.0",
    950949                "defined": "^1.0.0",
    951                 "deps-sort": "^2.0.0",
     950                "deps-sort": "^2.0.1",
    952951                "domain-browser": "^1.2.0",
    953952                "duplexer2": "~0.1.2",
    954                 "events": "^2.0.0",
     953                "events": "^3.0.0",
    955954                "glob": "^7.1.0",
    956955                "has": "^1.0.0",
     
    958957                "https-browserify": "^1.0.0",
    959958                "inherits": "~2.0.1",
    960                 "insert-module-globals": "^7.0.0",
     959                "insert-module-globals": "^7.2.1",
    961960                "labeled-stream-splicer": "^2.0.0",
    962961                "mkdirp-classic": "^0.5.2",
     
    964963                "os-browserify": "~0.3.0",
    965964                "parents": "^1.0.1",
    966                 "path-browserify": "~0.0.0",
     965                "path-browserify": "^1.0.0",
    967966                "process": "~0.11.0",
    968967                "punycode": "^1.3.2",
     
    971970                "readable-stream": "^2.0.2",
    972971                "resolve": "^1.1.4",
    973                 "shasum": "^1.0.0",
     972                "shasum-object": "^1.0.0",
    974973                "shell-quote": "^1.6.1",
    975                 "stream-browserify": "^2.0.0",
     974                "stream-browserify": "^3.0.0",
    976975                "stream-http": "^3.0.0",
    977976                "string_decoder": "^1.1.1",
     
    982981                "tty-browserify": "0.0.1",
    983982                "url": "~0.11.0",
    984                 "util": "~0.10.1",
     983                "util": "~0.12.0",
    985984                "vm-browserify": "^1.0.0",
    986985                "xtend": "^4.0.0"
     
    12411240            "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
    12421241            "dev": true,
    1243             "optional": true,
    12441242            "requires": {
    12451243                "function-bind": "^1.1.1",
     
    13131311        },
    13141312        "chokidar": {
    1315             "version": "2.1.8",
    1316             "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
    1317             "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
    1318             "dev": true,
    1319             "requires": {
    1320                 "anymatch": "^2.0.0",
    1321                 "async-each": "^1.0.1",
    1322                 "braces": "^2.3.2",
    1323                 "fsevents": "^1.2.7",
    1324                 "glob-parent": "^3.1.0",
    1325                 "inherits": "^2.0.3",
    1326                 "is-binary-path": "^1.0.0",
    1327                 "is-glob": "^4.0.0",
    1328                 "normalize-path": "^3.0.0",
    1329                 "path-is-absolute": "^1.0.0",
    1330                 "readdirp": "^2.2.1",
    1331                 "upath": "^1.1.1"
    1332             },
    1333             "dependencies": {
     1313            "version": "3.5.1",
     1314            "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
     1315            "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
     1316            "dev": true,
     1317            "requires": {
     1318                "anymatch": "~3.1.1",
     1319                "braces": "~3.0.2",
     1320                "fsevents": "~2.3.1",
     1321                "glob-parent": "~5.1.0",
     1322                "is-binary-path": "~2.1.0",
     1323                "is-glob": "~4.0.1",
     1324                "normalize-path": "~3.0.0",
     1325                "readdirp": "~3.5.0"
     1326            },
     1327            "dependencies": {
     1328                "braces": {
     1329                    "version": "3.0.2",
     1330                    "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
     1331                    "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
     1332                    "dev": true,
     1333                    "requires": {
     1334                        "fill-range": "^7.0.1"
     1335                    }
     1336                },
     1337                "fill-range": {
     1338                    "version": "7.0.1",
     1339                    "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
     1340                    "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
     1341                    "dev": true,
     1342                    "requires": {
     1343                        "to-regex-range": "^5.0.1"
     1344                    }
     1345                },
     1346                "glob-parent": {
     1347                    "version": "5.1.2",
     1348                    "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
     1349                    "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
     1350                    "dev": true,
     1351                    "requires": {
     1352                        "is-glob": "^4.0.1"
     1353                    }
     1354                },
    13341355                "is-glob": {
    13351356                    "version": "4.0.1",
     
    13411362                    }
    13421363                },
     1364                "is-number": {
     1365                    "version": "7.0.0",
     1366                    "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
     1367                    "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
     1368                    "dev": true
     1369                },
     1370                "to-regex-range": {
     1371                    "version": "5.0.1",
     1372                    "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
     1373                    "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
     1374                    "dev": true,
     1375                    "requires": {
     1376                        "is-number": "^7.0.0"
     1377                    }
     1378                }
     1379            }
     1380        },
     1381        "chownr": {
     1382            "version": "1.1.4",
     1383            "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
     1384            "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
     1385            "dev": true
     1386        },
     1387        "cipher-base": {
     1388            "version": "1.0.4",
     1389            "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
     1390            "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
     1391            "dev": true,
     1392            "requires": {
     1393                "inherits": "^2.0.1",
     1394                "safe-buffer": "^5.0.1"
     1395            }
     1396        },
     1397        "class-utils": {
     1398            "version": "0.3.6",
     1399            "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
     1400            "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
     1401            "dev": true,
     1402            "requires": {
     1403                "arr-union": "^3.1.0",
     1404                "define-property": "^0.2.5",
     1405                "isobject": "^3.0.0",
     1406                "static-extend": "^0.1.1"
     1407            },
     1408            "dependencies": {
     1409                "define-property": {
     1410                    "version": "0.2.5",
     1411                    "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
     1412                    "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
     1413                    "dev": true,
     1414                    "requires": {
     1415                        "is-descriptor": "^0.1.0"
     1416                    }
     1417                }
     1418            }
     1419        },
     1420        "clean-css": {
     1421            "version": "5.1.2",
     1422            "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.1.2.tgz",
     1423            "integrity": "sha512-QcaGg9OuMo+0Ds933yLOY+gHPWbxhxqF0HDexmToPf8pczvmvZGYzd+QqWp9/mkucAOKViI+dSFOqoZIvXbeBw==",
     1424            "dev": true,
     1425            "requires": {
     1426                "source-map": "~0.6.0"
     1427            },
     1428            "dependencies": {
     1429                "source-map": {
     1430                    "version": "0.6.1",
     1431                    "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
     1432                    "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
     1433                    "dev": true
     1434                }
     1435            }
     1436        },
     1437        "cli": {
     1438            "version": "1.0.1",
     1439            "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz",
     1440            "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=",
     1441            "dev": true,
     1442            "requires": {
     1443                "exit": "0.1.2",
     1444                "glob": "^7.1.1"
     1445            }
     1446        },
     1447        "cli-cursor": {
     1448            "version": "2.1.0",
     1449            "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
     1450            "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
     1451            "dev": true,
     1452            "requires": {
     1453                "restore-cursor": "^2.0.0"
     1454            }
     1455        },
     1456        "cli-width": {
     1457            "version": "2.2.1",
     1458            "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
     1459            "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
     1460            "dev": true
     1461        },
     1462        "clone-response": {
     1463            "version": "1.0.2",
     1464            "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
     1465            "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
     1466            "dev": true,
     1467            "optional": true,
     1468            "requires": {
     1469                "mimic-response": "^1.0.0"
     1470            }
     1471        },
     1472        "coa": {
     1473            "version": "2.0.2",
     1474            "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
     1475            "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
     1476            "dev": true,
     1477            "optional": true,
     1478            "requires": {
     1479                "@types/q": "^1.5.1",
     1480                "chalk": "^2.4.1",
     1481                "q": "^1.1.2"
     1482            },
     1483            "dependencies": {
     1484                "ansi-styles": {
     1485                    "version": "3.2.1",
     1486                    "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
     1487                    "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
     1488                    "dev": true,
     1489                    "optional": true,
     1490                    "requires": {
     1491                        "color-convert": "^1.9.0"
     1492                    }
     1493                },
     1494                "chalk": {
     1495                    "version": "2.4.2",
     1496                    "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
     1497                    "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
     1498                    "dev": true,
     1499                    "optional": true,
     1500                    "requires": {
     1501                        "ansi-styles": "^3.2.1",
     1502                        "escape-string-regexp": "^1.0.5",
     1503                        "supports-color": "^5.3.0"
     1504                    }
     1505                },
     1506                "color-convert": {
     1507                    "version": "1.9.3",
     1508                    "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
     1509                    "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
     1510                    "dev": true,
     1511                    "optional": true,
     1512                    "requires": {
     1513                        "color-name": "1.1.3"
     1514                    }
     1515                },
     1516                "color-name": {
     1517                    "version": "1.1.3",
     1518                    "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
     1519                    "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
     1520                    "dev": true,
     1521                    "optional": true
     1522                },
     1523                "has-flag": {
     1524                    "version": "3.0.0",
     1525                    "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
     1526                    "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
     1527                    "dev": true,
     1528                    "optional": true
     1529                },
     1530                "supports-color": {
     1531                    "version": "5.5.0",
     1532                    "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
     1533                    "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
     1534                    "dev": true,
     1535                    "optional": true,
     1536                    "requires": {
     1537                        "has-flag": "^3.0.0"
     1538                    }
     1539                }
     1540            }
     1541        },
     1542        "collection-visit": {
     1543            "version": "1.0.0",
     1544            "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
     1545            "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
     1546            "dev": true,
     1547            "requires": {
     1548                "map-visit": "^1.0.0",
     1549                "object-visit": "^1.0.0"
     1550            }
     1551        },
     1552        "color-convert": {
     1553            "version": "2.0.1",
     1554            "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
     1555            "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
     1556            "dev": true,
     1557            "requires": {
     1558                "color-name": "~1.1.4"
     1559            }
     1560        },
     1561        "color-name": {
     1562            "version": "1.1.4",
     1563            "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
     1564            "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
     1565            "dev": true
     1566        },
     1567        "colors": {
     1568            "version": "1.1.2",
     1569            "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
     1570            "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
     1571            "dev": true
     1572        },
     1573        "combine-source-map": {
     1574            "version": "0.8.0",
     1575            "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
     1576            "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=",
     1577            "dev": true,
     1578            "requires": {
     1579                "convert-source-map": "~1.1.0",
     1580                "inline-source-map": "~0.6.0",
     1581                "lodash.memoize": "~3.0.3",
     1582                "source-map": "~0.5.3"
     1583            }
     1584        },
     1585        "combined-stream": {
     1586            "version": "1.0.8",
     1587            "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
     1588            "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
     1589            "dev": true,
     1590            "requires": {
     1591                "delayed-stream": "~1.0.0"
     1592            }
     1593        },
     1594        "commander": {
     1595            "version": "2.20.3",
     1596            "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
     1597            "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
     1598            "dev": true
     1599        },
     1600        "component-emitter": {
     1601            "version": "1.3.0",
     1602            "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
     1603            "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
     1604            "dev": true
     1605        },
     1606        "compress-commons": {
     1607            "version": "4.0.2",
     1608            "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.0.2.tgz",
     1609            "integrity": "sha512-qhd32a9xgzmpfoga1VQEiLEwdKZ6Plnpx5UCgIsf89FSolyJ7WnifY4Gtjgv5WR6hWAyRaHxC5MiEhU/38U70A==",
     1610            "dev": true,
     1611            "requires": {
     1612                "buffer-crc32": "^0.2.13",
     1613                "crc32-stream": "^4.0.1",
     1614                "normalize-path": "^3.0.0",
     1615                "readable-stream": "^3.6.0"
     1616            },
     1617            "dependencies": {
    13431618                "normalize-path": {
    13441619                    "version": "3.0.0",
     
    13461621                    "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
    13471622                    "dev": true
    1348                 }
    1349             }
    1350         },
    1351         "chownr": {
    1352             "version": "1.1.4",
    1353             "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
    1354             "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
    1355             "dev": true
    1356         },
    1357         "cipher-base": {
    1358             "version": "1.0.4",
    1359             "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
    1360             "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
    1361             "dev": true,
    1362             "requires": {
    1363                 "inherits": "^2.0.1",
    1364                 "safe-buffer": "^5.0.1"
    1365             }
    1366         },
    1367         "class-utils": {
    1368             "version": "0.3.6",
    1369             "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
    1370             "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
    1371             "dev": true,
    1372             "requires": {
    1373                 "arr-union": "^3.1.0",
    1374                 "define-property": "^0.2.5",
    1375                 "isobject": "^3.0.0",
    1376                 "static-extend": "^0.1.1"
    1377             },
    1378             "dependencies": {
    1379                 "define-property": {
    1380                     "version": "0.2.5",
    1381                     "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
    1382                     "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
    1383                     "dev": true,
    1384                     "requires": {
    1385                         "is-descriptor": "^0.1.0"
    1386                     }
    1387                 }
    1388             }
    1389         },
    1390         "clean-css": {
    1391             "version": "4.2.3",
    1392             "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
    1393             "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==",
    1394             "dev": true,
    1395             "requires": {
    1396                 "source-map": "~0.6.0"
    1397             },
    1398             "dependencies": {
    1399                 "source-map": {
    1400                     "version": "0.6.1",
    1401                     "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
    1402                     "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
    1403                     "dev": true
    1404                 }
    1405             }
    1406         },
    1407         "cli": {
    1408             "version": "1.0.1",
    1409             "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz",
    1410             "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=",
    1411             "dev": true,
    1412             "requires": {
    1413                 "exit": "0.1.2",
    1414                 "glob": "^7.1.1"
    1415             }
    1416         },
    1417         "cli-cursor": {
    1418             "version": "2.1.0",
    1419             "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
    1420             "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
    1421             "dev": true,
    1422             "requires": {
    1423                 "restore-cursor": "^2.0.0"
    1424             }
    1425         },
    1426         "cli-width": {
    1427             "version": "2.2.1",
    1428             "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
    1429             "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
    1430             "dev": true
    1431         },
    1432         "clone-response": {
    1433             "version": "1.0.2",
    1434             "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
    1435             "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
    1436             "dev": true,
    1437             "optional": true,
    1438             "requires": {
    1439                 "mimic-response": "^1.0.0"
    1440             }
    1441         },
    1442         "coa": {
    1443             "version": "2.0.2",
    1444             "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
    1445             "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
    1446             "dev": true,
    1447             "optional": true,
    1448             "requires": {
    1449                 "@types/q": "^1.5.1",
    1450                 "chalk": "^2.4.1",
    1451                 "q": "^1.1.2"
    1452             },
    1453             "dependencies": {
    1454                 "ansi-styles": {
    1455                     "version": "3.2.1",
    1456                     "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
    1457                     "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
    1458                     "dev": true,
    1459                     "optional": true,
    1460                     "requires": {
    1461                         "color-convert": "^1.9.0"
    1462                     }
    1463                 },
    1464                 "chalk": {
    1465                     "version": "2.4.2",
    1466                     "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
    1467                     "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
    1468                     "dev": true,
    1469                     "optional": true,
    1470                     "requires": {
    1471                         "ansi-styles": "^3.2.1",
    1472                         "escape-string-regexp": "^1.0.5",
    1473                         "supports-color": "^5.3.0"
    1474                     }
    1475                 },
    1476                 "color-convert": {
    1477                     "version": "1.9.3",
    1478                     "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
    1479                     "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
    1480                     "dev": true,
    1481                     "optional": true,
    1482                     "requires": {
    1483                         "color-name": "1.1.3"
    1484                     }
    1485                 },
    1486                 "color-name": {
    1487                     "version": "1.1.3",
    1488                     "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
    1489                     "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
    1490                     "dev": true,
    1491                     "optional": true
    1492                 },
    1493                 "has-flag": {
    1494                     "version": "3.0.0",
    1495                     "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
    1496                     "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
    1497                     "dev": true,
    1498                     "optional": true
    1499                 },
    1500                 "supports-color": {
    1501                     "version": "5.5.0",
    1502                     "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
    1503                     "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
    1504                     "dev": true,
    1505                     "optional": true,
    1506                     "requires": {
    1507                         "has-flag": "^3.0.0"
    1508                     }
    1509                 }
    1510             }
    1511         },
    1512         "collection-visit": {
    1513             "version": "1.0.0",
    1514             "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
    1515             "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
    1516             "dev": true,
    1517             "requires": {
    1518                 "map-visit": "^1.0.0",
    1519                 "object-visit": "^1.0.0"
    1520             }
    1521         },
    1522         "color-convert": {
    1523             "version": "2.0.1",
    1524             "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
    1525             "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
    1526             "dev": true,
    1527             "requires": {
    1528                 "color-name": "~1.1.4"
    1529             }
    1530         },
    1531         "color-name": {
    1532             "version": "1.1.4",
    1533             "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
    1534             "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
    1535             "dev": true
    1536         },
    1537         "colors": {
    1538             "version": "1.1.2",
    1539             "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
    1540             "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
    1541             "dev": true
    1542         },
    1543         "combine-source-map": {
    1544             "version": "0.8.0",
    1545             "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
    1546             "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=",
    1547             "dev": true,
    1548             "requires": {
    1549                 "convert-source-map": "~1.1.0",
    1550                 "inline-source-map": "~0.6.0",
    1551                 "lodash.memoize": "~3.0.3",
    1552                 "source-map": "~0.5.3"
    1553             }
    1554         },
    1555         "combined-stream": {
    1556             "version": "1.0.8",
    1557             "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
    1558             "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
    1559             "dev": true,
    1560             "requires": {
    1561                 "delayed-stream": "~1.0.0"
    1562             }
    1563         },
    1564         "commander": {
    1565             "version": "2.20.3",
    1566             "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
    1567             "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
    1568             "dev": true
    1569         },
    1570         "component-emitter": {
    1571             "version": "1.3.0",
    1572             "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
    1573             "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
    1574             "dev": true
    1575         },
    1576         "compress-commons": {
    1577             "version": "4.0.2",
    1578             "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.0.2.tgz",
    1579             "integrity": "sha512-qhd32a9xgzmpfoga1VQEiLEwdKZ6Plnpx5UCgIsf89FSolyJ7WnifY4Gtjgv5WR6hWAyRaHxC5MiEhU/38U70A==",
    1580             "dev": true,
    1581             "requires": {
    1582                 "buffer-crc32": "^0.2.13",
    1583                 "crc32-stream": "^4.0.1",
    1584                 "normalize-path": "^3.0.0",
    1585                 "readable-stream": "^3.6.0"
    1586             },
    1587             "dependencies": {
    1588                 "normalize-path": {
    1589                     "version": "3.0.0",
    1590                     "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
    1591                     "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
    1592                     "dev": true
    15931623                },
    15941624                "readable-stream": {
     
    17401770            "dependencies": {
    17411771                "bn.js": {
    1742                     "version": "4.11.9",
    1743                     "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
    1744                     "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
     1772                    "version": "4.12.0",
     1773                    "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
     1774                    "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
    17451775                    "dev": true
    17461776                }
     
    21212151            "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
    21222152            "dev": true,
    2123             "optional": true,
    21242153            "requires": {
    21252154                "object-keys": "^1.0.12"
     
    22362265            "dependencies": {
    22372266                "bn.js": {
    2238                     "version": "4.11.9",
    2239                     "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
    2240                     "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
     2267                    "version": "4.12.0",
     2268                    "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
     2269                    "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
    22412270                    "dev": true
    22422271                }
     
    23992428            "dependencies": {
    24002429                "bn.js": {
    2401                     "version": "4.11.9",
    2402                     "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
    2403                     "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
     2430                    "version": "4.12.0",
     2431                    "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
     2432                    "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
    24042433                    "dev": true
    24052434                }
     
    24452474            "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==",
    24462475            "dev": true,
    2447             "optional": true,
    24482476            "requires": {
    24492477                "call-bind": "^1.0.2",
     
    24682496            "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
    24692497            "dev": true,
    2470             "optional": true,
    24712498            "requires": {
    24722499                "is-callable": "^1.1.4",
     
    25002527        },
    25012528        "events": {
    2502             "version": "2.1.0",
    2503             "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz",
    2504             "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==",
     2529            "version": "3.3.0",
     2530            "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
     2531            "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
    25052532            "dev": true
    25062533        },
     
    28902917            "dev": true
    28912918        },
    2892         "file-uri-to-path": {
    2893             "version": "1.0.0",
    2894             "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
    2895             "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
    2896             "dev": true,
    2897             "optional": true
    2898         },
    28992919        "filename-reserved-regex": {
    29002920            "version": "2.0.0",
     
    30043024        },
    30053025        "follow-redirects": {
    3006             "version": "1.13.2",
    3007             "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz",
    3008             "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==",
     3026            "version": "1.13.3",
     3027            "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz",
     3028            "integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==",
    30093029            "dev": true
    30103030        },
     
    30243044            }
    30253045        },
     3046        "foreach": {
     3047            "version": "2.0.5",
     3048            "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
     3049            "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
     3050            "dev": true
     3051        },
    30263052        "forever-agent": {
    30273053            "version": "0.6.1",
     
    30743100        },
    30753101        "fsevents": {
    3076             "version": "1.2.13",
    3077             "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
    3078             "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
    3079             "dev": true,
    3080             "optional": true,
    3081             "requires": {
    3082                 "bindings": "^1.5.0",
    3083                 "nan": "^2.12.1"
    3084             }
     3102            "version": "2.3.2",
     3103            "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
     3104            "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
     3105            "dev": true,
     3106            "optional": true
    30853107        },
    30863108        "function-bind": {
     
    31103132            "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
    31113133            "dev": true,
    3112             "optional": true,
    31133134            "requires": {
    31143135                "function-bind": "^1.1.1",
     
    34233444        },
    34243445        "grunt-browserify": {
    3425             "version": "5.3.0",
    3426             "resolved": "https://registry.npmjs.org/grunt-browserify/-/grunt-browserify-5.3.0.tgz",
    3427             "integrity": "sha1-R/2M+LrFj+LeaDr9xX9/OoDKeS0=",
     3446            "version": "6.0.0",
     3447            "resolved": "https://registry.npmjs.org/grunt-browserify/-/grunt-browserify-6.0.0.tgz",
     3448            "integrity": "sha512-m130pTVFEsxQZ+dJQd287TrnUI5VvEKJ+MmPjMF/7bVJBTBRWhJlYVFgBOYLZMUykfk1RWXfQ2sAQu5NuXumvg==",
    34283449            "dev": true,
    34293450            "requires": {
    34303451                "async": "^2.5.0",
    3431                 "browserify": "^16.0.0",
     3452                "browserify": "^17.0.0",
    34323453                "browserify-incremental": "^3.1.1",
    34333454                "glob": "^7.1.2",
    34343455                "lodash": "^4.17.4",
    34353456                "resolve": "^1.1.6",
    3436                 "watchify": "^3.6.1"
     3457                "watchify": "^4.0.0"
    34373458            },
    34383459            "dependencies": {
     
    36153636        },
    36163637        "grunt-contrib-cssmin": {
    3617             "version": "3.0.0",
    3618             "resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-3.0.0.tgz",
    3619             "integrity": "sha512-eXpooYmVGKMs/xV7DzTLgJFPVOfMuawPD3x0JwhlH0mumq2NtH3xsxaHxp1Y3NKxp0j0tRhFS6kSBRsz6TuTGg==",
    3620             "dev": true,
    3621             "requires": {
    3622                 "chalk": "^2.4.1",
    3623                 "clean-css": "~4.2.1",
    3624                 "maxmin": "^2.1.0"
    3625             },
    3626             "dependencies": {
    3627                 "ansi-styles": {
    3628                     "version": "3.2.1",
    3629                     "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
    3630                     "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
    3631                     "dev": true,
    3632                     "requires": {
    3633                         "color-convert": "^1.9.0"
    3634                     }
    3635                 },
    3636                 "chalk": {
    3637                     "version": "2.4.2",
    3638                     "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
    3639                     "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
    3640                     "dev": true,
    3641                     "requires": {
    3642                         "ansi-styles": "^3.2.1",
    3643                         "escape-string-regexp": "^1.0.5",
    3644                         "supports-color": "^5.3.0"
    3645                     }
    3646                 },
    3647                 "color-convert": {
    3648                     "version": "1.9.3",
    3649                     "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
    3650                     "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
    3651                     "dev": true,
    3652                     "requires": {
    3653                         "color-name": "1.1.3"
    3654                     }
    3655                 },
    3656                 "color-name": {
    3657                     "version": "1.1.3",
    3658                     "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
    3659                     "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
    3660                     "dev": true
    3661                 },
    3662                 "has-flag": {
     3638            "version": "4.0.0",
     3639            "resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-4.0.0.tgz",
     3640            "integrity": "sha512-jXU+Zlk8Q8XztOGNGpjYlD/BDQ0n95IHKrQKtFR7Gd8hZrzgqiG1Ra7cGYc8h2DD9vkSFGNlweb9Q00rBxOK2w==",
     3641            "dev": true,
     3642            "requires": {
     3643                "chalk": "^4.1.0",
     3644                "clean-css": "^5.0.1",
     3645                "maxmin": "^3.0.0"
     3646            },
     3647            "dependencies": {
     3648                "figures": {
     3649                    "version": "3.2.0",
     3650                    "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
     3651                    "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
     3652                    "dev": true,
     3653                    "requires": {
     3654                        "escape-string-regexp": "^1.0.5"
     3655                    }
     3656                },
     3657                "gzip-size": {
     3658                    "version": "5.1.1",
     3659                    "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz",
     3660                    "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==",
     3661                    "dev": true,
     3662                    "requires": {
     3663                        "duplexer": "^0.1.1",
     3664                        "pify": "^4.0.1"
     3665                    }
     3666                },
     3667                "maxmin": {
    36633668                    "version": "3.0.0",
    3664                     "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
    3665                     "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
    3666                     "dev": true
    3667                 },
    3668                 "supports-color": {
    3669                     "version": "5.5.0",
    3670                     "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
    3671                     "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
    3672                     "dev": true,
    3673                     "requires": {
    3674                         "has-flag": "^3.0.0"
     3669                    "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-3.0.0.tgz",
     3670                    "integrity": "sha512-wcahMInmGtg/7c6a75fr21Ch/Ks1Tb+Jtoan5Ft4bAI0ZvJqyOw8kkM7e7p8hDSzY805vmxwHT50KcjGwKyJ0g==",
     3671                    "dev": true,
     3672                    "requires": {
     3673                        "chalk": "^4.1.0",
     3674                        "figures": "^3.2.0",
     3675                        "gzip-size": "^5.1.1",
     3676                        "pretty-bytes": "^5.3.0"
    36753677                    }
    36763678                }
     
    40694071            "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
    40704072            "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
    4071             "dev": true,
    4072             "optional": true
     4073            "dev": true
    40734074        },
    40744075        "has-to-string-tag-x": {
     
    46044605            }
    46054606        },
     4607        "is-arguments": {
     4608            "version": "1.1.0",
     4609            "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz",
     4610            "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==",
     4611            "dev": true,
     4612            "requires": {
     4613                "call-bind": "^1.0.0"
     4614            }
     4615        },
    46064616        "is-arrayish": {
    46074617            "version": "0.2.1",
     
    46124622        },
    46134623        "is-binary-path": {
    4614             "version": "1.0.1",
    4615             "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
    4616             "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
    4617             "dev": true,
    4618             "requires": {
    4619                 "binary-extensions": "^1.0.0"
     4624            "version": "2.1.0",
     4625            "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
     4626            "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
     4627            "dev": true,
     4628            "requires": {
     4629                "binary-extensions": "^2.0.0"
    46204630            }
    46214631        },
     
    46304640            "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz",
    46314641            "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==",
    4632             "dev": true,
    4633             "optional": true
     4642            "dev": true
    46344643        },
    46354644        "is-core-module": {
     
    46664675            "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
    46674676            "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
    4668             "dev": true,
    4669             "optional": true
     4677            "dev": true
    46704678        },
    46714679        "is-descriptor": {
     
    47134721            "dev": true
    47144722        },
     4723        "is-generator-function": {
     4724            "version": "1.0.8",
     4725            "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz",
     4726            "integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==",
     4727            "dev": true
     4728        },
    47154729        "is-gif": {
    47164730            "version": "3.0.0",
     
    47504764            "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
    47514765            "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==",
    4752             "dev": true,
    4753             "optional": true
     4766            "dev": true
    47544767        },
    47554768        "is-number": {
     
    48084821            "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==",
    48094822            "dev": true,
    4810             "optional": true,
    48114823            "requires": {
    48124824                "call-bind": "^1.0.2",
     
    48524864            "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
    48534865            "dev": true,
    4854             "optional": true,
    4855             "requires": {
     4866            "requires": {
     4867                "has-symbols": "^1.0.1"
     4868            }
     4869        },
     4870        "is-typed-array": {
     4871            "version": "1.1.5",
     4872            "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz",
     4873            "integrity": "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==",
     4874            "dev": true,
     4875            "requires": {
     4876                "available-typed-arrays": "^1.0.2",
     4877                "call-bind": "^1.0.2",
     4878                "es-abstract": "^1.18.0-next.2",
     4879                "foreach": "^2.0.5",
    48564880                "has-symbols": "^1.0.1"
    48574881            }
     
    50135037            "dev": true
    50145038        },
    5015         "json-stable-stringify": {
    5016             "version": "0.0.1",
    5017             "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz",
    5018             "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=",
    5019             "dev": true,
    5020             "requires": {
    5021                 "jsonify": "~0.0.0"
    5022             }
    5023         },
    50245039        "json-stringify-safe": {
    50255040            "version": "5.0.1",
    50265041            "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
    50275042            "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
    5028             "dev": true
    5029         },
    5030         "jsonify": {
    5031             "version": "0.0.0",
    5032             "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
    5033             "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
    50345043            "dev": true
    50355044        },
     
    54695478            "dependencies": {
    54705479                "bn.js": {
    5471                     "version": "4.11.9",
    5472                     "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
    5473                     "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
     5480                    "version": "4.12.0",
     5481                    "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
     5482                    "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
    54745483                    "dev": true
    54755484                }
     
    56115620            "dev": true
    56125621        },
    5613         "nan": {
    5614             "version": "2.14.2",
    5615             "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz",
    5616             "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==",
    5617             "dev": true,
    5618             "optional": true
    5619         },
    56205622        "nanomatch": {
    56215623            "version": "1.2.13",
     
    56675669        },
    56685670        "normalize-path": {
    5669             "version": "2.1.1",
    5670             "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
    5671             "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
    5672             "dev": true,
    5673             "requires": {
    5674                 "remove-trailing-separator": "^1.0.1"
    5675             }
     5671            "version": "3.0.0",
     5672            "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
     5673            "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
     5674            "dev": true
    56765675        },
    56775676        "normalize-url": {
     
    58055804            "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz",
    58065805            "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==",
    5807             "dev": true,
    5808             "optional": true
     5806            "dev": true
    58095807        },
    58105808        "object-keys": {
     
    58125810            "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
    58135811            "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
    5814             "dev": true,
    5815             "optional": true
     5812            "dev": true
    58165813        },
    58175814        "object-visit": {
     
    58295826            "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
    58305827            "dev": true,
    5831             "optional": true,
    58325828            "requires": {
    58335829                "call-bind": "^1.0.0",
     
    61086104        },
    61096105        "path-browserify": {
    6110             "version": "0.0.1",
    6111             "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
    6112             "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
     6106            "version": "1.0.1",
     6107            "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
     6108            "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
    61136109            "dev": true
    61146110        },
     
    62096205            "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
    62106206            "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
     6207            "dev": true
     6208        },
     6209        "picomatch": {
     6210            "version": "2.2.2",
     6211            "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
     6212            "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
    62116213            "dev": true
    62126214        },
     
    63496351            "dependencies": {
    63506352                "bn.js": {
    6351                     "version": "4.11.9",
    6352                     "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
    6353                     "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
     6353                    "version": "4.12.0",
     6354                    "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
     6355                    "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
    63546356                    "dev": true
    63556357                }
     
    65776579        },
    65786580        "readdirp": {
    6579             "version": "2.2.1",
    6580             "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
    6581             "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
    6582             "dev": true,
    6583             "requires": {
    6584                 "graceful-fs": "^4.1.11",
    6585                 "micromatch": "^3.1.10",
    6586                 "readable-stream": "^2.0.2"
     6581            "version": "3.5.0",
     6582            "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
     6583            "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
     6584            "dev": true,
     6585            "requires": {
     6586                "picomatch": "^2.2.1"
    65876587            }
    65886588        },
     
    66166616                "safe-regex": "^1.1.0"
    66176617            }
    6618         },
    6619         "remove-trailing-separator": {
    6620             "version": "1.1.0",
    6621             "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
    6622             "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
    6623             "dev": true
    66246618        },
    66256619        "repeat-element": {
     
    68986892        },
    68996893        "sass": {
    6900             "version": "1.32.6",
    6901             "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.6.tgz",
    6902             "integrity": "sha512-1bcDHDcSqeFtMr0JXI3xc/CXX6c4p0wHHivJdru8W7waM7a1WjKMm4m/Z5sY7CbVw4Whi2Chpcw6DFfSWwGLzQ==",
     6894            "version": "1.32.8",
     6895            "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.8.tgz",
     6896            "integrity": "sha512-Sl6mIeGpzjIUZqvKnKETfMf0iDAswD9TNlv13A7aAF3XZlRPMq4VvJWBC2N2DXbp94MQVdNSFG6LfF/iOXrPHQ==",
    69036897            "dev": true,
    69046898            "requires": {
     
    69776971                "inherits": "^2.0.1",
    69786972                "safe-buffer": "^5.0.1"
    6979             }
    6980         },
    6981         "shasum": {
    6982             "version": "1.0.2",
    6983             "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
    6984             "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=",
    6985             "dev": true,
    6986             "requires": {
    6987                 "json-stable-stringify": "~0.0.0",
    6988                 "sha.js": "~2.4.4"
    69896973            }
    69906974        },
     
    73697353        },
    73707354        "stream-browserify": {
    7371             "version": "2.0.2",
    7372             "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
    7373             "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
    7374             "dev": true,
    7375             "requires": {
    7376                 "inherits": "~2.0.1",
    7377                 "readable-stream": "^2.0.2"
     7355            "version": "3.0.0",
     7356            "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz",
     7357            "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==",
     7358            "dev": true,
     7359            "requires": {
     7360                "inherits": "~2.0.4",
     7361                "readable-stream": "^3.5.0"
     7362            },
     7363            "dependencies": {
     7364                "readable-stream": {
     7365                    "version": "3.6.0",
     7366                    "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
     7367                    "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
     7368                    "dev": true,
     7369                    "requires": {
     7370                        "inherits": "^2.0.3",
     7371                        "string_decoder": "^1.1.1",
     7372                        "util-deprecate": "^1.0.1"
     7373                    }
     7374                }
    73787375            }
    73797376        },
     
    74747471            "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==",
    74757472            "dev": true,
    7476             "optional": true,
    74777473            "requires": {
    74787474                "call-bind": "^1.0.0",
     
    74857481            "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==",
    74867482            "dev": true,
    7487             "optional": true,
    74887483            "requires": {
    74897484                "call-bind": "^1.0.0",
     
    80408035            }
    80418036        },
    8042         "upath": {
    8043             "version": "1.2.0",
    8044             "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
    8045             "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
    8046             "dev": true
    8047         },
    80488037        "uri-js": {
    80498038            "version": "4.4.1",
     
    81178106        },
    81188107        "util": {
    8119             "version": "0.10.4",
    8120             "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
    8121             "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
    8122             "dev": true,
    8123             "requires": {
    8124                 "inherits": "2.0.3"
    8125             },
    8126             "dependencies": {
    8127                 "inherits": {
    8128                     "version": "2.0.3",
    8129                     "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
    8130                     "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
    8131                     "dev": true
    8132                 }
     8108            "version": "0.12.3",
     8109            "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz",
     8110            "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==",
     8111            "dev": true,
     8112            "requires": {
     8113                "inherits": "^2.0.3",
     8114                "is-arguments": "^1.0.4",
     8115                "is-generator-function": "^1.0.7",
     8116                "is-typed-array": "^1.1.3",
     8117                "safe-buffer": "^5.1.2",
     8118                "which-typed-array": "^1.1.2"
    81338119            }
    81348120        },
     
    82188204        },
    82198205        "wait-on": {
    8220             "version": "5.2.1",
    8221             "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-5.2.1.tgz",
    8222             "integrity": "sha512-H2F986kNWMU9hKlI9l/ppO6tN8ZSJd35yBljMLa1/vjzWP++Qh6aXyt77/u7ySJFZQqBtQxnvm/xgG48AObXcw==",
     8206            "version": "5.3.0",
     8207            "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-5.3.0.tgz",
     8208            "integrity": "sha512-DwrHrnTK+/0QFaB9a8Ol5Lna3k7WvUR4jzSKmz0YaPBpuN2sACyiPVKVfj6ejnjcajAcvn3wlbTyMIn9AZouOg==",
    82238209            "dev": true,
    82248210            "requires": {
    82258211                "axios": "^0.21.1",
    82268212                "joi": "^17.3.0",
    8227                 "lodash": "^4.17.20",
     8213                "lodash": "^4.17.21",
    82288214                "minimist": "^1.2.5",
    82298215                "rxjs": "^6.6.3"
    82308216            },
    82318217            "dependencies": {
     8218                "lodash": {
     8219                    "version": "4.17.21",
     8220                    "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
     8221                    "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
     8222                    "dev": true
     8223                },
    82328224                "rxjs": {
    8233                     "version": "6.6.3",
    8234                     "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz",
    8235                     "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==",
     8225                    "version": "6.6.7",
     8226                    "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
     8227                    "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
    82368228                    "dev": true,
    82378229                    "requires": {
     
    82428234        },
    82438235        "watchify": {
    8244             "version": "3.11.1",
    8245             "resolved": "https://registry.npmjs.org/watchify/-/watchify-3.11.1.tgz",
    8246             "integrity": "sha512-WwnUClyFNRMB2NIiHgJU9RQPQNqVeFk7OmZaWf5dC5EnNa0Mgr7imBydbaJ7tGTuPM2hz1Cb4uiBvK9NVxMfog==",
    8247             "dev": true,
    8248             "requires": {
    8249                 "anymatch": "^2.0.0",
    8250                 "browserify": "^16.1.0",
    8251                 "chokidar": "^2.1.1",
     8236            "version": "4.0.0",
     8237            "resolved": "https://registry.npmjs.org/watchify/-/watchify-4.0.0.tgz",
     8238            "integrity": "sha512-2Z04dxwoOeNxa11qzWumBTgSAohTC0+ScuY7XMenPnH+W2lhTcpEOJP4g2EIG/SWeLadPk47x++Yh+8BqPM/lA==",
     8239            "dev": true,
     8240            "requires": {
     8241                "anymatch": "^3.1.0",
     8242                "browserify": "^17.0.0",
     8243                "chokidar": "^3.4.0",
    82528244                "defined": "^1.0.0",
    82538245                "outpipe": "^1.1.0",
    8254                 "through2": "^2.0.0",
    8255                 "xtend": "^4.0.0"
     8246                "through2": "^4.0.2",
     8247                "xtend": "^4.0.2"
     8248            },
     8249            "dependencies": {
     8250                "readable-stream": {
     8251                    "version": "3.6.0",
     8252                    "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
     8253                    "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
     8254                    "dev": true,
     8255                    "requires": {
     8256                        "inherits": "^2.0.3",
     8257                        "string_decoder": "^1.1.1",
     8258                        "util-deprecate": "^1.0.1"
     8259                    }
     8260                },
     8261                "through2": {
     8262                    "version": "4.0.2",
     8263                    "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz",
     8264                    "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==",
     8265                    "dev": true,
     8266                    "requires": {
     8267                        "readable-stream": "3"
     8268                    }
     8269                }
    82568270            }
    82578271        },
     
    82828296            }
    82838297        },
     8298        "which-typed-array": {
     8299            "version": "1.1.4",
     8300            "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz",
     8301            "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==",
     8302            "dev": true,
     8303            "requires": {
     8304                "available-typed-arrays": "^1.0.2",
     8305                "call-bind": "^1.0.0",
     8306                "es-abstract": "^1.18.0-next.1",
     8307                "foreach": "^2.0.5",
     8308                "function-bind": "^1.1.1",
     8309                "has-symbols": "^1.0.1",
     8310                "is-typed-array": "^1.1.3"
     8311            }
     8312        },
    82848313        "wrappy": {
    82858314            "version": "1.0.2",
  • branches/4.2/package.json

    r50246 r50642  
    1818        "grunt": "~1.3.0",
    1919        "grunt-autoprefixer": "~3.0.0",
    20         "grunt-browserify": "~5.3.0",
     20        "grunt-browserify": "~6.0.0",
    2121        "grunt-contrib-clean": "~2.0.0",
    2222        "grunt-contrib-compress": "~2.0.0",
    2323        "grunt-contrib-concat": "1.0.1",
    2424        "grunt-contrib-copy": "~1.0.0",
    25         "grunt-contrib-cssmin": "~3.0.0",
     25        "grunt-contrib-cssmin": "~4.0.0",
    2626        "grunt-contrib-imagemin": "~4.0.0",
    2727        "grunt-contrib-jshint": "3.0.0",
     
    3636        "grunt-sass": "~3.1.0",
    3737        "matchdep": "~2.0.0",
    38         "sass": "^1.32.6",
    39         "wait-on": "5.2.1"
     38        "sass": "^1.32.8",
     39        "wait-on": "^5.3.0"
    4040    },
    4141    "scripts": {
Note: See TracChangeset for help on using the changeset viewer.