.dockerignore000066400000000000000000000001041516104173600135310ustar00rootroot00000000000000.git/ node_modules/ vendor/ var/cache var/logs var/log var/sessions .editorconfig000066400000000000000000000004501516104173600135360ustar00rootroot00000000000000# editorconfig.org root = true [*] indent_style = space indent_size = 2 end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true [*.{js,html,twig,yaml}] indent_size = 2 [*.{php}] indent_style = space indent_size = 4 [*.md] trim_trailing_whitespace = false .env.dist000066400000000000000000000001071516104173600126130ustar00rootroot00000000000000APP_ENV=dev APP_SECRET=foobar DEFAULT_REPOSITORY_DIR=/var/repositories .github/000077500000000000000000000000001516104173600124225ustar00rootroot00000000000000.github/workflows/000077500000000000000000000000001516104173600144575ustar00rootroot00000000000000.github/workflows/build.yml000066400000000000000000000060071516104173600163040ustar00rootroot00000000000000name: Build on: [push, pull_request] jobs: backend: runs-on: ubuntu-latest strategy: matrix: php: [8.1, 8.2] steps: - uses: actions/checkout@v2 - name: Validate composer.json and composer.lock run: composer validate --strict --no-check-version - name: Cache Composer packages id: composer-cache uses: actions/cache@v2 with: path: vendor key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} restore-keys: | ${{ runner.os }}-php- - name: Install dependencies run: composer install --prefer-dist --no-progress - name: Run unit test suite run: composer run-script unit - name: Validate coding standards run: composer run-script cs - name: Run linters run: composer run-script lint - name: Run static analysis run: composer run-script stan frontend: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup Node.js environment uses: actions/setup-node@v2.5.1 with: node-version: '16' - name: Install frontend dependencies run: npm install - name: Run frontend test suite run: npm test acceptance: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Cache Composer packages id: composer-cache uses: actions/cache@v2 with: path: vendor key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} restore-keys: | ${{ runner.os }}-php- - name: Setup Node.js environment uses: actions/setup-node@v2.5.1 with: node-version: '16' - name: Install dependencies run: composer install --prefer-dist --no-progress && npm install - name: Build frontend assets run: npm run build - name: Run application server run: echo 'deb [trusted=yes] https://repo.symfony.com/apt/ /' | sudo tee /etc/apt/sources.list.d/symfony-cli.list && sudo apt update && sudo apt install symfony-cli && APP_ENV=prod DEFAULT_REPOSITORY_DIR=${{ github.workspace }}/tests/fixtures symfony server:start --port=8880 -d - name: Run Cypress acceptance tests uses: cypress-io/github-action@v2 release: if: startsWith(github.ref, 'refs/tags/') runs-on: ubuntu-latest needs: [backend, frontend] steps: - name: Checkout uses: actions/checkout@v2 - name: Setup Node.js environment uses: actions/setup-node@v2.5.1 with: node-version: '16' - name: Install frontend dependencies run: npm install - name: Build package run: make build - name: Rename package to current tag run: mv build.zip gitlist-${{ github.ref_name }}.zip - name: Release uses: softprops/action-gh-release@v1 with: generate_release_notes: true files: gitlist-${{ github.ref_name }}.zip .github/workflows/legacy.yml000066400000000000000000000025221516104173600164470ustar00rootroot00000000000000name: Legacy Build on: workflow_dispatch: ~ push: branches: - legacy tags: - 1.** pull_request: branches: - legacy jobs: build: runs-on: ubuntu-latest strategy: matrix: php: - 7.4 - 8.0 - 8.1 steps: - uses: actions/checkout@v2 - name: Validate composer.json and composer.lock run: composer validate --strict - name: Cache Composer packages id: composer-cache uses: actions/cache@v2 with: path: vendor key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} restore-keys: | ${{ runner.os }}-php- - name: Install dependencies run: composer install --prefer-dist --no-progress - name: Run test suite run: composer run-script test release: if: startsWith(github.ref, 'refs/tags/1') runs-on: ubuntu-latest needs: [build] steps: - name: Checkout uses: actions/checkout@v2 - name: Build package run: make build - name: Rename package to current tag run: mv build.zip gitlist-${{ github.ref_name }}.zip - name: Release uses: softprops/action-gh-release@v1 with: generate_release_notes: true files: gitlist-${{ github.ref_name }}.zip .github/workflows/nightly.yml000066400000000000000000000014231516104173600166600ustar00rootroot00000000000000name: Nightly Build on: workflow_dispatch: ~ schedule: - cron: '0 0 * * *' jobs: release: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Setup Node.js environment uses: actions/setup-node@v2.5.1 with: node-version: '16' - name: Install frontend dependencies run: npm install - name: Build package run: make build - name: Rename package run: mv build.zip gitlist-nightly.zip - name: Release uses: softprops/action-gh-release@v1 with: name: nightly tag_name: nightly prerelease: true body: Nightly release generated from `master` at 12 AM UTC. files: gitlist-nightly.zip .gitignore000066400000000000000000000002741516104173600130550ustar00rootroot00000000000000public/bundles/ public/assets/ var/ vendor/ node_modules/ .env docker-compose.override.yml npm-debug.log yarn-error.log .php_cs.cache .phpunit.result.cache .php-cs-fixer.cache phpunit.xml .php-cs-fixer.php000066400000000000000000000006521516104173600141610ustar00rootroot00000000000000in(__DIR__ . '/src') ->in(__DIR__ . '/tests') ; $config = new PhpCsFixer\Config(); return $config->setRules([ '@Symfony' => true, 'global_namespace_import' => [ 'import_classes' => true, 'import_constants' => false, 'import_functions' => false, ], ]) ->setRiskyAllowed(true) ->setFinder($finder) ; .prettierrc000066400000000000000000000000321516104173600132410ustar00rootroot00000000000000{ "singleQuote": true } LICENSE000066400000000000000000000027051516104173600120730ustar00rootroot00000000000000Copyright (c) 2012, Klaus Silveira and contributors All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of GitList nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Makefile000066400000000000000000000054421516104173600125270ustar00rootroot00000000000000.PHONY: help .DEFAULT_GOAL := help NAME := gitlist VERSION := $(shell git show -s --format=%h) EXEC_DOCKER ?= docker-compose exec -T EXEC_PHP ?= $(EXEC_DOCKER) php-fpm EXEC_NODE ?= $(EXEC_DOCKER) node EXEC_WEB ?= $(EXEC_DOCKER) web help: # Display the application manual @echo -e "$(NAME) version \033[33m$(VERSION)\n\e[0m" @echo -e "\033[1;37mUSAGE\e[0m" @echo -e " \e[4mmake\e[0m [] ... []\n" @echo -e "\033[1;37mAVAILABLE COMMANDS\e[0m" @grep -E '^[a-zA-Z_-]+:.*?# .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?# "}; {printf " \033[32m%-20s\033[0m %s\n", $$1, $$2}' check-deps: check-local-overrides @if ! [ -x "$$(command -v docker-compose)" ]; then\ echo -e '\n\033[0;31mdocker-compose is not installed.';\ exit 1;\ else\ echo -e "\033[0;32mdocker-compose installed\033[0m";\ fi setup: check-deps # Setup dependencies and development configuration @docker-compose pull || true @docker-compose up -d --build $(EXEC_PHP) composer install up: # Create and start containers @docker-compose up -d clean: # Cleanup containers and build artifacts @docker-compose down $(MAKE) setup bash: # Start a bash session in the PHP container @docker-compose exec php-fpm /bin/bash test: # Run automated test suite $(EXEC_PHP) composer test $(EXEC_NODE) npm run test acceptance:# Run acceptance test suite $(EXEC_NODE) npm run cypress show-app: # Open applicatipn in your browser xdg-open http://$$(docker-compose port webserver 80)/ update: # Update dependencies $(EXEC_PHP) composer update format: # Run code style autoformatter $(EXEC_PHP) composer format build: # Build application package @rm -rf vendor/ @rm -rf public/assets/* @composer install --ignore-platform-reqs --no-dev --no-scripts -o @npm run build @zip ./build.zip \ -r * .[^.]* \ -x '.github/*' \ -x 'bin/*' \ -x 'docker/*' \ -x 'node_modules/*' \ -x 'tests/' \ -x 'var/cache/*' \ -x 'var/log/*' \ -x '.dockerignore' \ -x '.editorconfig' \ -x '.env' \ -x '.env.dist' \ -x '.git/*' \ -x '.gitignore' \ -x '.php-cs-fixer.cache' \ -x '.php-cs-fixer.php' \ -x '.phpunit.result.cache' \ -x '.prettierrc' \ -x 'composer.json' \ -x 'composer.lock' \ -x 'docker-compose.override.yml' \ -x 'docker-compose.override.yml.dist' \ -x 'docker-compose.yml' \ -x 'Makefile' \ -x 'package-lock.json' \ -x 'package.json' \ -x 'phpstan.neon' \ -x 'phpunit.xml.dist' \ -x 'postcss.config.js' \ -x 'webpack.config.js' \ fix-perms: sudo setfacl -R -m u:root:rwX -m u:`whoami`:rwX var/cache var/log vendor/ sudo setfacl -dR -m u:root:rwx -m u:`whoami`:rwx var/cache var/log vendor/ check-local-overrides: @$(MAKE) --quiet .env @$(MAKE) --quiet docker-compose.override.yml docker-compose.override.yml: @ln -s --backup=none docker-compose.override.yml.dist $@ .env: @ln -s --backup=none .env.dist $@ README.md000066400000000000000000000122171516104173600123440ustar00rootroot00000000000000# GitList: an elegant git repository viewer ![Build Status](https://github.com/klaussilveira/gitlist/actions/workflows/build.yml/badge.svg) [![GitHub release](https://img.shields.io/github/release/klaussilveira/gitlist.svg)](https://github.com/klaussilveira/gitlist/releases/latest) [![License](https://img.shields.io/github/license/klaussilveira/gitlist)](https://github.com/klaussilveira/gitlist/blob/master/LICENSE) [![Crowdin](https://badges.crowdin.net/gitlist/localized.svg)](https://crowdin.com/project/gitlist) GitList is an elegant and modern web interface for interacting with multiple git repositories. It allows you to browse repositories using your favorite browser, viewing files under different revisions, commit history, diffs. It also generates RSS/Atom feeds for each repository, allowing you to stay up-to-date with the latest changes anytime, anywhere. GitList was written in PHP, on top of the [Symfony](https://symfony.com) framework and powered by the Twig template engine. This means that GitList is easy to install and easy to customize. Also, the GitList interface was made possible due to [Bootstrap](https://getbootstrap.com). ## Features * Multiple repository support * Multiple branch support * Multiple tag support * Commit history, blame, diff * RSS/Atom feeds * Syntax highlighting via CodeMirror or Ace * Repository statistics ## Screenshots ## Requirements In order to run GitList on your server, you'll need: * PHP 8.1 * git 2 * Webserver (Apache, nginx) ## Installation * Download the [latest release](https://github.com/klaussilveira/gitlist/releases) or the [nightly build](https://github.com/klaussilveira/gitlist/releases/download/nightly/gitlist-nightly.zip) and decompress to your `/var/www/gitlist` folder, or anywhere else you want to place GitList. * Do not use the source release, or download a branch or tag from GitHub. It is not suited for end-users, only development. * Open up the `config/config.yml` and configure your installation. You'll have to provide where your repositories are located. * Alternatively, you can export the environment variable `DEFAULT_REPOSITORY_DIR` with the directory containing your repositories * Create the cache and log folder and give it read/write permissions to your web server user: ``` cd /var/www/gitlist mkdir -p var/cache chmod 777 var/cache mkdir -p var/log chmod 777 var/log ``` * Point your webserver to the `/var/www/gitlist/public` folder, where `index.php` is. That's it, installation complete! If you're having problems, check the [Troubleshooting](https://github.com/klaussilveira/gitlist/wiki/Troubleshooting) page. ## Development GitList comes with a Docker Compose configuration intended for development purposes. It contains a PHP image with all necessary extensions, as well as a Node image for frontend assets. To get started, just clone the repo and run the setup script: ```bash git clone https://github.com/klaussilveira/gitlist.git make setup ``` It should take care of letting you know what is missing, if anything. Once finished, run the test suite to make sure everything is in order: ```bash make test make acceptance ``` There are other commands available. To learn more: ```bash make help ``` ## Contributing If you are a developer, we need your help. GitList is small, but we have lots of stuff to do. Some developers are contributing with new features, others with bug fixes. But you can also dedicate yourself to refactoring the current codebase and improving what we already have. This is very important, we want GitList to be a state-of-the-art application, and we need your help for that. * Stay tuned to possible bugs, suboptimal code, duplicated code, overcomplicated expressions and unused code * Improve the test coverage by creating unit and functional tests If you are not a developer, you can also contribute by helping [translate GitList](https://crowdin.com/project/gitlist). ## Further information If you want to know more about customizing GitList, check the [Customization](https://github.com/klaussilveira/gitlist/wiki/Customizing) page on the wiki. Also, if you're having problems with GitList, check the [Troubleshooting](https://github.com/klaussilveira/gitlist/wiki/Troubleshooting) page. Don't forget to report issues and suggest new features! :) ## Legacy GitList was born in [May 2012](https://github.com/klaussilveira/gitlist/commit/df43c987cf02a3521ac65cf5bd4a4f54cf749177), a time were Composer was still a novelty and Silex was all the rage. We have tried to maintain GitList as-is for as long as possible, but the PHP ecosystem changed so much in all those years that it became too time consuming to maintain it. Thus, `2.0` was born on top of Symfony 6 and we'll keep moving with the times. Legacy, however, is still [available here](https://github.com/klaussilveira/gitlist/tree/legacy) and we will try to keep it secure and working on newer PHP versions. assets/000077500000000000000000000000001516104173600123645ustar00rootroot00000000000000assets/themes/000077500000000000000000000000001516104173600136515ustar00rootroot00000000000000assets/themes/default/000077500000000000000000000000001516104173600152755ustar00rootroot00000000000000assets/themes/default/assets/000077500000000000000000000000001516104173600165775ustar00rootroot00000000000000assets/themes/default/assets/js/000077500000000000000000000000001516104173600172135ustar00rootroot00000000000000assets/themes/default/assets/js/main.js000066400000000000000000000053721516104173600205040ustar00rootroot00000000000000var bootstrap = require('bootstrap'); document.addEventListener('DOMContentLoaded', function () { // Initialize all dropdowns var dropdowns = [].slice.call( document.querySelectorAll('[data-bs-toggle="dropdown"]') ); dropdowns.map(function (el) { return new bootstrap.Dropdown(el); }); // Initialize all tooltip var tooltip = [].slice.call( document.querySelectorAll('[data-bs-toggle="tooltip"]') ); tooltip.map(function (el) { return new bootstrap.Tooltip(el); }); // Initialize all popovers var popovers = [].slice.call( document.querySelectorAll('[data-bs-toggle="popover"]') ); popovers.map(function (el) { return new bootstrap.Popover(el); }); // Initialize commit body popover var commitBody = [].slice.call( document.querySelectorAll('[data-toggle="commit-body"]') ); commitBody.map(function (el) { return new bootstrap.Popover(el, { template: '', }); }); // Initialize tabs var reflist = [].slice.call(document.querySelectorAll('#reflist button')); reflist.forEach(function (el) { var tab = new bootstrap.Tab(el); el.addEventListener('click', function (event) { event.preventDefault(); tab.show(); }); }); var reflistInput = [].slice.call( document.querySelectorAll('.ref-list input') ); reflistInput.forEach(function (el) { el.addEventListener('input', function (event) { // Check if datalist option is valid [].slice .call(document.getElementById('refs').options) .forEach(function (option) { if (option.value != event.target.value) { return; } window.location = option.dataset.target; }); }); }); // Initialize clone input var cloneInput = [].slice.call(document.querySelectorAll('.clone-input')); cloneInput.map(function (el) { var dropdown = new bootstrap.Dropdown( el.querySelector('[data-toggle="clone-input"]') ); var input = el.querySelector('input'); var toggle = el.querySelector('.dropdown-toggle'); input.addEventListener('click', function (e) { input.select(); }); el.querySelector('button').addEventListener('click', function (e) { input.select(); document.execCommand('copy'); dropdown.toggle(); }); var dropdownItems = [].slice.call(el.querySelectorAll('.dropdown-item')); dropdownItems.map(function (el) { el.addEventListener('click', function (e) { input.value = el.dataset.cloneUrl; toggle.innerText = el.innerText; input.select(); document.execCommand('copy'); dropdown.toggle(); }); }); }); }); assets/themes/default/assets/scss/000077500000000000000000000000001516104173600175525ustar00rootroot00000000000000assets/themes/default/assets/scss/blame.scss000066400000000000000000000016241516104173600215320ustar00rootroot00000000000000$blame-hover-bg: #fffbdd !default; $blame-hunk-bg: $gray-200 !default; $blame-hunk-color: $gray-500 !default; $blame-line-border: $gray-300 !default; $blame-line-color: $gray-500 !default; .blame-lines { border-spacing: 0; border: 0; margin: 0; pre { margin: 0; border: 0; padding: 0 0 0 0.5rem; width: inherit; &:hover { background-color: $blame-hover-bg; } } tr { border-bottom: 1px solid $blame-line-border; } td { padding: 1rem; border: 0; } .author-info { p { margin: 0; } border-right: 1px solid $blame-line-border; padding: 0.2rem 0.75rem; } .line-number { color: $blame-line-color; padding: 0 0.5rem; text-align: right; border-right: 1px solid $blame-line-border; font-family: $font-family-monospace; a { color: inherit; } } .line { padding: 0; width: 100%; } } assets/themes/default/assets/scss/bootstrap.scss000066400000000000000000000022551516104173600224700ustar00rootroot00000000000000// Configuration @import '~bootstrap/scss/functions'; @import '~bootstrap/scss/variables'; @import '~bootstrap/scss/mixins'; @import '~bootstrap/scss/utilities'; // Layout & components @import '~bootstrap/scss/root'; @import '~bootstrap/scss/reboot'; @import '~bootstrap/scss/type'; @import '~bootstrap/scss/images'; @import '~bootstrap/scss/containers'; @import '~bootstrap/scss/grid'; @import '~bootstrap/scss/tables'; @import '~bootstrap/scss/forms'; @import '~bootstrap/scss/buttons'; @import '~bootstrap/scss/transitions'; @import '~bootstrap/scss/dropdown'; @import '~bootstrap/scss/button-group'; @import '~bootstrap/scss/nav'; @import '~bootstrap/scss/navbar'; @import '~bootstrap/scss/card'; @import '~bootstrap/scss/breadcrumb'; @import '~bootstrap/scss/pagination'; @import '~bootstrap/scss/badge'; @import '~bootstrap/scss/alert'; @import '~bootstrap/scss/progress'; @import '~bootstrap/scss/list-group'; @import '~bootstrap/scss/close'; @import '~bootstrap/scss/toasts'; @import '~bootstrap/scss/tooltip'; @import '~bootstrap/scss/popover'; @import '~bootstrap/scss/placeholders'; // Helpers @import '~bootstrap/scss/helpers'; // Utilities @import '~bootstrap/scss/utilities/api'; assets/themes/default/assets/scss/breadcrumb.scss000066400000000000000000000001161516104173600225530ustar00rootroot00000000000000.breadcrumb { font-size: $font-size-lg; margin: 0; margin-left: 1rem; } assets/themes/default/assets/scss/buttons.scss000066400000000000000000000055441516104173600221550ustar00rootroot00000000000000@mixin gradient-generator($color: null) { background-color: $color; @include gradient-y($color, shade-color($color, 10%)); } @mixin button-generator( $background, $border: shade-color($background, 15%), $color: tint-color(color-contrast($background), 10%), $hover-background: if( $color == $color-contrast-light, shade-color($background, $btn-hover-bg-shade-amount), tint-color($background, $btn-hover-bg-tint-amount) ), $hover-border: if( $color == $color-contrast-light, shade-color($border, $btn-hover-border-shade-amount), tint-color($border, $btn-hover-border-tint-amount) ), $hover-color: color-contrast($hover-background), $active-background: if( $color == $color-contrast-light, shade-color($background, $btn-active-bg-shade-amount), tint-color($background, $btn-active-bg-tint-amount) ), $active-border: if( $color == $color-contrast-light, shade-color($border, $btn-active-border-shade-amount), tint-color($border, $btn-active-border-tint-amount) ), $active-color: color-contrast($active-background), $disabled-background: $background, $disabled-border: $border, $disabled-color: color-contrast($disabled-background) ) { color: $color; @include gradient-generator($background); border-color: $border; border-bottom-color: shade-color($border, 15%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); text-shadow: 0 1px 1px rgba(color-contrast($color), 0.75); .btn-check:focus + &, &:focus, &:hover { color: $hover-color; @include gradient-generator(shade-color($background, 15%)); border-color: $border; border-bottom-color: shade-color($border, 15%); outline: 0; } .btn-check:checked + &, .btn-check:active + &, &:active, &.active, .show > &.dropdown-toggle { color: $active-color; background-color: $active-background; background-image: none; border-color: $active-border; border-bottom-color: shade-color($active-border, 15%); box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); outline: 0; } &:disabled, &.disabled { color: $disabled-color; background-color: $disabled-background; background-image: none; border-color: $disabled-border; border-bottom-color: shade-color($disabled-border, 15%); box-shadow: none; text-shadow: none; } } @each $color, $value in $theme-colors { .btn-#{$color} { @include button-generator($value); } } .btn-blend-left { border: $input-border-width solid $input-group-addon-border-color; border-left: 0; border-bottom-left-radius: 0; border-top-left-radius: 0; } .btn-blend-right { border: $input-border-width solid $input-group-addon-border-color; border-right: 0; border-bottom-right-radius: 0; border-top-right-radius: 0; } assets/themes/default/assets/scss/card.scss000066400000000000000000000032511516104173600213610ustar00rootroot00000000000000.card-header { color: $dark; background-color: $secondary; @include gradient-y($secondary, shade-color($secondary, 5%)); border-bottom: 1px solid shade-color($secondary, 10%); } .card-body-diff { padding: 0; margin: 0; overflow: clip; overflow-x: scroll; } .card-body { textarea { width: 100%; height: 600px; } } .card-body-markdown { padding: 2rem; > *:first-child { margin-top: 0 !important; } > *:last-child { margin-bottom: 0 !important; } p, blockquote, ul, ol, dl, table, pre, details { margin-top: 0; margin-bottom: $spacer; } h1, h2, h3, h4, h5, h6 { margin-top: $spacer * 1.5; margin-bottom: $spacer; font-weight: $font-weight-bold; tt, code { padding: 0 0.2rem; font-size: inherit; } } h1 { padding-bottom: 0.3rem; font-size: 2rem; border-bottom: $border-width solid $border-color; } h2 { padding-bottom: 0.3rem; font-size: 1.5rem; border-bottom: $border-width solid $border-color; } h3 { font-size: 1.25rem; } h4 { font-size: 1rem; } h5 { font-size: 0.875rem; } h6 { font-size: 0.85rem; } pre { background-color: $code-bg; border-radius: $code-border-radius; padding: $spacer; br { display: none; } code { display: block; } } code { background-color: $code-bg; border-radius: $code-border-radius; margin: 0; padding: 0.2rem 0.4rem; } blockquote { padding: 0 $spacer; border-left: 0.25rem solid $border-color; > :first-child { margin-top: 0; } > :last-child { margin-bottom: 0; } } } assets/themes/default/assets/scss/commit.scss000066400000000000000000000002571516104173600217430ustar00rootroot00000000000000.commit-body-popover { max-width: none; .popover-body { display: block; unicode-bidi: embed; font-family: $font-family-monospace; white-space: pre; } } assets/themes/default/assets/scss/diff.scss000066400000000000000000000017441516104173600213650ustar00rootroot00000000000000$diff-add-bg: #cdffd8 !default; $diff-delete-bg: #ffdce0 !default; $diff-hover-bg: #fffbdd !default; $diff-hunk-bg: $gray-200 !default; $diff-hunk-color: $gray-500 !default; $diff-line-border: $gray-300 !default; $diff-line-color: $gray-500 !default; .diff-lines { border-spacing: 0; border: 0; margin: 0; pre { margin: 0; border: 0; padding: 0 0 0 0.5rem; width: inherit; &:hover { background-color: $diff-hover-bg; } } td { padding: 0; border: 0; } .hunk { background-color: $diff-hunk-bg; color: $diff-hunk-color; } .add { background-color: $diff-add-bg; } .delete { background-color: $diff-delete-bg; } .line-number { color: $diff-line-color; padding: 0 0.5rem; text-align: right; border-right: 1px solid $diff-line-border; font-family: $font-family-monospace; font-size: $font-size-sm; a { color: inherit; } } .line { padding: 0; width: 100%; } } assets/themes/default/assets/scss/main.scss000066400000000000000000000025631516104173600214010ustar00rootroot00000000000000// Basic configuration $enable-gradients: true; $enable-print-styles: false; // Typography scale $font-size-root: 1rem; $font-size-base: 1rem; $font-size-sm: $font-size-base * 0.875; $font-size-md: $font-size-base * 1; $font-size-lg: $font-size-base * 1.25; $line-height-base: 1.5; $line-height-sm: 1.25; $line-height-lg: 2; $btn-font-weight: 700; // Colors $min-contrast-ratio: 2; $blue: #4078c0; $gray: #767676; $green: #6cc644; $orange: #c9510c; $purple: #6e5494; $red: #bd2c00; $cyan: #b8cbd4; // Theme $primary: $blue; $secondary: #fcfcfc; $success: $green; $info: $cyan; $warning: $orange; $danger: $red; $light: #999; $dark: #333; // Component colors $card-cap-bg: $secondary; $card-cap-color: $dark; $code-bg: #f5f5f5; $code-border-radius: 6px; @import 'bootstrap'; @import '~ionicons/dist/scss/ionicons'; @import 'buttons'; @import 'breadcrumb'; @import 'card'; @import 'navbar'; @import 'repository'; @import 'blame'; @import 'diff'; @import 'tree'; // Layout .module-row { margin-bottom: 1.5rem; margin-top: 1.5rem; } header { margin-bottom: 1rem; } .icon { margin-right: 0.25rem; } .icon-solo { margin-right: 0; } footer { color: tint-color($gray, 40%); margin: 2rem 0; a { color: inherit; } } // Editor styling fixes .CodeMirror { font-family: $font-family-monospace; color: $body-color; height: 600px; } .ace_editor { margin-bottom: 0; } assets/themes/default/assets/scss/navbar.scss000066400000000000000000000002531516104173600217200ustar00rootroot00000000000000.navbar-light { background-color: $secondary; @include gradient-y($secondary, shade-color($secondary, 5%)); border-bottom: 1px solid shade-color($secondary, 10%); } assets/themes/default/assets/scss/repository.scss000066400000000000000000000012161516104173600226660ustar00rootroot00000000000000.page-header { h1 { font-size: 3.5rem; font-weight: 300; line-height: 1.2; margin-bottom: 1rem; } } .repository-description { margin: 0; } .repository-stats a { color: $gray-700; font-size: $font-size-base; } .ref-list { .input-group { padding: 0 0.75rem 0.75rem 0.75rem; max-height: 200px; overflow-y: auto; } .nav-tabs { padding-left: 0.75rem; } .tab-content { max-height: 200px; overflow: scroll; } } .clone-input { margin-right: 1rem; .form-control { font-family: $font-family-monospace; &[readonly] { background-color: $input-bg; opacity: 1; } } } assets/themes/default/assets/scss/tree.scss000066400000000000000000000017071516104173600214130ustar00rootroot00000000000000.table-tree { margin-bottom: 0; tr:first-child { td, th { border-top: 0; } } td, th { padding: $spacer; } .tree-truncate { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; } .tree-filename { max-width: 200px; color: $body-color; .icon { margin-right: 0.4rem; } a { color: $body-color; font-weight: $font-weight-normal; text-decoration: none; &:hover { color: $body-color; text-decoration: underline; } } } .tree-commit { color: $text-muted; max-width: 320px; a { color: $text-muted; font-weight: $font-weight-normal; text-decoration: none; &:hover { color: $text-muted; text-decoration: underline; } } } .tree-timestamp { color: $text-muted; text-align: right; } .tree-filesize { color: $text-muted; } } assets/themes/default/templates/000077500000000000000000000000001516104173600172735ustar00rootroot00000000000000assets/themes/default/templates/Blob/000077500000000000000000000000001516104173600201515ustar00rootroot00000000000000assets/themes/default/templates/Blob/blame.html.twig000066400000000000000000000034731516104173600230770ustar00rootroot00000000000000{% extends 'base.html.twig' %} {% block title %} {{ blob.name }} ({{ blob.shortHash }}) - {{ repository.name }} {% endblock %} {% block header %} {% include 'page-header.html.twig' with { repository: repository, baseRef: blob.hash, current: 'code' } %} {% endblock %} {% block search %} {% include 'search.html.twig' with { repository: repository, commitish: blob.hash } %} {% endblock %} {% block body %} {% include 'Blob/breadcrumb.html.twig' with { repository: repository, blob: blob } %}
{{ blame.path }}
{% for line in blame.annotatedLines %} {% endfor %}
{{ line.commit.author.name }} {{ line.commit.subject|truncate(30, '...') }}

{{ line.commit.author.name }} {{ 'REPOSITORY_COMMIT_AUTHORED'|trans }} {{ line.commit.commitedAt|ago }}

{{ line.contents }}
{% endblock %} assets/themes/default/templates/Blob/breadcrumb.html.twig000066400000000000000000000015451516104173600241230ustar00rootroot00000000000000
{% include 'reflist.html.twig' with { ref: blob.shortHash, refPath: blob.name, path: 'blob_show', repository: repository } %}
assets/themes/default/templates/Blob/history.html.twig000066400000000000000000000035771516104173600235250ustar00rootroot00000000000000{% extends 'base.html.twig' %} {% block title %} {{ blob.name }} ({{ blob.shortHash }}) - {{ repository.name }} {% endblock %} {% block header %} {% include 'page-header.html.twig' with { repository: repository, baseRef: blob.hash, current: 'code' } %} {% endblock %} {% block search %} {% include 'search.html.twig' with { repository: repository, commitish: blob.hash } %} {% endblock %} {% block body %} {% include 'Blob/breadcrumb.html.twig' with { repository: repository, blob: blob } %} {% for commitGroup, commits in commitGroups %}
{{ commitGroup|date(commit_group_date_format) }}
{% include 'Commit/list-items.html.twig' with { repository: repository, commits: commits } %}
{% endfor %} {% endblock %} assets/themes/default/templates/Blob/show.html.twig000066400000000000000000000056361516104173600230020ustar00rootroot00000000000000{% extends 'base.html.twig' %} {% block title %} {{ blob.name }} ({{ blob.shortHash }}) - {{ repository.name }} {% endblock %} {% block header %} {% include 'page-header.html.twig' with { repository: repository, baseRef: blob.hash, current: 'code' } %} {% endblock %} {% block search %} {% include 'search.html.twig' with { repository: repository, commitish: blob.hash } %} {% endblock %} {% block body %} {% include 'Blob/breadcrumb.html.twig' with { repository: repository, blob: blob } %}
{{ commit.author.name }}
{{ commit.subject }}
{{ commit.author.name }} commited {{ commit.shortHash }} at {{ commit.commitedAt|date(commit_date_format) }}
{{ file.name }}
{% if file.isImage %}
{% elseif file.isAudio %}
{% elseif file.isVideo %}
{% else %} {% include 'Blob/viewer/' ~ default_blob_viewer ~ '.html.twig' with { repository: repository, commitish: blob.hash } %} {% endif %}
{% endblock %} assets/themes/default/templates/Blob/viewer/000077500000000000000000000000001516104173600214525ustar00rootroot00000000000000assets/themes/default/templates/Blob/viewer/ace.html.twig000066400000000000000000000002141516104173600240360ustar00rootroot00000000000000
assets/themes/default/templates/Blob/viewer/codemirror.html.twig000066400000000000000000000002141516104173600254530ustar00rootroot00000000000000
assets/themes/default/templates/Blob/viewer/simple.html.twig000066400000000000000000000001151516104173600245770ustar00rootroot00000000000000
{{ file.contents }}
assets/themes/default/templates/Commit/000077500000000000000000000000001516104173600205235ustar00rootroot00000000000000assets/themes/default/templates/Commit/feed.atom.twig000066400000000000000000000026051516104173600232640ustar00rootroot00000000000000 {{ url('repository_tree', { repository: repository.name, commitish: commitish.hash }) }} {{ 'REPOSITORY_FEED_RECENT_COMMITS'|trans }} {{ repository.name }} ({{ commitish.hash }}) {{ commits|first.commitedAt|date('Y-m-d\\TH:i:sP') }} {% for commit in commits %} tag:gitlist.org,2012:commit/{{ commit.hash }} {{ commit.subject }} {{ commit.commitedAt|date('Y-m-d\\TH:i:sP') }} {{ commit.author.name }} {{ commit.author.email }} {{ '
' ~ commit.body ~ '
'|escape }}
{% endfor %}
assets/themes/default/templates/Commit/feed.rss.twig000066400000000000000000000020401516104173600231240ustar00rootroot00000000000000 {{ 'REPOSITORY_FEED_RECENT_COMMITS'|trans }} {{ repository.name }} ({{ commitish.hash }}) {{ url('repository_tree', { repository: repository.name, commitish: commitish.hash }) }} {{ 'REPOSITORY_FEED_RECENT_COMMITS_SOURCE'|trans }} {% for commit in commits %} {{ commit.subject }} {{ commit.body }} {{ url('commit_show', { repository: repository.name, commitish: commit.hash }) }} {{ commit.author.email }} ({{ commit.author.name }}) {{ commit.commitedAt|date('r') }} {{ commit.hash }} {% endfor %} assets/themes/default/templates/Commit/list-items.html.twig000066400000000000000000000030631516104173600244560ustar00rootroot00000000000000 assets/themes/default/templates/Commit/list.html.twig000066400000000000000000000037231516104173600233420ustar00rootroot00000000000000{% extends 'base.html.twig' %} {% block title %} {{ 'REPOSITORY_COMMITS_TITLE'|trans }} - {{ repository.name }} {% endblock %} {% block header %} {% include 'page-header.html.twig' with { repository: repository, baseRef: repository.defaultBranch, current: 'commits' } %} {% endblock %} {% block search %} {% include 'search.html.twig' with { repository: repository, commitish: commitish } %} {% endblock %} {% block body %}
{% include 'reflist.html.twig' with { ref: commitish, refPath: '', path: 'commit_list', repository: repository } %}
{% for commitGroup, commits in commitGroups %}
{{ commitGroup|date(commit_group_date_format) }}
{% include 'Commit/list-items.html.twig' with { repository: repository, commits: commits } %}
{% endfor %} {% endblock %} assets/themes/default/templates/Commit/show.html.twig000066400000000000000000000120351516104173600233430ustar00rootroot00000000000000{% extends 'base.html.twig' %} {% block title %} {{ commit.subject }} ({{ commit.shortHash }}) - {{ repository.name }} {% endblock %} {% block header %} {% include 'page-header.html.twig' with { repository: repository, baseRef: commit.hash, current: 'commits' } %} {% endblock %} {% block search %} {% include 'search.html.twig' with { repository: repository, commitish: commit.hash } %} {% endblock %} {% block body %}
{{ commit.subject }}
{{ commit.author.name }}

{{ commit.author.name }} {{ 'REPOSITORY_COMMIT_COMMITED_ON'|trans }} {{ commit.commitedAt|date(commit_list_date_format) }}
{{ 'REPOSITORY_COMMIT_CHANGE_STATS'|trans({'%changed%': commit.diffs|length, '%additions%': commit.additions,'%deletions%': commit.deletions}) }}

{% if commit.body %}
{{ commit.body }}
{% endif %}
    {% for file in commit.diffs %}
  • {{ file.name }} {{ file.index }}
  • {% endfor %}
{% for file in commit.diffs %}
{% for hunk in file.hunks %} {% for line in hunk.lines %} {% endfor %} {% endfor %}
... ...
{{ hunk.contents }}
{% if line.type != 'add' %} {{ line.oldNumber }} {% endif %} {% if line.type != 'delete' %} {{ line.newNumber }} {% endif %}
{{ line.contents }}
{% endfor %} {% endblock %} assets/themes/default/templates/Repository/000077500000000000000000000000001516104173600214525ustar00rootroot00000000000000assets/themes/default/templates/Repository/branches.html.twig000066400000000000000000000027561516104173600251100ustar00rootroot00000000000000{% extends 'base.html.twig' %} {% block header %} {% include 'page-header.html.twig' with { repository: repository, baseRef: repository.defaultBranch, current: 'branches' } %} {% endblock %} {% block search %} {% include 'search.html.twig' with { repository: repository, commitish: repository.defaultBranch } %} {% endblock %} {% block body %}
{{ 'REPOSITORY_BRANCH_TITLE'|trans }}
{% endblock %} assets/themes/default/templates/Repository/list.html.twig000066400000000000000000000015441516104173600242700ustar00rootroot00000000000000{% extends 'base.html.twig' %} {% block title %} {{ 'REPOSITORY_LIST_TITLE'|trans }} {% endblock %} {% block body %}
{% for repository in repositories %} {% endfor %}
{% endblock %} assets/themes/default/templates/Repository/show.html.twig000066400000000000000000000214151516104173600242740ustar00rootroot00000000000000{% extends 'base.html.twig' %} {% block header %} {% include 'page-header.html.twig' with { repository: repository, baseRef: repository.defaultBranch, current: 'code' } %} {% endblock %} {% block search %} {% include 'search.html.twig' with { repository: repository, commitish: tree.hash } %} {% endblock %} {% block body %}

{{ repository.description }}

{{ lastCommit.author.name }} {{ lastCommit.author.name }} {{ lastCommit.subject }} {{ lastCommit.shortHash }} @ {{ lastCommit.commitedAt|date(commit_date_format) }}
{% if tree.name %} {% if tree_show_file_size %} {% endif %} {% if tree_show_last_commit %} {% endif %} {% endif %} {% for object in tree.children|onlyTrees %} {% if tree_show_file_size %} {% endif %} {% if tree_show_last_commit %} {% endif %} {% endfor %} {% for object in tree.children|onlyFiles %} {% if tree_show_file_size %} {% endif %} {% if tree_show_last_commit %} {% endif %} {% endfor %}
..
{{ object.fileName }} {% if object.firstParent.isCommit %} {{ object.firstParent.subject }} {% endif %} {% if object.firstParent %} {{ object.firstParent.commitedAt|date(commit_date_format) }} {% endif %}
{{ object.fileName }} {{ object.size|formatFileSize }} {% if object.firstParent.isCommit %} {{ object.firstParent.subject }} {% endif %} {% if object.firstParent.isCommit %} {{ object.firstParent.commitedAt|date(commit_date_format) }} {% endif %}
{% if readme %}
{{ readme.name }}
{{ readme.contents|markdown|raw }}
{% endif %} {% endblock %} assets/themes/default/templates/Repository/tags.html.twig000066400000000000000000000032211516104173600242450ustar00rootroot00000000000000{% extends 'base.html.twig' %} {% block header %} {% include 'page-header.html.twig' with { repository: repository, baseRef: repository.defaultBranch, current: 'tags' } %} {% endblock %} {% block search %} {% include 'search.html.twig' with { repository: repository, commitish: repository.defaultBranch } %} {% endblock %} {% block body %}
{{ 'REPOSITORY_TAGS_TITLE'|trans }}
{% if tags %} {% else %} {{ 'REPOSITORY_TAGS_NO_TAGS_AVAILABLE'|trans }} {% endif %}
{% endblock %} assets/themes/default/templates/Search/000077500000000000000000000000001516104173600205005ustar00rootroot00000000000000assets/themes/default/templates/Search/form.html.twig000066400000000000000000000024061516104173600233040ustar00rootroot00000000000000{% extends 'base.html.twig' %} {% form_theme form 'bootstrap_5_layout.html.twig' %} {% block title %} {{ 'REPOSITORY_SEARCH_FORM_TITLE'|trans }} - {{ repository.name }} {% endblock %} {% block header %} {% include 'page-header.html.twig' with { repository: repository, baseRef: repository.defaultBranch, current: 'search' } %} {% endblock %} {% block search %} {% include 'search.html.twig' with { repository: repository, commitish: commitish } %} {% endblock %} {% block body %}
{{ form_start(form) }}
{{ form_widget(form.from) }}
{{ form_widget(form.to) }}
{{ form_widget(form.author) }}
{{ form_widget(form.message) }}
{{ form_widget(form.submit) }}
{{ form_end(form) }}
{% endblock %} assets/themes/default/templates/Search/list.html.twig000066400000000000000000000016301516104173600233120ustar00rootroot00000000000000{% extends 'base.html.twig' %} {% block title %} {{ 'REPOSITORY_SEARCH_RESULTS_TITLE'|trans }} - {{ repository.name }} {% endblock %} {% block header %} {% include 'page-header.html.twig' with { repository: repository, baseRef: repository.defaultBranch, current: 'search' } %} {% endblock %} {% block search %} {% include 'search.html.twig' with { repository: repository, commitish: commitish } %} {% endblock %} {% block body %} {% for commitGroup, commits in commitGroups %}
{{ commitGroup|date(commit_group_date_format) }}
{% include 'Commit/list-items.html.twig' with { repository: repository, commits: commits } %}
{% endfor %} {% endblock %} assets/themes/default/templates/base.html.twig000066400000000000000000000040121516104173600220410ustar00rootroot00000000000000 {% block title %}{{ 'REPOSITORY_LIST_TITLE'|trans }}{% endblock %} · {{ title }} {% block stylesheets %}{% endblock %} {% if default_blob_viewer != 'simple' %} {{ encore_entry_link_tags(default_blob_viewer ~ '/css/main') }} {% endif %} {{ encore_entry_link_tags(theme ~ '/css/main') }} {% block javascripts %}{% endblock %} {{ encore_entry_script_tags(theme ~ '/js/main') }} {% if default_blob_viewer != 'simple' %} {{ encore_entry_script_tags(default_blob_viewer ~ '/js/main') }} {% endif %}
{% for label, messages in app.flashes() %} {% for message in messages %}
{{ message }}
{% endfor %} {% endfor %}
{% block header %}{% endblock %}
{% block body %}{% endblock %}

© 2012 - {{ 'now'|date('Y') }} Powered by GitList.org

assets/themes/default/templates/page-header.html.twig000066400000000000000000000026721516104173600233030ustar00rootroot00000000000000 assets/themes/default/templates/reflist.html.twig000066400000000000000000000051461516104173600226100ustar00rootroot00000000000000 assets/themes/default/templates/search.html.twig000066400000000000000000000007571516104173600224100ustar00rootroot00000000000000
assets/translations/000077500000000000000000000000001516104173600151055ustar00rootroot00000000000000assets/translations/.gitignore000066400000000000000000000000001516104173600170630ustar00rootroot00000000000000assets/translations/messages.af.yaml000066400000000000000000000034341516104173600201710ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.ar.yaml000066400000000000000000000034371516104173600202100ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'شجرة' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.bn.yaml000066400000000000000000000053061516104173600202020ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: ভানà§à¦¡à¦¾à¦° REPOSITORY_MENU_CODE: কোড REPOSITORY_MENU_COMMITS: কমিট REPOSITORY_MENU_BRANCHES: শাখা REPOSITORY_MENU_TAGS: টà§à¦¯à¦¾à¦— REPOSITORY_MENU_SEARCH: অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ REPOSITORY_MENU_STATS: তথà§à¦¯à¦¾à¦¦à¦¿ REPOSITORY_MENU_SEARCH_PLACEHOLDER: à¦à¦‡ ভানà§à¦¡à¦¾à¦°à§‡ অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ করà§à¦¨... REPOSITORY_SUBMENU_BRANCHES: শাখা REPOSITORY_SUBMENU_TAGS: টà§à¦¯à¦¾à¦— REPOSITORY_REFLIST_TOGGLE: 'বৃকà§à¦·:' REPOSITORY_REFLIST_PLACEHOLDER: শাখা à¦à¦¬à¦‚ টà§à¦¯à¦¾à¦—ের মধà§à¦¯à§‡ অসà§à¦¨à§à¦§à¦¾à¦¨ করà§à¦¨... REPOSITORY_REFLIST_BRANCHES: শাখা REPOSITORY_REFLIST_TAGS: টà§à¦¯à¦¾à¦— REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: কà§à¦²à¦¿à¦ªà¦¬à§‹à¦°à§à¦¡à§‡ কপি করা হয়েছে! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: ডাউনলোড REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: .zip ডাউনলোড REPOSITORY_TOOLBAR_DOWNLOAD_TAR: .tar ডাউনলোড REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: .tar.gz ডাউনলোড REPOSITORY_BRANCH_TITLE: দূরবরà§à¦¤à§€ শাখা REPOSITORY_TAGS_TITLE: দূরবরà§à¦¤à§€ টà§à¦¯à¦¾à¦— REPOSITORY_TAGS_NO_TAGS_AVAILABLE: à¦à¦‡ ভানà§à¦¡à¦¾à¦°à§‡ কোন টà§à¦¯à¦¾à¦— নেই। REPOSITORY_SEARCH_FORM_TITLE: অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ REPOSITORY_SEARCH_RESULTS_TITLE: অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨à§‡à¦° ফলাফল REPOSITORY_BROWSE_AT_COMMIT: ভানà§à¦¡à¦¾à¦°à¦Ÿà¦¿ ঘà§à¦°à§‡ দেখà§à¦¨ REPOSITORY_FEED_RECENT_COMMITS: সমà§à¦ªà§à¦°à¦¤à¦¿ কমিট হয়েছে REPOSITORY_FEED_RECENT_COMMITS_SOURCE: GitList-à¦à¦° পà§à¦°à¦¸à§à¦¤à§à¦¤à¦•ৃত সামà§à¦ªà§à¦°à¦¤à¦¿à¦• কমিট ফিড। REPOSITORY_COMMITS_TITLE: কমিট REPOSITORY_COMMITS_NAV_TITLE: কমিটের ইতিহাস পরিদরà§à¦¶à¦¨ REPOSITORY_COMMITS_NAV_NEWER: নতà§à¦¨ REPOSITORY_COMMITS_NAV_OLDER: পà§à¦°à§‹à¦¨à§‹ REPOSITORY_COMMIT_COMMITED_ON: কমিট করেছেন REPOSITORY_COMMIT_AUTHORED_ON: পà§à¦°à¦¸à§à¦¤à§à¦¤à§‡à¦° সময় REPOSITORY_COMMIT_AUTHORED: পà§à¦°à¦¸à§à¦¤à§à¦¤ করেছেন REPOSITORY_COMMIT_PARENT: মূল REPOSITORY_COMMIT_CHANGE_STATS: '%changed%টি পরিবরà§à¦¤à¦¿à¦¤ ফাইল, যার মধà§à¦¯à§‡ %additions% নতà§à¦¨ লাইন à¦à¦¬à¦‚ %deletions% মà§à¦›à§‡ ফেলা লাইন দেখানো হচà§à¦›à§‡à¥¤' REPOSITORY_COMMIT_VIEW_FILE_AT: '@ ফাইল দেখà§à¦¨' REPOSITORY_BLOB_HISTORY_FOR: ইতিহাস assets/translations/messages.ca.yaml000066400000000000000000000034341516104173600201660ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.cs.yaml000066400000000000000000000034341516104173600202100ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.da.yaml000066400000000000000000000034341516104173600201670ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.de.yaml000066400000000000000000000035571516104173600202010ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Suche REPOSITORY_MENU_STATS: Statistiken REPOSITORY_MENU_SEARCH_PLACEHOLDER: Repository durchsuchen... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Strukturansicht:' REPOSITORY_REFLIST_PLACEHOLDER: Suche nach Branches und Tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: In die Zwischenablage kopiert! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Herunterladen REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: ZIP-Datei herunterladen REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Tar-Datei herunterladen REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: TAR.GZ-Datei herunterladen REPOSITORY_BRANCH_TITLE: Entfernte Branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: Keine Tags in diesem Repository. REPOSITORY_SEARCH_FORM_TITLE: Suchen REPOSITORY_SEARCH_RESULTS_TITLE: Suchergebnisse REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: neuer REPOSITORY_COMMITS_NAV_OLDER: älter REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Zeige %changed% geänderte Dateien mit %additions% Einfügungen und %deletions% Löschungen. REPOSITORY_COMMIT_VIEW_FILE_AT: Zeige Datei @ REPOSITORY_BLOB_HISTORY_FOR: Verlauf für assets/translations/messages.el.yaml000066400000000000000000000034341516104173600202030ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.en.yaml000066400000000000000000000034341516104173600202050ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.es.yaml000066400000000000000000000034341516104173600202120ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.fi.yaml000066400000000000000000000034341516104173600202010ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.fr.yaml000066400000000000000000000034341516104173600202120ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.he.yaml000066400000000000000000000034341516104173600201770ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.hu.yaml000066400000000000000000000034341516104173600202170ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.it.yaml000066400000000000000000000034341516104173600202170ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.ja.yaml000066400000000000000000000041031516104173600201670ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: リãƒã‚¸ãƒˆãƒª REPOSITORY_MENU_CODE: コード REPOSITORY_MENU_COMMITS: コミット REPOSITORY_MENU_BRANCHES: ブランムREPOSITORY_MENU_TAGS: ã‚¿ã‚° REPOSITORY_MENU_SEARCH: 検索 REPOSITORY_MENU_STATS: 統計情報 REPOSITORY_MENU_SEARCH_PLACEHOLDER: ã“ã®ãƒªãƒã‚¸ãƒˆãƒªã‚’検索... REPOSITORY_SUBMENU_BRANCHES: ブランムREPOSITORY_SUBMENU_TAGS: ã‚¿ã‚° REPOSITORY_REFLIST_TOGGLE: 'ツリー :' REPOSITORY_REFLIST_PLACEHOLDER: ブランãƒã¨ã‚¿ã‚°ã‚’検索... REPOSITORY_REFLIST_BRANCHES: ブランムREPOSITORY_REFLIST_TAGS: ã‚¿ã‚° REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: クリップボードã«ã‚³ãƒ”ーã—ã¾ã—ãŸï¼ REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: ダウンロード REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: zip å½¢å¼ã§ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ REPOSITORY_TOOLBAR_DOWNLOAD_TAR: tar å½¢å¼ã§ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: tar.gz å½¢å¼ã§ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ REPOSITORY_BRANCH_TITLE: リモートブランムREPOSITORY_TAGS_TITLE: リモートタグ REPOSITORY_TAGS_NO_TAGS_AVAILABLE: リãƒã‚¸ãƒˆãƒªã«ã‚¿ã‚°ãŒã‚りã¾ã›ã‚“。 REPOSITORY_SEARCH_FORM_TITLE: 検索 REPOSITORY_SEARCH_RESULTS_TITLE: æ¤œç´¢çµæžœ REPOSITORY_BROWSE_AT_COMMIT: 'レãƒã‚¸ãƒˆãƒªã‚’表示 : ' REPOSITORY_FEED_RECENT_COMMITS: '最近ã®ã‚³ãƒŸãƒƒãƒˆ :' REPOSITORY_FEED_RECENT_COMMITS_SOURCE: GitList ãŒæä¾›ã™ã‚‹ã€Œæœ€è¿‘ã®ã‚³ãƒŸãƒƒãƒˆã€ã®ãƒ•ィード。 REPOSITORY_COMMITS_TITLE: コミット REPOSITORY_COMMITS_NAV_TITLE: コミット履歴ナビゲーション REPOSITORY_COMMITS_NAV_NEWER: æ–°ã—ã„ REPOSITORY_COMMITS_NAV_OLDER: å¤ã„ REPOSITORY_COMMIT_COMMITED_ON: 'コミット日時 : ' REPOSITORY_COMMIT_AUTHORED_ON: 'ä½œæˆæ—¥æ™‚ : ' REPOSITORY_COMMIT_AUTHORED: '作æˆè€… : ' REPOSITORY_COMMIT_PARENT: 親 REPOSITORY_COMMIT_CHANGE_STATS: '%changed% ä»¶ã®å¤‰æ›´ãƒ»%additions% ä»¶ã®è¿½åŠ ãƒ»%deletions% ä»¶ã®å‰Šé™¤ã‚’表示ã—ã¦ã„ã¾ã™ã€‚' REPOSITORY_COMMIT_VIEW_FILE_AT: ファイル表示 @ REPOSITORY_BLOB_HISTORY_FOR: 履歴 assets/translations/messages.ko.yaml000066400000000000000000000034341516104173600202140ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.nl.yaml000066400000000000000000000034341516104173600202140ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.no.yaml000066400000000000000000000034341516104173600202170ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.pl.yaml000066400000000000000000000034341516104173600202160ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.pt.yaml000066400000000000000000000034341516104173600202260ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.ro.yaml000066400000000000000000000034341516104173600202230ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.ru.yaml000066400000000000000000000034341516104173600202310ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.sr.yaml000066400000000000000000000034341516104173600202270ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.sv.yaml000066400000000000000000000034341516104173600202330ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.tr.yaml000066400000000000000000000034341516104173600202300ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.uk.yaml000066400000000000000000000034341516104173600202220ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.vi.yaml000066400000000000000000000034341516104173600202210ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/translations/messages.zh.yaml000066400000000000000000000034341516104173600202240ustar00rootroot00000000000000--- REPOSITORY_LIST_TITLE: Repositories REPOSITORY_MENU_CODE: Code REPOSITORY_MENU_COMMITS: Commits REPOSITORY_MENU_BRANCHES: Branches REPOSITORY_MENU_TAGS: Tags REPOSITORY_MENU_SEARCH: Search REPOSITORY_MENU_STATS: Stats REPOSITORY_MENU_SEARCH_PLACEHOLDER: Search this repository... REPOSITORY_SUBMENU_BRANCHES: Branches REPOSITORY_SUBMENU_TAGS: Tags REPOSITORY_REFLIST_TOGGLE: 'Tree:' REPOSITORY_REFLIST_PLACEHOLDER: Search branches and tags... REPOSITORY_REFLIST_BRANCHES: Branches REPOSITORY_REFLIST_TAGS: Tags REPOSITORY_TOOLBAR_CLONE_SSH: SSH REPOSITORY_TOOLBAR_CLONE_HTTPS: HTTPS REPOSITORY_TOOLBAR_CLONE_COPIED: Copied to clipboard! REPOSITORY_TOOLBAR_FEED_RSS: RSS REPOSITORY_TOOLBAR_FEED_ATOM: ATOM REPOSITORY_TOOLBAR_DOWNLOAD: Download REPOSITORY_TOOLBAR_DOWNLOAD_ZIP: Download .zip REPOSITORY_TOOLBAR_DOWNLOAD_TAR: Download .tar REPOSITORY_TOOLBAR_DOWNLOAD_TAR_GZ: Download .tar.gz REPOSITORY_BRANCH_TITLE: Remote branches REPOSITORY_TAGS_TITLE: Remote tags REPOSITORY_TAGS_NO_TAGS_AVAILABLE: No tags in this repository. REPOSITORY_SEARCH_FORM_TITLE: Search REPOSITORY_SEARCH_RESULTS_TITLE: Search results REPOSITORY_BROWSE_AT_COMMIT: Browse repository at REPOSITORY_FEED_RECENT_COMMITS: Recent commits to REPOSITORY_FEED_RECENT_COMMITS_SOURCE: Recent commits feed provided by GitList. REPOSITORY_COMMITS_TITLE: Commits REPOSITORY_COMMITS_NAV_TITLE: Commit history navigation REPOSITORY_COMMITS_NAV_NEWER: Newer REPOSITORY_COMMITS_NAV_OLDER: Older REPOSITORY_COMMIT_COMMITED_ON: commited on REPOSITORY_COMMIT_AUTHORED_ON: authored on REPOSITORY_COMMIT_AUTHORED: authored REPOSITORY_COMMIT_PARENT: Parent REPOSITORY_COMMIT_CHANGE_STATS: Showing %changed% changed files, with %additions% additions and %deletions% deletions. REPOSITORY_COMMIT_VIEW_FILE_AT: View file @ REPOSITORY_BLOB_HISTORY_FOR: History for assets/viewers/000077500000000000000000000000001516104173600140505ustar00rootroot00000000000000assets/viewers/ace/000077500000000000000000000000001516104173600146005ustar00rootroot00000000000000assets/viewers/ace/main.js000066400000000000000000000005521516104173600160640ustar00rootroot00000000000000var ace = require('ace-builds/src-min-noconflict/ace'); require('ace-builds/webpack-resolver'); window.addEventListener('load', function () { var editor = document.getElementById('ace-editor'); if (!editor) { return; } ace.edit(editor, { mode: 'ace/mode/' + editor.dataset.mode, maxLines: 50, minLines: 10, fontSize: 16, }); }); assets/viewers/ace/main.scss000066400000000000000000000000001516104173600164070ustar00rootroot00000000000000assets/viewers/codemirror/000077500000000000000000000000001516104173600162155ustar00rootroot00000000000000assets/viewers/codemirror/main.js000066400000000000000000000007561516104173600175070ustar00rootroot00000000000000var CodeMirror = require('codemirror'); // Dynamically load modes var requireContext = require.context('codemirror/mode/', true, /\.js$/); requireContext.keys().forEach(function (key) { requireContext(key); }); window.addEventListener('load', function () { var editor = document.getElementById('cm-editor'); if (!editor) { return; } CodeMirror.fromTextArea(editor, { mode: editor.dataset.mode, lineNumbers: true, lineWrapping: true, autofocus: true, }); }); assets/viewers/codemirror/main.scss000066400000000000000000000000521516104173600200330ustar00rootroot00000000000000@import '~codemirror/lib/codemirror.css'; bin/000077500000000000000000000000001516104173600116325ustar00rootroot00000000000000bin/console000077500000000000000000000013221516104173600132200ustar00rootroot00000000000000#!/usr/bin/env php getParameterOption(['--env', '-e'], $_SERVER['APP_ENV'] ?? 'dev', true); $debug = (bool) ($_SERVER['APP_DEBUG'] ?? ('prod' !== $env)) && !$input->hasParameterOption('--no-debug', true); if ($debug) { umask(0000); if (class_exists(Debug::class)) { Debug::enable(); } } $kernel = new Kernel($env, $debug); $application = new Application($kernel); $application->run($input); bin/linguist000077500000000000000000000031271516104173600134210ustar00rootroot00000000000000#!/usr/bin/env php $language) { if (!isset($language['extensions'])) { continue; } foreach ($language['extensions'] as $extension) { $extension = substr($extension, 1); $languageMap[$extension] = [ 'name' => $name, 'group' => $language['group'] ?? null, 'color' => $language['color'] ?? null, 'ace' => $language['ace_mode'] ?? null, 'cm' => $language['codemirror_mode'] ?? null, ]; } } $sourceFile = __DIR__ . '/../src/SCM/Language.php'; $template = file_get_contents($sourceFile); $blockStart = 'const MAP = ['; $blockEnd = '];'; $blockStartPos = strpos($template, $blockStart) + strlen($blockStart); $blockEndPos = strpos($template, $blockEnd); $languageMapSource = var_export($languageMap, true); $languageMapSource = substr($languageMapSource, 7); $languageMapSource = substr($languageMapSource, 0, -1); $updatedSource = substr_replace($template, $languageMapSource, $blockStartPos); $updatedSource .= substr($template, $blockEndPos); file_put_contents($sourceFile, $updatedSource); composer.json000066400000000000000000000042221516104173600136040ustar00rootroot00000000000000{ "name": "klaussilveira/gitlist", "description": "An elegant git repository viewer", "keywords": ["scm", "vcs", "git", "repository", "github", "gitweb"], "type": "project", "license": "BSD-3-Clause", "require": { "php": ">=8.1", "ext-iconv": "*", "ext-mbstring": "*", "league/commonmark": "^2.4", "nesbot/carbon": "^2.71", "symfony/asset": "^6.3", "symfony/cache": "^6.3", "symfony/console": "^6.3", "symfony/form": "^6.3", "symfony/framework-bundle": "^6.3", "symfony/monolog-bundle": "^3.10", "symfony/process": "^6.3", "symfony/string": "^6.3", "symfony/templating": "^6.3", "symfony/translation": "^6.3", "symfony/twig-bundle": "^6.3", "symfony/webpack-encore-bundle": "^2.1", "symfony/yaml": "^6.3" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.38", "phpspec/prophecy-phpunit": "^2.0", "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^9.6", "symfony/debug-bundle": "^6.3", "symfony/dotenv": "^6.3" }, "config": { "preferred-install": { "*": "dist" }, "sort-packages": true, "process-timeout": 0 }, "autoload": { "psr-4": { "GitList\\": "src/" } }, "scripts": { "auto-scripts": [ "bin/console cache:clear", "bin/console assets:install --symlink --relative public" ], "post-install-cmd": [ "@auto-scripts" ], "post-update-cmd": [ "@auto-scripts" ], "test": [ "@cs", "@unit", "@lint", "@stan" ], "format": [ "vendor/bin/php-cs-fixer fix -v --show-progress=dots" ], "lint": [ "bin/console lint:twig assets/themes/", "bin/console lint:yaml assets/translations/", "bin/console lint:yaml config/", "find src -name '*.php' -print0 | xargs -0 -n1 -P8 php -l" ], "cs": [ "vendor/bin/php-cs-fixer fix --dry-run -v --show-progress=dots" ], "unit": [ "vendor/bin/phpunit" ], "stan": [ "vendor/bin/phpstan analyse -c phpstan.neon -l 5 src/" ] }, "conflict": { "symfony/symfony": "*" }, "extra": { "symfony": { "allow-contrib": false } } } composer.lock000066400000000000000000007765331516104173600136100ustar00rootroot00000000000000{ "_readme": [ "This file locks the dependencies of your project to a known state", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], "content-hash": "d85383867528fe57a984faf47da60906", "packages": [ { "name": "dflydev/dot-access-data", "version": "v3.0.2", "source": { "type": "git", "url": "https://github.com/dflydev/dflydev-dot-access-data.git", "reference": "f41715465d65213d644d3141a6a93081be5d3549" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", "reference": "f41715465d65213d644d3141a6a93081be5d3549", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "require-dev": { "phpstan/phpstan": "^0.12.42", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", "scrutinizer/ocular": "1.6.0", "squizlabs/php_codesniffer": "^3.5", "vimeo/psalm": "^4.0.0" }, "type": "library", "extra": { "branch-alias": { "dev-main": "3.x-dev" } }, "autoload": { "psr-4": { "Dflydev\\DotAccessData\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Dragonfly Development Inc.", "email": "info@dflydev.com", "homepage": "http://dflydev.com" }, { "name": "Beau Simensen", "email": "beau@dflydev.com", "homepage": "http://beausimensen.com" }, { "name": "Carlos Frutos", "email": "carlos@kiwing.it", "homepage": "https://github.com/cfrutos" }, { "name": "Colin O'Dell", "email": "colinodell@gmail.com", "homepage": "https://www.colinodell.com" } ], "description": "Given a deep data structure, access data by dot notation.", "homepage": "https://github.com/dflydev/dflydev-dot-access-data", "keywords": [ "access", "data", "dot", "notation" ], "support": { "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" }, "time": "2022-10-27T11:44:00+00:00" }, { "name": "league/commonmark", "version": "2.4.1", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", "reference": "3669d6d5f7a47a93c08ddff335e6d945481a1dd5" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/3669d6d5f7a47a93c08ddff335e6d945481a1dd5", "reference": "3669d6d5f7a47a93c08ddff335e6d945481a1dd5", "shasum": "" }, "require": { "ext-mbstring": "*", "league/config": "^1.1.1", "php": "^7.4 || ^8.0", "psr/event-dispatcher": "^1.0", "symfony/deprecation-contracts": "^2.1 || ^3.0", "symfony/polyfill-php80": "^1.16" }, "require-dev": { "cebe/markdown": "^1.0", "commonmark/cmark": "0.30.0", "commonmark/commonmark.js": "0.30.0", "composer/package-versions-deprecated": "^1.8", "embed/embed": "^4.4", "erusev/parsedown": "^1.0", "ext-json": "*", "github/gfm": "0.29.0", "michelf/php-markdown": "^1.4 || ^2.0", "nyholm/psr7": "^1.5", "phpstan/phpstan": "^1.8.2", "phpunit/phpunit": "^9.5.21", "scrutinizer/ocular": "^1.8.1", "symfony/finder": "^5.3 | ^6.0", "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0", "unleashedtech/php-coding-standard": "^3.1.1", "vimeo/psalm": "^4.24.0 || ^5.0.0" }, "suggest": { "symfony/yaml": "v2.3+ required if using the Front Matter extension" }, "type": "library", "extra": { "branch-alias": { "dev-main": "2.5-dev" } }, "autoload": { "psr-4": { "League\\CommonMark\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Colin O'Dell", "email": "colinodell@gmail.com", "homepage": "https://www.colinodell.com", "role": "Lead Developer" } ], "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", "homepage": "https://commonmark.thephpleague.com", "keywords": [ "commonmark", "flavored", "gfm", "github", "github-flavored", "markdown", "md", "parser" ], "support": { "docs": "https://commonmark.thephpleague.com/", "forum": "https://github.com/thephpleague/commonmark/discussions", "issues": "https://github.com/thephpleague/commonmark/issues", "rss": "https://github.com/thephpleague/commonmark/releases.atom", "source": "https://github.com/thephpleague/commonmark" }, "funding": [ { "url": "https://www.colinodell.com/sponsor", "type": "custom" }, { "url": "https://www.paypal.me/colinpodell/10.00", "type": "custom" }, { "url": "https://github.com/colinodell", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/league/commonmark", "type": "tidelift" } ], "time": "2023-08-30T16:55:00+00:00" }, { "name": "league/config", "version": "v1.2.0", "source": { "type": "git", "url": "https://github.com/thephpleague/config.git", "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", "shasum": "" }, "require": { "dflydev/dot-access-data": "^3.0.1", "nette/schema": "^1.2", "php": "^7.4 || ^8.0" }, "require-dev": { "phpstan/phpstan": "^1.8.2", "phpunit/phpunit": "^9.5.5", "scrutinizer/ocular": "^1.8.1", "unleashedtech/php-coding-standard": "^3.1", "vimeo/psalm": "^4.7.3" }, "type": "library", "extra": { "branch-alias": { "dev-main": "1.2-dev" } }, "autoload": { "psr-4": { "League\\Config\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Colin O'Dell", "email": "colinodell@gmail.com", "homepage": "https://www.colinodell.com", "role": "Lead Developer" } ], "description": "Define configuration arrays with strict schemas and access values with dot notation", "homepage": "https://config.thephpleague.com", "keywords": [ "array", "config", "configuration", "dot", "dot-access", "nested", "schema" ], "support": { "docs": "https://config.thephpleague.com/", "issues": "https://github.com/thephpleague/config/issues", "rss": "https://github.com/thephpleague/config/releases.atom", "source": "https://github.com/thephpleague/config" }, "funding": [ { "url": "https://www.colinodell.com/sponsor", "type": "custom" }, { "url": "https://www.paypal.me/colinpodell/10.00", "type": "custom" }, { "url": "https://github.com/colinodell", "type": "github" } ], "time": "2022-12-11T20:36:23+00:00" }, { "name": "monolog/monolog", "version": "3.5.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c915e2634718dbc8a4a15c61b0e62e7a44e14448", "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448", "shasum": "" }, "require": { "php": ">=8.1", "psr/log": "^2.0 || ^3.0" }, "provide": { "psr/log-implementation": "3.0.0" }, "require-dev": { "aws/aws-sdk-php": "^3.0", "doctrine/couchdb": "~1.0@dev", "elasticsearch/elasticsearch": "^7 || ^8", "ext-json": "*", "graylog2/gelf-php": "^1.4.2 || ^2.0", "guzzlehttp/guzzle": "^7.4.5", "guzzlehttp/psr7": "^2.2", "mongodb/mongodb": "^1.8", "php-amqplib/php-amqplib": "~2.4 || ^3", "phpstan/phpstan": "^1.9", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-strict-rules": "^1.4", "phpunit/phpunit": "^10.1", "predis/predis": "^1.1 || ^2", "ruflin/elastica": "^7", "symfony/mailer": "^5.4 || ^6", "symfony/mime": "^5.4 || ^6" }, "suggest": { "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", "doctrine/couchdb": "Allow sending log messages to a CouchDB server", "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", "ext-mbstring": "Allow to work properly with unicode symbols", "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", "ext-openssl": "Required to send log messages using SSL", "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", "rollbar/rollbar": "Allow sending log messages to Rollbar", "ruflin/elastica": "Allow sending log messages to an Elastic Search server" }, "type": "library", "extra": { "branch-alias": { "dev-main": "3.x-dev" } }, "autoload": { "psr-4": { "Monolog\\": "src/Monolog" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", "homepage": "https://seld.be" } ], "description": "Sends your logs to files, sockets, inboxes, databases and various web services", "homepage": "https://github.com/Seldaek/monolog", "keywords": [ "log", "logging", "psr-3" ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", "source": "https://github.com/Seldaek/monolog/tree/3.5.0" }, "funding": [ { "url": "https://github.com/Seldaek", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", "type": "tidelift" } ], "time": "2023-10-27T15:32:31+00:00" }, { "name": "nesbot/carbon", "version": "2.71.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", "reference": "98276233188583f2ff845a0f992a235472d9466a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/98276233188583f2ff845a0f992a235472d9466a", "reference": "98276233188583f2ff845a0f992a235472d9466a", "shasum": "" }, "require": { "ext-json": "*", "php": "^7.1.8 || ^8.0", "psr/clock": "^1.0", "symfony/polyfill-mbstring": "^1.0", "symfony/polyfill-php80": "^1.16", "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" }, "provide": { "psr/clock-implementation": "1.0" }, "require-dev": { "doctrine/dbal": "^2.0 || ^3.1.4", "doctrine/orm": "^2.7", "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", "ondrejmirtes/better-reflection": "*", "phpmd/phpmd": "^2.9", "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^0.12.99 || ^1.7.14", "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", "squizlabs/php_codesniffer": "^3.4" }, "bin": [ "bin/carbon" ], "type": "library", "extra": { "branch-alias": { "dev-3.x": "3.x-dev", "dev-master": "2.x-dev" }, "laravel": { "providers": [ "Carbon\\Laravel\\ServiceProvider" ] }, "phpstan": { "includes": [ "extension.neon" ] } }, "autoload": { "psr-4": { "Carbon\\": "src/Carbon/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Brian Nesbitt", "email": "brian@nesbot.com", "homepage": "https://markido.com" }, { "name": "kylekatarnls", "homepage": "https://github.com/kylekatarnls" } ], "description": "An API extension for DateTime that supports 281 different languages.", "homepage": "https://carbon.nesbot.com", "keywords": [ "date", "datetime", "time" ], "support": { "docs": "https://carbon.nesbot.com/docs", "issues": "https://github.com/briannesbitt/Carbon/issues", "source": "https://github.com/briannesbitt/Carbon" }, "funding": [ { "url": "https://github.com/sponsors/kylekatarnls", "type": "github" }, { "url": "https://opencollective.com/Carbon#sponsor", "type": "opencollective" }, { "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", "type": "tidelift" } ], "time": "2023-09-25T11:31:05+00:00" }, { "name": "nette/schema", "version": "v1.2.5", "source": { "type": "git", "url": "https://github.com/nette/schema.git", "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/nette/schema/zipball/0462f0166e823aad657c9224d0f849ecac1ba10a", "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a", "shasum": "" }, "require": { "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", "php": "7.1 - 8.3" }, "require-dev": { "nette/tester": "^2.3 || ^2.4", "phpstan/phpstan-nette": "^1.0", "tracy/tracy": "^2.7" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.2-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause", "GPL-2.0-only", "GPL-3.0-only" ], "authors": [ { "name": "David Grudl", "homepage": "https://davidgrudl.com" }, { "name": "Nette Community", "homepage": "https://nette.org/contributors" } ], "description": "📠Nette Schema: validating data structures against a given Schema.", "homepage": "https://nette.org", "keywords": [ "config", "nette" ], "support": { "issues": "https://github.com/nette/schema/issues", "source": "https://github.com/nette/schema/tree/v1.2.5" }, "time": "2023-10-05T20:37:59+00:00" }, { "name": "nette/utils", "version": "v4.0.3", "source": { "type": "git", "url": "https://github.com/nette/utils.git", "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/nette/utils/zipball/a9d127dd6a203ce6d255b2e2db49759f7506e015", "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015", "shasum": "" }, "require": { "php": ">=8.0 <8.4" }, "conflict": { "nette/finder": "<3", "nette/schema": "<1.2.2" }, "require-dev": { "jetbrains/phpstorm-attributes": "dev-master", "nette/tester": "^2.5", "phpstan/phpstan": "^1.0", "tracy/tracy": "^2.9" }, "suggest": { "ext-gd": "to use Image", "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", "ext-json": "to use Nette\\Utils\\Json", "ext-mbstring": "to use Strings::lower() etc...", "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause", "GPL-2.0-only", "GPL-3.0-only" ], "authors": [ { "name": "David Grudl", "homepage": "https://davidgrudl.com" }, { "name": "Nette Community", "homepage": "https://nette.org/contributors" } ], "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", "homepage": "https://nette.org", "keywords": [ "array", "core", "datetime", "images", "json", "nette", "paginator", "password", "slugify", "string", "unicode", "utf-8", "utility", "validation" ], "support": { "issues": "https://github.com/nette/utils/issues", "source": "https://github.com/nette/utils/tree/v4.0.3" }, "time": "2023-10-29T21:02:13+00:00" }, { "name": "psr/cache", "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/cache.git", "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", "shasum": "" }, "require": { "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { "Psr\\Cache\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for caching libraries", "keywords": [ "cache", "psr", "psr-6" ], "support": { "source": "https://github.com/php-fig/cache/tree/3.0.0" }, "time": "2021-02-03T23:26:27+00:00" }, { "name": "psr/clock", "version": "1.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/clock.git", "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", "shasum": "" }, "require": { "php": "^7.0 || ^8.0" }, "type": "library", "autoload": { "psr-4": { "Psr\\Clock\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for reading the clock.", "homepage": "https://github.com/php-fig/clock", "keywords": [ "clock", "now", "psr", "psr-20", "time" ], "support": { "issues": "https://github.com/php-fig/clock/issues", "source": "https://github.com/php-fig/clock/tree/1.0.0" }, "time": "2022-11-25T14:36:26+00:00" }, { "name": "psr/container", "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { "php": ">=7.4.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { "Psr\\Container\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", "homepage": "https://www.php-fig.org/" } ], "description": "Common Container Interface (PHP FIG PSR-11)", "homepage": "https://github.com/php-fig/container", "keywords": [ "PSR-11", "container", "container-interface", "container-interop", "psr" ], "support": { "issues": "https://github.com/php-fig/container/issues", "source": "https://github.com/php-fig/container/tree/2.0.2" }, "time": "2021-11-05T16:47:00+00:00" }, { "name": "psr/event-dispatcher", "version": "1.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/event-dispatcher.git", "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", "shasum": "" }, "require": { "php": ">=7.2.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { "Psr\\EventDispatcher\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", "homepage": "http://www.php-fig.org/" } ], "description": "Standard interfaces for event handling.", "keywords": [ "events", "psr", "psr-14" ], "support": { "issues": "https://github.com/php-fig/event-dispatcher/issues", "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" }, "time": "2019-01-08T18:20:26+00:00" }, { "name": "psr/log", "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", "shasum": "" }, "require": { "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.x-dev" } }, "autoload": { "psr-4": { "Psr\\Log\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for logging libraries", "homepage": "https://github.com/php-fig/log", "keywords": [ "log", "psr", "psr-3" ], "support": { "source": "https://github.com/php-fig/log/tree/3.0.0" }, "time": "2021-07-14T16:46:02+00:00" }, { "name": "symfony/asset", "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/asset.git", "reference": "b2382a403f2111836301623d89e9af3d84989525" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/asset/zipball/b2382a403f2111836301623d89e9af3d84989525", "reference": "b2382a403f2111836301623d89e9af3d84989525", "shasum": "" }, "require": { "php": ">=8.1" }, "conflict": { "symfony/http-foundation": "<5.4" }, "require-dev": { "symfony/http-client": "^5.4|^6.0", "symfony/http-foundation": "^5.4|^6.0", "symfony/http-kernel": "^5.4|^6.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Asset\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/asset/tree/v6.3.8" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-10-31T08:07:48+00:00" }, { "name": "symfony/cache", "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", "reference": "ba33517043c22c94c7ab04b056476f6f86816cf8" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/cache/zipball/ba33517043c22c94c7ab04b056476f6f86816cf8", "reference": "ba33517043c22c94c7ab04b056476f6f86816cf8", "shasum": "" }, "require": { "php": ">=8.1", "psr/cache": "^2.0|^3.0", "psr/log": "^1.1|^2|^3", "symfony/cache-contracts": "^2.5|^3", "symfony/service-contracts": "^2.5|^3", "symfony/var-exporter": "^6.3.6" }, "conflict": { "doctrine/dbal": "<2.13.1", "symfony/dependency-injection": "<5.4", "symfony/http-kernel": "<5.4", "symfony/var-dumper": "<5.4" }, "provide": { "psr/cache-implementation": "2.0|3.0", "psr/simple-cache-implementation": "1.0|2.0|3.0", "symfony/cache-implementation": "1.1|2.0|3.0" }, "require-dev": { "cache/integration-tests": "dev-master", "doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.1|^2.0", "psr/simple-cache": "^1.0|^2.0|^3.0", "symfony/config": "^5.4|^6.0", "symfony/dependency-injection": "^5.4|^6.0", "symfony/filesystem": "^5.4|^6.0", "symfony/http-kernel": "^5.4|^6.0", "symfony/messenger": "^5.4|^6.0", "symfony/var-dumper": "^5.4|^6.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Cache\\": "" }, "classmap": [ "Traits/ValueWrapper.php" ], "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides extended PSR-6, PSR-16 (and tags) implementations", "homepage": "https://symfony.com", "keywords": [ "caching", "psr6" ], "support": { "source": "https://github.com/symfony/cache/tree/v6.3.8" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-11-07T10:17:15+00:00" }, { "name": "symfony/cache-contracts", "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/cache-contracts.git", "reference": "1d74b127da04ffa87aa940abe15446fa89653778" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/1d74b127da04ffa87aa940abe15446fa89653778", "reference": "1d74b127da04ffa87aa940abe15446fa89653778", "shasum": "" }, "require": { "php": ">=8.1", "psr/cache": "^3.0" }, "type": "library", "extra": { "branch-alias": { "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", "url": "https://github.com/symfony/contracts" } }, "autoload": { "psr-4": { "Symfony\\Contracts\\Cache\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Generic abstractions related to caching", "homepage": "https://symfony.com", "keywords": [ "abstractions", "contracts", "decoupling", "interfaces", "interoperability", "standards" ], "support": { "source": "https://github.com/symfony/cache-contracts/tree/v3.4.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-09-25T12:52:38+00:00" }, { "name": "symfony/config", "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/config.git", "reference": "b7a63887960359e5b59b15826fa9f9be10acbe88" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/config/zipball/b7a63887960359e5b59b15826fa9f9be10acbe88", "reference": "b7a63887960359e5b59b15826fa9f9be10acbe88", "shasum": "" }, "require": { "php": ">=8.1", "symfony/deprecation-contracts": "^2.5|^3", "symfony/filesystem": "^5.4|^6.0", "symfony/polyfill-ctype": "~1.8" }, "conflict": { "symfony/finder": "<5.4", "symfony/service-contracts": "<2.5" }, "require-dev": { "symfony/event-dispatcher": "^5.4|^6.0", "symfony/finder": "^5.4|^6.0", "symfony/messenger": "^5.4|^6.0", "symfony/service-contracts": "^2.5|^3", "symfony/yaml": "^5.4|^6.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Config\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/config/tree/v6.3.8" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-11-09T08:28:21+00:00" }, { "name": "symfony/console", "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", "reference": "0d14a9f6d04d4ac38a8cea1171f4554e325dae92" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/console/zipball/0d14a9f6d04d4ac38a8cea1171f4554e325dae92", "reference": "0d14a9f6d04d4ac38a8cea1171f4554e325dae92", "shasum": "" }, "require": { "php": ">=8.1", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", "symfony/string": "^5.4|^6.0" }, "conflict": { "symfony/dependency-injection": "<5.4", "symfony/dotenv": "<5.4", "symfony/event-dispatcher": "<5.4", "symfony/lock": "<5.4", "symfony/process": "<5.4" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", "symfony/config": "^5.4|^6.0", "symfony/dependency-injection": "^5.4|^6.0", "symfony/event-dispatcher": "^5.4|^6.0", "symfony/lock": "^5.4|^6.0", "symfony/process": "^5.4|^6.0", "symfony/var-dumper": "^5.4|^6.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Console\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", "keywords": [ "cli", "command-line", "console", "terminal" ], "support": { "source": "https://github.com/symfony/console/tree/v6.3.8" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-10-31T08:09:35+00:00" }, { "name": "symfony/dependency-injection", "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", "reference": "1f30f545c4151f611148fc19e28d54d39e0a00bc" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/1f30f545c4151f611148fc19e28d54d39e0a00bc", "reference": "1f30f545c4151f611148fc19e28d54d39e0a00bc", "shasum": "" }, "require": { "php": ">=8.1", "psr/container": "^1.1|^2.0", "symfony/deprecation-contracts": "^2.5|^3", "symfony/service-contracts": "^2.5|^3.0", "symfony/var-exporter": "^6.2.10" }, "conflict": { "ext-psr": "<1.1|>=2", "symfony/config": "<6.1", "symfony/finder": "<5.4", "symfony/proxy-manager-bridge": "<6.3", "symfony/yaml": "<5.4" }, "provide": { "psr/container-implementation": "1.1|2.0", "symfony/service-implementation": "1.1|2.0|3.0" }, "require-dev": { "symfony/config": "^6.1", "symfony/expression-language": "^5.4|^6.0", "symfony/yaml": "^5.4|^6.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\DependencyInjection\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/dependency-injection/tree/v6.3.8" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-10-31T08:07:48+00:00" }, { "name": "symfony/deprecation-contracts", "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", "shasum": "" }, "require": { "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", "url": "https://github.com/symfony/contracts" } }, "autoload": { "files": [ "function.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-05-23T14:45:45+00:00" }, { "name": "symfony/error-handler", "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", "reference": "1f69476b64fb47105c06beef757766c376b548c4" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/error-handler/zipball/1f69476b64fb47105c06beef757766c376b548c4", "reference": "1f69476b64fb47105c06beef757766c376b548c4", "shasum": "" }, "require": { "php": ">=8.1", "psr/log": "^1|^2|^3", "symfony/var-dumper": "^5.4|^6.0" }, "conflict": { "symfony/deprecation-contracts": "<2.5" }, "require-dev": { "symfony/deprecation-contracts": "^2.5|^3", "symfony/http-kernel": "^5.4|^6.0", "symfony/serializer": "^5.4|^6.0" }, "bin": [ "Resources/bin/patch-type-declarations" ], "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\ErrorHandler\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/error-handler/tree/v6.3.5" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-09-12T06:57:20+00:00" }, { "name": "symfony/event-dispatcher", "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/adb01fe097a4ee930db9258a3cc906b5beb5cf2e", "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e", "shasum": "" }, "require": { "php": ">=8.1", "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { "symfony/dependency-injection": "<5.4", "symfony/service-contracts": "<2.5" }, "provide": { "psr/event-dispatcher-implementation": "1.0", "symfony/event-dispatcher-implementation": "2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", "symfony/config": "^5.4|^6.0", "symfony/dependency-injection": "^5.4|^6.0", "symfony/error-handler": "^5.4|^6.0", "symfony/expression-language": "^5.4|^6.0", "symfony/http-foundation": "^5.4|^6.0", "symfony/service-contracts": "^2.5|^3", "symfony/stopwatch": "^5.4|^6.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\EventDispatcher\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.2" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-07-06T06:56:43+00:00" }, { "name": "symfony/event-dispatcher-contracts", "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", "reference": "a76aed96a42d2b521153fb382d418e30d18b59df" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df", "reference": "a76aed96a42d2b521153fb382d418e30d18b59df", "shasum": "" }, "require": { "php": ">=8.1", "psr/event-dispatcher": "^1" }, "type": "library", "extra": { "branch-alias": { "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", "url": "https://github.com/symfony/contracts" } }, "autoload": { "psr-4": { "Symfony\\Contracts\\EventDispatcher\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Generic abstractions related to dispatching event", "homepage": "https://symfony.com", "keywords": [ "abstractions", "contracts", "decoupling", "interfaces", "interoperability", "standards" ], "support": { "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-05-23T14:45:45+00:00" }, { "name": "symfony/filesystem", "version": "v6.3.1", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/filesystem/zipball/edd36776956f2a6fcf577edb5b05eb0e3bdc52ae", "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae", "shasum": "" }, "require": { "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.8" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Filesystem\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/filesystem/tree/v6.3.1" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-06-01T08:30:39+00:00" }, { "name": "symfony/finder", "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/finder/zipball/a1b31d88c0e998168ca7792f222cbecee47428c4", "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { "symfony/filesystem": "^6.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Finder\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/finder/tree/v6.3.5" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-09-26T12:56:25+00:00" }, { "name": "symfony/form", "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/form.git", "reference": "b7a8098163cce87c0b6ce05d0f361dc12d5a2788" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/form/zipball/b7a8098163cce87c0b6ce05d0f361dc12d5a2788", "reference": "b7a8098163cce87c0b6ce05d0f361dc12d5a2788", "shasum": "" }, "require": { "php": ">=8.1", "symfony/deprecation-contracts": "^2.5|^3", "symfony/event-dispatcher": "^5.4|^6.0", "symfony/options-resolver": "^5.4|^6.0", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-icu": "^1.21", "symfony/polyfill-mbstring": "~1.0", "symfony/property-access": "^5.4|^6.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { "symfony/console": "<5.4", "symfony/dependency-injection": "<5.4", "symfony/doctrine-bridge": "<5.4.21|>=6,<6.2.7", "symfony/error-handler": "<5.4", "symfony/framework-bundle": "<5.4", "symfony/http-kernel": "<5.4", "symfony/translation": "<5.4", "symfony/translation-contracts": "<2.5", "symfony/twig-bridge": "<6.3" }, "require-dev": { "doctrine/collections": "^1.0|^2.0", "symfony/config": "^5.4|^6.0", "symfony/console": "^5.4|^6.0", "symfony/dependency-injection": "^5.4|^6.0", "symfony/expression-language": "^5.4|^6.0", "symfony/html-sanitizer": "^6.1", "symfony/http-foundation": "^5.4|^6.0", "symfony/http-kernel": "^5.4|^6.0", "symfony/intl": "^5.4|^6.0", "symfony/security-core": "^6.2", "symfony/security-csrf": "^5.4|^6.0", "symfony/translation": "^5.4|^6.0", "symfony/uid": "^5.4|^6.0", "symfony/validator": "^5.4|^6.0", "symfony/var-dumper": "^5.4|^6.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Form\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Allows to easily create, process and reuse HTML forms", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/form/tree/v6.3.8" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-11-06T10:58:05+00:00" }, { "name": "symfony/framework-bundle", "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", "reference": "e88be137ea0652ee2caf2eacb21283820904be4f" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/e88be137ea0652ee2caf2eacb21283820904be4f", "reference": "e88be137ea0652ee2caf2eacb21283820904be4f", "shasum": "" }, "require": { "composer-runtime-api": ">=2.1", "ext-xml": "*", "php": ">=8.1", "symfony/cache": "^5.4|^6.0", "symfony/config": "^6.1", "symfony/dependency-injection": "^6.3.1", "symfony/deprecation-contracts": "^2.5|^3", "symfony/error-handler": "^6.1", "symfony/event-dispatcher": "^5.4|^6.0", "symfony/filesystem": "^5.4|^6.0", "symfony/finder": "^5.4|^6.0", "symfony/http-foundation": "^6.3", "symfony/http-kernel": "^6.3", "symfony/polyfill-mbstring": "~1.0", "symfony/routing": "^5.4|^6.0" }, "conflict": { "doctrine/annotations": "<1.13.1", "doctrine/persistence": "<1.3", "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", "symfony/asset": "<5.4", "symfony/clock": "<6.3", "symfony/console": "<5.4", "symfony/dom-crawler": "<6.3", "symfony/dotenv": "<5.4", "symfony/form": "<5.4", "symfony/http-client": "<6.3", "symfony/lock": "<5.4", "symfony/mailer": "<5.4", "symfony/messenger": "<6.3", "symfony/mime": "<6.2", "symfony/property-access": "<5.4", "symfony/property-info": "<5.4", "symfony/security-core": "<5.4", "symfony/security-csrf": "<5.4", "symfony/serializer": "<6.3", "symfony/stopwatch": "<5.4", "symfony/translation": "<6.2.8", "symfony/twig-bridge": "<5.4", "symfony/twig-bundle": "<5.4", "symfony/validator": "<6.3", "symfony/web-profiler-bundle": "<5.4", "symfony/workflow": "<5.4" }, "require-dev": { "doctrine/annotations": "^1.13.1|^2", "doctrine/persistence": "^1.3|^2|^3", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", "symfony/asset": "^5.4|^6.0", "symfony/asset-mapper": "^6.3", "symfony/browser-kit": "^5.4|^6.0", "symfony/clock": "^6.2", "symfony/console": "^5.4.9|^6.0.9", "symfony/css-selector": "^5.4|^6.0", "symfony/dom-crawler": "^6.3", "symfony/dotenv": "^5.4|^6.0", "symfony/expression-language": "^5.4|^6.0", "symfony/form": "^5.4|^6.0", "symfony/html-sanitizer": "^6.1", "symfony/http-client": "^6.3", "symfony/lock": "^5.4|^6.0", "symfony/mailer": "^5.4|^6.0", "symfony/messenger": "^6.3", "symfony/mime": "^6.2", "symfony/notifier": "^5.4|^6.0", "symfony/polyfill-intl-icu": "~1.0", "symfony/process": "^5.4|^6.0", "symfony/property-info": "^5.4|^6.0", "symfony/rate-limiter": "^5.4|^6.0", "symfony/scheduler": "^6.3", "symfony/security-bundle": "^5.4|^6.0", "symfony/semaphore": "^5.4|^6.0", "symfony/serializer": "^6.3", "symfony/stopwatch": "^5.4|^6.0", "symfony/string": "^5.4|^6.0", "symfony/translation": "^6.2.8", "symfony/twig-bundle": "^5.4|^6.0", "symfony/uid": "^5.4|^6.0", "symfony/validator": "^6.3", "symfony/web-link": "^5.4|^6.0", "symfony/workflow": "^5.4|^6.0", "symfony/yaml": "^5.4|^6.0", "twig/twig": "^2.10|^3.0" }, "type": "symfony-bundle", "autoload": { "psr-4": { "Symfony\\Bundle\\FrameworkBundle\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/framework-bundle/tree/v6.3.8" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-11-09T14:35:42+00:00" }, { "name": "symfony/http-foundation", "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", "reference": "ce332676de1912c4389222987193c3ef38033df6" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ce332676de1912c4389222987193c3ef38033df6", "reference": "ce332676de1912c4389222987193c3ef38033df6", "shasum": "" }, "require": { "php": ">=8.1", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.1", "symfony/polyfill-php83": "^1.27" }, "conflict": { "symfony/cache": "<6.3" }, "require-dev": { "doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.1|^2.0", "symfony/cache": "^6.3", "symfony/dependency-injection": "^5.4|^6.0", "symfony/expression-language": "^5.4|^6.0", "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", "symfony/mime": "^5.4|^6.0", "symfony/rate-limiter": "^5.2|^6.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\HttpFoundation\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/http-foundation/tree/v6.3.8" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-11-07T10:17:15+00:00" }, { "name": "symfony/http-kernel", "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", "reference": "929202375ccf44a309c34aeca8305408442ebcc1" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/http-kernel/zipball/929202375ccf44a309c34aeca8305408442ebcc1", "reference": "929202375ccf44a309c34aeca8305408442ebcc1", "shasum": "" }, "require": { "php": ">=8.1", "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.5|^3", "symfony/error-handler": "^6.3", "symfony/event-dispatcher": "^5.4|^6.0", "symfony/http-foundation": "^6.3.4", "symfony/polyfill-ctype": "^1.8" }, "conflict": { "symfony/browser-kit": "<5.4", "symfony/cache": "<5.4", "symfony/config": "<6.1", "symfony/console": "<5.4", "symfony/dependency-injection": "<6.3.4", "symfony/doctrine-bridge": "<5.4", "symfony/form": "<5.4", "symfony/http-client": "<5.4", "symfony/http-client-contracts": "<2.5", "symfony/mailer": "<5.4", "symfony/messenger": "<5.4", "symfony/translation": "<5.4", "symfony/translation-contracts": "<2.5", "symfony/twig-bridge": "<5.4", "symfony/validator": "<5.4", "symfony/var-dumper": "<6.3", "twig/twig": "<2.13" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", "symfony/browser-kit": "^5.4|^6.0", "symfony/clock": "^6.2", "symfony/config": "^6.1", "symfony/console": "^5.4|^6.0", "symfony/css-selector": "^5.4|^6.0", "symfony/dependency-injection": "^6.3.4", "symfony/dom-crawler": "^5.4|^6.0", "symfony/expression-language": "^5.4|^6.0", "symfony/finder": "^5.4|^6.0", "symfony/http-client-contracts": "^2.5|^3", "symfony/process": "^5.4|^6.0", "symfony/property-access": "^5.4.5|^6.0.5", "symfony/routing": "^5.4|^6.0", "symfony/serializer": "^6.3", "symfony/stopwatch": "^5.4|^6.0", "symfony/translation": "^5.4|^6.0", "symfony/translation-contracts": "^2.5|^3", "symfony/uid": "^5.4|^6.0", "symfony/validator": "^6.3", "symfony/var-exporter": "^6.2", "twig/twig": "^2.13|^3.0.4" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\HttpKernel\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/http-kernel/tree/v6.3.8" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-11-10T13:47:32+00:00" }, { "name": "symfony/monolog-bridge", "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bridge.git", "reference": "2bbfc8bd9d6f966b69eda20c66762580a0410c78" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/2bbfc8bd9d6f966b69eda20c66762580a0410c78", "reference": "2bbfc8bd9d6f966b69eda20c66762580a0410c78", "shasum": "" }, "require": { "monolog/monolog": "^1.25.1|^2|^3", "php": ">=8.1", "symfony/http-kernel": "^5.4|^6.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { "symfony/console": "<5.4", "symfony/http-foundation": "<5.4", "symfony/security-core": "<6.0" }, "require-dev": { "symfony/console": "^5.4|^6.0", "symfony/http-client": "^5.4|^6.0", "symfony/mailer": "^5.4|^6.0", "symfony/messenger": "^5.4|^6.0", "symfony/mime": "^5.4|^6.0", "symfony/security-core": "^6.0", "symfony/var-dumper": "^5.4|^6.0" }, "type": "symfony-bridge", "autoload": { "psr-4": { "Symfony\\Bridge\\Monolog\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides integration for Monolog with various Symfony components", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/monolog-bridge/tree/v6.3.8" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-10-31T08:07:48+00:00" }, { "name": "symfony/monolog-bundle", "version": "v3.10.0", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bundle.git", "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181", "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181", "shasum": "" }, "require": { "monolog/monolog": "^1.25.1 || ^2.0 || ^3.0", "php": ">=7.2.5", "symfony/config": "^5.4 || ^6.0 || ^7.0", "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0", "symfony/http-kernel": "^5.4 || ^6.0 || ^7.0", "symfony/monolog-bridge": "^5.4 || ^6.0 || ^7.0" }, "require-dev": { "symfony/console": "^5.4 || ^6.0 || ^7.0", "symfony/phpunit-bridge": "^6.3 || ^7.0", "symfony/yaml": "^5.4 || ^6.0 || ^7.0" }, "type": "symfony-bundle", "extra": { "branch-alias": { "dev-master": "3.x-dev" } }, "autoload": { "psr-4": { "Symfony\\Bundle\\MonologBundle\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony MonologBundle", "homepage": "https://symfony.com", "keywords": [ "log", "logging" ], "support": { "issues": "https://github.com/symfony/monolog-bundle/issues", "source": "https://github.com/symfony/monolog-bundle/tree/v3.10.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-11-06T17:08:13+00:00" }, { "name": "symfony/options-resolver", "version": "v6.3.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", "reference": "a10f19f5198d589d5c33333cffe98dc9820332dd" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/options-resolver/zipball/a10f19f5198d589d5c33333cffe98dc9820332dd", "reference": "a10f19f5198d589d5c33333cffe98dc9820332dd", "shasum": "" }, "require": { "php": ">=8.1", "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\OptionsResolver\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides an improved replacement for the array_replace PHP function", "homepage": "https://symfony.com", "keywords": [ "config", "configuration", "options" ], "support": { "source": "https://github.com/symfony/options-resolver/tree/v6.3.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-05-12T14:21:09+00:00" }, { "name": "symfony/polyfill-ctype", "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", "shasum": "" }, "require": { "php": ">=7.1" }, "provide": { "ext-ctype": "*" }, "suggest": { "ext-ctype": "For best performance" }, "type": "library", "extra": { "branch-alias": { "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } }, "autoload": { "files": [ "bootstrap.php" ], "psr-4": { "Symfony\\Polyfill\\Ctype\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Gert de Pagter", "email": "BackEndTea@gmail.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", "ctype", "polyfill", "portable" ], "support": { "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-intl-grapheme", "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", "reference": "875e90aeea2777b6f135677f618529449334a612" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", "reference": "875e90aeea2777b6f135677f618529449334a612", "shasum": "" }, "require": { "php": ">=7.1" }, "suggest": { "ext-intl": "For best performance" }, "type": "library", "extra": { "branch-alias": { "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } }, "autoload": { "files": [ "bootstrap.php" ], "psr-4": { "Symfony\\Polyfill\\Intl\\Grapheme\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony polyfill for intl's grapheme_* functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", "grapheme", "intl", "polyfill", "portable", "shim" ], "support": { "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-intl-icu", "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", "reference": "e46b4da57951a16053cd751f63f4a24292788157" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e46b4da57951a16053cd751f63f4a24292788157", "reference": "e46b4da57951a16053cd751f63f4a24292788157", "shasum": "" }, "require": { "php": ">=7.1" }, "suggest": { "ext-intl": "For best performance and support of other locales than \"en\"" }, "type": "library", "extra": { "branch-alias": { "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } }, "autoload": { "files": [ "bootstrap.php" ], "psr-4": { "Symfony\\Polyfill\\Intl\\Icu\\": "" }, "classmap": [ "Resources/stubs" ], "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony polyfill for intl's ICU-related data and classes", "homepage": "https://symfony.com", "keywords": [ "compatibility", "icu", "intl", "polyfill", "portable", "shim" ], "support": { "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.28.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-03-21T17:27:24+00:00" }, { "name": "symfony/polyfill-intl-normalizer", "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", "shasum": "" }, "require": { "php": ">=7.1" }, "suggest": { "ext-intl": "For best performance" }, "type": "library", "extra": { "branch-alias": { "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } }, "autoload": { "files": [ "bootstrap.php" ], "psr-4": { "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, "classmap": [ "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony polyfill for intl's Normalizer class and related functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", "intl", "normalizer", "polyfill", "portable", "shim" ], "support": { "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-mbstring", "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", "reference": "42292d99c55abe617799667f454222c54c60e229" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", "reference": "42292d99c55abe617799667f454222c54c60e229", "shasum": "" }, "require": { "php": ">=7.1" }, "provide": { "ext-mbstring": "*" }, "suggest": { "ext-mbstring": "For best performance" }, "type": "library", "extra": { "branch-alias": { "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } }, "autoload": { "files": [ "bootstrap.php" ], "psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", "keywords": [ "compatibility", "mbstring", "polyfill", "portable", "shim" ], "support": { "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-07-28T09:04:16+00:00" }, { "name": "symfony/polyfill-php80", "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", "shasum": "" }, "require": { "php": ">=7.1" }, "type": "library", "extra": { "branch-alias": { "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } }, "autoload": { "files": [ "bootstrap.php" ], "psr-4": { "Symfony\\Polyfill\\Php80\\": "" }, "classmap": [ "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Ion Bazan", "email": "ion.bazan@gmail.com" }, { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ "compatibility", "polyfill", "portable", "shim" ], "support": { "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-php83", "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", "shasum": "" }, "require": { "php": ">=7.1", "symfony/polyfill-php80": "^1.14" }, "type": "library", "extra": { "branch-alias": { "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } }, "autoload": { "files": [ "bootstrap.php" ], "psr-4": { "Symfony\\Polyfill\\Php83\\": "" }, "classmap": [ "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ "compatibility", "polyfill", "portable", "shim" ], "support": { "source": "https://github.com/symfony/polyfill-php83/tree/v1.28.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-08-16T06:22:46+00:00" }, { "name": "symfony/process", "version": "v6.3.4", "source": { "type": "git", "url": "https://github.com/symfony/process.git", "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/process/zipball/0b5c29118f2e980d455d2e34a5659f4579847c54", "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54", "shasum": "" }, "require": { "php": ">=8.1" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Process\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/process/tree/v6.3.4" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-08-07T10:39:22+00:00" }, { "name": "symfony/property-access", "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", "reference": "2dc4f9da444b8f8ff592e95d570caad67924f1d0" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/property-access/zipball/2dc4f9da444b8f8ff592e95d570caad67924f1d0", "reference": "2dc4f9da444b8f8ff592e95d570caad67924f1d0", "shasum": "" }, "require": { "php": ">=8.1", "symfony/deprecation-contracts": "^2.5|^3", "symfony/property-info": "^5.4|^6.0" }, "require-dev": { "symfony/cache": "^5.4|^6.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\PropertyAccess\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides functions to read and write from/to an object or array using a simple string notation", "homepage": "https://symfony.com", "keywords": [ "access", "array", "extraction", "index", "injection", "object", "property", "property-path", "reflection" ], "support": { "source": "https://github.com/symfony/property-access/tree/v6.3.2" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-07-13T15:26:11+00:00" }, { "name": "symfony/property-info", "version": "v6.3.0", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", "reference": "7f3a03716112269741fe2a809f8f791a371d1fcd" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/property-info/zipball/7f3a03716112269741fe2a809f8f791a371d1fcd", "reference": "7f3a03716112269741fe2a809f8f791a371d1fcd", "shasum": "" }, "require": { "php": ">=8.1", "symfony/string": "^5.4|^6.0" }, "conflict": { "phpdocumentor/reflection-docblock": "<5.2", "phpdocumentor/type-resolver": "<1.5.1", "symfony/dependency-injection": "<5.4" }, "require-dev": { "doctrine/annotations": "^1.10.4|^2", "phpdocumentor/reflection-docblock": "^5.2", "phpstan/phpdoc-parser": "^1.0", "symfony/cache": "^5.4|^6.0", "symfony/dependency-injection": "^5.4|^6.0", "symfony/serializer": "^5.4|^6.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\PropertyInfo\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Kévin Dunglas", "email": "dunglas@gmail.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Extracts information about PHP class' properties using metadata of popular sources", "homepage": "https://symfony.com", "keywords": [ "doctrine", "phpdoc", "property", "symfony", "type", "validator" ], "support": { "source": "https://github.com/symfony/property-info/tree/v6.3.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-05-19T08:06:44+00:00" }, { "name": "symfony/routing", "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", "reference": "82616e59acd3e3d9c916bba798326cb7796d7d31" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/routing/zipball/82616e59acd3e3d9c916bba798326cb7796d7d31", "reference": "82616e59acd3e3d9c916bba798326cb7796d7d31", "shasum": "" }, "require": { "php": ">=8.1", "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { "doctrine/annotations": "<1.12", "symfony/config": "<6.2", "symfony/dependency-injection": "<5.4", "symfony/yaml": "<5.4" }, "require-dev": { "doctrine/annotations": "^1.12|^2", "psr/log": "^1|^2|^3", "symfony/config": "^6.2", "symfony/dependency-injection": "^5.4|^6.0", "symfony/expression-language": "^5.4|^6.0", "symfony/http-foundation": "^5.4|^6.0", "symfony/yaml": "^5.4|^6.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Routing\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Maps an HTTP request to a set of configuration variables", "homepage": "https://symfony.com", "keywords": [ "router", "routing", "uri", "url" ], "support": { "source": "https://github.com/symfony/routing/tree/v6.3.5" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-09-20T16:05:51+00:00" }, { "name": "symfony/service-contracts", "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/service-contracts/zipball/b3313c2dbffaf71c8de2934e2ea56ed2291a3838", "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838", "shasum": "" }, "require": { "php": ">=8.1", "psr/container": "^2.0" }, "conflict": { "ext-psr": "<1.1|>=2" }, "type": "library", "extra": { "branch-alias": { "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", "url": "https://github.com/symfony/contracts" } }, "autoload": { "psr-4": { "Symfony\\Contracts\\Service\\": "" }, "exclude-from-classmap": [ "/Test/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Generic abstractions related to writing services", "homepage": "https://symfony.com", "keywords": [ "abstractions", "contracts", "decoupling", "interfaces", "interoperability", "standards" ], "support": { "source": "https://github.com/symfony/service-contracts/tree/v3.4.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-07-30T20:28:31+00:00" }, { "name": "symfony/string", "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/string.git", "reference": "13880a87790c76ef994c91e87efb96134522577a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/string/zipball/13880a87790c76ef994c91e87efb96134522577a", "reference": "13880a87790c76ef994c91e87efb96134522577a", "shasum": "" }, "require": { "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { "symfony/translation-contracts": "<2.5" }, "require-dev": { "symfony/error-handler": "^5.4|^6.0", "symfony/http-client": "^5.4|^6.0", "symfony/intl": "^6.2", "symfony/translation-contracts": "^2.5|^3.0", "symfony/var-exporter": "^5.4|^6.0" }, "type": "library", "autoload": { "files": [ "Resources/functions.php" ], "psr-4": { "Symfony\\Component\\String\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", "homepage": "https://symfony.com", "keywords": [ "grapheme", "i18n", "string", "unicode", "utf-8", "utf8" ], "support": { "source": "https://github.com/symfony/string/tree/v6.3.8" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-11-09T08:28:21+00:00" }, { "name": "symfony/templating", "version": "v6.3.0", "source": { "type": "git", "url": "https://github.com/symfony/templating.git", "reference": "27d79475d8bcba894235b5472df158e78c6419a3" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/templating/zipball/27d79475d8bcba894235b5472df158e78c6419a3", "reference": "27d79475d8bcba894235b5472df158e78c6419a3", "shasum": "" }, "require": { "php": ">=8.1", "symfony/polyfill-ctype": "~1.8" }, "require-dev": { "psr/log": "^1|^2|^3" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Templating\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides all the tools needed to build any kind of template system", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/templating/tree/v6.3.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-04-22T08:23:52+00:00" }, { "name": "symfony/translation", "version": "v6.3.7", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", "reference": "30212e7c87dcb79c83f6362b00bde0e0b1213499" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/translation/zipball/30212e7c87dcb79c83f6362b00bde0e0b1213499", "reference": "30212e7c87dcb79c83f6362b00bde0e0b1213499", "shasum": "" }, "require": { "php": ">=8.1", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/translation-contracts": "^2.5|^3.0" }, "conflict": { "symfony/config": "<5.4", "symfony/console": "<5.4", "symfony/dependency-injection": "<5.4", "symfony/http-client-contracts": "<2.5", "symfony/http-kernel": "<5.4", "symfony/service-contracts": "<2.5", "symfony/twig-bundle": "<5.4", "symfony/yaml": "<5.4" }, "provide": { "symfony/translation-implementation": "2.3|3.0" }, "require-dev": { "nikic/php-parser": "^4.13", "psr/log": "^1|^2|^3", "symfony/config": "^5.4|^6.0", "symfony/console": "^5.4|^6.0", "symfony/dependency-injection": "^5.4|^6.0", "symfony/finder": "^5.4|^6.0", "symfony/http-client-contracts": "^2.5|^3.0", "symfony/http-kernel": "^5.4|^6.0", "symfony/intl": "^5.4|^6.0", "symfony/polyfill-intl-icu": "^1.21", "symfony/routing": "^5.4|^6.0", "symfony/service-contracts": "^2.5|^3", "symfony/yaml": "^5.4|^6.0" }, "type": "library", "autoload": { "files": [ "Resources/functions.php" ], "psr-4": { "Symfony\\Component\\Translation\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/translation/tree/v6.3.7" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-10-28T23:11:45+00:00" }, { "name": "symfony/translation-contracts", "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", "reference": "dee0c6e5b4c07ce851b462530088e64b255ac9c5" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/dee0c6e5b4c07ce851b462530088e64b255ac9c5", "reference": "dee0c6e5b4c07ce851b462530088e64b255ac9c5", "shasum": "" }, "require": { "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", "url": "https://github.com/symfony/contracts" } }, "autoload": { "psr-4": { "Symfony\\Contracts\\Translation\\": "" }, "exclude-from-classmap": [ "/Test/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Generic abstractions related to translation", "homepage": "https://symfony.com", "keywords": [ "abstractions", "contracts", "decoupling", "interfaces", "interoperability", "standards" ], "support": { "source": "https://github.com/symfony/translation-contracts/tree/v3.4.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-07-25T15:08:44+00:00" }, { "name": "symfony/twig-bridge", "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", "reference": "c51407623959a626784ff302419026f56dc4e1ba" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/c51407623959a626784ff302419026f56dc4e1ba", "reference": "c51407623959a626784ff302419026f56dc4e1ba", "shasum": "" }, "require": { "php": ">=8.1", "symfony/translation-contracts": "^2.5|^3", "twig/twig": "^2.13|^3.0.4" }, "conflict": { "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", "symfony/console": "<5.4", "symfony/form": "<6.3", "symfony/http-foundation": "<5.4", "symfony/http-kernel": "<6.2", "symfony/mime": "<6.2", "symfony/translation": "<5.4", "symfony/workflow": "<5.4" }, "require-dev": { "doctrine/annotations": "^1.12|^2", "egulias/email-validator": "^2.1.10|^3|^4", "league/html-to-markdown": "^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", "symfony/asset": "^5.4|^6.0", "symfony/asset-mapper": "^6.3", "symfony/console": "^5.4|^6.0", "symfony/dependency-injection": "^5.4|^6.0", "symfony/expression-language": "^5.4|^6.0", "symfony/finder": "^5.4|^6.0", "symfony/form": "^6.3", "symfony/html-sanitizer": "^6.1", "symfony/http-foundation": "^5.4|^6.0", "symfony/http-kernel": "^6.2", "symfony/intl": "^5.4|^6.0", "symfony/mime": "^6.2", "symfony/polyfill-intl-icu": "~1.0", "symfony/property-info": "^5.4|^6.0", "symfony/routing": "^5.4|^6.0", "symfony/security-acl": "^2.8|^3.0", "symfony/security-core": "^5.4|^6.0", "symfony/security-csrf": "^5.4|^6.0", "symfony/security-http": "^5.4|^6.0", "symfony/serializer": "^6.2", "symfony/stopwatch": "^5.4|^6.0", "symfony/translation": "^6.1", "symfony/web-link": "^5.4|^6.0", "symfony/workflow": "^5.4|^6.0", "symfony/yaml": "^5.4|^6.0", "twig/cssinliner-extra": "^2.12|^3", "twig/inky-extra": "^2.12|^3", "twig/markdown-extra": "^2.12|^3" }, "type": "symfony-bridge", "autoload": { "psr-4": { "Symfony\\Bridge\\Twig\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/twig-bridge/tree/v6.3.8" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-11-09T21:20:12+00:00" }, { "name": "symfony/twig-bundle", "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/twig-bundle.git", "reference": "82429320fe931dd50825ec08140c54b3a315bf79" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/82429320fe931dd50825ec08140c54b3a315bf79", "reference": "82429320fe931dd50825ec08140c54b3a315bf79", "shasum": "" }, "require": { "composer-runtime-api": ">=2.1", "php": ">=8.1", "symfony/config": "^6.1", "symfony/dependency-injection": "^6.1", "symfony/http-foundation": "^5.4|^6.0", "symfony/http-kernel": "^6.2", "symfony/twig-bridge": "^6.3", "twig/twig": "^2.13|^3.0.4" }, "conflict": { "symfony/framework-bundle": "<5.4", "symfony/translation": "<5.4" }, "require-dev": { "doctrine/annotations": "^1.10.4|^2", "symfony/asset": "^5.4|^6.0", "symfony/expression-language": "^5.4|^6.0", "symfony/finder": "^5.4|^6.0", "symfony/form": "^5.4|^6.0", "symfony/framework-bundle": "^5.4|^6.0", "symfony/routing": "^5.4|^6.0", "symfony/stopwatch": "^5.4|^6.0", "symfony/translation": "^5.4|^6.0", "symfony/web-link": "^5.4|^6.0", "symfony/yaml": "^5.4|^6.0" }, "type": "symfony-bundle", "autoload": { "psr-4": { "Symfony\\Bundle\\TwigBundle\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides a tight integration of Twig into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/twig-bundle/tree/v6.3.8" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-10-31T08:07:48+00:00" }, { "name": "symfony/var-dumper", "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", "reference": "81acabba9046550e89634876ca64bfcd3c06aa0a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/var-dumper/zipball/81acabba9046550e89634876ca64bfcd3c06aa0a", "reference": "81acabba9046550e89634876ca64bfcd3c06aa0a", "shasum": "" }, "require": { "php": ">=8.1", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { "symfony/console": "<5.4" }, "require-dev": { "ext-iconv": "*", "symfony/console": "^5.4|^6.0", "symfony/http-kernel": "^5.4|^6.0", "symfony/process": "^5.4|^6.0", "symfony/uid": "^5.4|^6.0", "twig/twig": "^2.13|^3.0.4" }, "bin": [ "Resources/bin/var-dump-server" ], "type": "library", "autoload": { "files": [ "Resources/functions/dump.php" ], "psr-4": { "Symfony\\Component\\VarDumper\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides mechanisms for walking through any arbitrary PHP variable", "homepage": "https://symfony.com", "keywords": [ "debug", "dump" ], "support": { "source": "https://github.com/symfony/var-dumper/tree/v6.3.8" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-11-08T10:42:36+00:00" }, { "name": "symfony/var-exporter", "version": "v6.3.6", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", "reference": "374d289c13cb989027274c86206ddc63b16a2441" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/var-exporter/zipball/374d289c13cb989027274c86206ddc63b16a2441", "reference": "374d289c13cb989027274c86206ddc63b16a2441", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { "symfony/var-dumper": "^5.4|^6.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\VarExporter\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Allows exporting any serializable PHP data structure to plain PHP code", "homepage": "https://symfony.com", "keywords": [ "clone", "construct", "export", "hydrate", "instantiate", "lazy-loading", "proxy", "serialize" ], "support": { "source": "https://github.com/symfony/var-exporter/tree/v6.3.6" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-10-13T09:16:49+00:00" }, { "name": "symfony/webpack-encore-bundle", "version": "v2.1.1", "source": { "type": "git", "url": "https://github.com/symfony/webpack-encore-bundle.git", "reference": "75cb918df3f65e28cf0d4bc03042bc45ccb19dd0" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/webpack-encore-bundle/zipball/75cb918df3f65e28cf0d4bc03042bc45ccb19dd0", "reference": "75cb918df3f65e28cf0d4bc03042bc45ccb19dd0", "shasum": "" }, "require": { "php": ">=8.1.0", "symfony/asset": "^5.4 || ^6.2 || ^7.0", "symfony/config": "^5.4 || ^6.2 || ^7.0", "symfony/dependency-injection": "^5.4 || ^6.2 || ^7.0", "symfony/http-kernel": "^5.4 || ^6.2 || ^7.0", "symfony/service-contracts": "^1.1.9 || ^2.1.3 || ^3.0" }, "require-dev": { "symfony/framework-bundle": "^5.4 || ^6.2 || ^7.0", "symfony/phpunit-bridge": "^5.4 || ^6.2 || ^7.0", "symfony/twig-bundle": "^5.4 || ^6.2 || ^7.0", "symfony/web-link": "^5.4 || ^6.2 || ^7.0" }, "type": "symfony-bundle", "extra": { "thanks": { "name": "symfony/webpack-encore", "url": "https://github.com/symfony/webpack-encore" } }, "autoload": { "psr-4": { "Symfony\\WebpackEncoreBundle\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Integration with your Symfony app & Webpack Encore!", "support": { "issues": "https://github.com/symfony/webpack-encore-bundle/issues", "source": "https://github.com/symfony/webpack-encore-bundle/tree/v2.1.1" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-10-22T18:53:08+00:00" }, { "name": "symfony/yaml", "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", "reference": "3493af8a8dad7fa91c77fa473ba23ecd95334a92" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/yaml/zipball/3493af8a8dad7fa91c77fa473ba23ecd95334a92", "reference": "3493af8a8dad7fa91c77fa473ba23ecd95334a92", "shasum": "" }, "require": { "php": ">=8.1", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8" }, "conflict": { "symfony/console": "<5.4" }, "require-dev": { "symfony/console": "^5.4|^6.0" }, "bin": [ "Resources/bin/yaml-lint" ], "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Yaml\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/yaml/tree/v6.3.8" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-11-06T10:58:05+00:00" }, { "name": "twig/twig", "version": "v3.7.1", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", "reference": "a0ce373a0ca3bf6c64b9e3e2124aca502ba39554" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/twigphp/Twig/zipball/a0ce373a0ca3bf6c64b9e3e2124aca502ba39554", "reference": "a0ce373a0ca3bf6c64b9e3e2124aca502ba39554", "shasum": "" }, "require": { "php": ">=7.2.5", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-mbstring": "^1.3" }, "require-dev": { "psr/container": "^1.0|^2.0", "symfony/phpunit-bridge": "^5.4.9|^6.3" }, "type": "library", "autoload": { "psr-4": { "Twig\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com", "homepage": "http://fabien.potencier.org", "role": "Lead Developer" }, { "name": "Twig Team", "role": "Contributors" }, { "name": "Armin Ronacher", "email": "armin.ronacher@active-4.com", "role": "Project Founder" } ], "description": "Twig, the flexible, fast, and secure template language for PHP", "homepage": "https://twig.symfony.com", "keywords": [ "templating" ], "support": { "issues": "https://github.com/twigphp/Twig/issues", "source": "https://github.com/twigphp/Twig/tree/v3.7.1" }, "funding": [ { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/twig/twig", "type": "tidelift" } ], "time": "2023-08-28T11:09:02+00:00" } ], "packages-dev": [ { "name": "composer/pcre", "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/pcre/zipball/00104306927c7a0919b4ced2aaa6782c1e61a3c9", "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9", "shasum": "" }, "require": { "php": "^7.4 || ^8.0" }, "require-dev": { "phpstan/phpstan": "^1.3", "phpstan/phpstan-strict-rules": "^1.1", "symfony/phpunit-bridge": "^5" }, "type": "library", "extra": { "branch-alias": { "dev-main": "3.x-dev" } }, "autoload": { "psr-4": { "Composer\\Pcre\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", "homepage": "http://seld.be" } ], "description": "PCRE wrapping library that offers type-safe preg_* replacements.", "keywords": [ "PCRE", "preg", "regex", "regular expression" ], "support": { "issues": "https://github.com/composer/pcre/issues", "source": "https://github.com/composer/pcre/tree/3.1.1" }, "funding": [ { "url": "https://packagist.com", "type": "custom" }, { "url": "https://github.com/composer", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/composer/composer", "type": "tidelift" } ], "time": "2023-10-11T07:11:09+00:00" }, { "name": "composer/semver", "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/composer/semver.git", "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32", "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { "phpstan/phpstan": "^1.4", "symfony/phpunit-bridge": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { "dev-main": "3.x-dev" } }, "autoload": { "psr-4": { "Composer\\Semver\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nils Adermann", "email": "naderman@naderman.de", "homepage": "http://www.naderman.de" }, { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", "homepage": "http://seld.be" }, { "name": "Rob Bast", "email": "rob.bast@gmail.com", "homepage": "http://robbast.nl" } ], "description": "Semver library that offers utilities, version constraint parsing and validation.", "keywords": [ "semantic", "semver", "validation", "versioning" ], "support": { "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/semver/issues", "source": "https://github.com/composer/semver/tree/3.4.0" }, "funding": [ { "url": "https://packagist.com", "type": "custom" }, { "url": "https://github.com/composer", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/composer/composer", "type": "tidelift" } ], "time": "2023-08-31T09:50:34+00:00" }, { "name": "composer/xdebug-handler", "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", "reference": "ced299686f41dce890debac69273b47ffe98a40c" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", "reference": "ced299686f41dce890debac69273b47ffe98a40c", "shasum": "" }, "require": { "composer/pcre": "^1 || ^2 || ^3", "php": "^7.2.5 || ^8.0", "psr/log": "^1 || ^2 || ^3" }, "require-dev": { "phpstan/phpstan": "^1.0", "phpstan/phpstan-strict-rules": "^1.1", "symfony/phpunit-bridge": "^6.0" }, "type": "library", "autoload": { "psr-4": { "Composer\\XdebugHandler\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "John Stevenson", "email": "john-stevenson@blueyonder.co.uk" } ], "description": "Restarts a process without Xdebug.", "keywords": [ "Xdebug", "performance" ], "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/xdebug-handler/issues", "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" }, "funding": [ { "url": "https://packagist.com", "type": "custom" }, { "url": "https://github.com/composer", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/composer/composer", "type": "tidelift" } ], "time": "2022-02-25T21:32:43+00:00" }, { "name": "doctrine/deprecations", "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "require-dev": { "doctrine/coding-standard": "^9", "phpstan/phpstan": "1.4.10 || 1.10.15", "phpstan/phpstan-phpunit": "^1.0", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", "psalm/plugin-phpunit": "0.18.4", "psr/log": "^1 || ^2 || ^3", "vimeo/psalm": "4.30.0 || 5.12.0" }, "suggest": { "psr/log": "Allows logging deprecations via PSR-3 logger implementation" }, "type": "library", "autoload": { "psr-4": { "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", "source": "https://github.com/doctrine/deprecations/tree/1.1.2" }, "time": "2023-09-27T20:04:15+00:00" }, { "name": "doctrine/instantiator", "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", "shasum": "" }, "require": { "php": "^8.1" }, "require-dev": { "doctrine/coding-standard": "^11", "ext-pdo": "*", "ext-phar": "*", "phpbench/phpbench": "^1.2", "phpstan/phpstan": "^1.9.4", "phpstan/phpstan-phpunit": "^1.3", "phpunit/phpunit": "^9.5.27", "vimeo/psalm": "^5.4" }, "type": "library", "autoload": { "psr-4": { "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Marco Pivetta", "email": "ocramius@gmail.com", "homepage": "https://ocramius.github.io/" } ], "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", "homepage": "https://www.doctrine-project.org/projects/instantiator.html", "keywords": [ "constructor", "instantiate" ], "support": { "issues": "https://github.com/doctrine/instantiator/issues", "source": "https://github.com/doctrine/instantiator/tree/2.0.0" }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", "type": "custom" }, { "url": "https://www.patreon.com/phpdoctrine", "type": "patreon" }, { "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", "type": "tidelift" } ], "time": "2022-12-30T00:23:10+00:00" }, { "name": "friendsofphp/php-cs-fixer", "version": "v3.38.2", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", "reference": "d872cdd543797ade030aaa307c0a4954a712e081" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/d872cdd543797ade030aaa307c0a4954a712e081", "reference": "d872cdd543797ade030aaa307c0a4954a712e081", "shasum": "" }, "require": { "composer/semver": "^3.3", "composer/xdebug-handler": "^3.0.3", "ext-json": "*", "ext-tokenizer": "*", "php": "^7.4 || ^8.0", "sebastian/diff": "^4.0 || ^5.0", "symfony/console": "^5.4 || ^6.0", "symfony/event-dispatcher": "^5.4 || ^6.0", "symfony/filesystem": "^5.4 || ^6.0", "symfony/finder": "^5.4 || ^6.0", "symfony/options-resolver": "^5.4 || ^6.0", "symfony/polyfill-mbstring": "^1.27", "symfony/polyfill-php80": "^1.27", "symfony/polyfill-php81": "^1.27", "symfony/process": "^5.4 || ^6.0", "symfony/stopwatch": "^5.4 || ^6.0" }, "require-dev": { "facile-it/paraunit": "^1.3 || ^2.0", "justinrainbow/json-schema": "^5.2", "keradus/cli-executor": "^2.0", "mikey179/vfsstream": "^1.6.11", "php-coveralls/php-coveralls": "^2.5.3", "php-cs-fixer/accessible-object": "^1.1", "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", "phpspec/prophecy": "^1.16", "phpspec/prophecy-phpunit": "^2.0", "phpunit/phpunit": "^9.5", "symfony/phpunit-bridge": "^6.2.3", "symfony/yaml": "^5.4 || ^6.0" }, "suggest": { "ext-dom": "For handling output formats in XML", "ext-mbstring": "For handling non-UTF8 characters." }, "bin": [ "php-cs-fixer" ], "type": "application", "autoload": { "psr-4": { "PhpCsFixer\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Dariusz RumiÅ„ski", "email": "dariusz.ruminski@gmail.com" } ], "description": "A tool to automatically fix PHP code style", "keywords": [ "Static code analysis", "fixer", "standards", "static analysis" ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.38.2" }, "funding": [ { "url": "https://github.com/keradus", "type": "github" } ], "time": "2023-11-14T00:19:22+00:00" }, { "name": "myclabs/deep-copy", "version": "1.11.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "conflict": { "doctrine/collections": "<1.6.8", "doctrine/common": "<2.13.3 || >=3,<3.2.2" }, "require-dev": { "doctrine/collections": "^1.6.8", "doctrine/common": "^2.13.3 || ^3.2.2", "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" }, "type": "library", "autoload": { "files": [ "src/DeepCopy/deep_copy.php" ], "psr-4": { "DeepCopy\\": "src/DeepCopy/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "description": "Create deep copies (clones) of your objects", "keywords": [ "clone", "copy", "duplicate", "object", "object graph" ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" }, "funding": [ { "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", "type": "tidelift" } ], "time": "2023-03-08T13:26:56+00:00" }, { "name": "nikic/php-parser", "version": "v4.17.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", "shasum": "" }, "require": { "ext-tokenizer": "*", "php": ">=7.0" }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" }, "bin": [ "bin/php-parse" ], "type": "library", "extra": { "branch-alias": { "dev-master": "4.9-dev" } }, "autoload": { "psr-4": { "PhpParser\\": "lib/PhpParser" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Nikita Popov" } ], "description": "A PHP parser written in PHP", "keywords": [ "parser", "php" ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1" }, "time": "2023-08-13T19:53:39+00:00" }, { "name": "phar-io/manifest", "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", "reference": "97803eca37d319dfa7826cc2437fc020857acb53" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", "reference": "97803eca37d319dfa7826cc2437fc020857acb53", "shasum": "" }, "require": { "ext-dom": "*", "ext-phar": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1", "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0.x-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Arne Blankerts", "email": "arne@blankerts.de", "role": "Developer" }, { "name": "Sebastian Heuer", "email": "sebastian@phpeople.de", "role": "Developer" }, { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "Developer" } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", "source": "https://github.com/phar-io/manifest/tree/2.0.3" }, "time": "2021-07-20T11:28:43+00:00" }, { "name": "phar-io/version", "version": "3.2.1", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Arne Blankerts", "email": "arne@blankerts.de", "role": "Developer" }, { "name": "Sebastian Heuer", "email": "sebastian@phpeople.de", "role": "Developer" }, { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "Developer" } ], "description": "Library for handling version information and constraints", "support": { "issues": "https://github.com/phar-io/version/issues", "source": "https://github.com/phar-io/version/tree/3.2.1" }, "time": "2022-02-21T01:04:05+00:00" }, { "name": "phpdocumentor/reflection-common", "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { "dev-2.x": "2.x-dev" } }, "autoload": { "psr-4": { "phpDocumentor\\Reflection\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jaap van Otterdijk", "email": "opensource@ijaap.nl" } ], "description": "Common reflection classes used by phpdocumentor to reflect the code structure", "homepage": "http://www.phpdoc.org", "keywords": [ "FQSEN", "phpDocumentor", "phpdoc", "reflection", "static analysis" ], "support": { "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" }, "time": "2020-06-27T09:03:43+00:00" }, { "name": "phpdocumentor/reflection-docblock", "version": "5.3.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", "shasum": "" }, "require": { "ext-filter": "*", "php": "^7.2 || ^8.0", "phpdocumentor/reflection-common": "^2.2", "phpdocumentor/type-resolver": "^1.3", "webmozart/assert": "^1.9.1" }, "require-dev": { "mockery/mockery": "~1.3.2", "psalm/phar": "^4.8" }, "type": "library", "extra": { "branch-alias": { "dev-master": "5.x-dev" } }, "autoload": { "psr-4": { "phpDocumentor\\Reflection\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Mike van Riel", "email": "me@mikevanriel.com" }, { "name": "Jaap van Otterdijk", "email": "account@ijaap.nl" } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" }, "time": "2021-10-19T17:43:47+00:00" }, { "name": "phpdocumentor/type-resolver", "version": "1.7.3", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", "shasum": "" }, "require": { "doctrine/deprecations": "^1.0", "php": "^7.4 || ^8.0", "phpdocumentor/reflection-common": "^2.0", "phpstan/phpdoc-parser": "^1.13" }, "require-dev": { "ext-tokenizer": "*", "phpbench/phpbench": "^1.2", "phpstan/extension-installer": "^1.1", "phpstan/phpstan": "^1.8", "phpstan/phpstan-phpunit": "^1.1", "phpunit/phpunit": "^9.5", "rector/rector": "^0.13.9", "vimeo/psalm": "^4.25" }, "type": "library", "extra": { "branch-alias": { "dev-1.x": "1.x-dev" } }, "autoload": { "psr-4": { "phpDocumentor\\Reflection\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Mike van Riel", "email": "me@mikevanriel.com" } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.3" }, "time": "2023-08-12T11:01:26+00:00" }, { "name": "phpspec/prophecy", "version": "v1.17.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", "reference": "15873c65b207b07765dbc3c95d20fdf4a320cbe2" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpspec/prophecy/zipball/15873c65b207b07765dbc3c95d20fdf4a320cbe2", "reference": "15873c65b207b07765dbc3c95d20fdf4a320cbe2", "shasum": "" }, "require": { "doctrine/instantiator": "^1.2 || ^2.0", "php": "^7.2 || 8.0.* || 8.1.* || 8.2.*", "phpdocumentor/reflection-docblock": "^5.2", "sebastian/comparator": "^3.0 || ^4.0", "sebastian/recursion-context": "^3.0 || ^4.0" }, "require-dev": { "phpspec/phpspec": "^6.0 || ^7.0", "phpstan/phpstan": "^1.9", "phpunit/phpunit": "^8.0 || ^9.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { "Prophecy\\": "src/Prophecy" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Konstantin Kudryashov", "email": "ever.zet@gmail.com", "homepage": "http://everzet.com" }, { "name": "Marcello Duarte", "email": "marcello.duarte@gmail.com" } ], "description": "Highly opinionated mocking framework for PHP 5.3+", "homepage": "https://github.com/phpspec/prophecy", "keywords": [ "Double", "Dummy", "fake", "mock", "spy", "stub" ], "support": { "issues": "https://github.com/phpspec/prophecy/issues", "source": "https://github.com/phpspec/prophecy/tree/v1.17.0" }, "time": "2023-02-02T15:41:36+00:00" }, { "name": "phpspec/prophecy-phpunit", "version": "v2.0.2", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy-phpunit.git", "reference": "9f26c224a2fa335f33e6666cc078fbf388255e87" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpspec/prophecy-phpunit/zipball/9f26c224a2fa335f33e6666cc078fbf388255e87", "reference": "9f26c224a2fa335f33e6666cc078fbf388255e87", "shasum": "" }, "require": { "php": "^7.3 || ^8", "phpspec/prophecy": "^1.3", "phpunit/phpunit": "^9.1" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0-dev" } }, "autoload": { "psr-4": { "Prophecy\\PhpUnit\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Christophe Coevoet", "email": "stof@notk.org" } ], "description": "Integrating the Prophecy mocking library in PHPUnit test cases", "homepage": "http://phpspec.net", "keywords": [ "phpunit", "prophecy" ], "support": { "issues": "https://github.com/phpspec/prophecy-phpunit/issues", "source": "https://github.com/phpspec/prophecy-phpunit/tree/v2.0.2" }, "time": "2023-04-18T11:58:05+00:00" }, { "name": "phpstan/phpdoc-parser", "version": "1.24.2", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", "reference": "bcad8d995980440892759db0c32acae7c8e79442" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/bcad8d995980440892759db0c32acae7c8e79442", "reference": "bcad8d995980440892759db0c32acae7c8e79442", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { "doctrine/annotations": "^2.0", "nikic/php-parser": "^4.15", "php-parallel-lint/php-parallel-lint": "^1.2", "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^1.5", "phpstan/phpstan-phpunit": "^1.1", "phpstan/phpstan-strict-rules": "^1.0", "phpunit/phpunit": "^9.5", "symfony/process": "^5.2" }, "type": "library", "autoload": { "psr-4": { "PHPStan\\PhpDocParser\\": [ "src/" ] } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", "source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.2" }, "time": "2023-09-26T12:28:12+00:00" }, { "name": "phpstan/phpstan", "version": "1.10.41", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", "reference": "c6174523c2a69231df55bdc65b61655e72876d76" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c6174523c2a69231df55bdc65b61655e72876d76", "reference": "c6174523c2a69231df55bdc65b61655e72876d76", "shasum": "" }, "require": { "php": "^7.2|^8.0" }, "conflict": { "phpstan/phpstan-shim": "*" }, "bin": [ "phpstan", "phpstan.phar" ], "type": "library", "autoload": { "files": [ "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "description": "PHPStan - PHP Static Analysis Tool", "keywords": [ "dev", "static analysis" ], "support": { "docs": "https://phpstan.org/user-guide/getting-started", "forum": "https://github.com/phpstan/phpstan/discussions", "issues": "https://github.com/phpstan/phpstan/issues", "security": "https://github.com/phpstan/phpstan/security/policy", "source": "https://github.com/phpstan/phpstan-src" }, "funding": [ { "url": "https://github.com/ondrejmirtes", "type": "github" }, { "url": "https://github.com/phpstan", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", "type": "tidelift" } ], "time": "2023-11-05T12:57:57+00:00" }, { "name": "phpunit/php-code-coverage", "version": "9.2.29", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76", "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", "nikic/php-parser": "^4.15", "php": ">=7.3", "phpunit/php-file-iterator": "^3.0.3", "phpunit/php-text-template": "^2.0.2", "sebastian/code-unit-reverse-lookup": "^2.0.2", "sebastian/complexity": "^2.0", "sebastian/environment": "^5.1.2", "sebastian/lines-of-code": "^1.0.3", "sebastian/version": "^3.0.1", "theseer/tokenizer": "^1.2.0" }, "require-dev": { "phpunit/phpunit": "^9.3" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" }, "type": "library", "extra": { "branch-alias": { "dev-master": "9.2-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", "homepage": "https://github.com/sebastianbergmann/php-code-coverage", "keywords": [ "coverage", "testing", "xunit" ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-09-19T04:57:46+00:00" }, { "name": "phpunit/php-file-iterator", "version": "3.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", "shasum": "" }, "require": { "php": ">=7.3" }, "require-dev": { "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "FilterIterator implementation that filters files based on a list of suffixes.", "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", "keywords": [ "filesystem", "iterator" ], "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2021-12-02T12:48:52+00:00" }, { "name": "phpunit/php-invoker", "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-invoker.git", "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", "shasum": "" }, "require": { "php": ">=7.3" }, "require-dev": { "ext-pcntl": "*", "phpunit/phpunit": "^9.3" }, "suggest": { "ext-pcntl": "*" }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.1-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "Invoke callables with a timeout", "homepage": "https://github.com/sebastianbergmann/php-invoker/", "keywords": [ "process" ], "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2020-09-28T05:58:55+00:00" }, { "name": "phpunit/php-text-template", "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", "shasum": "" }, "require": { "php": ">=7.3" }, "require-dev": { "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "Simple template engine.", "homepage": "https://github.com/sebastianbergmann/php-text-template/", "keywords": [ "template" ], "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2020-10-26T05:33:50+00:00" }, { "name": "phpunit/php-timer", "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", "shasum": "" }, "require": { "php": ">=7.3" }, "require-dev": { "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "5.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "Utility class for timing", "homepage": "https://github.com/sebastianbergmann/php-timer/", "keywords": [ "timer" ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2020-10-26T13:16:10+00:00" }, { "name": "phpunit/phpunit", "version": "9.6.13", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be", "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be", "shasum": "" }, "require": { "doctrine/instantiator": "^1.3.1 || ^2", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", "myclabs/deep-copy": "^1.10.1", "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", "php": ">=7.3", "phpunit/php-code-coverage": "^9.2.28", "phpunit/php-file-iterator": "^3.0.5", "phpunit/php-invoker": "^3.1.1", "phpunit/php-text-template": "^2.0.3", "phpunit/php-timer": "^5.0.2", "sebastian/cli-parser": "^1.0.1", "sebastian/code-unit": "^1.0.6", "sebastian/comparator": "^4.0.8", "sebastian/diff": "^4.0.3", "sebastian/environment": "^5.1.3", "sebastian/exporter": "^4.0.5", "sebastian/global-state": "^5.0.1", "sebastian/object-enumerator": "^4.0.3", "sebastian/resource-operations": "^3.0.3", "sebastian/type": "^3.2", "sebastian/version": "^3.0.2" }, "suggest": { "ext-soap": "To be able to generate mocks based on WSDL files", "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" }, "bin": [ "phpunit" ], "type": "library", "extra": { "branch-alias": { "dev-master": "9.6-dev" } }, "autoload": { "files": [ "src/Framework/Assert/Functions.php" ], "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "The PHP Unit Testing framework.", "homepage": "https://phpunit.de/", "keywords": [ "phpunit", "testing", "xunit" ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.13" }, "funding": [ { "url": "https://phpunit.de/sponsors.html", "type": "custom" }, { "url": "https://github.com/sebastianbergmann", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", "type": "tidelift" } ], "time": "2023-09-19T05:39:22+00:00" }, { "name": "sebastian/cli-parser", "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", "shasum": "" }, "require": { "php": ">=7.3" }, "require-dev": { "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "Library for parsing CLI options", "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2020-09-28T06:08:49+00:00" }, { "name": "sebastian/code-unit", "version": "1.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit.git", "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", "shasum": "" }, "require": { "php": ">=7.3" }, "require-dev": { "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "Collection of value objects that represent the PHP code units", "homepage": "https://github.com/sebastianbergmann/code-unit", "support": { "issues": "https://github.com/sebastianbergmann/code-unit/issues", "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2020-10-26T13:08:54+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", "shasum": "" }, "require": { "php": ">=7.3" }, "require-dev": { "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" } ], "description": "Looks up which function or method a line of code belongs to", "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2020-09-28T05:30:19+00:00" }, { "name": "sebastian/comparator", "version": "4.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", "reference": "fa0f136dd2334583309d32b62544682ee972b51a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", "reference": "fa0f136dd2334583309d32b62544682ee972b51a", "shasum": "" }, "require": { "php": ">=7.3", "sebastian/diff": "^4.0", "sebastian/exporter": "^4.0" }, "require-dev": { "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" }, { "name": "Jeff Welch", "email": "whatthejeff@gmail.com" }, { "name": "Volker Dusch", "email": "github@wallbash.com" }, { "name": "Bernhard Schussek", "email": "bschussek@2bepublished.at" } ], "description": "Provides the functionality to compare PHP values for equality", "homepage": "https://github.com/sebastianbergmann/comparator", "keywords": [ "comparator", "compare", "equality" ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2022-09-14T12:41:17+00:00" }, { "name": "sebastian/complexity", "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", "shasum": "" }, "require": { "nikic/php-parser": "^4.7", "php": ">=7.3" }, "require-dev": { "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "Library for calculating the complexity of PHP code units", "homepage": "https://github.com/sebastianbergmann/complexity", "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2020-10-26T15:52:27+00:00" }, { "name": "sebastian/diff", "version": "4.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131", "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131", "shasum": "" }, "require": { "php": ">=7.3" }, "require-dev": { "phpunit/phpunit": "^9.3", "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" }, { "name": "Kore Nordmann", "email": "mail@kore-nordmann.de" } ], "description": "Diff implementation", "homepage": "https://github.com/sebastianbergmann/diff", "keywords": [ "diff", "udiff", "unidiff", "unified diff" ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-05-07T05:35:17+00:00" }, { "name": "sebastian/environment", "version": "5.1.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", "shasum": "" }, "require": { "php": ">=7.3" }, "require-dev": { "phpunit/phpunit": "^9.3" }, "suggest": { "ext-posix": "*" }, "type": "library", "extra": { "branch-alias": { "dev-master": "5.1-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" } ], "description": "Provides functionality to handle HHVM/PHP environments", "homepage": "http://www.github.com/sebastianbergmann/environment", "keywords": [ "Xdebug", "environment", "hhvm" ], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-02-03T06:03:51+00:00" }, { "name": "sebastian/exporter", "version": "4.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", "shasum": "" }, "require": { "php": ">=7.3", "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-mbstring": "*", "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" }, { "name": "Jeff Welch", "email": "whatthejeff@gmail.com" }, { "name": "Volker Dusch", "email": "github@wallbash.com" }, { "name": "Adam Harvey", "email": "aharvey@php.net" }, { "name": "Bernhard Schussek", "email": "bschussek@gmail.com" } ], "description": "Provides the functionality to export PHP variables for visualization", "homepage": "https://www.github.com/sebastianbergmann/exporter", "keywords": [ "export", "exporter" ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2022-09-14T06:03:37+00:00" }, { "name": "sebastian/global-state", "version": "5.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", "reference": "bde739e7565280bda77be70044ac1047bc007e34" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34", "reference": "bde739e7565280bda77be70044ac1047bc007e34", "shasum": "" }, "require": { "php": ">=7.3", "sebastian/object-reflector": "^2.0", "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-dom": "*", "phpunit/phpunit": "^9.3" }, "suggest": { "ext-uopz": "*" }, "type": "library", "extra": { "branch-alias": { "dev-master": "5.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" } ], "description": "Snapshotting of global state", "homepage": "http://www.github.com/sebastianbergmann/global-state", "keywords": [ "global state" ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-08-02T09:26:13+00:00" }, { "name": "sebastian/lines-of-code", "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", "shasum": "" }, "require": { "nikic/php-parser": "^4.6", "php": ">=7.3" }, "require-dev": { "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "Library for counting the lines of code in PHP source code", "homepage": "https://github.com/sebastianbergmann/lines-of-code", "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2020-11-28T06:42:11+00:00" }, { "name": "sebastian/object-enumerator", "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", "shasum": "" }, "require": { "php": ">=7.3", "sebastian/object-reflector": "^2.0", "sebastian/recursion-context": "^4.0" }, "require-dev": { "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" } ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2020-10-26T13:12:34+00:00" }, { "name": "sebastian/object-reflector", "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", "shasum": "" }, "require": { "php": ">=7.3" }, "require-dev": { "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" } ], "description": "Allows reflection of object attributes, including inherited and non-public ones", "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2020-10-26T13:14:26+00:00" }, { "name": "sebastian/recursion-context", "version": "4.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", "shasum": "" }, "require": { "php": ">=7.3" }, "require-dev": { "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" }, { "name": "Jeff Welch", "email": "whatthejeff@gmail.com" }, { "name": "Adam Harvey", "email": "aharvey@php.net" } ], "description": "Provides functionality to recursively process PHP variables", "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-02-03T06:07:39+00:00" }, { "name": "sebastian/resource-operations", "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", "shasum": "" }, "require": { "php": ">=7.3" }, "require-dev": { "phpunit/phpunit": "^9.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" } ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", "support": { "issues": "https://github.com/sebastianbergmann/resource-operations/issues", "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2020-09-28T06:45:17+00:00" }, { "name": "sebastian/type", "version": "3.2.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", "shasum": "" }, "require": { "php": ">=7.3" }, "require-dev": { "phpunit/phpunit": "^9.5" }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.2-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "Collection of value objects that represent the types of the PHP type system", "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-02-03T06:13:03+00:00" }, { "name": "sebastian/version", "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", "reference": "c6c1022351a901512170118436c764e473f6de8c" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", "reference": "c6c1022351a901512170118436c764e473f6de8c", "shasum": "" }, "require": { "php": ">=7.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", "support": { "issues": "https://github.com/sebastianbergmann/version/issues", "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2020-09-28T06:39:44+00:00" }, { "name": "symfony/debug-bundle", "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/debug-bundle.git", "reference": "3f04a578e1a9f1d7da84a87b690c03123e5d8c31" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/3f04a578e1a9f1d7da84a87b690c03123e5d8c31", "reference": "3f04a578e1a9f1d7da84a87b690c03123e5d8c31", "shasum": "" }, "require": { "ext-xml": "*", "php": ">=8.1", "symfony/dependency-injection": "^5.4|^6.0", "symfony/http-kernel": "^5.4|^6.0", "symfony/twig-bridge": "^5.4|^6.0", "symfony/var-dumper": "^5.4|^6.0" }, "conflict": { "symfony/config": "<5.4", "symfony/dependency-injection": "<5.4" }, "require-dev": { "symfony/config": "^5.4|^6.0", "symfony/web-profiler-bundle": "^5.4|^6.0" }, "type": "symfony-bundle", "autoload": { "psr-4": { "Symfony\\Bundle\\DebugBundle\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides a tight integration of the Symfony VarDumper component and the ServerLogCommand from MonologBridge into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/debug-bundle/tree/v6.3.2" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-07-13T14:29:38+00:00" }, { "name": "symfony/dotenv", "version": "v6.3.7", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", "reference": "7dfbe2976f3c1b7cfa8fac2212a050bfa9bd7d9e" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/dotenv/zipball/7dfbe2976f3c1b7cfa8fac2212a050bfa9bd7d9e", "reference": "7dfbe2976f3c1b7cfa8fac2212a050bfa9bd7d9e", "shasum": "" }, "require": { "php": ">=8.1" }, "conflict": { "symfony/console": "<5.4", "symfony/process": "<5.4" }, "require-dev": { "symfony/console": "^5.4|^6.0", "symfony/process": "^5.4|^6.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Dotenv\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Registers environment variables from a .env file", "homepage": "https://symfony.com", "keywords": [ "dotenv", "env", "environment" ], "support": { "source": "https://github.com/symfony/dotenv/tree/v6.3.7" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-10-26T18:15:14+00:00" }, { "name": "symfony/polyfill-php81", "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b", "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b", "shasum": "" }, "require": { "php": ">=7.1" }, "type": "library", "extra": { "branch-alias": { "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } }, "autoload": { "files": [ "bootstrap.php" ], "psr-4": { "Symfony\\Polyfill\\Php81\\": "" }, "classmap": [ "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ "compatibility", "polyfill", "portable", "shim" ], "support": { "source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/stopwatch", "version": "v6.3.0", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", "reference": "fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/stopwatch/zipball/fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2", "reference": "fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2", "shasum": "" }, "require": { "php": ">=8.1", "symfony/service-contracts": "^2.5|^3" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Stopwatch\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/stopwatch/tree/v6.3.0" }, "funding": [ { "url": "https://symfony.com/sponsor", "type": "custom" }, { "url": "https://github.com/fabpot", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], "time": "2023-02-16T10:14:28+00:00" }, { "name": "theseer/tokenizer", "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", "shasum": "" }, "require": { "ext-dom": "*", "ext-tokenizer": "*", "ext-xmlwriter": "*", "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Arne Blankerts", "email": "arne@blankerts.de", "role": "Developer" } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", "source": "https://github.com/theseer/tokenizer/tree/1.2.1" }, "funding": [ { "url": "https://github.com/theseer", "type": "github" } ], "time": "2021-07-28T10:34:58+00:00" }, { "name": "webmozart/assert", "version": "1.11.0", "source": { "type": "git", "url": "https://github.com/webmozarts/assert.git", "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", "shasum": "" }, "require": { "ext-ctype": "*", "php": "^7.2 || ^8.0" }, "conflict": { "phpstan/phpstan": "<0.12.20", "vimeo/psalm": "<4.6.1 || 4.6.2" }, "require-dev": { "phpunit/phpunit": "^8.5.13" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.10-dev" } }, "autoload": { "psr-4": { "Webmozart\\Assert\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Bernhard Schussek", "email": "bschussek@gmail.com" } ], "description": "Assertions to validate method input/output with nice error messages.", "keywords": [ "assert", "check", "validate" ], "support": { "issues": "https://github.com/webmozarts/assert/issues", "source": "https://github.com/webmozarts/assert/tree/1.11.0" }, "time": "2022-06-03T18:03:27+00:00" } ], "aliases": [], "minimum-stability": "stable", "stability-flags": [], "prefer-stable": false, "prefer-lowest": false, "platform": { "php": ">=8.1", "ext-iconv": "*", "ext-mbstring": "*" }, "platform-dev": [], "plugin-api-version": "2.3.0" } config/000077500000000000000000000000001516104173600123275ustar00rootroot00000000000000config/config.yml000066400000000000000000000030441516104173600143200ustar00rootroot00000000000000# GitList configuration parameters: # Web application title title: GitList # Locale configuration locale: en # Theme theme: default # Navigation links navigation: - label: Help target: https://github.com/klaussilveira/gitlist/wiki - label: Report an Issue target: https://github.com/klaussilveira/gitlist/issues # List of directories containing repositories default_repository_dir: /var/www repositories: - '%env(default:default_repository_dir:DEFAULT_REPOSITORY_DIR)%' # List of repositories to exclude exclude_repositories: - /var/example/gitlist # How many levels should be recursively traversed looking for repositories repository_depth: '0' # Commits to show per page commits_per_page: 10 # Blob viewer: simple, codemirror or ace default_blob_viewer: ace # Show file size in tree tree_show_file_size: false # Show last commit in tree tree_show_last_commit: true # Default binary paths git_path: /usr/bin/git hg_path: /usr/bin/hg secret: '%env(APP_SECRET)%' avatar_url: '//gravatar.com/avatar' avatar_config: [] commit_date_format: 'Y-m-d H:i:s' commit_group_date_format: 'F j, Y' commit_list_date_format: 'Y-m-d H:i:s' ssh_clone_url: 'git@gitlist.org:%s.git' # %s will be replaced by the repository name https_clone_url: 'https://gitlist.org/%s.git' # %s will be replaced by the repository name # Route validators valid_repository_name: '[a-zA-Z0-9\-\_\.]+' #valid_commitish_format: '.+' valid_commitish_format: '[a-zA-Z0-9\_\.\-\/]+' config/dev/000077500000000000000000000000001516104173600131055ustar00rootroot00000000000000config/dev/routes.yml000066400000000000000000000001361516104173600151510ustar00rootroot00000000000000_errors: resource: '@FrameworkBundle/Resources/config/routing/errors.xml' prefix: /_error config/framework.yml000066400000000000000000000024021516104173600150450ustar00rootroot00000000000000framework: secret: '%env(APP_SECRET)%' session: handler_id: ~ php_errors: log: true cache: prefix_seed: gl router: strict_requirements: ~ utf8: true default_locale: '%locale%' translator: paths: - '%kernel.project_dir%/assets/translations' fallbacks: - '%locale%' assets: base_path: 'assets' twig: paths: ['%kernel.project_dir%/assets/themes/%theme%/templates'] debug: '%kernel.debug%' strict_variables: '%kernel.debug%' form_themes: ['bootstrap_5_horizontal_layout.html.twig'] globals: title: '%title%' theme: '%theme%' navigation: '%navigation%' commit_date_format: '%commit_date_format%' commit_group_date_format: '%commit_group_date_format%' commit_list_date_format: '%commit_list_date_format%' ssh_clone_url: '%ssh_clone_url%' https_clone_url: '%https_clone_url%' default_blob_viewer: '%default_blob_viewer%' tree_show_file_size: '%tree_show_file_size%' tree_show_last_commit: '%tree_show_last_commit%' monolog: handlers: file_log: type: stream path: "%kernel.logs_dir%/%kernel.environment%.log" level: debug syslog_handler: type: syslog level: error webpack_encore: output_path: '%kernel.project_dir%/public/assets' config/routes.yml000066400000000000000000000057541516104173600144060ustar00rootroot00000000000000# Web application repository_list: path: / controller: GitList\App\Controller\Repository::list repository_show: path: /{repository} controller: GitList\App\Controller\Repository::show requirements: repository: '%valid_repository_name%' repository_tree: path: /{repository}/tree/{commitish} controller: GitList\App\Controller\Repository::showTree requirements: repository: '%valid_repository_name%' commitish: '%valid_commitish_format%' repository_list_branches: path: /{repository}/branches controller: GitList\App\Controller\Repository::listBranches requirements: repository: '%valid_repository_name%' repository_list_tags: path: /{repository}/tags controller: GitList\App\Controller\Repository::listTags requirements: repository: '%valid_repository_name%' repository_feed: path: /{repository}/feed/{commitish}.{format} controller: GitList\App\Controller\Commit::feed requirements: repository: '%valid_repository_name%' commitish: '%valid_commitish_format%' format: (atom|rss) repository_archive: path: /{repository}/archive/{commitish}.{format} controller: GitList\App\Controller\Repository::archive requirements: repository: '%valid_repository_name%' commitish: '%valid_commitish_format%' format: (zip|tar|tar.gz) repository_search_commits: path: /{repository}/search/commits/{commitish} methods: [GET] controller: GitList\App\Controller\CommitSearch::createForm requirements: repository: '%valid_repository_name%' commitish: '%valid_commitish_format%' repository_search_commits_action: path: /{repository}/search/commits/{commitish} methods: [POST] controller: GitList\App\Controller\CommitSearch::showResults requirements: repository: '%valid_repository_name%' commitish: '%valid_commitish_format%' blob_show: path: /{repository}/blob/{commitish} controller: GitList\App\Controller\Blob::show requirements: repository: '%valid_repository_name%' commitish: '%valid_commitish_format%' blob_raw: path: /{repository}/raw/{commitish} controller: GitList\App\Controller\Blob::showRaw requirements: repository: '%valid_repository_name%' commitish: '%valid_commitish_format%' blob_blame: path: /{repository}/blame/{commitish} controller: GitList\App\Controller\Blob::blame requirements: repository: '%valid_repository_name%' commitish: '%valid_commitish_format%' blob_history: path: /{repository}/history/{commitish} controller: GitList\App\Controller\Blob::showHistory requirements: repository: '%valid_repository_name%' commitish: '%valid_commitish_format%' commit_list: path: /{repository}/commits/{commitish} controller: GitList\App\Controller\Commit::list requirements: repository: '%valid_repository_name%' commitish: '%valid_commitish_format%' commit_show: path: /{repository}/commit/{commitish} controller: GitList\App\Controller\Commit::show requirements: repository: '%valid_repository_name%' commitish: '%valid_commitish_format%' config/services.yml000066400000000000000000000020321516104173600146720ustar00rootroot00000000000000services: _defaults: autowire: true autoconfigure: true public: false GitList\: resource: '../src/*' GitList\App\Controller\: resource: '../src/App/Controller' tags: ['controller.service_arguments'] GitList\App\Controller\Commit: arguments: $perPage: '%commits_per_page%' tags: ['controller.service_arguments'] GitList\App\Controller\Blob: arguments: $perPage: '%commits_per_page%' tags: ['controller.service_arguments'] GitList\Repository\Index: arguments: $paths: '%repositories%' $excludePaths: '%exclude_repositories%' $depth: '%repository_depth%' $systems: - '@GitList\SCM\System\Git\CommandLine' - '@GitList\SCM\System\Mercurial\CommandLine' GitList\SCM\System\Git\CommandLine: arguments: $path: '%git_path%' GitList\SCM\System\Mercurial\CommandLine: arguments: $path: '%hg_path%' GitList\App\Twig\AvatarExtension: arguments: $avatarUrl: '%avatar_url%' $avatarConfig: '%avatar_config%' crowdin.yml000066400000000000000000000003221516104173600132470ustar00rootroot00000000000000project_identifier: gitlist base_path: . preserve_hierarchy: false files: - source: /assets/translations/messages.en.yaml translation: /assets/translations/messages.%two_letters_code%.yaml type: yaml cypress.json000066400000000000000000000005151516104173600134460ustar00rootroot00000000000000{ "baseUrl": "http://0.0.0.0:8880", "experimentalStudio": true, "downloadsFolder": "tests/cypress/downloads", "fixturesFolder": "tests/cypress/fixtures", "integrationFolder": "tests/cypress/integration", "pluginsFile": false, "screenshotsFolder": "tests/cypress/screenshots", "supportFile": false, "video": false } docker-compose.override.yml.dist000066400000000000000000000004671516104173600173060ustar00rootroot00000000000000volumes: var-cache-volume: services: webserver: volumes: - .:/application:cached ports: - '8880:80' php-fpm: volumes: - /var/www:/var/repositories - .:/application:cached - var-cache-volume:/application/var/cache - $HOME/.composer:/root/.composer/:cached docker-compose.yml000066400000000000000000000006501516104173600145200ustar00rootroot00000000000000services: node: image: node:16-alpine working_dir: /application volumes: - .:/application command: npm install && npm run watch webserver: build: context: docker/nginx/ depends_on: - php-fpm working_dir: /application volumes: - .:/application php-fpm: build: context: docker/php-fpm/ working_dir: /application volumes: - .:/application docker/000077500000000000000000000000001516104173600123315ustar00rootroot00000000000000docker/nginx/000077500000000000000000000000001516104173600134545ustar00rootroot00000000000000docker/nginx/Dockerfile000066400000000000000000000001101516104173600154360ustar00rootroot00000000000000FROM nginx:stable-alpine COPY nginx.conf /etc/nginx/conf.d/default.conf docker/nginx/nginx.conf000066400000000000000000000044521516104173600154530ustar00rootroot00000000000000server { listen 80 default; root /application/public; access_log /var/log/nginx/access.log; resolver 127.0.0.11 ipv6=off; set $fpm_backend php-fpm; location / { try_files $uri /index.php$is_args$args; } location ~* ^[^(\.php)]+\.(jpg|jpeg|gif|png|ico|css|pdf|ppt|txt|bmp|rtf|js)$ { access_log off; expires 1h; add_header Cache-Control public; } location ~ ^/index\.php(/|$) { fastcgi_pass $fpm_backend:9000; fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_intercept_errors on; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; send_timeout 300; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; include fastcgi_params; } # Basic configuration expires off; server_tokens off; client_max_body_size 4m; keepalive_timeout 20s; sendfile on; tcp_nopush on; # Security add_header X-Frame-Options "SAMEORIGIN" always; add_header X-XSS-Protection "1; mode=block" always; add_header X-Content-Type-Options nosniff always; add_header Referrer-Policy "no-referrer-when-downgrade" always; # Performance gzip on; gzip_comp_level 5; gzip_min_length 256; gzip_proxied any; gzip_vary on; gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/geo+json application/vnd.ms-fontobject application/x-web-app-manifest+json application/xhtml+xml application/xml application/rdf+xml font/otf application/wasm image/bmp image/svg+xml text/cache-manifest text/css text/javascript text/plain text/markdown text/vcard text/calendar text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; # Content types include mime.types; charset utf-8; charset_types text/css text/plain text/vnd.wap.wml text/javascript text/markdown text/calendar text/x-component text/vcard text/cache-manifest text/vtt application/json application/manifest+json; } docker/php-fpm/000077500000000000000000000000001516104173600137005ustar00rootroot00000000000000docker/php-fpm/Dockerfile000066400000000000000000000023261516104173600156750ustar00rootroot00000000000000FROM php:8.2-fpm-alpine ENV PHP_EXT_DEPS \ gettext=gettext-dev \ icu=icu-dev \ libgcrypt=libgcrypt-dev \ libxml2=libxml2-dev \ libxslt=libxslt-dev \ libzip=libzip-dev RUN set -x; \ apk add --no-cache --virtual .php-extensions-build-dependencies \ $PHPIZE_DEPS \ linux-headers \ $(echo ${PHP_EXT_DEPS} | tr ' ' '\n' | cut -d = -f 2) \ && apk add --no-cache \ $(echo ${PHP_EXT_DEPS} | tr ' ' '\n' | cut -d = -f 1) \ && docker-php-ext-install \ exif \ gettext \ intl \ opcache \ sockets \ xsl \ zip \ && printf "\n" | pecl install apcu xdebug \ && docker-php-ext-enable apcu \ && apk del .php-extensions-build-dependencies RUN apk add --no-cache \ bash \ coreutils \ git \ grep \ mercurial \ make \ wget ENV COMPOSER_ALLOW_SUPERUSER 1 RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 ENV PATH="/application/bin:/application/vendor/bin:${PATH}" WORKDIR "/application" CMD ["php-fpm", "--allow-to-run-as-root"] COPY php.ini /usr/local/etc/php/conf.d/99-overrides.ini COPY php-fpm.d/* /usr/local/etc/php-fpm.d/ docker/php-fpm/php-fpm.d/000077500000000000000000000000001516104173600154715ustar00rootroot00000000000000docker/php-fpm/php-fpm.d/docker.conf000066400000000000000000000003241516104173600176060ustar00rootroot00000000000000[global] error_log = /proc/self/fd/2 log_buffering = no [www] access.log = /proc/self/fd/2 clear_env = no ; Ensure worker stdout and stderr are collected catch_workers_output = yes decorate_workers_output = no docker/php-fpm/php-fpm.d/www.conf000066400000000000000000000003521516104173600171640ustar00rootroot00000000000000[www] user = root group = root listen = 127.0.0.1:9000 pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 pm.status_path = /fpm_status ping.path = /fpm_ping ping.response = pong docker/php-fpm/php.ini000066400000000000000000000003311516104173600151650ustar00rootroot00000000000000upload_max_filesize = 4M post_max_size = 4M memory_limit = -1 date.timezone = UTC [xdebug] zend_extension = xdebug.so xdebug.cli_color =1 xdebug.mode = debug xdebug.discover_client_host = 1 xdebug.client_port = 9003 package-lock.json000066400000000000000000024426661516104173600143220ustar00rootroot00000000000000{ "name": "gitlist", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "gitlist", "license": "BSD-3-Clause", "dependencies": { "@popperjs/core": "^2.11.2", "ace-builds": "^1.4", "bootstrap": "^5.1", "codemirror": "^5.65", "ionicons": "^4.6" }, "devDependencies": { "@symfony/webpack-encore": "^1.7", "autoprefixer": "^10.4", "cssnano": "^5.0", "cypress": "^9.2.1", "file-loader": "^6.2", "husky": "^7.0", "postcss-loader": "^6.2", "prettier": "^2.5", "pretty-quick": "^3.1", "sass": "^1.45", "sass-loader": "^12.4" } }, "node_modules/@babel/code-frame": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", "dev": true, "dependencies": { "@babel/highlight": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz", "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz", "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==", "dev": true, "dependencies": { "@babel/code-frame": "^7.16.7", "@babel/generator": "^7.16.7", "@babel/helper-compilation-targets": "^7.16.7", "@babel/helper-module-transforms": "^7.16.7", "@babel/helpers": "^7.16.7", "@babel/parser": "^7.16.7", "@babel/template": "^7.16.7", "@babel/traverse": "^7.16.7", "@babel/types": "^7.16.7", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", "semver": "^6.3.0", "source-map": "^0.5.0" }, "engines": { "node": ">=6.9.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/babel" } }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", "dev": true, "dependencies": { "@babel/types": "^7.16.8", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-annotate-as-pure": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", "dev": true, "dependencies": { "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", "dev": true, "dependencies": { "@babel/helper-explode-assignable-expression": "^7.16.7", "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", "dev": true, "dependencies": { "@babel/compat-data": "^7.16.4", "@babel/helper-validator-option": "^7.16.7", "browserslist": "^4.17.5", "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-create-class-features-plugin": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz", "integrity": "sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-function-name": "^7.16.7", "@babel/helper-member-expression-to-functions": "^7.16.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-create-regexp-features-plugin": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz", "integrity": "sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", "regexpu-core": "^4.7.1" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-define-polyfill-provider": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz", "integrity": "sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.13.0", "@babel/helper-module-imports": "^7.12.13", "@babel/helper-plugin-utils": "^7.13.0", "@babel/traverse": "^7.13.0", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", "semver": "^6.1.2" }, "peerDependencies": { "@babel/core": "^7.4.0-0" } }, "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-environment-visitor": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", "dev": true, "dependencies": { "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-explode-assignable-expression": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", "dev": true, "dependencies": { "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", "dev": true, "dependencies": { "@babel/helper-get-function-arity": "^7.16.7", "@babel/template": "^7.16.7", "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-get-function-arity": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", "dev": true, "dependencies": { "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", "dev": true, "dependencies": { "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", "dev": true, "dependencies": { "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", "dev": true, "dependencies": { "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-module-imports": "^7.16.7", "@babel/helper-simple-access": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", "@babel/helper-validator-identifier": "^7.16.7", "@babel/template": "^7.16.7", "@babel/traverse": "^7.16.7", "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-optimise-call-expression": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", "dev": true, "dependencies": { "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-wrap-function": "^7.16.8", "@babel/types": "^7.16.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-replace-supers": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-member-expression-to-functions": "^7.16.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/traverse": "^7.16.7", "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", "dev": true, "dependencies": { "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", "dev": true, "dependencies": { "@babel/types": "^7.16.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", "dev": true, "dependencies": { "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", "dev": true, "dependencies": { "@babel/helper-function-name": "^7.16.7", "@babel/template": "^7.16.7", "@babel/traverse": "^7.16.8", "@babel/types": "^7.16.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", "dev": true, "dependencies": { "@babel/template": "^7.16.7", "@babel/traverse": "^7.16.7", "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz", "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight/node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { "color-convert": "^1.9.0" }, "engines": { "node": ">=4" } }, "node_modules/@babel/highlight/node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" }, "engines": { "node": ">=4" } }, "node_modules/@babel/highlight/node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { "color-name": "1.1.3" } }, "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, "engines": { "node": ">=0.8.0" } }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/@babel/highlight/node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { "has-flag": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/@babel/parser": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz", "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-proposal-optional-chaining": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.13.0" } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-remap-async-to-generator": "^7.16.8", "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-class-properties": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", "dev": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-class-static-block": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz", "integrity": "sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==", "dev": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.12.0" } }, "node_modules/@babel/plugin-proposal-dynamic-import": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-export-namespace-from": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-json-strings": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-numeric-separator": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz", "integrity": "sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==", "dev": true, "dependencies": { "@babel/compat-data": "^7.16.4", "@babel/helper-compilation-targets": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-optional-catch-binding": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-optional-chaining": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-private-methods": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz", "integrity": "sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw==", "dev": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-create-class-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-class-static-block": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-arrow-functions": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-async-to-generator": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-remap-async-to-generator": "^7.16.8" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-block-scoping": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-classes": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-function-name": "^7.16.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-destructuring": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz", "integrity": "sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-dotall-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-duplicate-keys": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", "dev": true, "dependencies": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-for-of": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-function-name": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.16.7", "@babel/helper-function-name": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-literals": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-member-expression-literals": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-amd": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", "dev": true, "dependencies": { "@babel/helper-module-transforms": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-commonjs": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz", "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==", "dev": true, "dependencies": { "@babel/helper-module-transforms": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-simple-access": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-systemjs": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz", "integrity": "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==", "dev": true, "dependencies": { "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-module-transforms": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-umd": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", "dev": true, "dependencies": { "@babel/helper-module-transforms": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-transform-new-target": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-object-super": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-parameters": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-property-literals": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-regenerator": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", "dev": true, "dependencies": { "regenerator-transform": "^0.14.2" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-reserved-words": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-spread": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-sticky-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-template-literals": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-typeof-symbol": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-escapes": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/preset-env": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.8.tgz", "integrity": "sha512-9rNKgVCdwHb3z1IlbMyft6yIXIeP3xz6vWvGaLHrJThuEIqWfHb0DNBH9VuTgnDfdbUDhkmkvMZS/YMCtP7Elg==", "dev": true, "dependencies": { "@babel/compat-data": "^7.16.8", "@babel/helper-compilation-targets": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-validator-option": "^7.16.7", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", "@babel/plugin-proposal-async-generator-functions": "^7.16.8", "@babel/plugin-proposal-class-properties": "^7.16.7", "@babel/plugin-proposal-class-static-block": "^7.16.7", "@babel/plugin-proposal-dynamic-import": "^7.16.7", "@babel/plugin-proposal-export-namespace-from": "^7.16.7", "@babel/plugin-proposal-json-strings": "^7.16.7", "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", "@babel/plugin-proposal-numeric-separator": "^7.16.7", "@babel/plugin-proposal-object-rest-spread": "^7.16.7", "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", "@babel/plugin-proposal-optional-chaining": "^7.16.7", "@babel/plugin-proposal-private-methods": "^7.16.7", "@babel/plugin-proposal-private-property-in-object": "^7.16.7", "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-transform-arrow-functions": "^7.16.7", "@babel/plugin-transform-async-to-generator": "^7.16.8", "@babel/plugin-transform-block-scoped-functions": "^7.16.7", "@babel/plugin-transform-block-scoping": "^7.16.7", "@babel/plugin-transform-classes": "^7.16.7", "@babel/plugin-transform-computed-properties": "^7.16.7", "@babel/plugin-transform-destructuring": "^7.16.7", "@babel/plugin-transform-dotall-regex": "^7.16.7", "@babel/plugin-transform-duplicate-keys": "^7.16.7", "@babel/plugin-transform-exponentiation-operator": "^7.16.7", "@babel/plugin-transform-for-of": "^7.16.7", "@babel/plugin-transform-function-name": "^7.16.7", "@babel/plugin-transform-literals": "^7.16.7", "@babel/plugin-transform-member-expression-literals": "^7.16.7", "@babel/plugin-transform-modules-amd": "^7.16.7", "@babel/plugin-transform-modules-commonjs": "^7.16.8", "@babel/plugin-transform-modules-systemjs": "^7.16.7", "@babel/plugin-transform-modules-umd": "^7.16.7", "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", "@babel/plugin-transform-new-target": "^7.16.7", "@babel/plugin-transform-object-super": "^7.16.7", "@babel/plugin-transform-parameters": "^7.16.7", "@babel/plugin-transform-property-literals": "^7.16.7", "@babel/plugin-transform-regenerator": "^7.16.7", "@babel/plugin-transform-reserved-words": "^7.16.7", "@babel/plugin-transform-shorthand-properties": "^7.16.7", "@babel/plugin-transform-spread": "^7.16.7", "@babel/plugin-transform-sticky-regex": "^7.16.7", "@babel/plugin-transform-template-literals": "^7.16.7", "@babel/plugin-transform-typeof-symbol": "^7.16.7", "@babel/plugin-transform-unicode-escapes": "^7.16.7", "@babel/plugin-transform-unicode-regex": "^7.16.7", "@babel/preset-modules": "^0.1.5", "@babel/types": "^7.16.8", "babel-plugin-polyfill-corejs2": "^0.3.0", "babel-plugin-polyfill-corejs3": "^0.5.0", "babel-plugin-polyfill-regenerator": "^0.3.0", "core-js-compat": "^3.20.2", "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/preset-env/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/preset-modules": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", "@babel/plugin-transform-dotall-regex": "^7.4.4", "@babel/types": "^7.4.4", "esutils": "^2.0.2" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/runtime": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", "dev": true, "dependencies": { "regenerator-runtime": "^0.13.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "dev": true, "dependencies": { "@babel/code-frame": "^7.16.7", "@babel/parser": "^7.16.7", "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz", "integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.16.7", "@babel/generator": "^7.16.8", "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-function-name": "^7.16.7", "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", "@babel/parser": "^7.16.8", "@babel/types": "^7.16.8", "debug": "^4.1.0", "globals": "^11.1.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/types": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@cypress/request": { "version": "2.88.10", "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.10.tgz", "integrity": "sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg==", "dev": true, "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", "caseless": "~0.12.0", "combined-stream": "~1.0.6", "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", "http-signature": "~1.3.6", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^8.3.2" }, "engines": { "node": ">= 6" } }, "node_modules/@cypress/xvfb": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", "dev": true, "dependencies": { "debug": "^3.1.0", "lodash.once": "^4.1.1" } }, "node_modules/@cypress/xvfb/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", "dev": true, "engines": { "node": ">=10.0.0" } }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" }, "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" }, "engines": { "node": ">= 8" } }, "node_modules/@nuxt/friendly-errors-webpack-plugin": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/@nuxt/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-2.5.2.tgz", "integrity": "sha512-LLc+90lnxVbpKkMqk5z1EWpXoODhc6gRkqqXJCInJwF5xabHAE7biFvbULfvTRmtaTzAaP8IV4HQDLUgeAUTTw==", "dev": true, "dependencies": { "chalk": "^2.3.2", "consola": "^2.6.0", "error-stack-parser": "^2.0.0", "string-width": "^4.2.3" }, "engines": { "node": ">=8.0.0", "npm": ">=5.0.0" }, "peerDependencies": { "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" } }, "node_modules/@nuxt/friendly-errors-webpack-plugin/node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { "color-convert": "^1.9.0" }, "engines": { "node": ">=4" } }, "node_modules/@nuxt/friendly-errors-webpack-plugin/node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" }, "engines": { "node": ">=4" } }, "node_modules/@nuxt/friendly-errors-webpack-plugin/node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { "color-name": "1.1.3" } }, "node_modules/@nuxt/friendly-errors-webpack-plugin/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "node_modules/@nuxt/friendly-errors-webpack-plugin/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, "engines": { "node": ">=0.8.0" } }, "node_modules/@nuxt/friendly-errors-webpack-plugin/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/@nuxt/friendly-errors-webpack-plugin/node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { "has-flag": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/@popperjs/core": { "version": "2.11.2", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.2.tgz", "integrity": "sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA==", "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" } }, "node_modules/@symfony/webpack-encore": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/@symfony/webpack-encore/-/webpack-encore-1.7.0.tgz", "integrity": "sha512-Jpq04gOXvRZMtVTyNenpgjW1LBlG4E0XdcMVGSwsjMVp0yIsM/PHrBWI5kpCx7tSo07u8XCMTRpus4EwWostQg==", "dev": true, "dependencies": { "@babel/core": "^7.7.0", "@babel/plugin-syntax-dynamic-import": "^7.0.0", "@babel/preset-env": "^7.10.0", "@nuxt/friendly-errors-webpack-plugin": "^2.5.1", "assets-webpack-plugin": "7.0.*", "babel-loader": "^8.2.2", "chalk": "^4.0.0", "clean-webpack-plugin": "^3.0.0", "css-loader": "^5.2.4", "css-minimizer-webpack-plugin": "^2.0.0", "fast-levenshtein": "^3.0.0", "loader-utils": "^2.0.0", "mini-css-extract-plugin": "^1.5.0", "pkg-up": "^3.1.0", "pretty-error": "^3.0.3", "resolve-url-loader": "^3.1.2", "semver": "^7.3.2", "style-loader": "^2.0.0", "terser-webpack-plugin": "^5.1.1", "tmp": "^0.2.1", "webpack": "^5.35", "webpack-cli": "^4", "webpack-dev-server": "^4.0.0", "yargs-parser": "^20.2.4" }, "bin": { "encore": "bin/encore.js" }, "engines": { "node": "^10.19.0 || ^12.0.0 || >=14.0.0" } }, "node_modules/@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", "dev": true, "engines": { "node": ">=10.13.0" } }, "node_modules/@types/body-parser": { "version": "1.19.2", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", "dev": true, "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "node_modules/@types/bonjour": { "version": "3.5.10", "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/connect": { "version": "3.4.35", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/connect-history-api-fallback": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", "dev": true, "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" } }, "node_modules/@types/eslint": { "version": "8.2.2", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.2.tgz", "integrity": "sha512-nQxgB8/Sg+QKhnV8e0WzPpxjIGT3tuJDDzybkDi8ItE/IgTlHo07U0shaIjzhcvQxlq9SDRE42lsJ23uvEgJ2A==", "dev": true, "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, "node_modules/@types/eslint-scope": { "version": "3.7.3", "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", "dev": true, "dependencies": { "@types/eslint": "*", "@types/estree": "*" } }, "node_modules/@types/estree": { "version": "0.0.50", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", "dev": true }, "node_modules/@types/express": { "version": "4.17.13", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", "dev": true, "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.18", "@types/qs": "*", "@types/serve-static": "*" } }, "node_modules/@types/express-serve-static-core": { "version": "4.17.28", "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", "dev": true, "dependencies": { "@types/node": "*", "@types/qs": "*", "@types/range-parser": "*" } }, "node_modules/@types/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", "dev": true, "dependencies": { "@types/minimatch": "*", "@types/node": "*" } }, "node_modules/@types/http-proxy": { "version": "1.17.8", "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/json-schema": { "version": "7.0.9", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", "dev": true }, "node_modules/@types/mime": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", "dev": true }, "node_modules/@types/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", "dev": true }, "node_modules/@types/node": { "version": "17.0.8", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.8.tgz", "integrity": "sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg==", "dev": true }, "node_modules/@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, "node_modules/@types/qs": { "version": "6.9.7", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", "dev": true }, "node_modules/@types/range-parser": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, "node_modules/@types/retry": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", "dev": true }, "node_modules/@types/serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", "dev": true, "dependencies": { "@types/express": "*" } }, "node_modules/@types/serve-static": { "version": "1.13.10", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", "dev": true, "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "node_modules/@types/sinonjs__fake-timers": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.4.tgz", "integrity": "sha512-IFQTJARgMUBF+xVd2b+hIgXWrZEjND3vJtRCvIelcFB5SIXfjV4bOHbHJ0eXKh+0COrBRc8MqteKAz/j88rE0A==", "dev": true }, "node_modules/@types/sizzle": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", "dev": true }, "node_modules/@types/sockjs": { "version": "0.3.33", "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/source-list-map": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", "dev": true }, "node_modules/@types/tapable": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", "dev": true }, "node_modules/@types/uglify-js": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz", "integrity": "sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==", "dev": true, "dependencies": { "source-map": "^0.6.1" } }, "node_modules/@types/uglify-js/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/@types/webpack": { "version": "4.41.32", "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.32.tgz", "integrity": "sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==", "dev": true, "dependencies": { "@types/node": "*", "@types/tapable": "^1", "@types/uglify-js": "*", "@types/webpack-sources": "*", "anymatch": "^3.0.0", "source-map": "^0.6.0" } }, "node_modules/@types/webpack-sources": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", "dev": true, "dependencies": { "@types/node": "*", "@types/source-list-map": "*", "source-map": "^0.7.3" } }, "node_modules/@types/webpack-sources/node_modules/source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true, "engines": { "node": ">= 8" } }, "node_modules/@types/webpack/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/@types/ws": { "version": "8.2.2", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz", "integrity": "sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/yauzl": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", "dev": true, "optional": true, "dependencies": { "@types/node": "*" } }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", "dev": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "dev": true, "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.1", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1", "@webassemblyjs/wasm-gen": "1.11.1" } }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", "dev": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dev": true, "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1", "@webassemblyjs/helper-wasm-section": "1.11.1", "@webassemblyjs/wasm-gen": "1.11.1", "@webassemblyjs/wasm-opt": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", "@webassemblyjs/wast-printer": "1.11.1" } }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1", "@webassemblyjs/ieee754": "1.11.1", "@webassemblyjs/leb128": "1.11.1", "@webassemblyjs/utf8": "1.11.1" } }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", "@webassemblyjs/wasm-gen": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1" } }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1", "@webassemblyjs/ieee754": "1.11.1", "@webassemblyjs/leb128": "1.11.1", "@webassemblyjs/utf8": "1.11.1" } }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@xtuc/long": "4.2.2" } }, "node_modules/@webpack-cli/configtest": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", "dev": true, "peerDependencies": { "webpack": "4.x.x || 5.x.x", "webpack-cli": "4.x.x" } }, "node_modules/@webpack-cli/info": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", "dev": true, "dependencies": { "envinfo": "^7.7.3" }, "peerDependencies": { "webpack-cli": "4.x.x" } }, "node_modules/@webpack-cli/serve": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", "dev": true, "peerDependencies": { "webpack-cli": "4.x.x" }, "peerDependenciesMeta": { "webpack-dev-server": { "optional": true } } }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, "node_modules/accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "dev": true, "dependencies": { "mime-types": "~2.1.24", "negotiator": "0.6.2" }, "engines": { "node": ">= 0.6" } }, "node_modules/ace-builds": { "version": "1.4.13", "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.4.13.tgz", "integrity": "sha512-SOLzdaQkY6ecPKYRDDg+MY1WoGgXA34cIvYJNNoBMGGUswHmlauU2Hy0UL96vW0Fs/LgFbMUjD+6vqzWTldIYQ==" }, "node_modules/acorn": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", "dev": true, "bin": { "acorn": "bin/acorn" }, "engines": { "node": ">=0.4.0" } }, "node_modules/acorn-import-assertions": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", "dev": true, "peerDependencies": { "acorn": "^8" } }, "node_modules/adjust-sourcemap-loader": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz", "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==", "dev": true, "dependencies": { "loader-utils": "^2.0.0", "regex-parser": "^2.2.11" }, "engines": { "node": ">=8.9" } }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/ajv-formats": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, "dependencies": { "ajv": "^8.0.0" }, "peerDependencies": { "ajv": "^8.0.0" }, "peerDependenciesMeta": { "ajv": { "optional": true } } }, "node_modules/ajv-formats/node_modules/ajv": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.2.2" }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/ajv-formats/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, "node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, "peerDependencies": { "ajv": "^6.9.1" } }, "node_modules/alphanum-sort": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", "dev": true }, "node_modules/ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "dependencies": { "type-fest": "^0.21.3" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ansi-html-community": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", "dev": true, "engines": [ "node >= 0.8.0" ], "bin": { "ansi-html": "bin/ansi-html" } }, "node_modules/ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/anymatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" }, "engines": { "node": ">= 8" } }, "node_modules/arch": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/feross" }, { "type": "patreon", "url": "https://www.patreon.com/feross" }, { "type": "consulting", "url": "https://feross.org/support" } ] }, "node_modules/arity-n": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=", "dev": true }, "node_modules/array-differ": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/array-flatten": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", "dev": true }, "node_modules/array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "dependencies": { "array-uniq": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/arrify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, "dependencies": { "safer-buffer": "~2.1.0" } }, "node_modules/assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true, "engines": { "node": ">=0.8" } }, "node_modules/assets-webpack-plugin": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/assets-webpack-plugin/-/assets-webpack-plugin-7.0.0.tgz", "integrity": "sha512-DMZ9r6HFxynWeONRMhSOFTvTrmit5dovdoUKdJgCG03M6CC7XiwNImPH+Ad1jaVrQ2n59e05lBhte52xPt4MSA==", "dev": true, "dependencies": { "camelcase": "^6.0.0", "escape-string-regexp": "^4.0.0", "lodash": "^4.17.20" }, "engines": { "node": ">=10.x.x" }, "peerDependencies": { "webpack": ">=5.0.0" } }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/async": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", "dev": true }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "dev": true, "engines": { "node": ">= 4.0.0" } }, "node_modules/atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true, "bin": { "atob": "bin/atob.js" }, "engines": { "node": ">= 4.5.0" } }, "node_modules/autoprefixer": { "version": "10.4.2", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.2.tgz", "integrity": "sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==", "dev": true, "dependencies": { "browserslist": "^4.19.1", "caniuse-lite": "^1.0.30001297", "fraction.js": "^4.1.2", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "bin": { "autoprefixer": "bin/autoprefixer" }, "engines": { "node": "^10 || ^12 || >=14" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/postcss/" }, "peerDependencies": { "postcss": "^8.1.0" } }, "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true, "engines": { "node": "*" } }, "node_modules/aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, "node_modules/babel-loader": { "version": "8.2.3", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", "dev": true, "dependencies": { "find-cache-dir": "^3.3.1", "loader-utils": "^1.4.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, "engines": { "node": ">= 8.9" }, "peerDependencies": { "@babel/core": "^7.0.0", "webpack": ">=2" } }, "node_modules/babel-loader/node_modules/json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, "dependencies": { "minimist": "^1.2.0" }, "bin": { "json5": "lib/cli.js" } }, "node_modules/babel-loader/node_modules/loader-utils": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^1.0.1" }, "engines": { "node": ">=4.0.0" } }, "node_modules/babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", "dev": true, "dependencies": { "object.assign": "^4.1.0" } }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz", "integrity": "sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==", "dev": true, "dependencies": { "@babel/compat-data": "^7.13.11", "@babel/helper-define-polyfill-provider": "^0.3.0", "semver": "^6.1.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/babel-plugin-polyfill-corejs3": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.0.tgz", "integrity": "sha512-Hcrgnmkf+4JTj73GbK3bBhlVPiLL47owUAnoJIf69Hakl3q+KfodbDXiZWGMM7iqCZTxCG3Z2VRfPNYES4rXqQ==", "dev": true, "dependencies": { "@babel/helper-define-polyfill-provider": "^0.3.0", "core-js-compat": "^3.20.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-regenerator": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz", "integrity": "sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==", "dev": true, "dependencies": { "@babel/helper-define-polyfill-provider": "^0.3.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", "dev": true }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "dependencies": { "tweetnacl": "^0.14.3" } }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true, "engines": { "node": "*" } }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/blob-util": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", "dev": true }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, "node_modules/body-parser": { "version": "1.19.1", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", "dev": true, "dependencies": { "bytes": "3.1.1", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "~1.1.2", "http-errors": "1.8.1", "iconv-lite": "0.4.24", "on-finished": "~2.3.0", "qs": "6.9.6", "raw-body": "2.4.2", "type-is": "~1.6.18" }, "engines": { "node": ">= 0.8" } }, "node_modules/body-parser/node_modules/bytes": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", "dev": true, "engines": { "node": ">= 0.8" } }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/body-parser/node_modules/qs": { "version": "6.9.6", "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", "dev": true, "engines": { "node": ">=0.6" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/bonjour": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", "dev": true, "dependencies": { "array-flatten": "^2.1.0", "deep-equal": "^1.0.1", "dns-equal": "^1.0.0", "dns-txt": "^2.0.2", "multicast-dns": "^6.0.1", "multicast-dns-service-types": "^1.1.0" } }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, "node_modules/bootstrap": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.3.tgz", "integrity": "sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q==", "funding": { "type": "opencollective", "url": "https://opencollective.com/bootstrap" }, "peerDependencies": { "@popperjs/core": "^2.10.2" } }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "dependencies": { "fill-range": "^7.0.1" }, "engines": { "node": ">=8" } }, "node_modules/browserslist": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", "dev": true, "dependencies": { "caniuse-lite": "^1.0.30001286", "electron-to-chromium": "^1.4.17", "escalade": "^3.1.1", "node-releases": "^2.0.1", "picocolors": "^1.0.0" }, "bin": { "browserslist": "cli.js" }, "engines": { "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/browserslist" } }, "node_modules/buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", "dev": true, "engines": { "node": "*" } }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "node_modules/buffer-indexof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, "node_modules/bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true, "engines": { "node": ">= 0.8" } }, "node_modules/cachedir": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", "dev": true, "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", "lodash.memoize": "^4.1.2", "lodash.uniq": "^4.5.0" } }, "node_modules/caniuse-lite": { "version": "1.0.30001299", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz", "integrity": "sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw==", "dev": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/browserslist" } }, "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/check-more-types": { "version": "2.24.0", "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", "integrity": "sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=", "dev": true, "engines": { "node": ">= 0.8.0" } }, "node_modules/chokidar": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", "dev": true, "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "engines": { "node": ">= 8.10.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "node_modules/chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true, "engines": { "node": ">=6.0" } }, "node_modules/ci-info": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", "dev": true }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/clean-webpack-plugin": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz", "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==", "dev": true, "dependencies": { "@types/webpack": "^4.4.31", "del": "^4.1.1" }, "engines": { "node": ">=8.9.0" }, "peerDependencies": { "webpack": "*" } }, "node_modules/cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "dependencies": { "restore-cursor": "^3.1.0" }, "engines": { "node": ">=8" } }, "node_modules/cli-table3": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz", "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==", "dev": true, "dependencies": { "string-width": "^4.2.0" }, "engines": { "node": "10.* || >= 12.*" }, "optionalDependencies": { "colors": "1.4.0" } }, "node_modules/cli-truncate": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", "dev": true, "dependencies": { "slice-ansi": "^3.0.0", "string-width": "^4.2.0" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", "shallow-clone": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/codemirror": { "version": "5.65.0", "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.0.tgz", "integrity": "sha512-gWEnHKEcz1Hyz7fsQWpK7P0sPI2/kSkRX2tc7DFA6TmZuDN75x/1ejnH/Pn8adYKrLEA1V2ww6L00GudHZbSKw==" }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { "color-name": "~1.1.4" }, "engines": { "node": ">=7.0.0" } }, "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "node_modules/colord": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", "dev": true }, "node_modules/colorette": { "version": "2.0.16", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", "dev": true }, "node_modules/colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true, "optional": true, "engines": { "node": ">=0.1.90" } }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, "engines": { "node": ">= 0.8" } }, "node_modules/commander": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", "dev": true, "engines": { "node": ">= 6" } }, "node_modules/common-tags": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", "dev": true, "engines": { "node": ">=4.0.0" } }, "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "node_modules/compose-function": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=", "dev": true, "dependencies": { "arity-n": "^1.0.4" } }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, "dependencies": { "mime-db": ">= 1.43.0 < 2" }, "engines": { "node": ">= 0.6" } }, "node_modules/compression": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dev": true, "dependencies": { "accepts": "~1.3.5", "bytes": "3.0.0", "compressible": "~2.0.16", "debug": "2.6.9", "on-headers": "~1.0.2", "safe-buffer": "5.1.2", "vary": "~1.1.2" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/compression/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/compression/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "node_modules/connect-history-api-fallback": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", "dev": true, "engines": { "node": ">=0.8" } }, "node_modules/consola": { "version": "2.15.3", "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", "dev": true }, "node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "dependencies": { "safe-buffer": "5.2.1" }, "engines": { "node": ">= 0.6" } }, "node_modules/content-disposition/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/feross" }, { "type": "patreon", "url": "https://www.patreon.com/feross" }, { "type": "consulting", "url": "https://feross.org/support" } ] }, "node_modules/content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/convert-source-map": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, "dependencies": { "safe-buffer": "~5.1.1" } }, "node_modules/cookie": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, "node_modules/core-js-compat": { "version": "3.20.2", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.2.tgz", "integrity": "sha512-qZEzVQ+5Qh6cROaTPFLNS4lkvQ6mBzE3R6A6EEpssj7Zr2egMHgsy4XapdifqJDGC9CBiNv7s+ejI96rLNQFdg==", "dev": true, "dependencies": { "browserslist": "^4.19.1", "semver": "7.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, "node_modules/core-js-compat/node_modules/semver": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, "node_modules/cosmiconfig": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "dev": true, "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", "parse-json": "^5.0.0", "path-type": "^4.0.0", "yaml": "^1.10.0" }, "engines": { "node": ">=10" } }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" }, "engines": { "node": ">= 8" } }, "node_modules/css": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", "dev": true, "dependencies": { "inherits": "^2.0.3", "source-map": "^0.6.1", "source-map-resolve": "^0.5.2", "urix": "^0.1.0" } }, "node_modules/css-declaration-sorter": { "version": "6.1.4", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz", "integrity": "sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==", "dev": true, "dependencies": { "timsort": "^0.3.0" }, "engines": { "node": ">= 10" }, "peerDependencies": { "postcss": "^8.0.9" } }, "node_modules/css-loader": { "version": "5.2.7", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", "dev": true, "dependencies": { "icss-utils": "^5.1.0", "loader-utils": "^2.0.0", "postcss": "^8.2.15", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.1.0", "schema-utils": "^3.0.0", "semver": "^7.3.5" }, "engines": { "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { "webpack": "^4.27.0 || ^5.0.0" } }, "node_modules/css-loader/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" }, "engines": { "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" } }, "node_modules/css-minimizer-webpack-plugin": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-2.0.0.tgz", "integrity": "sha512-cG/uc94727tx5pBNtb1Sd7gvUPzwmcQi1lkpfqTpdkuNq75hJCw7bIVsCNijLm4dhDcr1atvuysl2rZqOG8Txw==", "dev": true, "dependencies": { "cssnano": "^5.0.0", "jest-worker": "^26.3.0", "p-limit": "^3.0.2", "postcss": "^8.2.9", "schema-utils": "^3.0.0", "serialize-javascript": "^5.0.1", "source-map": "^0.6.1" }, "engines": { "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { "webpack": "^5.0.0" }, "peerDependenciesMeta": { "clean-css": { "optional": true }, "csso": { "optional": true } } }, "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" }, "engines": { "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" } }, "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/css-select": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", "dev": true, "dependencies": { "boolbase": "^1.0.0", "css-what": "^5.1.0", "domhandler": "^4.3.0", "domutils": "^2.8.0", "nth-check": "^2.0.1" }, "funding": { "url": "https://github.com/sponsors/fb55" } }, "node_modules/css-tree": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dev": true, "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" }, "engines": { "node": ">=8.0.0" } }, "node_modules/css-tree/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/css-what": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", "dev": true, "engines": { "node": ">= 6" }, "funding": { "url": "https://github.com/sponsors/fb55" } }, "node_modules/css/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, "bin": { "cssesc": "bin/cssesc" }, "engines": { "node": ">=4" } }, "node_modules/cssnano": { "version": "5.0.15", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.15.tgz", "integrity": "sha512-ppZsS7oPpi2sfiyV5+i+NbB/3GtQ+ab2Vs1azrZaXWujUSN4o+WdTxlCZIMcT9yLW3VO/5yX3vpyDaQ1nIn8CQ==", "dev": true, "dependencies": { "cssnano-preset-default": "^5.1.10", "lilconfig": "^2.0.3", "yaml": "^1.10.2" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/cssnano" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/cssnano-preset-default": { "version": "5.1.10", "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.10.tgz", "integrity": "sha512-BcpSzUVygHMOnp9uG5rfPzTOCb0GAHQkqtUQx8j1oMNF9A1Q8hziOOhiM4bdICpmrBIU85BE64RD5XGYsVQZNA==", "dev": true, "dependencies": { "css-declaration-sorter": "^6.0.3", "cssnano-utils": "^3.0.0", "postcss-calc": "^8.2.0", "postcss-colormin": "^5.2.3", "postcss-convert-values": "^5.0.2", "postcss-discard-comments": "^5.0.1", "postcss-discard-duplicates": "^5.0.1", "postcss-discard-empty": "^5.0.1", "postcss-discard-overridden": "^5.0.2", "postcss-merge-longhand": "^5.0.4", "postcss-merge-rules": "^5.0.4", "postcss-minify-font-values": "^5.0.2", "postcss-minify-gradients": "^5.0.4", "postcss-minify-params": "^5.0.3", "postcss-minify-selectors": "^5.1.1", "postcss-normalize-charset": "^5.0.1", "postcss-normalize-display-values": "^5.0.2", "postcss-normalize-positions": "^5.0.2", "postcss-normalize-repeat-style": "^5.0.2", "postcss-normalize-string": "^5.0.2", "postcss-normalize-timing-functions": "^5.0.2", "postcss-normalize-unicode": "^5.0.2", "postcss-normalize-url": "^5.0.4", "postcss-normalize-whitespace": "^5.0.2", "postcss-ordered-values": "^5.0.3", "postcss-reduce-initial": "^5.0.2", "postcss-reduce-transforms": "^5.0.2", "postcss-svgo": "^5.0.3", "postcss-unique-selectors": "^5.0.2" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/cssnano-utils": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.0.tgz", "integrity": "sha512-Pzs7/BZ6OgT+tXXuF12DKR8SmSbzUeVYCtMBbS8lI0uAm3mrYmkyqCXXPsQESI6kmLfEVBppbdVY/el3hg3nAA==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/csso": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dev": true, "dependencies": { "css-tree": "^1.1.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/cypress": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/cypress/-/cypress-9.2.1.tgz", "integrity": "sha512-LVEe4yWCo4xO0Vd8iYjFHRyd5ulRvM56XqMgAdn05Qb9kJ6iJdO/MmjKD8gNd768698cp1FDuSmFQZHVZGk+Og==", "dev": true, "hasInstallScript": true, "dependencies": { "@cypress/request": "^2.88.10", "@cypress/xvfb": "^1.2.4", "@types/node": "^14.14.31", "@types/sinonjs__fake-timers": "^6.0.2", "@types/sizzle": "^2.3.2", "arch": "^2.2.0", "blob-util": "^2.0.2", "bluebird": "3.7.2", "cachedir": "^2.3.0", "chalk": "^4.1.0", "check-more-types": "^2.24.0", "cli-cursor": "^3.1.0", "cli-table3": "~0.6.1", "commander": "^5.1.0", "common-tags": "^1.8.0", "dayjs": "^1.10.4", "debug": "^4.3.2", "enquirer": "^2.3.6", "eventemitter2": "^6.4.3", "execa": "4.1.0", "executable": "^4.1.1", "extract-zip": "2.0.1", "figures": "^3.2.0", "fs-extra": "^9.1.0", "getos": "^3.2.1", "is-ci": "^3.0.0", "is-installed-globally": "~0.4.0", "lazy-ass": "^1.6.0", "listr2": "^3.8.3", "lodash": "^4.17.21", "log-symbols": "^4.0.0", "minimist": "^1.2.5", "ospath": "^1.2.2", "pretty-bytes": "^5.6.0", "proxy-from-env": "1.0.0", "request-progress": "^3.0.0", "supports-color": "^8.1.1", "tmp": "~0.2.1", "untildify": "^4.0.0", "url": "^0.11.0", "yauzl": "^2.10.0" }, "bin": { "cypress": "bin/cypress" }, "engines": { "node": ">=12.0.0" } }, "node_modules/cypress/node_modules/@types/node": { "version": "14.18.5", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.5.tgz", "integrity": "sha512-LMy+vDDcQR48EZdEx5wRX1q/sEl6NdGuHXPnfeL8ixkwCOSZ2qnIyIZmcCbdX0MeRqHhAcHmX+haCbrS8Run+A==", "dev": true }, "node_modules/cypress/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { "has-flag": "^4.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/d": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "dev": true, "dependencies": { "es5-ext": "^0.10.50", "type": "^1.0.1" } }, "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "dependencies": { "assert-plus": "^1.0.0" }, "engines": { "node": ">=0.10" } }, "node_modules/dayjs": { "version": "1.10.7", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.7.tgz", "integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==", "dev": true }, "node_modules/debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dev": true, "dependencies": { "ms": "2.1.2" }, "engines": { "node": ">=6.0" }, "peerDependenciesMeta": { "supports-color": { "optional": true } } }, "node_modules/decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true, "engines": { "node": ">=0.10" } }, "node_modules/deep-equal": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", "dev": true, "dependencies": { "is-arguments": "^1.0.4", "is-date-object": "^1.0.1", "is-regex": "^1.0.4", "object-is": "^1.0.1", "object-keys": "^1.1.1", "regexp.prototype.flags": "^1.2.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/default-gateway": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "dev": true, "dependencies": { "execa": "^5.0.0" }, "engines": { "node": ">= 10" } }, "node_modules/default-gateway/node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^4.0.1", "onetime": "^5.1.2", "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/default-gateway/node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/default-gateway/node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, "engines": { "node": ">=10.17.0" } }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "dependencies": { "object-keys": "^1.0.12" }, "engines": { "node": ">= 0.4" } }, "node_modules/del": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", "dev": true, "dependencies": { "@types/glob": "^7.1.1", "globby": "^6.1.0", "is-path-cwd": "^2.0.0", "is-path-in-cwd": "^2.0.0", "p-map": "^2.0.0", "pify": "^4.0.1", "rimraf": "^2.6.3" }, "engines": { "node": ">=6" } }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true, "engines": { "node": ">=0.4.0" } }, "node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "dependencies": { "path-type": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", "dev": true }, "node_modules/dns-packet": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", "dev": true, "dependencies": { "ip": "^1.1.0", "safe-buffer": "^5.0.1" } }, "node_modules/dns-txt": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", "dev": true, "dependencies": { "buffer-indexof": "^1.0.0" } }, "node_modules/dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", "dev": true, "dependencies": { "utila": "~0.4" } }, "node_modules/dom-serializer": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", "dev": true, "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", "entities": "^2.0.0" }, "funding": { "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, "node_modules/domelementtype": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/fb55" } ] }, "node_modules/domhandler": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", "dev": true, "dependencies": { "domelementtype": "^2.2.0" }, "engines": { "node": ">= 4" }, "funding": { "url": "https://github.com/fb55/domhandler?sponsor=1" } }, "node_modules/domutils": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", "domhandler": "^4.2.0" }, "funding": { "url": "https://github.com/fb55/domutils?sponsor=1" } }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, "node_modules/electron-to-chromium": { "version": "1.4.45", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.45.tgz", "integrity": "sha512-czF9eYVuOmlY/vxyMQz2rGlNSjZpxNQYBe1gmQv7al171qOIhgyO9k7D5AKlgeTCSPKk+LHhj5ZyIdmEub9oNg==", "dev": true }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true, "engines": { "node": ">= 4" } }, "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true, "engines": { "node": ">= 0.8" } }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "dependencies": { "once": "^1.4.0" } }, "node_modules/enhanced-resolve": { "version": "5.8.3", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" }, "engines": { "node": ">=10.13.0" } }, "node_modules/enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "dependencies": { "ansi-colors": "^4.1.1" }, "engines": { "node": ">=8.6" } }, "node_modules/entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/envinfo": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", "dev": true, "bin": { "envinfo": "dist/cli.js" }, "engines": { "node": ">=4" } }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/error-stack-parser": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", "dev": true, "dependencies": { "stackframe": "^1.1.1" } }, "node_modules/es-module-lexer": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "dev": true }, "node_modules/es5-ext": { "version": "0.10.53", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", "dev": true, "dependencies": { "es6-iterator": "~2.0.3", "es6-symbol": "~3.1.3", "next-tick": "~1.0.0" } }, "node_modules/es6-iterator": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "dependencies": { "d": "1", "es5-ext": "^0.10.35", "es6-symbol": "^3.1.1" } }, "node_modules/es6-symbol": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "dev": true, "dependencies": { "d": "^1.0.1", "ext": "^1.1.2" } }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "dev": true }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" }, "engines": { "node": ">=8.0.0" } }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "dependencies": { "estraverse": "^5.2.0" }, "engines": { "node": ">=4.0" } }, "node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { "node": ">=4.0" } }, "node_modules/estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, "engines": { "node": ">=4.0" } }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/eventemitter2": { "version": "6.4.5", "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.5.tgz", "integrity": "sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw==", "dev": true }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, "engines": { "node": ">=0.8.x" } }, "node_modules/execa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", "get-stream": "^5.0.0", "human-signals": "^1.1.1", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^4.0.0", "onetime": "^5.1.0", "signal-exit": "^3.0.2", "strip-final-newline": "^2.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/executable": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", "dev": true, "dependencies": { "pify": "^2.2.0" }, "engines": { "node": ">=4" } }, "node_modules/executable/node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/express": { "version": "4.17.2", "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", "dev": true, "dependencies": { "accepts": "~1.3.7", "array-flatten": "1.1.1", "body-parser": "1.19.1", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.4.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "finalhandler": "~1.1.2", "fresh": "0.5.2", "merge-descriptors": "1.0.1", "methods": "~1.1.2", "on-finished": "~2.3.0", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", "qs": "6.9.6", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "0.17.2", "serve-static": "1.14.2", "setprototypeof": "1.2.0", "statuses": "~1.5.0", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" }, "engines": { "node": ">= 0.10.0" } }, "node_modules/express/node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/express/node_modules/qs": { "version": "6.9.6", "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", "dev": true, "engines": { "node": ">=0.6" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/express/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/feross" }, { "type": "patreon", "url": "https://www.patreon.com/feross" }, { "type": "consulting", "url": "https://feross.org/support" } ] }, "node_modules/ext": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", "dev": true, "dependencies": { "type": "^2.5.0" } }, "node_modules/ext/node_modules/type": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", "dev": true }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, "node_modules/extract-zip": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dev": true, "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "bin": { "extract-zip": "cli.js" }, "engines": { "node": ">= 10.17.0" }, "optionalDependencies": { "@types/yauzl": "^2.9.1" } }, "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true, "engines": [ "node >=0.6.0" ] }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "node_modules/fast-glob": { "version": "3.2.10", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.10.tgz", "integrity": "sha512-s9nFhFnvR63wls6/kM88kQqDhMu0AfdjqouE2l5GVQPbqLgyFjjU5ry/r2yKsJxpb9Py1EYNqieFrmMaX4v++A==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.4" }, "engines": { "node": ">=8.6.0" } }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "node_modules/fast-levenshtein": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz", "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==", "dev": true, "dependencies": { "fastest-levenshtein": "^1.0.7" } }, "node_modules/fastest-levenshtein": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", "dev": true }, "node_modules/fastq": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", "dev": true, "dependencies": { "reusify": "^1.0.4" } }, "node_modules/faye-websocket": { "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dev": true, "dependencies": { "websocket-driver": ">=0.5.1" }, "engines": { "node": ">=0.8.0" } }, "node_modules/fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "dev": true, "dependencies": { "pend": "~1.2.0" } }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "dependencies": { "escape-string-regexp": "^1.0.5" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/figures/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, "engines": { "node": ">=0.8.0" } }, "node_modules/file-loader": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", "dev": true, "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" }, "engines": { "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { "webpack": "^4.0.0 || ^5.0.0" } }, "node_modules/file-loader/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" }, "engines": { "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" } }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, "engines": { "node": ">=8" } }, "node_modules/finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", "parseurl": "~1.3.3", "statuses": "~1.5.0", "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8" } }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/find-cache-dir": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, "node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/follow-redirects": { "version": "1.14.7", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==", "dev": true, "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], "engines": { "node": ">=4.0" }, "peerDependenciesMeta": { "debug": { "optional": true } } }, "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true, "engines": { "node": "*" } }, "node_modules/form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" }, "engines": { "node": ">= 0.12" } }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/fraction.js": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz", "integrity": "sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==", "dev": true, "engines": { "node": "*" }, "funding": { "type": "patreon", "url": "https://www.patreon.com/infusion" } }, "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" }, "engines": { "node": ">=10" } }, "node_modules/fs-monkey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", "dev": true }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "hasInstallScript": true, "optional": true, "os": [ "darwin" ], "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/get-intrinsic": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "dependencies": { "pump": "^3.0.0" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/getos": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", "dev": true, "dependencies": { "async": "^3.2.0" } }, "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "dependencies": { "assert-plus": "^1.0.0" } }, "node_modules/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, "engines": { "node": "*" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "dependencies": { "is-glob": "^4.0.1" }, "engines": { "node": ">= 6" } }, "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, "node_modules/global-dirs": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", "dev": true, "dependencies": { "ini": "2.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "dependencies": { "array-union": "^1.0.1", "glob": "^7.0.3", "object-assign": "^4.0.1", "pify": "^2.0.0", "pinkie-promise": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/globby/node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, "node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "dependencies": { "function-bind": "^1.1.1" }, "engines": { "node": ">= 0.4.0" } }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/has-symbols": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-tostringtag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "dependencies": { "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", "dev": true, "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", "readable-stream": "^2.0.1", "wbuf": "^1.1.0" } }, "node_modules/hpack.js/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "node_modules/hpack.js/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/html-entities": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", "dev": true }, "node_modules/htmlparser2": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", { "type": "github", "url": "https://github.com/sponsors/fb55" } ], "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", "domutils": "^2.5.2", "entities": "^2.0.0" } }, "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", "dev": true }, "node_modules/http-errors": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, "dependencies": { "depd": "~1.1.2", "inherits": "2.0.4", "setprototypeof": "1.2.0", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.1" }, "engines": { "node": ">= 0.6" } }, "node_modules/http-parser-js": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", "dev": true }, "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" }, "engines": { "node": ">=8.0.0" } }, "node_modules/http-proxy-middleware": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz", "integrity": "sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==", "dev": true, "dependencies": { "@types/http-proxy": "^1.17.5", "http-proxy": "^1.18.1", "is-glob": "^4.0.1", "is-plain-obj": "^3.0.0", "micromatch": "^4.0.2" }, "engines": { "node": ">=12.0.0" } }, "node_modules/http-signature": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", "dev": true, "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^2.0.2", "sshpk": "^1.14.1" }, "engines": { "node": ">=0.10" } }, "node_modules/human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true, "engines": { "node": ">=8.12.0" } }, "node_modules/husky": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", "dev": true, "bin": { "husky": "lib/bin.js" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/typicode" } }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, "engines": { "node": ">=0.10.0" } }, "node_modules/icss-utils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", "dev": true, "engines": { "node": "^10 || ^12 || >= 14" }, "peerDependencies": { "postcss": "^8.1.0" } }, "node_modules/ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true, "engines": { "node": ">= 4" } }, "node_modules/immutable": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", "dev": true }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/import-local": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" }, "bin": { "import-local-fixture": "fixtures/cli.js" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "node_modules/ini": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", "dev": true, "engines": { "node": ">=10" } }, "node_modules/interpret": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true, "engines": { "node": ">= 0.10" } }, "node_modules/ionicons": { "version": "4.6.3", "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-4.6.3.tgz", "integrity": "sha512-cgP+VIr2cTJpMfFyVHTerq6n2jeoiGboVoe3GlaAo5zoSBDAEXORwUZhv6m+lCyxlsHCS3nqPUE+MKyZU71t8Q==" }, "node_modules/ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", "dev": true }, "node_modules/ipaddr.js": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", "dev": true, "engines": { "node": ">= 10" } }, "node_modules/is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, "engines": { "node": ">=8" } }, "node_modules/is-ci": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", "dev": true, "dependencies": { "ci-info": "^3.2.0" }, "bin": { "is-ci": "bin.js" } }, "node_modules/is-core-module": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "dev": true, "dependencies": { "has": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, "bin": { "is-docker": "cli.js" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-installed-globally": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", "dev": true, "dependencies": { "global-dirs": "^3.0.0", "is-path-inside": "^3.0.2" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, "engines": { "node": ">=0.12.0" } }, "node_modules/is-path-cwd": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/is-path-in-cwd": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", "dev": true, "dependencies": { "is-path-inside": "^2.1.0" }, "engines": { "node": ">=6" } }, "node_modules/is-path-in-cwd/node_modules/is-path-inside": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", "dev": true, "dependencies": { "path-is-inside": "^1.0.2" }, "engines": { "node": ">=6" } }, "node_modules/is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/is-plain-obj": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "dependencies": { "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, "dependencies": { "is-docker": "^2.0.0" }, "engines": { "node": ">=8" } }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, "node_modules/jest-worker": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^7.0.0" }, "engines": { "node": ">= 10.13.0" } }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "node_modules/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, "bin": { "jsesc": "bin/jsesc" }, "engines": { "node": ">=4" } }, "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, "node_modules/json5": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "dependencies": { "minimist": "^1.2.5" }, "bin": { "json5": "lib/cli.js" }, "engines": { "node": ">=6" } }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "node_modules/jsprim": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", "dev": true, "engines": [ "node >=0.6.0" ], "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", "json-schema": "0.4.0", "verror": "1.10.0" } }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/klona": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", "dev": true, "engines": { "node": ">= 8" } }, "node_modules/lazy-ass": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", "integrity": "sha1-eZllXoZGwX8In90YfRUNMyTVRRM=", "dev": true, "engines": { "node": "> 0.8" } }, "node_modules/lilconfig": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", "dev": true, "engines": { "node": ">=10" } }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, "node_modules/listr2": { "version": "3.14.0", "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", "dev": true, "dependencies": { "cli-truncate": "^2.1.0", "colorette": "^2.0.16", "log-update": "^4.0.0", "p-map": "^4.0.0", "rfdc": "^1.3.0", "rxjs": "^7.5.1", "through": "^2.3.8", "wrap-ansi": "^7.0.0" }, "engines": { "node": ">=10.0.0" }, "peerDependencies": { "enquirer": ">= 2.3.0 < 3" }, "peerDependenciesMeta": { "enquirer": { "optional": true } } }, "node_modules/listr2/node_modules/p-map": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "dependencies": { "aggregate-error": "^3.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/loader-runner": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", "dev": true, "engines": { "node": ">=6.11.5" } }, "node_modules/loader-utils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^2.1.2" }, "engines": { "node": ">=8.9.0" } }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { "p-locate": "^4.1.0" }, "engines": { "node": ">=8" } }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", "dev": true }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", "dev": true }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/log-update": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", "dev": true, "dependencies": { "ansi-escapes": "^4.3.0", "cli-cursor": "^3.1.0", "slice-ansi": "^4.0.0", "wrap-ansi": "^6.2.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/log-update/node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/log-update/node_modules/slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, "node_modules/log-update/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, "node_modules/log-update/node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, "engines": { "node": ">=8" } }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { "yallist": "^4.0.0" }, "engines": { "node": ">=10" } }, "node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "dependencies": { "semver": "^6.0.0" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/make-dir/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "dev": true }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/memfs": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", "dev": true, "dependencies": { "fs-monkey": "1.0.3" }, "engines": { "node": ">= 4.0.0" } }, "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, "engines": { "node": ">= 8" } }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/micromatch": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, "dependencies": { "braces": "^3.0.1", "picomatch": "^2.2.3" }, "engines": { "node": ">=8.6" } }, "node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, "bin": { "mime": "cli.js" }, "engines": { "node": ">=4" } }, "node_modules/mime-db": { "version": "1.51.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.34", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", "dev": true, "dependencies": { "mime-db": "1.51.0" }, "engines": { "node": ">= 0.6" } }, "node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/mini-css-extract-plugin": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", "dev": true, "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0", "webpack-sources": "^1.1.0" }, "engines": { "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { "webpack": "^4.4.0 || ^5.0.0" } }, "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" }, "engines": { "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" } }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, "node_modules/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, "engines": { "node": "*" } }, "node_modules/minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "node_modules/mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "dependencies": { "minimist": "^1.2.5" }, "bin": { "mkdirp": "bin/cmd.js" } }, "node_modules/mri": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "node_modules/multicast-dns": { "version": "6.2.3", "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", "dev": true, "dependencies": { "dns-packet": "^1.3.1", "thunky": "^1.0.2" }, "bin": { "multicast-dns": "cli.js" } }, "node_modules/multicast-dns-service-types": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, "node_modules/multimatch": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", "dev": true, "dependencies": { "@types/minimatch": "^3.0.3", "array-differ": "^3.0.0", "array-union": "^2.1.0", "arrify": "^2.0.1", "minimatch": "^3.0.4" }, "engines": { "node": ">=8" } }, "node_modules/multimatch/node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/nanoid": { "version": "3.1.32", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.32.tgz", "integrity": "sha512-F8mf7R3iT9bvThBoW4tGXhXFHCctyCiUUPrWF8WaTqa3h96d9QybkSeba43XVOOE3oiLfkVDe4bT8MeGmkrTxw==", "dev": true, "bin": { "nanoid": "bin/nanoid.cjs" }, "engines": { "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, "node_modules/negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, "node_modules/next-tick": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", "dev": true }, "node_modules/node-forge": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz", "integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==", "dev": true, "engines": { "node": ">= 6.13.0" } }, "node_modules/node-releases": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", "dev": true }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/normalize-url": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "dependencies": { "path-key": "^3.0.0" }, "engines": { "node": ">=8" } }, "node_modules/nth-check": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "dev": true, "dependencies": { "boolbase": "^1.0.0" }, "funding": { "url": "https://github.com/fb55/nth-check?sponsor=1" } }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/object-is": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "has-symbols": "^1.0.1", "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", "dev": true }, "node_modules/on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, "dependencies": { "ee-first": "1.1.1" }, "engines": { "node": ">= 0.8" } }, "node_modules/on-headers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", "dev": true, "engines": { "node": ">= 0.8" } }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "dependencies": { "mimic-fn": "^2.1.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/open": { "version": "8.4.0", "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", "dev": true, "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", "is-wsl": "^2.2.0" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ospath": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", "integrity": "sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs=", "dev": true }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { "yocto-queue": "^0.1.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { "p-limit": "^2.2.0" }, "engines": { "node": ">=8" } }, "node_modules/p-locate/node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { "p-try": "^2.0.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-map": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/p-retry": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", "dev": true, "dependencies": { "@types/retry": "^0.12.0", "retry": "^0.13.1" }, "engines": { "node": ">=8" } }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "dependencies": { "callsites": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" }, "engines": { "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, "engines": { "node": ">= 0.8" } }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", "dev": true }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", "dev": true }, "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { "node": ">=8.6" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "dependencies": { "pinkie": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "dependencies": { "find-up": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/pkg-up": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", "dev": true, "dependencies": { "find-up": "^3.0.0" }, "engines": { "node": ">=8" } }, "node_modules/pkg-up/node_modules/find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "dependencies": { "locate-path": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/pkg-up/node_modules/locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/pkg-up/node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { "p-try": "^2.0.0" }, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/pkg-up/node_modules/p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "dependencies": { "p-limit": "^2.0.0" }, "engines": { "node": ">=6" } }, "node_modules/pkg-up/node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/portfinder": { "version": "1.0.28", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", "dev": true, "dependencies": { "async": "^2.6.2", "debug": "^3.1.1", "mkdirp": "^0.5.5" }, "engines": { "node": ">= 0.12.0" } }, "node_modules/portfinder/node_modules/async": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", "dev": true, "dependencies": { "lodash": "^4.17.14" } }, "node_modules/portfinder/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/postcss": { "version": "8.4.5", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", "dev": true, "dependencies": { "nanoid": "^3.1.30", "picocolors": "^1.0.0", "source-map-js": "^1.0.1" }, "engines": { "node": "^10 || ^12 || >=14" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/postcss/" } }, "node_modules/postcss-calc": { "version": "8.2.2", "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.2.tgz", "integrity": "sha512-B5R0UeB4zLJvxNt1FVCaDZULdzsKLPc6FhjFJ+xwFiq7VG4i9cuaJLxVjNtExNK8ocm3n2o4unXXLiVX1SCqxA==", "dev": true, "dependencies": { "postcss-selector-parser": "^6.0.2", "postcss-value-parser": "^4.0.2" }, "peerDependencies": { "postcss": "^8.2.2" } }, "node_modules/postcss-colormin": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.3.tgz", "integrity": "sha512-dra4xoAjub2wha6RUXAgadHEn2lGxbj8drhFcIGLOMn914Eu7DkPUurugDXgstwttCYkJtZ/+PkWRWdp3UHRIA==", "dev": true, "dependencies": { "browserslist": "^4.16.6", "caniuse-api": "^3.0.0", "colord": "^2.9.1", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-convert-values": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz", "integrity": "sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg==", "dev": true, "dependencies": { "postcss-value-parser": "^4.1.0" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-discard-comments": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-discard-duplicates": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-discard-empty": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-discard-overridden": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.2.tgz", "integrity": "sha512-+56BLP6NSSUuWUXjRgAQuho1p5xs/hU5Sw7+xt9S3JSg+7R6+WMGnJW7Hre/6tTuZ2xiXMB42ObkiZJ2hy/Pew==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-loader": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", "dev": true, "dependencies": { "cosmiconfig": "^7.0.0", "klona": "^2.0.5", "semver": "^7.3.5" }, "engines": { "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { "postcss": "^7.0.0 || ^8.0.1", "webpack": "^5.0.0" } }, "node_modules/postcss-merge-longhand": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.4.tgz", "integrity": "sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw==", "dev": true, "dependencies": { "postcss-value-parser": "^4.1.0", "stylehacks": "^5.0.1" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-merge-rules": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.4.tgz", "integrity": "sha512-yOj7bW3NxlQxaERBB0lEY1sH5y+RzevjbdH4DBJurjKERNpknRByFNdNe+V72i5pIZL12woM9uGdS5xbSB+kDQ==", "dev": true, "dependencies": { "browserslist": "^4.16.6", "caniuse-api": "^3.0.0", "cssnano-utils": "^3.0.0", "postcss-selector-parser": "^6.0.5" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-minify-font-values": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.2.tgz", "integrity": "sha512-R6MJZryq28Cw0AmnyhXrM7naqJZZLoa1paBltIzh2wM7yb4D45TLur+eubTQ4jCmZU9SGeZdWsc5KcSoqTMeTg==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-minify-gradients": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.4.tgz", "integrity": "sha512-RVwZA7NC4R4J76u8X0Q0j+J7ItKUWAeBUJ8oEEZWmtv3Xoh19uNJaJwzNpsydQjk6PkuhRrK+YwwMf+c+68EYg==", "dev": true, "dependencies": { "colord": "^2.9.1", "cssnano-utils": "^3.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-minify-params": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.3.tgz", "integrity": "sha512-NY92FUikE+wralaiVexFd5gwb7oJTIDhgTNeIw89i1Ymsgt4RWiPXfz3bg7hDy4NL6gepcThJwOYNtZO/eNi7Q==", "dev": true, "dependencies": { "alphanum-sort": "^1.0.2", "browserslist": "^4.16.6", "cssnano-utils": "^3.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-minify-selectors": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.1.tgz", "integrity": "sha512-TOzqOPXt91O2luJInaVPiivh90a2SIK5Nf1Ea7yEIM/5w+XA5BGrZGUSW8aEx9pJ/oNj7ZJBhjvigSiBV+bC1Q==", "dev": true, "dependencies": { "alphanum-sort": "^1.0.2", "postcss-selector-parser": "^6.0.5" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-modules-extract-imports": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", "dev": true, "engines": { "node": "^10 || ^12 || >= 14" }, "peerDependencies": { "postcss": "^8.1.0" } }, "node_modules/postcss-modules-local-by-default": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", "dev": true, "dependencies": { "icss-utils": "^5.0.0", "postcss-selector-parser": "^6.0.2", "postcss-value-parser": "^4.1.0" }, "engines": { "node": "^10 || ^12 || >= 14" }, "peerDependencies": { "postcss": "^8.1.0" } }, "node_modules/postcss-modules-scope": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", "dev": true, "dependencies": { "postcss-selector-parser": "^6.0.4" }, "engines": { "node": "^10 || ^12 || >= 14" }, "peerDependencies": { "postcss": "^8.1.0" } }, "node_modules/postcss-modules-values": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "dev": true, "dependencies": { "icss-utils": "^5.0.0" }, "engines": { "node": "^10 || ^12 || >= 14" }, "peerDependencies": { "postcss": "^8.1.0" } }, "node_modules/postcss-normalize-charset": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-normalize-display-values": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.2.tgz", "integrity": "sha512-RxXoJPUR0shSjkMMzgEZDjGPrgXUVYyWA/YwQRicb48H15OClPuaDR7tYokLAlGZ2tCSENEN5WxjgxSD5m4cUw==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-normalize-positions": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.2.tgz", "integrity": "sha512-tqghWFVDp2btqFg1gYob1etPNxXLNh3uVeWgZE2AQGh6b2F8AK2Gj36v5Vhyh+APwIzNjmt6jwZ9pTBP+/OM8g==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-normalize-repeat-style": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.2.tgz", "integrity": "sha512-/rIZn8X9bBzC7KvY4iKUhXUGW3MmbXwfPF23jC9wT9xTi7kAvgj8sEgwxjixBmoL6MVa4WOgxNz2hAR6wTK8tw==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-normalize-string": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.2.tgz", "integrity": "sha512-zaI1yzwL+a/FkIzUWMQoH25YwCYxi917J4pYm1nRXtdgiCdnlTkx5eRzqWEC64HtRa06WCJ9TIutpb6GmW4gFw==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-normalize-timing-functions": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.2.tgz", "integrity": "sha512-Ao0PP6MoYsRU1LxeVUW740ioknvdIUmfr6uAA3xWlQJ9s69/Tupy8qwhuKG3xWfl+KvLMAP9p2WXF9cwuk/7Bg==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-normalize-unicode": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.2.tgz", "integrity": "sha512-3y/V+vjZ19HNcTizeqwrbZSUsE69ZMRHfiiyLAJb7C7hJtYmM4Gsbajy7gKagu97E8q5rlS9k8FhojA8cpGhWw==", "dev": true, "dependencies": { "browserslist": "^4.16.6", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-normalize-url": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.4.tgz", "integrity": "sha512-cNj3RzK2pgQQyNp7dzq0dqpUpQ/wYtdDZM3DepPmFjCmYIfceuD9VIAcOdvrNetjIU65g1B4uwdP/Krf6AFdXg==", "dev": true, "dependencies": { "normalize-url": "^6.0.1", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-normalize-whitespace": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.2.tgz", "integrity": "sha512-CXBx+9fVlzSgbk0IXA/dcZn9lXixnQRndnsPC5ht3HxlQ1bVh77KQDL1GffJx1LTzzfae8ftMulsjYmO2yegxA==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-ordered-values": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.3.tgz", "integrity": "sha512-T9pDS+P9bWeFvqivXd5ACzQmrCmHjv3ZP+djn8E1UZY7iK79pFSm7i3WbKw2VSmFmdbMm8sQ12OPcNpzBo3Z2w==", "dev": true, "dependencies": { "cssnano-utils": "^3.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-reduce-initial": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz", "integrity": "sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==", "dev": true, "dependencies": { "browserslist": "^4.16.6", "caniuse-api": "^3.0.0" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-reduce-transforms": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.2.tgz", "integrity": "sha512-25HeDeFsgiPSUx69jJXZn8I06tMxLQJJNF5h7i9gsUg8iP4KOOJ8EX8fj3seeoLt3SLU2YDD6UPnDYVGUO7DEA==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-selector-parser": { "version": "6.0.8", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz", "integrity": "sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" }, "engines": { "node": ">=4" } }, "node_modules/postcss-svgo": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.3.tgz", "integrity": "sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==", "dev": true, "dependencies": { "postcss-value-parser": "^4.1.0", "svgo": "^2.7.0" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-unique-selectors": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.2.tgz", "integrity": "sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA==", "dev": true, "dependencies": { "alphanum-sort": "^1.0.2", "postcss-selector-parser": "^6.0.5" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, "node_modules/prettier": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", "dev": true, "bin": { "prettier": "bin-prettier.js" }, "engines": { "node": ">=10.13.0" } }, "node_modules/pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", "dev": true, "engines": { "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/pretty-error": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-3.0.4.tgz", "integrity": "sha512-ytLFLfv1So4AO1UkoBF6GXQgJRaKbiSiGFICaOPNwQ3CMvBvXpLRubeQWyPGnsbV/t9ml9qto6IeCsho0aEvwQ==", "dev": true, "dependencies": { "lodash": "^4.17.20", "renderkid": "^2.0.6" } }, "node_modules/pretty-quick": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.3.tgz", "integrity": "sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==", "dev": true, "dependencies": { "chalk": "^3.0.0", "execa": "^4.0.0", "find-up": "^4.1.0", "ignore": "^5.1.4", "mri": "^1.1.5", "multimatch": "^4.0.0" }, "bin": { "pretty-quick": "bin/pretty-quick.js" }, "engines": { "node": ">=10.13" }, "peerDependencies": { "prettier": ">=2.0.0" } }, "node_modules/pretty-quick/node_modules/chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { "node": ">=8" } }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" }, "engines": { "node": ">= 0.10" } }, "node_modules/proxy-addr/node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, "engines": { "node": ">= 0.10" } }, "node_modules/proxy-from-env": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", "dev": true }, "node_modules/psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/qs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "dev": true, "engines": { "node": ">=0.6" } }, "node_modules/querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", "dev": true, "engines": { "node": ">=0.4.x" } }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/feross" }, { "type": "patreon", "url": "https://www.patreon.com/feross" }, { "type": "consulting", "url": "https://feross.org/support" } ] }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/raw-body": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", "dev": true, "dependencies": { "bytes": "3.1.1", "http-errors": "1.8.1", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, "engines": { "node": ">= 0.8" } }, "node_modules/raw-body/node_modules/bytes": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", "dev": true, "engines": { "node": ">= 0.8" } }, "node_modules/readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" }, "engines": { "node": ">= 6" } }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "dependencies": { "picomatch": "^2.2.1" }, "engines": { "node": ">=8.10.0" } }, "node_modules/rechoir": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", "dev": true, "dependencies": { "resolve": "^1.9.0" }, "engines": { "node": ">= 0.10" } }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, "node_modules/regenerate-unicode-properties": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", "dev": true, "dependencies": { "regenerate": "^1.4.2" }, "engines": { "node": ">=4" } }, "node_modules/regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, "node_modules/regenerator-transform": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", "dev": true, "dependencies": { "@babel/runtime": "^7.8.4" } }, "node_modules/regex-parser": { "version": "2.2.11", "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", "dev": true }, "node_modules/regexp.prototype.flags": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" }, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/regexpu-core": { "version": "4.8.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", "dev": true, "dependencies": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^9.0.0", "regjsgen": "^0.5.2", "regjsparser": "^0.7.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/regjsgen": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", "dev": true }, "node_modules/regjsparser": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", "dev": true, "dependencies": { "jsesc": "~0.5.0" }, "bin": { "regjsparser": "bin/parser" } }, "node_modules/regjsparser/node_modules/jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", "dev": true, "bin": { "jsesc": "bin/jsesc" } }, "node_modules/renderkid": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", "dev": true, "dependencies": { "css-select": "^4.1.3", "dom-converter": "^0.2.0", "htmlparser2": "^6.1.0", "lodash": "^4.17.21", "strip-ansi": "^3.0.1" } }, "node_modules/request-progress": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", "integrity": "sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=", "dev": true, "dependencies": { "throttleit": "^1.0.0" } }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, "node_modules/resolve": { "version": "1.21.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz", "integrity": "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==", "dev": true, "dependencies": { "is-core-module": "^2.8.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/resolve-cwd": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "dependencies": { "resolve-from": "^5.0.0" }, "engines": { "node": ">=8" } }, "node_modules/resolve-cwd/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "deprecated": "https://github.com/lydell/resolve-url#deprecated", "dev": true }, "node_modules/resolve-url-loader": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.4.tgz", "integrity": "sha512-D3sQ04o0eeQEySLrcz4DsX3saHfsr8/N6tfhblxgZKXxMT2Louargg12oGNfoTRLV09GXhVUe5/qgA5vdgNigg==", "dev": true, "dependencies": { "adjust-sourcemap-loader": "3.0.0", "camelcase": "5.3.1", "compose-function": "3.0.3", "convert-source-map": "1.7.0", "es6-iterator": "2.0.3", "loader-utils": "1.2.3", "postcss": "7.0.36", "rework": "1.0.1", "rework-visit": "1.0.0", "source-map": "0.6.1" }, "engines": { "node": ">=6.0.0" } }, "node_modules/resolve-url-loader/node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { "color-convert": "^1.9.0" }, "engines": { "node": ">=4" } }, "node_modules/resolve-url-loader/node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/resolve-url-loader/node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" }, "engines": { "node": ">=4" } }, "node_modules/resolve-url-loader/node_modules/chalk/node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { "has-flag": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/resolve-url-loader/node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { "color-name": "1.1.3" } }, "node_modules/resolve-url-loader/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "node_modules/resolve-url-loader/node_modules/convert-source-map": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", "dev": true, "dependencies": { "safe-buffer": "~5.1.1" } }, "node_modules/resolve-url-loader/node_modules/emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", "dev": true, "engines": { "node": ">= 0.10" } }, "node_modules/resolve-url-loader/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, "engines": { "node": ">=0.8.0" } }, "node_modules/resolve-url-loader/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/resolve-url-loader/node_modules/json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, "dependencies": { "minimist": "^1.2.0" }, "bin": { "json5": "lib/cli.js" } }, "node_modules/resolve-url-loader/node_modules/loader-utils": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", "dev": true, "dependencies": { "big.js": "^5.2.2", "emojis-list": "^2.0.0", "json5": "^1.0.1" }, "engines": { "node": ">=4.0.0" } }, "node_modules/resolve-url-loader/node_modules/postcss": { "version": "7.0.36", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", "dev": true, "dependencies": { "chalk": "^2.4.2", "source-map": "^0.6.1", "supports-color": "^6.1.0" }, "engines": { "node": ">=6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/postcss/" } }, "node_modules/resolve-url-loader/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/resolve-url-loader/node_modules/supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "dependencies": { "has-flag": "^3.0.0" }, "engines": { "node": ">=6" } }, "node_modules/restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" }, "engines": { "node": ">=8" } }, "node_modules/retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true, "engines": { "node": ">= 4" } }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, "node_modules/rework": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", "dev": true, "dependencies": { "convert-source-map": "^0.3.3", "css": "^2.0.0" } }, "node_modules/rework-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=", "dev": true }, "node_modules/rework/node_modules/convert-source-map": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=", "dev": true }, "node_modules/rfdc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", "dev": true }, "node_modules/rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" } }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/feross" }, { "type": "patreon", "url": "https://www.patreon.com/feross" }, { "type": "consulting", "url": "https://feross.org/support" } ], "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/rxjs": { "version": "7.5.2", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.2.tgz", "integrity": "sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==", "dev": true, "dependencies": { "tslib": "^2.1.0" } }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "node_modules/sass": { "version": "1.48.0", "resolved": "https://registry.npmjs.org/sass/-/sass-1.48.0.tgz", "integrity": "sha512-hQi5g4DcfjcipotoHZ80l7GNJHGqQS5LwMBjVYB/TaT0vcSSpbgM8Ad7cgfsB2M0MinbkEQQPO9+sjjSiwxqmw==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", "source-map-js": ">=0.6.2 <2.0.0" }, "bin": { "sass": "sass.js" }, "engines": { "node": ">=8.9.0" } }, "node_modules/sass-loader": { "version": "12.4.0", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.4.0.tgz", "integrity": "sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==", "dev": true, "dependencies": { "klona": "^2.0.4", "neo-async": "^2.6.2" }, "engines": { "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { "fibers": ">= 3.1.0", "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", "sass": "^1.3.0", "webpack": "^5.0.0" }, "peerDependenciesMeta": { "fibers": { "optional": true }, "node-sass": { "optional": true }, "sass": { "optional": true } } }, "node_modules/schema-utils": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.5", "ajv": "^6.12.4", "ajv-keywords": "^3.5.2" }, "engines": { "node": ">= 8.9.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" } }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", "dev": true }, "node_modules/selfsigned": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.0.tgz", "integrity": "sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ==", "dev": true, "dependencies": { "node-forge": "^1.2.0" }, "engines": { "node": ">=10" } }, "node_modules/semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, "bin": { "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, "node_modules/send": { "version": "0.17.2", "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", "dev": true, "dependencies": { "debug": "2.6.9", "depd": "~1.1.2", "destroy": "~1.0.4", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", "http-errors": "1.8.1", "mime": "1.6.0", "ms": "2.1.3", "on-finished": "~2.3.0", "range-parser": "~1.2.1", "statuses": "~1.5.0" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/send/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/send/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "node_modules/serialize-javascript": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", "dev": true, "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", "dev": true, "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", "debug": "2.6.9", "escape-html": "~1.0.3", "http-errors": "~1.6.2", "mime-types": "~2.1.17", "parseurl": "~1.3.2" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/serve-index/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/serve-index/node_modules/http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", "statuses": ">= 1.4.0 < 2" }, "engines": { "node": ">= 0.6" } }, "node_modules/serve-index/node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/serve-index/node_modules/setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true }, "node_modules/serve-static": { "version": "1.14.2", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", "dev": true, "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", "send": "0.17.2" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, "node_modules/shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "dependencies": { "kind-of": "^6.0.2" }, "engines": { "node": ">=8" } }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "dependencies": { "shebang-regex": "^3.0.0" }, "engines": { "node": ">=8" } }, "node_modules/shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/signal-exit": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", "dev": true }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/slice-ansi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" }, "engines": { "node": ">=8" } }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, "dependencies": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", "websocket-driver": "^0.7.4" } }, "node_modules/source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", "dev": true }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-js": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz", "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-resolve": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, "dependencies": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", "source-map-url": "^0.4.0", "urix": "^0.1.0" } }, "node_modules/source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "node_modules/source-map-support/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-url": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "deprecated": "See https://github.com/lydell/source-map-url#deprecated", "dev": true }, "node_modules/spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", "dev": true, "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", "http-deceiver": "^1.2.7", "select-hose": "^2.0.0", "spdy-transport": "^3.0.0" }, "engines": { "node": ">=6.0.0" } }, "node_modules/spdy-transport": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", "dev": true, "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", "hpack.js": "^2.1.6", "obuf": "^1.1.2", "readable-stream": "^3.0.6", "wbuf": "^1.7.3" } }, "node_modules/sshpk": { "version": "1.17.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "dev": true, "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", "bcrypt-pbkdf": "^1.0.0", "dashdash": "^1.12.0", "ecc-jsbn": "~0.1.1", "getpass": "^0.1.1", "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" }, "bin": { "sshpk-conv": "bin/sshpk-conv", "sshpk-sign": "bin/sshpk-sign", "sshpk-verify": "bin/sshpk-verify" }, "engines": { "node": ">=0.10.0" } }, "node_modules/stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", "dev": true }, "node_modules/stackframe": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", "dev": true }, "node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "dependencies": { "safe-buffer": "~5.2.0" } }, "node_modules/string_decoder/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/feross" }, { "type": "patreon", "url": "https://www.patreon.com/feross" }, { "type": "consulting", "url": "https://feross.org/support" } ] }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, "node_modules/string-width/node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/string-width/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, "node_modules/strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "dependencies": { "ansi-regex": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/style-loader": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", "dev": true, "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" }, "engines": { "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { "webpack": "^4.0.0 || ^5.0.0" } }, "node_modules/style-loader/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" }, "engines": { "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" } }, "node_modules/stylehacks": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", "dev": true, "dependencies": { "browserslist": "^4.16.0", "postcss-selector-parser": "^6.0.4" }, "engines": { "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { "postcss": "^8.2.15" } }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, "engines": { "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/svgo": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", "dev": true, "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", "css-select": "^4.1.3", "css-tree": "^1.1.3", "csso": "^4.2.0", "picocolors": "^1.0.0", "stable": "^0.1.8" }, "bin": { "svgo": "bin/svgo" }, "engines": { "node": ">=10.13.0" } }, "node_modules/svgo/node_modules/commander": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, "engines": { "node": ">= 10" } }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, "engines": { "node": ">=6" } }, "node_modules/terser": { "version": "5.10.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", "dev": true, "dependencies": { "commander": "^2.20.0", "source-map": "~0.7.2", "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" }, "engines": { "node": ">=10" }, "peerDependencies": { "acorn": "^8.5.0" }, "peerDependenciesMeta": { "acorn": { "optional": true } } }, "node_modules/terser-webpack-plugin": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz", "integrity": "sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==", "dev": true, "dependencies": { "jest-worker": "^27.4.1", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", "source-map": "^0.6.1", "terser": "^5.7.2" }, "engines": { "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { "webpack": "^5.1.0" }, "peerDependenciesMeta": { "@swc/core": { "optional": true }, "esbuild": { "optional": true }, "uglify-js": { "optional": true } } }, "node_modules/terser-webpack-plugin/node_modules/jest-worker": { "version": "27.4.6", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", "dev": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, "engines": { "node": ">= 10.13.0" } }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" }, "engines": { "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" } }, "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "dev": true, "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/terser-webpack-plugin/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { "has-flag": "^4.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "node_modules/terser/node_modules/source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true, "engines": { "node": ">= 8" } }, "node_modules/throttleit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", "dev": true }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, "node_modules/timsort": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", "dev": true }, "node_modules/tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", "dev": true, "dependencies": { "rimraf": "^3.0.0" }, "engines": { "node": ">=8.17.0" } }, "node_modules/tmp/node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true, "engines": { "node": ">=4" } }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "dependencies": { "is-number": "^7.0.0" }, "engines": { "node": ">=8.0" } }, "node_modules/toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, "engines": { "node": ">=0.6" } }, "node_modules/tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "dependencies": { "psl": "^1.1.28", "punycode": "^2.1.1" }, "engines": { "node": ">=0.8" } }, "node_modules/tslib": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", "dev": true }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "dependencies": { "safe-buffer": "^5.0.1" }, "engines": { "node": "*" } }, "node_modules/tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, "node_modules/type": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", "dev": true }, "node_modules/type-fest": { "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" }, "engines": { "node": ">= 0.6" } }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-value-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, "engines": { "node": ">= 10.0.0" } }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true, "engines": { "node": ">= 0.8" } }, "node_modules/untildify": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "dependencies": { "punycode": "^2.1.0" } }, "node_modules/urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "deprecated": "Please see https://github.com/lydell/urix#deprecated", "dev": true }, "node_modules/url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", "dev": true, "dependencies": { "punycode": "1.3.2", "querystring": "0.2.0" } }, "node_modules/url/node_modules/punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", "dev": true }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, "node_modules/utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", "dev": true }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", "dev": true, "engines": { "node": ">= 0.4.0" } }, "node_modules/uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true, "engines": { "node": ">= 0.8" } }, "node_modules/verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "engines": [ "node >=0.6.0" ], "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, "node_modules/watchpack": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" }, "engines": { "node": ">=10.13.0" } }, "node_modules/wbuf": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dev": true, "dependencies": { "minimalistic-assert": "^1.0.0" } }, "node_modules/webpack": { "version": "5.66.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.66.0.tgz", "integrity": "sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.0", "@types/estree": "^0.0.50", "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", "acorn": "^8.4.1", "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.8.3", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.9", "json-parse-better-errors": "^1.0.2", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", "watchpack": "^2.3.1", "webpack-sources": "^3.2.2" }, "bin": { "webpack": "bin/webpack.js" }, "engines": { "node": ">=10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependenciesMeta": { "webpack-cli": { "optional": true } } }, "node_modules/webpack-cli": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", "dev": true, "dependencies": { "@discoveryjs/json-ext": "^0.5.0", "@webpack-cli/configtest": "^1.1.0", "@webpack-cli/info": "^1.4.0", "@webpack-cli/serve": "^1.6.0", "colorette": "^2.0.14", "commander": "^7.0.0", "execa": "^5.0.0", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", "interpret": "^2.2.0", "rechoir": "^0.7.0", "webpack-merge": "^5.7.3" }, "bin": { "webpack-cli": "bin/cli.js" }, "engines": { "node": ">=10.13.0" }, "peerDependencies": { "webpack": "4.x.x || 5.x.x" }, "peerDependenciesMeta": { "@webpack-cli/generators": { "optional": true }, "@webpack-cli/migrate": { "optional": true }, "webpack-bundle-analyzer": { "optional": true }, "webpack-dev-server": { "optional": true } } }, "node_modules/webpack-cli/node_modules/commander": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, "engines": { "node": ">= 10" } }, "node_modules/webpack-cli/node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^4.0.1", "onetime": "^5.1.2", "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/webpack-cli/node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/webpack-cli/node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, "engines": { "node": ">=10.17.0" } }, "node_modules/webpack-dev-middleware": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", "integrity": "sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg==", "dev": true, "dependencies": { "colorette": "^2.0.10", "memfs": "^3.2.2", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" }, "engines": { "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { "webpack": "^4.0.0 || ^5.0.0" } }, "node_modules/webpack-dev-middleware/node_modules/ajv": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.2.2" }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.3" }, "peerDependencies": { "ajv": "^8.8.2" } }, "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, "node_modules/webpack-dev-middleware/node_modules/schema-utils": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.8.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.0.0" }, "engines": { "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" } }, "node_modules/webpack-dev-server": { "version": "4.7.3", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz", "integrity": "sha512-mlxq2AsIw2ag016nixkzUkdyOE8ST2GTy34uKSABp1c4nhjZvH90D5ZRR+UOLSsG4Z3TFahAi72a3ymRtfRm+Q==", "dev": true, "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", "@types/serve-index": "^1.9.1", "@types/sockjs": "^0.3.33", "@types/ws": "^8.2.2", "ansi-html-community": "^0.0.8", "bonjour": "^3.5.0", "chokidar": "^3.5.2", "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^1.6.0", "default-gateway": "^6.0.3", "del": "^6.0.0", "express": "^4.17.1", "graceful-fs": "^4.2.6", "html-entities": "^2.3.2", "http-proxy-middleware": "^2.0.0", "ipaddr.js": "^2.0.1", "open": "^8.0.9", "p-retry": "^4.5.0", "portfinder": "^1.0.28", "schema-utils": "^4.0.0", "selfsigned": "^2.0.0", "serve-index": "^1.9.1", "sockjs": "^0.3.21", "spdy": "^4.0.2", "strip-ansi": "^7.0.0", "webpack-dev-middleware": "^5.3.0", "ws": "^8.1.0" }, "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" }, "engines": { "node": ">= 12.13.0" }, "peerDependencies": { "webpack": "^4.37.0 || ^5.0.0" }, "peerDependenciesMeta": { "webpack-cli": { "optional": true } } }, "node_modules/webpack-dev-server/node_modules/ajv": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.2.2" }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/webpack-dev-server/node_modules/ajv-keywords": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.3" }, "peerDependencies": { "ajv": "^8.8.2" } }, "node_modules/webpack-dev-server/node_modules/ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/webpack-dev-server/node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/webpack-dev-server/node_modules/del": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", "dev": true, "dependencies": { "globby": "^11.0.1", "graceful-fs": "^4.2.4", "is-glob": "^4.0.1", "is-path-cwd": "^2.2.0", "is-path-inside": "^3.0.2", "p-map": "^4.0.0", "rimraf": "^3.0.2", "slash": "^3.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/webpack-dev-server/node_modules/globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", "fast-glob": "^3.2.9", "ignore": "^5.2.0", "merge2": "^1.4.1", "slash": "^3.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, "node_modules/webpack-dev-server/node_modules/p-map": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "dependencies": { "aggregate-error": "^3.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/webpack-dev-server/node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/webpack-dev-server/node_modules/schema-utils": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.8.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.0.0" }, "engines": { "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" } }, "node_modules/webpack-dev-server/node_modules/strip-ansi": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "dependencies": { "ansi-regex": "^6.0.1" }, "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/webpack-merge": { "version": "5.8.0", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", "dev": true, "dependencies": { "clone-deep": "^4.0.1", "wildcard": "^2.0.0" }, "engines": { "node": ">=10.0.0" } }, "node_modules/webpack-sources": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "dependencies": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" } }, "node_modules/webpack-sources/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/webpack/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" }, "engines": { "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" } }, "node_modules/webpack/node_modules/webpack-sources": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, "engines": { "node": ">=10.13.0" } }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" }, "engines": { "node": ">=0.8.0" } }, "node_modules/websocket-extensions": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true, "engines": { "node": ">=0.8.0" } }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "bin/node-which" }, "engines": { "node": ">= 8" } }, "node_modules/wildcard": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "node_modules/ws": { "version": "8.4.2", "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", "dev": true, "engines": { "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" }, "peerDependenciesMeta": { "bufferutil": { "optional": true }, "utf-8-validate": { "optional": true } } }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true, "engines": { "node": ">= 6" } }, "node_modules/yargs-parser": { "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "engines": { "node": ">=10" } }, "node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", "dev": true, "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } } }, "dependencies": { "@babel/code-frame": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", "dev": true, "requires": { "@babel/highlight": "^7.16.7" } }, "@babel/compat-data": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz", "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==", "dev": true }, "@babel/core": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz", "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==", "dev": true, "requires": { "@babel/code-frame": "^7.16.7", "@babel/generator": "^7.16.7", "@babel/helper-compilation-targets": "^7.16.7", "@babel/helper-module-transforms": "^7.16.7", "@babel/helpers": "^7.16.7", "@babel/parser": "^7.16.7", "@babel/template": "^7.16.7", "@babel/traverse": "^7.16.7", "@babel/types": "^7.16.7", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", "semver": "^6.3.0", "source-map": "^0.5.0" }, "dependencies": { "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, "@babel/generator": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", "dev": true, "requires": { "@babel/types": "^7.16.8", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", "dev": true, "requires": { "@babel/types": "^7.16.7" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", "dev": true, "requires": { "@babel/helper-explode-assignable-expression": "^7.16.7", "@babel/types": "^7.16.7" } }, "@babel/helper-compilation-targets": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", "dev": true, "requires": { "@babel/compat-data": "^7.16.4", "@babel/helper-validator-option": "^7.16.7", "browserslist": "^4.17.5", "semver": "^6.3.0" }, "dependencies": { "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, "@babel/helper-create-class-features-plugin": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz", "integrity": "sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-function-name": "^7.16.7", "@babel/helper-member-expression-to-functions": "^7.16.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7" } }, "@babel/helper-create-regexp-features-plugin": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz", "integrity": "sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", "regexpu-core": "^4.7.1" } }, "@babel/helper-define-polyfill-provider": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz", "integrity": "sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.13.0", "@babel/helper-module-imports": "^7.12.13", "@babel/helper-plugin-utils": "^7.13.0", "@babel/traverse": "^7.13.0", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", "semver": "^6.1.2" }, "dependencies": { "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, "@babel/helper-environment-visitor": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", "dev": true, "requires": { "@babel/types": "^7.16.7" } }, "@babel/helper-explode-assignable-expression": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", "dev": true, "requires": { "@babel/types": "^7.16.7" } }, "@babel/helper-function-name": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", "dev": true, "requires": { "@babel/helper-get-function-arity": "^7.16.7", "@babel/template": "^7.16.7", "@babel/types": "^7.16.7" } }, "@babel/helper-get-function-arity": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", "dev": true, "requires": { "@babel/types": "^7.16.7" } }, "@babel/helper-hoist-variables": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", "dev": true, "requires": { "@babel/types": "^7.16.7" } }, "@babel/helper-member-expression-to-functions": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", "dev": true, "requires": { "@babel/types": "^7.16.7" } }, "@babel/helper-module-imports": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", "dev": true, "requires": { "@babel/types": "^7.16.7" } }, "@babel/helper-module-transforms": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-module-imports": "^7.16.7", "@babel/helper-simple-access": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", "@babel/helper-validator-identifier": "^7.16.7", "@babel/template": "^7.16.7", "@babel/traverse": "^7.16.7", "@babel/types": "^7.16.7" } }, "@babel/helper-optimise-call-expression": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", "dev": true, "requires": { "@babel/types": "^7.16.7" } }, "@babel/helper-plugin-utils": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", "dev": true }, "@babel/helper-remap-async-to-generator": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-wrap-function": "^7.16.8", "@babel/types": "^7.16.8" } }, "@babel/helper-replace-supers": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-member-expression-to-functions": "^7.16.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/traverse": "^7.16.7", "@babel/types": "^7.16.7" } }, "@babel/helper-simple-access": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", "dev": true, "requires": { "@babel/types": "^7.16.7" } }, "@babel/helper-skip-transparent-expression-wrappers": { "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", "dev": true, "requires": { "@babel/types": "^7.16.0" } }, "@babel/helper-split-export-declaration": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", "dev": true, "requires": { "@babel/types": "^7.16.7" } }, "@babel/helper-validator-identifier": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", "dev": true }, "@babel/helper-validator-option": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", "dev": true }, "@babel/helper-wrap-function": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", "dev": true, "requires": { "@babel/helper-function-name": "^7.16.7", "@babel/template": "^7.16.7", "@babel/traverse": "^7.16.8", "@babel/types": "^7.16.8" } }, "@babel/helpers": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", "dev": true, "requires": { "@babel/template": "^7.16.7", "@babel/traverse": "^7.16.7", "@babel/types": "^7.16.7" } }, "@babel/highlight": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz", "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, "dependencies": { "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" } }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" } }, "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" } } } }, "@babel/parser": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz", "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-proposal-optional-chaining": "^7.16.7" } }, "@babel/plugin-proposal-async-generator-functions": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-remap-async-to-generator": "^7.16.8", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-proposal-class-static-block": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz", "integrity": "sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==", "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-proposal-dynamic-import": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-proposal-export-namespace-from": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz", "integrity": "sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==", "dev": true, "requires": { "@babel/compat-data": "^7.16.4", "@babel/helper-compilation-targets": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.16.7" } }, "@babel/plugin-proposal-optional-catch-binding": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz", "integrity": "sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw==", "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-proposal-private-property-in-object": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-create-class-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-class-properties": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-class-static-block": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3" } }, "@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-top-level-await": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-arrow-functions": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-async-to-generator": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-remap-async-to-generator": "^7.16.8" } }, "@babel/plugin-transform-block-scoped-functions": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-block-scoping": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-classes": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.16.7", "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-function-name": "^7.16.7", "@babel/helper-optimise-call-expression": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-destructuring": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz", "integrity": "sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-dotall-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-duplicate-keys": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-exponentiation-operator": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", "dev": true, "requires": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-for-of": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-function-name": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.16.7", "@babel/helper-function-name": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-literals": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-member-expression-literals": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-modules-amd": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz", "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-simple-access": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz", "integrity": "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-module-transforms": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-named-capturing-groups-regex": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.16.7" } }, "@babel/plugin-transform-new-target": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-object-super": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-replace-supers": "^7.16.7" } }, "@babel/plugin-transform-parameters": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-property-literals": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-regenerator": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-shorthand-properties": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-spread": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" } }, "@babel/plugin-transform-sticky-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-template-literals": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-typeof-symbol": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-unicode-escapes": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-unicode-regex": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/preset-env": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.8.tgz", "integrity": "sha512-9rNKgVCdwHb3z1IlbMyft6yIXIeP3xz6vWvGaLHrJThuEIqWfHb0DNBH9VuTgnDfdbUDhkmkvMZS/YMCtP7Elg==", "dev": true, "requires": { "@babel/compat-data": "^7.16.8", "@babel/helper-compilation-targets": "^7.16.7", "@babel/helper-plugin-utils": "^7.16.7", "@babel/helper-validator-option": "^7.16.7", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", "@babel/plugin-proposal-async-generator-functions": "^7.16.8", "@babel/plugin-proposal-class-properties": "^7.16.7", "@babel/plugin-proposal-class-static-block": "^7.16.7", "@babel/plugin-proposal-dynamic-import": "^7.16.7", "@babel/plugin-proposal-export-namespace-from": "^7.16.7", "@babel/plugin-proposal-json-strings": "^7.16.7", "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", "@babel/plugin-proposal-numeric-separator": "^7.16.7", "@babel/plugin-proposal-object-rest-spread": "^7.16.7", "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", "@babel/plugin-proposal-optional-chaining": "^7.16.7", "@babel/plugin-proposal-private-methods": "^7.16.7", "@babel/plugin-proposal-private-property-in-object": "^7.16.7", "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-transform-arrow-functions": "^7.16.7", "@babel/plugin-transform-async-to-generator": "^7.16.8", "@babel/plugin-transform-block-scoped-functions": "^7.16.7", "@babel/plugin-transform-block-scoping": "^7.16.7", "@babel/plugin-transform-classes": "^7.16.7", "@babel/plugin-transform-computed-properties": "^7.16.7", "@babel/plugin-transform-destructuring": "^7.16.7", "@babel/plugin-transform-dotall-regex": "^7.16.7", "@babel/plugin-transform-duplicate-keys": "^7.16.7", "@babel/plugin-transform-exponentiation-operator": "^7.16.7", "@babel/plugin-transform-for-of": "^7.16.7", "@babel/plugin-transform-function-name": "^7.16.7", "@babel/plugin-transform-literals": "^7.16.7", "@babel/plugin-transform-member-expression-literals": "^7.16.7", "@babel/plugin-transform-modules-amd": "^7.16.7", "@babel/plugin-transform-modules-commonjs": "^7.16.8", "@babel/plugin-transform-modules-systemjs": "^7.16.7", "@babel/plugin-transform-modules-umd": "^7.16.7", "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", "@babel/plugin-transform-new-target": "^7.16.7", "@babel/plugin-transform-object-super": "^7.16.7", "@babel/plugin-transform-parameters": "^7.16.7", "@babel/plugin-transform-property-literals": "^7.16.7", "@babel/plugin-transform-regenerator": "^7.16.7", "@babel/plugin-transform-reserved-words": "^7.16.7", "@babel/plugin-transform-shorthand-properties": "^7.16.7", "@babel/plugin-transform-spread": "^7.16.7", "@babel/plugin-transform-sticky-regex": "^7.16.7", "@babel/plugin-transform-template-literals": "^7.16.7", "@babel/plugin-transform-typeof-symbol": "^7.16.7", "@babel/plugin-transform-unicode-escapes": "^7.16.7", "@babel/plugin-transform-unicode-regex": "^7.16.7", "@babel/preset-modules": "^0.1.5", "@babel/types": "^7.16.8", "babel-plugin-polyfill-corejs2": "^0.3.0", "babel-plugin-polyfill-corejs3": "^0.5.0", "babel-plugin-polyfill-regenerator": "^0.3.0", "core-js-compat": "^3.20.2", "semver": "^6.3.0" }, "dependencies": { "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, "@babel/preset-modules": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", "@babel/plugin-transform-dotall-regex": "^7.4.4", "@babel/types": "^7.4.4", "esutils": "^2.0.2" } }, "@babel/runtime": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "dev": true, "requires": { "@babel/code-frame": "^7.16.7", "@babel/parser": "^7.16.7", "@babel/types": "^7.16.7" } }, "@babel/traverse": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz", "integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==", "dev": true, "requires": { "@babel/code-frame": "^7.16.7", "@babel/generator": "^7.16.8", "@babel/helper-environment-visitor": "^7.16.7", "@babel/helper-function-name": "^7.16.7", "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", "@babel/parser": "^7.16.8", "@babel/types": "^7.16.8", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { "version": "7.16.8", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" } }, "@cypress/request": { "version": "2.88.10", "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.10.tgz", "integrity": "sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg==", "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", "caseless": "~0.12.0", "combined-stream": "~1.0.6", "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", "http-signature": "~1.3.6", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^8.3.2" } }, "@cypress/xvfb": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", "dev": true, "requires": { "debug": "^3.1.0", "lodash.once": "^4.1.1" }, "dependencies": { "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } } } }, "@discoveryjs/json-ext": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", "dev": true }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "requires": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, "@nodelib/fs.walk": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "@nuxt/friendly-errors-webpack-plugin": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/@nuxt/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-2.5.2.tgz", "integrity": "sha512-LLc+90lnxVbpKkMqk5z1EWpXoODhc6gRkqqXJCInJwF5xabHAE7biFvbULfvTRmtaTzAaP8IV4HQDLUgeAUTTw==", "dev": true, "requires": { "chalk": "^2.3.2", "consola": "^2.6.0", "error-stack-parser": "^2.0.0", "string-width": "^4.2.3" }, "dependencies": { "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" } }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" } }, "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" } } } }, "@popperjs/core": { "version": "2.11.2", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.2.tgz", "integrity": "sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA==" }, "@symfony/webpack-encore": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/@symfony/webpack-encore/-/webpack-encore-1.7.0.tgz", "integrity": "sha512-Jpq04gOXvRZMtVTyNenpgjW1LBlG4E0XdcMVGSwsjMVp0yIsM/PHrBWI5kpCx7tSo07u8XCMTRpus4EwWostQg==", "dev": true, "requires": { "@babel/core": "^7.7.0", "@babel/plugin-syntax-dynamic-import": "^7.0.0", "@babel/preset-env": "^7.10.0", "@nuxt/friendly-errors-webpack-plugin": "^2.5.1", "assets-webpack-plugin": "7.0.*", "babel-loader": "^8.2.2", "chalk": "^4.0.0", "clean-webpack-plugin": "^3.0.0", "css-loader": "^5.2.4", "css-minimizer-webpack-plugin": "^2.0.0", "fast-levenshtein": "^3.0.0", "loader-utils": "^2.0.0", "mini-css-extract-plugin": "^1.5.0", "pkg-up": "^3.1.0", "pretty-error": "^3.0.3", "resolve-url-loader": "^3.1.2", "semver": "^7.3.2", "style-loader": "^2.0.0", "terser-webpack-plugin": "^5.1.1", "tmp": "^0.2.1", "webpack": "^5.35", "webpack-cli": "^4", "webpack-dev-server": "^4.0.0", "yargs-parser": "^20.2.4" } }, "@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", "dev": true }, "@types/body-parser": { "version": "1.19.2", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", "dev": true, "requires": { "@types/connect": "*", "@types/node": "*" } }, "@types/bonjour": { "version": "3.5.10", "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", "dev": true, "requires": { "@types/node": "*" } }, "@types/connect": { "version": "3.4.35", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", "dev": true, "requires": { "@types/node": "*" } }, "@types/connect-history-api-fallback": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", "dev": true, "requires": { "@types/express-serve-static-core": "*", "@types/node": "*" } }, "@types/eslint": { "version": "8.2.2", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.2.tgz", "integrity": "sha512-nQxgB8/Sg+QKhnV8e0WzPpxjIGT3tuJDDzybkDi8ItE/IgTlHo07U0shaIjzhcvQxlq9SDRE42lsJ23uvEgJ2A==", "dev": true, "requires": { "@types/estree": "*", "@types/json-schema": "*" } }, "@types/eslint-scope": { "version": "3.7.3", "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", "dev": true, "requires": { "@types/eslint": "*", "@types/estree": "*" } }, "@types/estree": { "version": "0.0.50", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", "dev": true }, "@types/express": { "version": "4.17.13", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", "dev": true, "requires": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.18", "@types/qs": "*", "@types/serve-static": "*" } }, "@types/express-serve-static-core": { "version": "4.17.28", "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", "dev": true, "requires": { "@types/node": "*", "@types/qs": "*", "@types/range-parser": "*" } }, "@types/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", "dev": true, "requires": { "@types/minimatch": "*", "@types/node": "*" } }, "@types/http-proxy": { "version": "1.17.8", "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", "dev": true, "requires": { "@types/node": "*" } }, "@types/json-schema": { "version": "7.0.9", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", "dev": true }, "@types/mime": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", "dev": true }, "@types/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", "dev": true }, "@types/node": { "version": "17.0.8", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.8.tgz", "integrity": "sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg==", "dev": true }, "@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, "@types/qs": { "version": "6.9.7", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", "dev": true }, "@types/range-parser": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, "@types/retry": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", "dev": true }, "@types/serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", "dev": true, "requires": { "@types/express": "*" } }, "@types/serve-static": { "version": "1.13.10", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", "dev": true, "requires": { "@types/mime": "^1", "@types/node": "*" } }, "@types/sinonjs__fake-timers": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.4.tgz", "integrity": "sha512-IFQTJARgMUBF+xVd2b+hIgXWrZEjND3vJtRCvIelcFB5SIXfjV4bOHbHJ0eXKh+0COrBRc8MqteKAz/j88rE0A==", "dev": true }, "@types/sizzle": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", "dev": true }, "@types/sockjs": { "version": "0.3.33", "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", "dev": true, "requires": { "@types/node": "*" } }, "@types/source-list-map": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", "dev": true }, "@types/tapable": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", "dev": true }, "@types/uglify-js": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz", "integrity": "sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==", "dev": true, "requires": { "source-map": "^0.6.1" }, "dependencies": { "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "@types/webpack": { "version": "4.41.32", "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.32.tgz", "integrity": "sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==", "dev": true, "requires": { "@types/node": "*", "@types/tapable": "^1", "@types/uglify-js": "*", "@types/webpack-sources": "*", "anymatch": "^3.0.0", "source-map": "^0.6.0" }, "dependencies": { "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "@types/webpack-sources": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", "dev": true, "requires": { "@types/node": "*", "@types/source-list-map": "*", "source-map": "^0.7.3" }, "dependencies": { "source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true } } }, "@types/ws": { "version": "8.2.2", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz", "integrity": "sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==", "dev": true, "requires": { "@types/node": "*" } }, "@types/yauzl": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", "dev": true, "optional": true, "requires": { "@types/node": "*" } }, "@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", "dev": true, "requires": { "@webassemblyjs/helper-numbers": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1" } }, "@webassemblyjs/floating-point-hex-parser": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", "dev": true }, "@webassemblyjs/helper-api-error": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", "dev": true }, "@webassemblyjs/helper-buffer": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", "dev": true }, "@webassemblyjs/helper-numbers": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "dev": true, "requires": { "@webassemblyjs/floating-point-hex-parser": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.1", "@xtuc/long": "4.2.2" } }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", "dev": true }, "@webassemblyjs/helper-wasm-section": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1", "@webassemblyjs/wasm-gen": "1.11.1" } }, "@webassemblyjs/ieee754": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dev": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", "dev": true }, "@webassemblyjs/wasm-edit": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1", "@webassemblyjs/helper-wasm-section": "1.11.1", "@webassemblyjs/wasm-gen": "1.11.1", "@webassemblyjs/wasm-opt": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", "@webassemblyjs/wast-printer": "1.11.1" } }, "@webassemblyjs/wasm-gen": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1", "@webassemblyjs/ieee754": "1.11.1", "@webassemblyjs/leb128": "1.11.1", "@webassemblyjs/utf8": "1.11.1" } }, "@webassemblyjs/wasm-opt": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", "@webassemblyjs/wasm-gen": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1" } }, "@webassemblyjs/wasm-parser": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1", "@webassemblyjs/ieee754": "1.11.1", "@webassemblyjs/leb128": "1.11.1", "@webassemblyjs/utf8": "1.11.1" } }, "@webassemblyjs/wast-printer": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", "@xtuc/long": "4.2.2" } }, "@webpack-cli/configtest": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", "dev": true, "requires": {} }, "@webpack-cli/info": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", "dev": true, "requires": { "envinfo": "^7.7.3" } }, "@webpack-cli/serve": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", "dev": true, "requires": {} }, "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, "@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "dev": true, "requires": { "mime-types": "~2.1.24", "negotiator": "0.6.2" } }, "ace-builds": { "version": "1.4.13", "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.4.13.tgz", "integrity": "sha512-SOLzdaQkY6ecPKYRDDg+MY1WoGgXA34cIvYJNNoBMGGUswHmlauU2Hy0UL96vW0Fs/LgFbMUjD+6vqzWTldIYQ==" }, "acorn": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", "dev": true }, "acorn-import-assertions": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", "dev": true, "requires": {} }, "adjust-sourcemap-loader": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz", "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==", "dev": true, "requires": { "loader-utils": "^2.0.0", "regex-parser": "^2.2.11" } }, "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, "requires": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" } }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "ajv-formats": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, "requires": { "ajv": "^8.0.0" }, "dependencies": { "ajv": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.2.2" } }, "json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true } } }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, "requires": {} }, "alphanum-sort": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", "dev": true }, "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, "ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "requires": { "type-fest": "^0.21.3" } }, "ansi-html-community": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", "dev": true }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { "color-convert": "^2.0.1" } }, "anymatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "arch": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", "dev": true }, "arity-n": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=", "dev": true }, "array-differ": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", "dev": true }, "array-flatten": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", "dev": true }, "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { "array-uniq": "^1.0.1" } }, "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", "dev": true }, "arrify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", "dev": true }, "asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, "requires": { "safer-buffer": "~2.1.0" } }, "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, "assets-webpack-plugin": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/assets-webpack-plugin/-/assets-webpack-plugin-7.0.0.tgz", "integrity": "sha512-DMZ9r6HFxynWeONRMhSOFTvTrmit5dovdoUKdJgCG03M6CC7XiwNImPH+Ad1jaVrQ2n59e05lBhte52xPt4MSA==", "dev": true, "requires": { "camelcase": "^6.0.0", "escape-string-regexp": "^4.0.0", "lodash": "^4.17.20" } }, "astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, "async": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", "dev": true }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, "at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "dev": true }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, "autoprefixer": { "version": "10.4.2", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.2.tgz", "integrity": "sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==", "dev": true, "requires": { "browserslist": "^4.19.1", "caniuse-lite": "^1.0.30001297", "fraction.js": "^4.1.2", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" } }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true }, "aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, "babel-loader": { "version": "8.2.3", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", "dev": true, "requires": { "find-cache-dir": "^3.3.1", "loader-utils": "^1.4.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, "dependencies": { "json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, "requires": { "minimist": "^1.2.0" } }, "loader-utils": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^1.0.1" } } } }, "babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", "dev": true, "requires": { "object.assign": "^4.1.0" } }, "babel-plugin-polyfill-corejs2": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz", "integrity": "sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==", "dev": true, "requires": { "@babel/compat-data": "^7.13.11", "@babel/helper-define-polyfill-provider": "^0.3.0", "semver": "^6.1.1" }, "dependencies": { "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, "babel-plugin-polyfill-corejs3": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.0.tgz", "integrity": "sha512-Hcrgnmkf+4JTj73GbK3bBhlVPiLL47owUAnoJIf69Hakl3q+KfodbDXiZWGMM7iqCZTxCG3Z2VRfPNYES4rXqQ==", "dev": true, "requires": { "@babel/helper-define-polyfill-provider": "^0.3.0", "core-js-compat": "^3.20.0" } }, "babel-plugin-polyfill-regenerator": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz", "integrity": "sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==", "dev": true, "requires": { "@babel/helper-define-polyfill-provider": "^0.3.0" } }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", "dev": true }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { "tweetnacl": "^0.14.3" } }, "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, "blob-util": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", "dev": true }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, "body-parser": { "version": "1.19.1", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", "dev": true, "requires": { "bytes": "3.1.1", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "~1.1.2", "http-errors": "1.8.1", "iconv-lite": "0.4.24", "on-finished": "~2.3.0", "qs": "6.9.6", "raw-body": "2.4.2", "type-is": "~1.6.18" }, "dependencies": { "bytes": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", "dev": true }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "qs": { "version": "6.9.6", "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", "dev": true } } }, "bonjour": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", "dev": true, "requires": { "array-flatten": "^2.1.0", "deep-equal": "^1.0.1", "dns-equal": "^1.0.0", "dns-txt": "^2.0.2", "multicast-dns": "^6.0.1", "multicast-dns-service-types": "^1.1.0" } }, "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, "bootstrap": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.3.tgz", "integrity": "sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q==", "requires": {} }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { "fill-range": "^7.0.1" } }, "browserslist": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", "dev": true, "requires": { "caniuse-lite": "^1.0.30001286", "electron-to-chromium": "^1.4.17", "escalade": "^3.1.1", "node-releases": "^2.0.1", "picocolors": "^1.0.0" } }, "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", "dev": true }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "buffer-indexof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true }, "cachedir": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", "dev": true }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "requires": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" } }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true }, "caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", "dev": true, "requires": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", "lodash.memoize": "^4.1.2", "lodash.uniq": "^4.5.0" } }, "caniuse-lite": { "version": "1.0.30001299", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz", "integrity": "sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw==", "dev": true }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "check-more-types": { "version": "2.24.0", "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", "integrity": "sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=", "dev": true }, "chokidar": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", "dev": true, "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", "fsevents": "~2.3.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" } }, "chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true }, "ci-info": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", "dev": true }, "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true }, "clean-webpack-plugin": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz", "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==", "dev": true, "requires": { "@types/webpack": "^4.4.31", "del": "^4.1.1" } }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "requires": { "restore-cursor": "^3.1.0" } }, "cli-table3": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz", "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==", "dev": true, "requires": { "colors": "1.4.0", "string-width": "^4.2.0" } }, "cli-truncate": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", "dev": true, "requires": { "slice-ansi": "^3.0.0", "string-width": "^4.2.0" } }, "clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "requires": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", "shallow-clone": "^3.0.0" } }, "codemirror": { "version": "5.65.0", "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.0.tgz", "integrity": "sha512-gWEnHKEcz1Hyz7fsQWpK7P0sPI2/kSkRX2tc7DFA6TmZuDN75x/1ejnH/Pn8adYKrLEA1V2ww6L00GudHZbSKw==" }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" } }, "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "colord": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", "dev": true }, "colorette": { "version": "2.0.16", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", "dev": true }, "colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true, "optional": true }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "requires": { "delayed-stream": "~1.0.0" } }, "commander": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", "dev": true }, "common-tags": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", "dev": true }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "compose-function": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=", "dev": true, "requires": { "arity-n": "^1.0.4" } }, "compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, "requires": { "mime-db": ">= 1.43.0 < 2" } }, "compression": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dev": true, "requires": { "accepts": "~1.3.5", "bytes": "3.0.0", "compressible": "~2.0.16", "debug": "2.6.9", "on-headers": "~1.0.2", "safe-buffer": "5.1.2", "vary": "~1.1.2" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "connect-history-api-fallback": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", "dev": true }, "consola": { "version": "2.15.3", "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", "dev": true }, "content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "requires": { "safe-buffer": "5.2.1" }, "dependencies": { "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true } } }, "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "dev": true }, "convert-source-map": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" } }, "cookie": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", "dev": true }, "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, "core-js-compat": { "version": "3.20.2", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.2.tgz", "integrity": "sha512-qZEzVQ+5Qh6cROaTPFLNS4lkvQ6mBzE3R6A6EEpssj7Zr2egMHgsy4XapdifqJDGC9CBiNv7s+ejI96rLNQFdg==", "dev": true, "requires": { "browserslist": "^4.19.1", "semver": "7.0.0" }, "dependencies": { "semver": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", "dev": true } } }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, "cosmiconfig": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "dev": true, "requires": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", "parse-json": "^5.0.0", "path-type": "^4.0.0", "yaml": "^1.10.0" } }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "css": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", "dev": true, "requires": { "inherits": "^2.0.3", "source-map": "^0.6.1", "source-map-resolve": "^0.5.2", "urix": "^0.1.0" }, "dependencies": { "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "css-declaration-sorter": { "version": "6.1.4", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz", "integrity": "sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==", "dev": true, "requires": { "timsort": "^0.3.0" } }, "css-loader": { "version": "5.2.7", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", "dev": true, "requires": { "icss-utils": "^5.1.0", "loader-utils": "^2.0.0", "postcss": "^8.2.15", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.1.0", "schema-utils": "^3.0.0", "semver": "^7.3.5" }, "dependencies": { "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } } } }, "css-minimizer-webpack-plugin": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-2.0.0.tgz", "integrity": "sha512-cG/uc94727tx5pBNtb1Sd7gvUPzwmcQi1lkpfqTpdkuNq75hJCw7bIVsCNijLm4dhDcr1atvuysl2rZqOG8Txw==", "dev": true, "requires": { "cssnano": "^5.0.0", "jest-worker": "^26.3.0", "p-limit": "^3.0.2", "postcss": "^8.2.9", "schema-utils": "^3.0.0", "serialize-javascript": "^5.0.1", "source-map": "^0.6.1" }, "dependencies": { "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "css-select": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", "dev": true, "requires": { "boolbase": "^1.0.0", "css-what": "^5.1.0", "domhandler": "^4.3.0", "domutils": "^2.8.0", "nth-check": "^2.0.1" } }, "css-tree": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dev": true, "requires": { "mdn-data": "2.0.14", "source-map": "^0.6.1" }, "dependencies": { "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "css-what": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", "dev": true }, "cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true }, "cssnano": { "version": "5.0.15", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.15.tgz", "integrity": "sha512-ppZsS7oPpi2sfiyV5+i+NbB/3GtQ+ab2Vs1azrZaXWujUSN4o+WdTxlCZIMcT9yLW3VO/5yX3vpyDaQ1nIn8CQ==", "dev": true, "requires": { "cssnano-preset-default": "^5.1.10", "lilconfig": "^2.0.3", "yaml": "^1.10.2" } }, "cssnano-preset-default": { "version": "5.1.10", "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.10.tgz", "integrity": "sha512-BcpSzUVygHMOnp9uG5rfPzTOCb0GAHQkqtUQx8j1oMNF9A1Q8hziOOhiM4bdICpmrBIU85BE64RD5XGYsVQZNA==", "dev": true, "requires": { "css-declaration-sorter": "^6.0.3", "cssnano-utils": "^3.0.0", "postcss-calc": "^8.2.0", "postcss-colormin": "^5.2.3", "postcss-convert-values": "^5.0.2", "postcss-discard-comments": "^5.0.1", "postcss-discard-duplicates": "^5.0.1", "postcss-discard-empty": "^5.0.1", "postcss-discard-overridden": "^5.0.2", "postcss-merge-longhand": "^5.0.4", "postcss-merge-rules": "^5.0.4", "postcss-minify-font-values": "^5.0.2", "postcss-minify-gradients": "^5.0.4", "postcss-minify-params": "^5.0.3", "postcss-minify-selectors": "^5.1.1", "postcss-normalize-charset": "^5.0.1", "postcss-normalize-display-values": "^5.0.2", "postcss-normalize-positions": "^5.0.2", "postcss-normalize-repeat-style": "^5.0.2", "postcss-normalize-string": "^5.0.2", "postcss-normalize-timing-functions": "^5.0.2", "postcss-normalize-unicode": "^5.0.2", "postcss-normalize-url": "^5.0.4", "postcss-normalize-whitespace": "^5.0.2", "postcss-ordered-values": "^5.0.3", "postcss-reduce-initial": "^5.0.2", "postcss-reduce-transforms": "^5.0.2", "postcss-svgo": "^5.0.3", "postcss-unique-selectors": "^5.0.2" } }, "cssnano-utils": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.0.tgz", "integrity": "sha512-Pzs7/BZ6OgT+tXXuF12DKR8SmSbzUeVYCtMBbS8lI0uAm3mrYmkyqCXXPsQESI6kmLfEVBppbdVY/el3hg3nAA==", "dev": true, "requires": {} }, "csso": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dev": true, "requires": { "css-tree": "^1.1.2" } }, "cypress": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/cypress/-/cypress-9.2.1.tgz", "integrity": "sha512-LVEe4yWCo4xO0Vd8iYjFHRyd5ulRvM56XqMgAdn05Qb9kJ6iJdO/MmjKD8gNd768698cp1FDuSmFQZHVZGk+Og==", "dev": true, "requires": { "@cypress/request": "^2.88.10", "@cypress/xvfb": "^1.2.4", "@types/node": "^14.14.31", "@types/sinonjs__fake-timers": "^6.0.2", "@types/sizzle": "^2.3.2", "arch": "^2.2.0", "blob-util": "^2.0.2", "bluebird": "3.7.2", "cachedir": "^2.3.0", "chalk": "^4.1.0", "check-more-types": "^2.24.0", "cli-cursor": "^3.1.0", "cli-table3": "~0.6.1", "commander": "^5.1.0", "common-tags": "^1.8.0", "dayjs": "^1.10.4", "debug": "^4.3.2", "enquirer": "^2.3.6", "eventemitter2": "^6.4.3", "execa": "4.1.0", "executable": "^4.1.1", "extract-zip": "2.0.1", "figures": "^3.2.0", "fs-extra": "^9.1.0", "getos": "^3.2.1", "is-ci": "^3.0.0", "is-installed-globally": "~0.4.0", "lazy-ass": "^1.6.0", "listr2": "^3.8.3", "lodash": "^4.17.21", "log-symbols": "^4.0.0", "minimist": "^1.2.5", "ospath": "^1.2.2", "pretty-bytes": "^5.6.0", "proxy-from-env": "1.0.0", "request-progress": "^3.0.0", "supports-color": "^8.1.1", "tmp": "~0.2.1", "untildify": "^4.0.0", "url": "^0.11.0", "yauzl": "^2.10.0" }, "dependencies": { "@types/node": { "version": "14.18.5", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.5.tgz", "integrity": "sha512-LMy+vDDcQR48EZdEx5wRX1q/sEl6NdGuHXPnfeL8ixkwCOSZ2qnIyIZmcCbdX0MeRqHhAcHmX+haCbrS8Run+A==", "dev": true }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "requires": { "has-flag": "^4.0.0" } } } }, "d": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "dev": true, "requires": { "es5-ext": "^0.10.50", "type": "^1.0.1" } }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { "assert-plus": "^1.0.0" } }, "dayjs": { "version": "1.10.7", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.7.tgz", "integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==", "dev": true }, "debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dev": true, "requires": { "ms": "2.1.2" } }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, "deep-equal": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", "dev": true, "requires": { "is-arguments": "^1.0.4", "is-date-object": "^1.0.1", "is-regex": "^1.0.4", "object-is": "^1.0.1", "object-keys": "^1.1.1", "regexp.prototype.flags": "^1.2.0" } }, "default-gateway": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "dev": true, "requires": { "execa": "^5.0.0" }, "dependencies": { "execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "requires": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^4.0.1", "onetime": "^5.1.2", "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" } }, "get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true }, "human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true } } }, "define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { "object-keys": "^1.0.12" } }, "del": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", "dev": true, "requires": { "@types/glob": "^7.1.1", "globby": "^6.1.0", "is-path-cwd": "^2.0.0", "is-path-in-cwd": "^2.0.0", "p-map": "^2.0.0", "pify": "^4.0.1", "rimraf": "^2.6.3" } }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true }, "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, "detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "requires": { "path-type": "^4.0.0" } }, "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", "dev": true }, "dns-packet": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", "dev": true, "requires": { "ip": "^1.1.0", "safe-buffer": "^5.0.1" } }, "dns-txt": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", "dev": true, "requires": { "buffer-indexof": "^1.0.0" } }, "dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", "dev": true, "requires": { "utila": "~0.4" } }, "dom-serializer": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", "dev": true, "requires": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", "entities": "^2.0.0" } }, "domelementtype": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", "dev": true }, "domhandler": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", "dev": true, "requires": { "domelementtype": "^2.2.0" } }, "domutils": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, "requires": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", "domhandler": "^4.2.0" } }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, "electron-to-chromium": { "version": "1.4.45", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.45.tgz", "integrity": "sha512-czF9eYVuOmlY/vxyMQz2rGlNSjZpxNQYBe1gmQv7al171qOIhgyO9k7D5AKlgeTCSPKk+LHhj5ZyIdmEub9oNg==", "dev": true }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "requires": { "once": "^1.4.0" } }, "enhanced-resolve": { "version": "5.8.3", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", "dev": true, "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "requires": { "ansi-colors": "^4.1.1" } }, "entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true }, "envinfo": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", "dev": true }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { "is-arrayish": "^0.2.1" } }, "error-stack-parser": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", "dev": true, "requires": { "stackframe": "^1.1.1" } }, "es-module-lexer": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "dev": true }, "es5-ext": { "version": "0.10.53", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", "dev": true, "requires": { "es6-iterator": "~2.0.3", "es6-symbol": "~3.1.3", "next-tick": "~1.0.0" } }, "es6-iterator": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { "d": "1", "es5-ext": "^0.10.35", "es6-symbol": "^3.1.1" } }, "es6-symbol": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "dev": true, "requires": { "d": "^1.0.1", "ext": "^1.1.2" } }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "dev": true }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, "eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" } }, "esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { "estraverse": "^5.2.0" }, "dependencies": { "estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } }, "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "dev": true }, "eventemitter2": { "version": "6.4.5", "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.5.tgz", "integrity": "sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw==", "dev": true }, "eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true }, "events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, "execa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, "requires": { "cross-spawn": "^7.0.0", "get-stream": "^5.0.0", "human-signals": "^1.1.1", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^4.0.0", "onetime": "^5.1.0", "signal-exit": "^3.0.2", "strip-final-newline": "^2.0.0" } }, "executable": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", "dev": true, "requires": { "pify": "^2.2.0" }, "dependencies": { "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } } }, "express": { "version": "4.17.2", "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", "dev": true, "requires": { "accepts": "~1.3.7", "array-flatten": "1.1.1", "body-parser": "1.19.1", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.4.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "finalhandler": "~1.1.2", "fresh": "0.5.2", "merge-descriptors": "1.0.1", "methods": "~1.1.2", "on-finished": "~2.3.0", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", "qs": "6.9.6", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "0.17.2", "serve-static": "1.14.2", "setprototypeof": "1.2.0", "statuses": "~1.5.0", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" }, "dependencies": { "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "qs": { "version": "6.9.6", "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", "dev": true }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true } } }, "ext": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", "dev": true, "requires": { "type": "^2.5.0" }, "dependencies": { "type": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", "dev": true } } }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, "extract-zip": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dev": true, "requires": { "@types/yauzl": "^2.9.1", "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" } }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-glob": { "version": "3.2.10", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.10.tgz", "integrity": "sha512-s9nFhFnvR63wls6/kM88kQqDhMu0AfdjqouE2l5GVQPbqLgyFjjU5ry/r2yKsJxpb9Py1EYNqieFrmMaX4v++A==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.4" } }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "fast-levenshtein": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz", "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==", "dev": true, "requires": { "fastest-levenshtein": "^1.0.7" } }, "fastest-levenshtein": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", "dev": true }, "fastq": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", "dev": true, "requires": { "reusify": "^1.0.4" } }, "faye-websocket": { "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" } }, "fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "dev": true, "requires": { "pend": "~1.2.0" } }, "figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "requires": { "escape-string-regexp": "^1.0.5" }, "dependencies": { "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true } } }, "file-loader": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", "dev": true, "requires": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" }, "dependencies": { "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } } } }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { "to-regex-range": "^5.0.1" } }, "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", "parseurl": "~1.3.3", "statuses": "~1.5.0", "unpipe": "~1.0.0" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "find-cache-dir": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, "requires": { "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" } }, "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "follow-redirects": { "version": "1.14.7", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==", "dev": true }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" } }, "forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true }, "fraction.js": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz", "integrity": "sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==", "dev": true }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, "fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "fs-monkey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", "dev": true }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "optional": true }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, "get-intrinsic": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1" } }, "get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "requires": { "pump": "^3.0.0" } }, "getos": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", "dev": true, "requires": { "async": "^3.2.0" } }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { "assert-plus": "^1.0.0" } }, "glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" } }, "glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, "global-dirs": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", "dev": true, "requires": { "ini": "2.0.0" } }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, "globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { "array-union": "^1.0.1", "glob": "^7.0.3", "object-assign": "^4.0.1", "pify": "^2.0.0", "pinkie-promise": "^2.0.0" }, "dependencies": { "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } } }, "graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, "handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { "function-bind": "^1.1.1" } }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "has-symbols": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true }, "has-tostringtag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "requires": { "has-symbols": "^1.0.2" } }, "hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", "dev": true, "requires": { "inherits": "^2.0.1", "obuf": "^1.0.0", "readable-stream": "^2.0.1", "wbuf": "^1.1.0" }, "dependencies": { "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" } } } }, "html-entities": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", "dev": true }, "htmlparser2": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "dev": true, "requires": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", "domutils": "^2.5.2", "entities": "^2.0.0" } }, "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", "dev": true }, "http-errors": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, "requires": { "depd": "~1.1.2", "inherits": "2.0.4", "setprototypeof": "1.2.0", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.1" } }, "http-parser-js": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", "dev": true }, "http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "requires": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" } }, "http-proxy-middleware": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz", "integrity": "sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==", "dev": true, "requires": { "@types/http-proxy": "^1.17.5", "http-proxy": "^1.18.1", "is-glob": "^4.0.1", "is-plain-obj": "^3.0.0", "micromatch": "^4.0.2" } }, "http-signature": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", "dev": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^2.0.2", "sshpk": "^1.14.1" } }, "human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true }, "husky": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", "dev": true }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, "icss-utils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", "dev": true, "requires": {} }, "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true }, "immutable": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", "dev": true }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "import-local": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "requires": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" } }, "indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "ini": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", "dev": true }, "interpret": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true }, "ionicons": { "version": "4.6.3", "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-4.6.3.tgz", "integrity": "sha512-cgP+VIr2cTJpMfFyVHTerq6n2jeoiGboVoe3GlaAo5zoSBDAEXORwUZhv6m+lCyxlsHCS3nqPUE+MKyZU71t8Q==" }, "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", "dev": true }, "ipaddr.js": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", "dev": true }, "is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" } }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "requires": { "binary-extensions": "^2.0.0" } }, "is-ci": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", "dev": true, "requires": { "ci-info": "^3.2.0" } }, "is-core-module": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "dev": true, "requires": { "has": "^1.0.3" } }, "is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" } }, "is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" } }, "is-installed-globally": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", "dev": true, "requires": { "global-dirs": "^3.0.0", "is-path-inside": "^3.0.2" } }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, "is-path-cwd": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", "dev": true }, "is-path-in-cwd": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", "dev": true, "requires": { "is-path-inside": "^2.1.0" }, "dependencies": { "is-path-inside": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", "dev": true, "requires": { "path-is-inside": "^1.0.2" } } } }, "is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, "is-plain-obj": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "dev": true }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { "isobject": "^3.0.1" } }, "is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" } }, "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, "is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, "is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, "requires": { "is-docker": "^2.0.0" } }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, "jest-worker": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, "requires": { "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^7.0.0" } }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, "json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, "json5": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "requires": { "minimist": "^1.2.5" } }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" } }, "jsprim": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", "json-schema": "0.4.0", "verror": "1.10.0" } }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, "klona": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", "dev": true }, "lazy-ass": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", "integrity": "sha1-eZllXoZGwX8In90YfRUNMyTVRRM=", "dev": true }, "lilconfig": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", "dev": true }, "lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, "listr2": { "version": "3.14.0", "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", "dev": true, "requires": { "cli-truncate": "^2.1.0", "colorette": "^2.0.16", "log-update": "^4.0.0", "p-map": "^4.0.0", "rfdc": "^1.3.0", "rxjs": "^7.5.1", "through": "^2.3.8", "wrap-ansi": "^7.0.0" }, "dependencies": { "p-map": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "requires": { "aggregate-error": "^3.0.0" } } } }, "loader-runner": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", "dev": true }, "loader-utils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^2.1.2" } }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" } }, "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, "lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", "dev": true }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", "dev": true }, "log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "requires": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" } }, "log-update": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", "dev": true, "requires": { "ansi-escapes": "^4.3.0", "cli-cursor": "^3.1.0", "slice-ansi": "^4.0.0", "wrap-ansi": "^6.2.0" }, "dependencies": { "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "requires": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" } }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { "ansi-regex": "^5.0.1" } }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } } } }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { "yallist": "^4.0.0" } }, "make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { "semver": "^6.0.0" }, "dependencies": { "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, "mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "dev": true }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, "memfs": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", "dev": true, "requires": { "fs-monkey": "1.0.3" } }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", "dev": true }, "micromatch": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, "requires": { "braces": "^3.0.1", "picomatch": "^2.2.3" } }, "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true }, "mime-db": { "version": "1.51.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", "dev": true }, "mime-types": { "version": "2.1.34", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", "dev": true, "requires": { "mime-db": "1.51.0" } }, "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "mini-css-extract-plugin": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", "dev": true, "requires": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0", "webpack-sources": "^1.1.0" }, "dependencies": { "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } } } }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "requires": { "minimist": "^1.2.5" } }, "mri": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", "dev": true }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "multicast-dns": { "version": "6.2.3", "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", "dev": true, "requires": { "dns-packet": "^1.3.1", "thunky": "^1.0.2" } }, "multicast-dns-service-types": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, "multimatch": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", "dev": true, "requires": { "@types/minimatch": "^3.0.3", "array-differ": "^3.0.0", "array-union": "^2.1.0", "arrify": "^2.0.1", "minimatch": "^3.0.4" }, "dependencies": { "array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true } } }, "nanoid": { "version": "3.1.32", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.32.tgz", "integrity": "sha512-F8mf7R3iT9bvThBoW4tGXhXFHCctyCiUUPrWF8WaTqa3h96d9QybkSeba43XVOOE3oiLfkVDe4bT8MeGmkrTxw==", "dev": true }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", "dev": true }, "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, "next-tick": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", "dev": true }, "node-forge": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz", "integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==", "dev": true }, "node-releases": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", "dev": true }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, "normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", "dev": true }, "normalize-url": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", "dev": true }, "npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { "path-key": "^3.0.0" } }, "nth-check": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "dev": true, "requires": { "boolbase": "^1.0.0" } }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "object-is": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" } }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, "object.assign": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "has-symbols": "^1.0.1", "object-keys": "^1.1.1" } }, "obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", "dev": true }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, "requires": { "ee-first": "1.1.1" } }, "on-headers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", "dev": true }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" } }, "onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { "mimic-fn": "^2.1.0" } }, "open": { "version": "8.4.0", "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", "dev": true, "requires": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", "is-wsl": "^2.2.0" } }, "ospath": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", "integrity": "sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs=", "dev": true }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { "yocto-queue": "^0.1.0" } }, "p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" }, "dependencies": { "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" } } } }, "p-map": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", "dev": true }, "p-retry": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", "dev": true, "requires": { "@types/retry": "^0.12.0", "retry": "^0.13.1" } }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" } }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" } }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", "dev": true }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", "dev": true }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { "pinkie": "^2.0.0" } }, "pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { "find-up": "^4.0.0" } }, "pkg-up": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", "dev": true, "requires": { "find-up": "^3.0.0" }, "dependencies": { "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { "locate-path": "^3.0.0" } }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" } }, "p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { "p-limit": "^2.0.0" } }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true } } }, "portfinder": { "version": "1.0.28", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", "dev": true, "requires": { "async": "^2.6.2", "debug": "^3.1.1", "mkdirp": "^0.5.5" }, "dependencies": { "async": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", "dev": true, "requires": { "lodash": "^4.17.14" } }, "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } } } }, "postcss": { "version": "8.4.5", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", "dev": true, "requires": { "nanoid": "^3.1.30", "picocolors": "^1.0.0", "source-map-js": "^1.0.1" } }, "postcss-calc": { "version": "8.2.2", "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.2.tgz", "integrity": "sha512-B5R0UeB4zLJvxNt1FVCaDZULdzsKLPc6FhjFJ+xwFiq7VG4i9cuaJLxVjNtExNK8ocm3n2o4unXXLiVX1SCqxA==", "dev": true, "requires": { "postcss-selector-parser": "^6.0.2", "postcss-value-parser": "^4.0.2" } }, "postcss-colormin": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.3.tgz", "integrity": "sha512-dra4xoAjub2wha6RUXAgadHEn2lGxbj8drhFcIGLOMn914Eu7DkPUurugDXgstwttCYkJtZ/+PkWRWdp3UHRIA==", "dev": true, "requires": { "browserslist": "^4.16.6", "caniuse-api": "^3.0.0", "colord": "^2.9.1", "postcss-value-parser": "^4.2.0" } }, "postcss-convert-values": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz", "integrity": "sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg==", "dev": true, "requires": { "postcss-value-parser": "^4.1.0" } }, "postcss-discard-comments": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", "dev": true, "requires": {} }, "postcss-discard-duplicates": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", "dev": true, "requires": {} }, "postcss-discard-empty": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", "dev": true, "requires": {} }, "postcss-discard-overridden": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.2.tgz", "integrity": "sha512-+56BLP6NSSUuWUXjRgAQuho1p5xs/hU5Sw7+xt9S3JSg+7R6+WMGnJW7Hre/6tTuZ2xiXMB42ObkiZJ2hy/Pew==", "dev": true, "requires": {} }, "postcss-loader": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", "dev": true, "requires": { "cosmiconfig": "^7.0.0", "klona": "^2.0.5", "semver": "^7.3.5" } }, "postcss-merge-longhand": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.4.tgz", "integrity": "sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw==", "dev": true, "requires": { "postcss-value-parser": "^4.1.0", "stylehacks": "^5.0.1" } }, "postcss-merge-rules": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.4.tgz", "integrity": "sha512-yOj7bW3NxlQxaERBB0lEY1sH5y+RzevjbdH4DBJurjKERNpknRByFNdNe+V72i5pIZL12woM9uGdS5xbSB+kDQ==", "dev": true, "requires": { "browserslist": "^4.16.6", "caniuse-api": "^3.0.0", "cssnano-utils": "^3.0.0", "postcss-selector-parser": "^6.0.5" } }, "postcss-minify-font-values": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.2.tgz", "integrity": "sha512-R6MJZryq28Cw0AmnyhXrM7naqJZZLoa1paBltIzh2wM7yb4D45TLur+eubTQ4jCmZU9SGeZdWsc5KcSoqTMeTg==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-minify-gradients": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.4.tgz", "integrity": "sha512-RVwZA7NC4R4J76u8X0Q0j+J7ItKUWAeBUJ8oEEZWmtv3Xoh19uNJaJwzNpsydQjk6PkuhRrK+YwwMf+c+68EYg==", "dev": true, "requires": { "colord": "^2.9.1", "cssnano-utils": "^3.0.0", "postcss-value-parser": "^4.2.0" } }, "postcss-minify-params": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.3.tgz", "integrity": "sha512-NY92FUikE+wralaiVexFd5gwb7oJTIDhgTNeIw89i1Ymsgt4RWiPXfz3bg7hDy4NL6gepcThJwOYNtZO/eNi7Q==", "dev": true, "requires": { "alphanum-sort": "^1.0.2", "browserslist": "^4.16.6", "cssnano-utils": "^3.0.0", "postcss-value-parser": "^4.2.0" } }, "postcss-minify-selectors": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.1.tgz", "integrity": "sha512-TOzqOPXt91O2luJInaVPiivh90a2SIK5Nf1Ea7yEIM/5w+XA5BGrZGUSW8aEx9pJ/oNj7ZJBhjvigSiBV+bC1Q==", "dev": true, "requires": { "alphanum-sort": "^1.0.2", "postcss-selector-parser": "^6.0.5" } }, "postcss-modules-extract-imports": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", "dev": true, "requires": {} }, "postcss-modules-local-by-default": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", "dev": true, "requires": { "icss-utils": "^5.0.0", "postcss-selector-parser": "^6.0.2", "postcss-value-parser": "^4.1.0" } }, "postcss-modules-scope": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", "dev": true, "requires": { "postcss-selector-parser": "^6.0.4" } }, "postcss-modules-values": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "dev": true, "requires": { "icss-utils": "^5.0.0" } }, "postcss-normalize-charset": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", "dev": true, "requires": {} }, "postcss-normalize-display-values": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.2.tgz", "integrity": "sha512-RxXoJPUR0shSjkMMzgEZDjGPrgXUVYyWA/YwQRicb48H15OClPuaDR7tYokLAlGZ2tCSENEN5WxjgxSD5m4cUw==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-positions": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.2.tgz", "integrity": "sha512-tqghWFVDp2btqFg1gYob1etPNxXLNh3uVeWgZE2AQGh6b2F8AK2Gj36v5Vhyh+APwIzNjmt6jwZ9pTBP+/OM8g==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-repeat-style": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.2.tgz", "integrity": "sha512-/rIZn8X9bBzC7KvY4iKUhXUGW3MmbXwfPF23jC9wT9xTi7kAvgj8sEgwxjixBmoL6MVa4WOgxNz2hAR6wTK8tw==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-string": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.2.tgz", "integrity": "sha512-zaI1yzwL+a/FkIzUWMQoH25YwCYxi917J4pYm1nRXtdgiCdnlTkx5eRzqWEC64HtRa06WCJ9TIutpb6GmW4gFw==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-timing-functions": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.2.tgz", "integrity": "sha512-Ao0PP6MoYsRU1LxeVUW740ioknvdIUmfr6uAA3xWlQJ9s69/Tupy8qwhuKG3xWfl+KvLMAP9p2WXF9cwuk/7Bg==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-unicode": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.2.tgz", "integrity": "sha512-3y/V+vjZ19HNcTizeqwrbZSUsE69ZMRHfiiyLAJb7C7hJtYmM4Gsbajy7gKagu97E8q5rlS9k8FhojA8cpGhWw==", "dev": true, "requires": { "browserslist": "^4.16.6", "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-url": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.4.tgz", "integrity": "sha512-cNj3RzK2pgQQyNp7dzq0dqpUpQ/wYtdDZM3DepPmFjCmYIfceuD9VIAcOdvrNetjIU65g1B4uwdP/Krf6AFdXg==", "dev": true, "requires": { "normalize-url": "^6.0.1", "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-whitespace": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.2.tgz", "integrity": "sha512-CXBx+9fVlzSgbk0IXA/dcZn9lXixnQRndnsPC5ht3HxlQ1bVh77KQDL1GffJx1LTzzfae8ftMulsjYmO2yegxA==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-ordered-values": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.3.tgz", "integrity": "sha512-T9pDS+P9bWeFvqivXd5ACzQmrCmHjv3ZP+djn8E1UZY7iK79pFSm7i3WbKw2VSmFmdbMm8sQ12OPcNpzBo3Z2w==", "dev": true, "requires": { "cssnano-utils": "^3.0.0", "postcss-value-parser": "^4.2.0" } }, "postcss-reduce-initial": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz", "integrity": "sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==", "dev": true, "requires": { "browserslist": "^4.16.6", "caniuse-api": "^3.0.0" } }, "postcss-reduce-transforms": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.2.tgz", "integrity": "sha512-25HeDeFsgiPSUx69jJXZn8I06tMxLQJJNF5h7i9gsUg8iP4KOOJ8EX8fj3seeoLt3SLU2YDD6UPnDYVGUO7DEA==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-selector-parser": { "version": "6.0.8", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz", "integrity": "sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ==", "dev": true, "requires": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "postcss-svgo": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.3.tgz", "integrity": "sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==", "dev": true, "requires": { "postcss-value-parser": "^4.1.0", "svgo": "^2.7.0" } }, "postcss-unique-selectors": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.2.tgz", "integrity": "sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA==", "dev": true, "requires": { "alphanum-sort": "^1.0.2", "postcss-selector-parser": "^6.0.5" } }, "postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, "prettier": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", "dev": true }, "pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", "dev": true }, "pretty-error": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-3.0.4.tgz", "integrity": "sha512-ytLFLfv1So4AO1UkoBF6GXQgJRaKbiSiGFICaOPNwQ3CMvBvXpLRubeQWyPGnsbV/t9ml9qto6IeCsho0aEvwQ==", "dev": true, "requires": { "lodash": "^4.17.20", "renderkid": "^2.0.6" } }, "pretty-quick": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.3.tgz", "integrity": "sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==", "dev": true, "requires": { "chalk": "^3.0.0", "execa": "^4.0.0", "find-up": "^4.1.0", "ignore": "^5.1.4", "mri": "^1.1.5", "multimatch": "^4.0.0" }, "dependencies": { "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } } } }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "requires": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" }, "dependencies": { "ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true } } }, "proxy-from-env": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", "dev": true }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, "qs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "dev": true }, "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", "dev": true }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "requires": { "safe-buffer": "^5.1.0" } }, "range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true }, "raw-body": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", "dev": true, "requires": { "bytes": "3.1.1", "http-errors": "1.8.1", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, "dependencies": { "bytes": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", "dev": true } } }, "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "requires": { "picomatch": "^2.2.1" } }, "rechoir": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", "dev": true, "requires": { "resolve": "^1.9.0" } }, "regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, "regenerate-unicode-properties": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", "dev": true, "requires": { "regenerate": "^1.4.2" } }, "regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, "regenerator-transform": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", "dev": true, "requires": { "@babel/runtime": "^7.8.4" } }, "regex-parser": { "version": "2.2.11", "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", "dev": true }, "regexp.prototype.flags": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" } }, "regexpu-core": { "version": "4.8.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", "dev": true, "requires": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^9.0.0", "regjsgen": "^0.5.2", "regjsparser": "^0.7.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.0.0" } }, "regjsgen": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", "dev": true }, "regjsparser": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", "dev": true, "requires": { "jsesc": "~0.5.0" }, "dependencies": { "jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", "dev": true } } }, "renderkid": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", "dev": true, "requires": { "css-select": "^4.1.3", "dom-converter": "^0.2.0", "htmlparser2": "^6.1.0", "lodash": "^4.17.21", "strip-ansi": "^3.0.1" } }, "request-progress": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", "integrity": "sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=", "dev": true, "requires": { "throttleit": "^1.0.0" } }, "require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, "resolve": { "version": "1.21.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz", "integrity": "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==", "dev": true, "requires": { "is-core-module": "^2.8.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-cwd": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "requires": { "resolve-from": "^5.0.0" }, "dependencies": { "resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } } }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, "resolve-url-loader": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.4.tgz", "integrity": "sha512-D3sQ04o0eeQEySLrcz4DsX3saHfsr8/N6tfhblxgZKXxMT2Louargg12oGNfoTRLV09GXhVUe5/qgA5vdgNigg==", "dev": true, "requires": { "adjust-sourcemap-loader": "3.0.0", "camelcase": "5.3.1", "compose-function": "3.0.3", "convert-source-map": "1.7.0", "es6-iterator": "2.0.3", "loader-utils": "1.2.3", "postcss": "7.0.36", "rework": "1.0.1", "rework-visit": "1.0.0", "source-map": "0.6.1" }, "dependencies": { "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" } }, "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" }, "dependencies": { "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" } } } }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" } }, "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "convert-source-map": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" } }, "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", "dev": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, "requires": { "minimist": "^1.2.0" } }, "loader-utils": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^2.0.0", "json5": "^1.0.1" } }, "postcss": { "version": "7.0.36", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", "dev": true, "requires": { "chalk": "^2.4.2", "source-map": "^0.6.1", "supports-color": "^6.1.0" } }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "requires": { "has-flag": "^3.0.0" } } } }, "restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" } }, "retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, "rework": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", "dev": true, "requires": { "convert-source-map": "^0.3.3", "css": "^2.0.0" }, "dependencies": { "convert-source-map": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=", "dev": true } } }, "rework-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=", "dev": true }, "rfdc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", "dev": true }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { "glob": "^7.1.3" } }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "requires": { "queue-microtask": "^1.2.2" } }, "rxjs": { "version": "7.5.2", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.2.tgz", "integrity": "sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==", "dev": true, "requires": { "tslib": "^2.1.0" } }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "sass": { "version": "1.48.0", "resolved": "https://registry.npmjs.org/sass/-/sass-1.48.0.tgz", "integrity": "sha512-hQi5g4DcfjcipotoHZ80l7GNJHGqQS5LwMBjVYB/TaT0vcSSpbgM8Ad7cgfsB2M0MinbkEQQPO9+sjjSiwxqmw==", "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", "source-map-js": ">=0.6.2 <2.0.0" } }, "sass-loader": { "version": "12.4.0", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.4.0.tgz", "integrity": "sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==", "dev": true, "requires": { "klona": "^2.0.4", "neo-async": "^2.6.2" } }, "schema-utils": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "dev": true, "requires": { "@types/json-schema": "^7.0.5", "ajv": "^6.12.4", "ajv-keywords": "^3.5.2" } }, "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", "dev": true }, "selfsigned": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.0.tgz", "integrity": "sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ==", "dev": true, "requires": { "node-forge": "^1.2.0" } }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" } }, "send": { "version": "0.17.2", "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", "dev": true, "requires": { "debug": "2.6.9", "depd": "~1.1.2", "destroy": "~1.0.4", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", "http-errors": "1.8.1", "mime": "1.6.0", "ms": "2.1.3", "on-finished": "~2.3.0", "range-parser": "~1.2.1", "statuses": "~1.5.0" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" }, "dependencies": { "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } }, "serialize-javascript": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", "dev": true, "requires": { "randombytes": "^2.1.0" } }, "serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", "dev": true, "requires": { "accepts": "~1.3.4", "batch": "0.6.1", "debug": "2.6.9", "escape-html": "~1.0.3", "http-errors": "~1.6.2", "mime-types": "~2.1.17", "parseurl": "~1.3.2" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" } }, "http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", "statuses": ">= 1.4.0 < 2" } }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true } } }, "serve-static": { "version": "1.14.2", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", "send": "0.17.2" } }, "setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, "shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { "kind-of": "^6.0.2" } }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { "shebang-regex": "^3.0.0" } }, "shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "signal-exit": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", "dev": true }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, "slice-ansi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", "dev": true, "requires": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" } }, "sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, "requires": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", "websocket-driver": "^0.7.4" } }, "source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", "dev": true }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "source-map-js": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz", "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==", "dev": true }, "source-map-resolve": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "dev": true, "requires": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", "source-map-url": "^0.4.0", "urix": "^0.1.0" } }, "source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" }, "dependencies": { "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "source-map-url": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, "spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", "dev": true, "requires": { "debug": "^4.1.0", "handle-thing": "^2.0.0", "http-deceiver": "^1.2.7", "select-hose": "^2.0.0", "spdy-transport": "^3.0.0" } }, "spdy-transport": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", "dev": true, "requires": { "debug": "^4.1.0", "detect-node": "^2.0.4", "hpack.js": "^2.1.6", "obuf": "^1.1.2", "readable-stream": "^3.0.6", "wbuf": "^1.7.3" } }, "sshpk": { "version": "1.17.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", "bcrypt-pbkdf": "^1.0.0", "dashdash": "^1.12.0", "ecc-jsbn": "~0.1.1", "getpass": "^0.1.1", "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" } }, "stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", "dev": true }, "stackframe": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", "dev": true }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "requires": { "safe-buffer": "~5.2.0" }, "dependencies": { "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true } } }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" }, "dependencies": { "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { "ansi-regex": "^5.0.1" } } } }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "^2.0.0" } }, "strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, "style-loader": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", "dev": true, "requires": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" }, "dependencies": { "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } } } }, "stylehacks": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", "dev": true, "requires": { "browserslist": "^4.16.0", "postcss-selector-parser": "^6.0.4" } }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" } }, "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, "svgo": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", "dev": true, "requires": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", "css-select": "^4.1.3", "css-tree": "^1.1.3", "csso": "^4.2.0", "picocolors": "^1.0.0", "stable": "^0.1.8" }, "dependencies": { "commander": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true } } }, "tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true }, "terser": { "version": "5.10.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", "dev": true, "requires": { "commander": "^2.20.0", "source-map": "~0.7.2", "source-map-support": "~0.5.20" }, "dependencies": { "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true } } }, "terser-webpack-plugin": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz", "integrity": "sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==", "dev": true, "requires": { "jest-worker": "^27.4.1", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", "source-map": "^0.6.1", "terser": "^5.7.2" }, "dependencies": { "jest-worker": { "version": "27.4.6", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", "dev": true, "requires": { "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" } }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } }, "serialize-javascript": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "dev": true, "requires": { "randombytes": "^2.1.0" } }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "requires": { "has-flag": "^4.0.0" } } } }, "throttleit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", "dev": true }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, "thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, "timsort": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", "dev": true }, "tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", "dev": true, "requires": { "rimraf": "^3.0.0" }, "dependencies": { "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" } } } }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { "is-number": "^7.0.0" } }, "toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" } }, "tslib": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", "dev": true }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { "safe-buffer": "^5.0.1" } }, "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, "type": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", "dev": true }, "type-fest": { "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "requires": { "media-typer": "0.3.0", "mime-types": "~2.1.24" } }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true }, "unicode-match-property-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "requires": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" } }, "unicode-match-property-value-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", "dev": true }, "unicode-property-aliases-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", "dev": true }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true }, "untildify": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", "dev": true }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" } }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, "url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", "dev": true, "requires": { "punycode": "1.3.2", "querystring": "0.2.0" }, "dependencies": { "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", "dev": true } } }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, "utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", "dev": true }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", "dev": true }, "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, "watchpack": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" } }, "wbuf": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dev": true, "requires": { "minimalistic-assert": "^1.0.0" } }, "webpack": { "version": "5.66.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.66.0.tgz", "integrity": "sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", "@types/estree": "^0.0.50", "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", "acorn": "^8.4.1", "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.8.3", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.9", "json-parse-better-errors": "^1.0.2", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", "watchpack": "^2.3.1", "webpack-sources": "^3.2.2" }, "dependencies": { "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } }, "webpack-sources": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true } } }, "webpack-cli": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", "@webpack-cli/configtest": "^1.1.0", "@webpack-cli/info": "^1.4.0", "@webpack-cli/serve": "^1.6.0", "colorette": "^2.0.14", "commander": "^7.0.0", "execa": "^5.0.0", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", "interpret": "^2.2.0", "rechoir": "^0.7.0", "webpack-merge": "^5.7.3" }, "dependencies": { "commander": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true }, "execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "requires": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^4.0.1", "onetime": "^5.1.2", "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" } }, "get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true }, "human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true } } }, "webpack-dev-middleware": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", "integrity": "sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg==", "dev": true, "requires": { "colorette": "^2.0.10", "memfs": "^3.2.2", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" }, "dependencies": { "ajv": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.2.2" } }, "ajv-keywords": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "requires": { "fast-deep-equal": "^3.1.3" } }, "json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, "schema-utils": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", "ajv": "^8.8.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.0.0" } } } }, "webpack-dev-server": { "version": "4.7.3", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz", "integrity": "sha512-mlxq2AsIw2ag016nixkzUkdyOE8ST2GTy34uKSABp1c4nhjZvH90D5ZRR+UOLSsG4Z3TFahAi72a3ymRtfRm+Q==", "dev": true, "requires": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", "@types/serve-index": "^1.9.1", "@types/sockjs": "^0.3.33", "@types/ws": "^8.2.2", "ansi-html-community": "^0.0.8", "bonjour": "^3.5.0", "chokidar": "^3.5.2", "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^1.6.0", "default-gateway": "^6.0.3", "del": "^6.0.0", "express": "^4.17.1", "graceful-fs": "^4.2.6", "html-entities": "^2.3.2", "http-proxy-middleware": "^2.0.0", "ipaddr.js": "^2.0.1", "open": "^8.0.9", "p-retry": "^4.5.0", "portfinder": "^1.0.28", "schema-utils": "^4.0.0", "selfsigned": "^2.0.0", "serve-index": "^1.9.1", "sockjs": "^0.3.21", "spdy": "^4.0.2", "strip-ansi": "^7.0.0", "webpack-dev-middleware": "^5.3.0", "ws": "^8.1.0" }, "dependencies": { "ajv": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.2.2" } }, "ajv-keywords": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "requires": { "fast-deep-equal": "^3.1.3" } }, "ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true }, "array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, "del": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", "dev": true, "requires": { "globby": "^11.0.1", "graceful-fs": "^4.2.4", "is-glob": "^4.0.1", "is-path-cwd": "^2.2.0", "is-path-inside": "^3.0.2", "p-map": "^4.0.0", "rimraf": "^3.0.2", "slash": "^3.0.0" } }, "globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", "fast-glob": "^3.2.9", "ignore": "^5.2.0", "merge2": "^1.4.1", "slash": "^3.0.0" } }, "json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, "p-map": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "requires": { "aggregate-error": "^3.0.0" } }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" } }, "schema-utils": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", "ajv": "^8.8.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.0.0" } }, "strip-ansi": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "requires": { "ansi-regex": "^6.0.1" } } } }, "webpack-merge": { "version": "5.8.0", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", "dev": true, "requires": { "clone-deep": "^4.0.1", "wildcard": "^2.0.0" } }, "webpack-sources": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" }, "dependencies": { "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, "requires": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, "websocket-extensions": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" } }, "wildcard": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, "dependencies": { "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { "ansi-regex": "^5.0.1" } } } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "ws": { "version": "8.4.2", "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", "dev": true, "requires": {} }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true }, "yargs-parser": { "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true }, "yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", "dev": true, "requires": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true } } } package.json000066400000000000000000000017771516104173600133640ustar00rootroot00000000000000{ "name": "gitlist", "main": "index.js", "repository": "https://github.com/klaussilveira/gitlist", "license": "BSD-3-Clause", "scripts": { "dev-server": "encore dev-server", "dev": "encore dev", "watch": "encore dev --watch", "build": "encore production", "test": "npm run lint", "format": "prettier --write 'assets/**/*.{js,ts,json,css,scss,yaml}'", "lint": "prettier --check 'assets/**/*.{js,ts,json,css,scss,yaml}'", "cypress": "cypress run" }, "dependencies": { "@popperjs/core": "^2.11.2", "ace-builds": "^1.4", "bootstrap": "^5.1", "codemirror": "^5.65", "ionicons": "^4.6" }, "devDependencies": { "@symfony/webpack-encore": "^1.7", "autoprefixer": "^10.4", "cssnano": "^5.0", "cypress": "^9.2.1", "file-loader": "^6.2", "husky": "^7.0", "postcss-loader": "^6.2", "prettier": "^2.5", "pretty-quick": "^3.1", "sass": "^1.45", "sass-loader": "^12.4" }, "browserslist": [ "> 1%", "IE 10" ] } phpstan.neon000066400000000000000000000005611516104173600134220ustar00rootroot00000000000000parameters: level: max checkMissingIterableValueType: false paths: - src ignoreErrors: - '#Method GitList\\Kernel::configureContainer\(\) is unused.#' - '#Method GitList\\Kernel::configureRoutes\(\) is unused.#' - '#Call to an undefined method Symfony\\Component\\HttpFoundation\\Session\\SessionInterface::getFlashBag#' phpunit.xml.dist000066400000000000000000000014201516104173600142320ustar00rootroot00000000000000 src tests postcss.config.js000066400000000000000000000001321516104173600143560ustar00rootroot00000000000000module.exports = { plugins: [ require('cssnano'), require('autoprefixer') ] } public/000077500000000000000000000000001516104173600123405ustar00rootroot00000000000000public/index.php000066400000000000000000000017541516104173600141670ustar00rootroot00000000000000load($env); } $env = $_SERVER['APP_ENV'] = $_ENV['APP_ENV'] ?? $_SERVER['APP_ENV'] ?? 'prod'; $debug = (bool) ($_SERVER['APP_DEBUG'] ?? ('prod' !== $env)); if ($debug) { umask(0000); Debug::enable(); } if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? false) { Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_ALL ^ Request::HEADER_X_FORWARDED_HOST); } if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? false) { Request::setTrustedHosts(explode(',', $trustedHosts)); } $kernel = new Kernel($env, $debug); $request = Request::createFromGlobals(); $response = $kernel->handle($request); $response->send(); $kernel->terminate($request, $response); src/000077500000000000000000000000001516104173600116515ustar00rootroot00000000000000src/App/000077500000000000000000000000001516104173600123715ustar00rootroot00000000000000src/App/Controller/000077500000000000000000000000001516104173600145145ustar00rootroot00000000000000src/App/Controller/Blob.php000066400000000000000000000065741516104173600161170ustar00rootroot00000000000000index->getRepository($repository); $blob = $repository->getBlob($commitish); $commit = $repository->getCommit($blob->getHash()); $file = File::createFromBlob($blob); if ($file->isBinary()) { $response = new Response($file->getContents()); $disposition = $response->headers->makeDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT, $file->getName()); $response->headers->set('Content-Disposition', $disposition); $response->headers->set('Content-Type', $file->getMimeType()); return $response; } return new Response($this->templating->render('Blob/show.html.twig', [ 'repository' => $repository, 'commit' => $commit, 'blob' => $blob, 'file' => $file, ])); } public function showRaw(string $repository, string $commitish): Response { $repository = $this->index->getRepository($repository); $blob = $repository->getBlob($commitish); $file = File::createFromBlob($blob); $response = new Response($file->getContents()); $response->headers->set('Content-Type', $file->getMimeType()); if ($file->isBinary()) { $disposition = $response->headers->makeDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT, $file->getName()); $response->headers->set('Content-Disposition', $disposition); } return $response; } public function blame(string $repository, string $commitish): Response { $repository = $this->index->getRepository($repository); $blob = $repository->getBlob($commitish); $blame = $repository->getBlame($commitish); return new Response($this->templating->render('Blob/blame.html.twig', [ 'repository' => $repository, 'blame' => $blame, 'blob' => $blob, ])); } public function showHistory(Request $request, string $repository, string $commitish): Response { $page = (int) $request->query->get('page', 1); $perPage = (int) $request->query->get('perPage', $this->perPage); $repository = $this->index->getRepository($repository); $blob = $repository->getBlob($commitish); $commits = $repository->getCommits($commitish, $page, $perPage); $commitGroups = []; foreach ($commits as $commit) { $commitGroups[$commit->getCommitedAt()->format('Y-m-d')][] = $commit; } return new Response($this->templating->render('Blob/history.html.twig', [ 'repository' => $repository, 'blob' => $blob, 'commitGroups' => $commitGroups, 'commitish' => $commitish, 'page' => $page, 'nextPage' => $page + 1, 'previousPage' => $page - 1, 'perPage' => $perPage, ])); } } src/App/Controller/Commit.php000066400000000000000000000042161516104173600164600ustar00rootroot00000000000000query->get('page', 1); $perPage = (int) $request->query->get('perPage', $this->perPage); $repository = $this->index->getRepository($repository); $commits = $repository->getCommits($commitish, $page, $perPage); $commitGroups = []; foreach ($commits as $commit) { $commitGroups[$commit->getCommitedAt()->format('Y-m-d')][] = $commit; } return new Response($this->templating->render('Commit/list.html.twig', [ 'repository' => $repository, 'commitish' => $commitish, 'commitGroups' => $commitGroups, 'page' => $page, 'nextPage' => $page + 1, 'previousPage' => $page - 1, 'perPage' => $perPage, ])); } public function show(string $repository, string $commitish): Response { $repository = $this->index->getRepository($repository); $commit = $repository->getCommit($commitish); return new Response($this->templating->render('Commit/show.html.twig', [ 'repository' => $repository, 'commit' => $commit, ])); } public function feed(string $repository, string $commitish, string $format): Response { $repository = $this->index->getRepository($repository); $commits = $repository->getCommits($commitish, 1, $this->perPage); $commitish = new Commitish($repository, $commitish); return new Response($this->templating->render(sprintf('Commit/feed.%s.twig', $format), [ 'repository' => $repository, 'commitish' => $commitish, 'commits' => $commits, ])); } } src/App/Controller/CommitSearch.php000066400000000000000000000045271516104173600176130ustar00rootroot00000000000000index->getRepository($repository); $form = $this->formFactory->create(CriteriaType::class, new Criteria()); return new Response($this->templating->render('Search/form.html.twig', [ 'repository' => $repository, 'commitish' => $commitish, 'form' => $form->createView(), ])); } public function showResults(Request $request, string $repository, string $commitish): Response { $criteria = new Criteria(); $criteria->setMessage($request->request->get('query', '')); $form = $this->formFactory->create(CriteriaType::class, $criteria); $form->handleRequest($request); if ($form->isSubmitted() && !$form->isValid()) { foreach ($form->getErrors(true) as $error) { $request->getSession()->getFlashBag()->add('danger', $error->getMessage()); } return new RedirectResponse($this->router->generate('repository_tree', [ 'repository' => $repository, 'commitish' => $commitish, ])); } $repository = $this->index->getRepository($repository); $commits = $repository->searchCommits($form->getData(), $commitish); $commitGroups = []; foreach ($commits as $commit) { $commitGroups[$commit->getCommitedAt()->format('Y-m-d')][] = $commit; } return new Response($this->templating->render('Search/list.html.twig', [ 'repository' => $repository, 'commitGroups' => $commitGroups, 'commitish' => $commitish, ])); } } src/App/Controller/Repository.php000066400000000000000000000067041516104173600174130ustar00rootroot00000000000000index->getRepositories(); ksort($repositories); return new Response($this->templating->render('Repository/list.html.twig', [ 'repositories' => $repositories, ])); } public function show(string $repository): Response { $repository = $this->index->getRepository($repository); $tree = $repository->getTree(); $lastCommit = $repository->getCommit($tree->getHash()); $readme = $tree->getReadme(); if ($readme) { $blob = $repository->getBlob($tree->getHash().'/'.$readme->getName()); $readme = File::createFromBlob($blob); } return new Response($this->templating->render('Repository/show.html.twig', [ 'repository' => $repository, 'tree' => $tree, 'lastCommit' => $lastCommit, 'readme' => $readme, ])); } public function showTree(string $repository, string $commitish): Response { $repository = $this->index->getRepository($repository); $tree = $repository->getTree($commitish); $lastCommit = $repository->getCommit($tree->getHash()); $readme = $tree->getReadme(); if ($readme) { $blob = $repository->getBlob($tree->getHash().'/'.$readme->getName()); $readme = File::createFromBlob($blob); } return new Response($this->templating->render('Repository/show.html.twig', [ 'repository' => $repository, 'tree' => $tree, 'lastCommit' => $lastCommit, 'readme' => $readme, ])); } public function listBranches(string $repository): Response { $repository = $this->index->getRepository($repository); $branches = $repository->getBranches(); return new Response($this->templating->render('Repository/branches.html.twig', [ 'repository' => $repository, 'branches' => $branches, ])); } public function listTags(string $repository): Response { $repository = $this->index->getRepository($repository); $tags = $repository->getTags(); return new Response($this->templating->render('Repository/tags.html.twig', [ 'repository' => $repository, 'tags' => $tags, ])); } public function archive(string $repository, string $commitish, string $format): Response { $repository = $this->index->getRepository($repository); $archive = $repository->archive($format, $commitish); if (!file_exists($archive)) { throw new NotFoundHttpException(); } $response = new Response(file_get_contents($archive)); $disposition = $response->headers->makeDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT, basename($archive)); $response->headers->set('Content-Disposition', $disposition); $response->headers->set('Content-Type', 'application/octet-stream'); return $response; } } src/App/Form/000077500000000000000000000000001516104173600132745ustar00rootroot00000000000000src/App/Form/CriteriaType.php000066400000000000000000000024001516104173600164050ustar00rootroot00000000000000add('from', DateTimeType::class, [ 'widget' => 'single_text', 'required' => false, ]) ->add('to', DateTimeType::class, [ 'widget' => 'single_text', 'required' => false, ]) ->add('author', TextType::class, [ 'required' => false, ]) ->add('message', TextType::class, [ 'required' => false, ]) ->add('submit', SubmitType::class); } public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => Criteria::class, ]); } } src/App/Twig/000077500000000000000000000000001516104173600133035ustar00rootroot00000000000000src/App/Twig/AvatarExtension.php000066400000000000000000000013431516104173600171300ustar00rootroot00000000000000 $size], $this->avatarConfig); return sprintf('%s/%s?%s', $this->avatarUrl, md5(strtolower($email)), http_build_query($queryString)); } } src/App/Twig/DateTimeExtension.php000066400000000000000000000012511516104173600174040ustar00rootroot00000000000000locale($this->locale)->diffForHumans(); } } src/App/Twig/MarkdownExtension.php000066400000000000000000000025531516104173600175000ustar00rootroot00000000000000 'strip', 'allow_unsafe_links' => false, ]); $environment->addExtension(new CommonMarkCoreExtension()); $environment->addExtension(new GithubFlavoredMarkdownExtension()); $environment->addExtension(new AutolinkExtension()); $environment->addExtension(new TaskListExtension()); $this->converter = new MarkdownConverter($environment); } public function getFilters() { return [ new TwigFilter('markdown', [$this, 'markdown']), ]; } public function markdown($string): string { if (!$string) { return ''; } return (string) $this->converter->convertToHtml($string); } } src/App/Twig/RepositoryExtension.php000066400000000000000000000044571516104173600201020ustar00rootroot00000000000000 !$this->isTree($item)); } public function isTree($value): bool { if (!$value) { return false; } return $value instanceof Tree; } public function getCommitish(string $hash, string $path): string { return $hash.'/'.$path; } public function getParent(string $path): string { $parent = dirname($path); if ('.' == $parent) { return ''; } return $parent; } public function getBreadcrumbs(Blob $blob): array { $breadcrumbs = []; $parts = explode('/', $blob->getName()); $previousPart = ''; foreach ($parts as $index => $part) { $previousPart .= (0 == $index ? '' : '/').$part; $breadcrumbs[] = [ 'name' => $part, 'commitish' => $this->getCommitish($blob->getHash(), $previousPart), ]; } return $breadcrumbs; } public function formatFileSize($value = null): string { if (!$value) { return '0 B'; } $units = ['B', 'KB', 'MB', 'GB', 'TB']; $pow = floor(log($value) / log(1024)); $pow = min($pow, count($units) - 1); $value /= 1024 ** $pow; return (string) round($value, 2).' '.$units[$pow]; } } src/App/Twig/StringExtension.php000066400000000000000000000012211516104173600171530ustar00rootroot00000000000000truncate($maxLength, $terminator, $cut) ->toString(); } } src/Exception/000077500000000000000000000000001516104173600136075ustar00rootroot00000000000000src/Exception/BlobNotFoundException.php000066400000000000000000000003001516104173600205230ustar00rootroot00000000000000getProjectDir().'/var/cache/'.$this->environment; } public function getLogDir(): string { return $this->getProjectDir().'/var/log'; } public function registerBundles(): iterable { $bundles = [ FrameworkBundle::class, TwigBundle::class, MonologBundle::class, WebpackEncoreBundle::class, ]; if ($this->debug) { $bundles[] = DebugBundle::class; } foreach ($bundles as $bundle) { yield new $bundle(); } } private function configureContainer(ContainerConfigurator $container, LoaderInterface $loader, ContainerBuilder $builder): void { $confDir = $this->getProjectDir().'/config'; $loader->load($confDir.'/config.yml'); $loader->load($confDir.'/framework.yml'); $loader->load($confDir.'/services.yml'); } private function configureRoutes(RoutingConfigurator $routes): void { $confDir = $this->getProjectDir().'/config'; $routes->import($confDir.'/routes.yml'); if ('dev' == $this->environment) { $routes->import($confDir.'/dev/routes.yml'); } } } src/Repository.php000066400000000000000000000107521516104173600145460ustar00rootroot00000000000000name; } public function getDescription(): string { return $this->system->getDescription($this->repository); } public function getDefaultBranch(): string { return $this->system->getDefaultBranch($this->repository); } public function getBranches(): array { return $this->system->getBranches($this->repository); } public function getTags(): array { return $this->system->getTags($this->repository); } public function getTree(string $commitish = null): Tree { if (!$commitish) { return $this->system->getTree($this->repository); } $commitish = new Commitish($this, $commitish); if ($commitish->hasPath()) { return $this->system->getPathTree($this->repository, $commitish->getPath(), $commitish->getHash()); } return $this->system->getTree($this->repository, $commitish->getHash()); } public function getCommit(string $commitish = null): Commit { if (!$commitish) { return $this->system->getCommit($this->repository); } $commitish = new Commitish($this, $commitish); return $this->system->getCommit($this->repository, $commitish->getHash()); } public function getCommits(?string $commitish, int $page, int $perPage): array { if (!$commitish) { return $this->system->getCommits($this->repository, null, $page, $perPage); } $commitish = new Commitish($this, $commitish); if ($commitish->hasPath()) { return $this->system->getCommitsFromPath($this->repository, $commitish->getPath(), $commitish->getHash(), $page, $perPage); } return $this->system->getCommits($this->repository, $commitish->getHash(), $page, $perPage); } public function getSpecificCommits(array $hashes): array { return $this->system->getSpecificCommits($this->repository, $hashes); } public function getBlame(string $commitish): Blame { $commitish = new Commitish($this, $commitish); $blame = $this->system->getBlame($this->repository, $commitish->getHash(), $commitish->getPath()); $consolidatedBlame = new Blame($blame->getPath(), $blame->getHash()); $annotatedLines = $blame->getAnnotatedLines(); $lineAccumulator = ''; foreach ($annotatedLines as $index => $currentLine) { $lineAccumulator .= $currentLine->getContents().PHP_EOL; $nextLine = $annotatedLines[$index + 1] ?? null; if ($nextLine && $currentLine->getCommit() != $nextLine->getCommit()) { $consolidatedBlame->addAnnotatedLine(new AnnotatedLine($currentLine->getCommit(), $lineAccumulator)); $lineAccumulator = ''; } } return $consolidatedBlame; } public function getBlob(string $commitish): Blob { $commitish = new Commitish($this, $commitish); try { return $this->system->getBlob($this->repository, $commitish->getHash(), $commitish->getPath()); } catch (CommandException $exception) { if ($exception->isNotFoundException()) { throw new BlobNotFoundException(); } throw $exception; } } public function searchCommits(Criteria $criteria, string $commitish = null): array { if (!$commitish) { return $this->system->searchCommits($this->repository, $criteria); } $commitish = new Commitish($this, $commitish); return $this->system->searchCommits($this->repository, $criteria, $commitish->getHash()); } public function archive(string $format, string $commitish): string { $commitish = new Commitish($this, $commitish); return $this->system->archive($this->repository, $format, $commitish->getHash(), $commitish->getPath() ?? '.'); } } src/Repository/000077500000000000000000000000001516104173600140305ustar00rootroot00000000000000src/Repository/Commitish.php000066400000000000000000000022661516104173600165030ustar00rootroot00000000000000hash = strtok($commitish, '/'); $revs = [...$repository->getBranches(), ...$repository->getTags()]; foreach ($revs as $rev) { if (false === ($pos = strpos($commitish, (string) $rev->getName()))) { continue; } $this->hash = $rev->getName(); $revSuffix = substr($commitish, strlen($this->hash)); if ($revSuffix && ('@' === $revSuffix[0] || '^' === $revSuffix[0] || '~' === $revSuffix[0])) { $this->hash .= strtok($revSuffix, '/'); } } if ($this->hash != $commitish) { $this->path = substr($commitish, strlen($this->hash) + 1); } } public function getHash(): string { return $this->hash; } public function hasPath(): bool { return (bool) $this->path; } public function getPath(): ?string { return $this->path; } } src/Repository/Index.php000066400000000000000000000037541516104173600156210ustar00rootroot00000000000000directories() ->depth($depth) ->ignoreUnreadableDirs() ->exclude($excludePaths) ->in($path); foreach ($directories as $directory) { $repository = new SourceRepository($directory->getRealPath()); try { $system = $this->getSystem($repository); } catch (InvalidRepositoryException) { continue; } $this->addRepository(new Repository($system, $repository, $directory->getBasename())); } } } public function getSystem(SourceRepository $repository): System { foreach ($this->systems as $system) { if ($system->isValidRepository($repository)) { return $system; } } throw new InvalidRepositoryException($repository->getPath()); } public function addRepository(Repository $repository): void { $this->repositories[$repository->getName()] = $repository; } public function getRepository(string $name): Repository { if (!isset($this->repositories[$name])) { throw new RepositoryNotFoundException($name); } return $this->repositories[$name]; } public function getRepositories(): array { return $this->repositories; } } src/SCM/000077500000000000000000000000001516104173600122735ustar00rootroot00000000000000src/SCM/AnnotatedLine.php000066400000000000000000000005351516104173600155340ustar00rootroot00000000000000commit; } public function getContents(): string { return $this->contents; } } src/SCM/Blame.php000066400000000000000000000012531516104173600140250ustar00rootroot00000000000000path; } public function getHash(): string { return $this->hash; } public function getAnnotatedLines(): array { return $this->annotatedLines; } public function addAnnotatedLine(AnnotatedLine $annotatedLine): void { $this->annotatedLines[] = $annotatedLine; } } src/SCM/Blob.php000066400000000000000000000026061516104173600136660ustar00rootroot00000000000000mode; } public function setMode(string $mode): void { $this->mode = $mode; } public function getName(): ?string { return $this->name; } public function getFileName(): ?string { return basename($this->name ?? ''); } public function setName(string $name): void { $this->name = $name; } public function isReadme(): bool { $fileName = strtolower($this->getFileName()); return 'readme.md' == $fileName || 'readme.txt' == $fileName; } public function getSize(): ?int { return $this->size; } public function setSize(int $size): void { $this->size = $size; } public function getContents(): ?string { return $this->contents; } public function setContents(string $contents): void { $this->contents = $contents; } public function isCommit(): bool { return false; } public function isTree(): bool { return false; } public function isBlob(): bool { return true; } } src/SCM/Branch.php000066400000000000000000000007131516104173600142020ustar00rootroot00000000000000repository; } public function getName(): string { return $this->name; } public function getTarget(): Commit { return $this->target; } } src/SCM/Commit.php000066400000000000000000000066141516104173600142430ustar00rootroot00000000000000tree; } public function setTree(Tree $tree): void { $this->tree = $tree; } public function hasAuthor(): bool { return (bool) $this->author; } public function getAuthor(): ?Person { return $this->author; } public function setAuthor(Person $author): void { $this->author = $author; } public function getAuthoredAt(): ?CarbonInterface { return $this->authoredAt; } public function setAuthoredAt(CarbonInterface $authoredAt): void { $this->authoredAt = $authoredAt; } public function hasCommiter(): bool { return (bool) $this->commiter; } public function getCommiter(): ?Person { return $this->commiter; } public function setCommiter(Person $commiter): void { $this->commiter = $commiter; } public function getCommitedAt(): ?CarbonInterface { return $this->commitedAt; } public function setCommitedAt(CarbonInterface $commitedAt): void { $this->commitedAt = $commitedAt; } public function getSignature(): ?Signature { return $this->signature; } public function setSignature(Signature $signature): void { $this->signature = $signature; } public function getSubject(): ?string { return $this->subject; } public function setSubject(string $subject): void { $this->subject = $subject; } public function getBody(): ?string { return $this->body; } public function setBody(string $body): void { $this->body = $body; } public function getDiffs(): array { return $this->diffs; } public function setDiffs(array $diffs): void { $this->diffs = $diffs; } public function addDiff(File $diff): void { $this->diffs[] = $diff; } public function getRawDiffs(): ?string { return $this->rawDiffs; } public function setRawDiffs(string $rawDiffs): void { $this->rawDiffs = $rawDiffs; } public function getAdditions(): int { $additions = 0; foreach ($this->diffs as $diff) { $additions += $diff->getAdditions(); } return $additions; } public function getDeletions(): int { $deletions = 0; foreach ($this->diffs as $diff) { $deletions += $diff->getDeletions(); } return $deletions; } public function isCommit(): bool { return true; } public function isTree(): bool { return false; } public function isBlob(): bool { return false; } } src/SCM/Commit/000077500000000000000000000000001516104173600135235ustar00rootroot00000000000000src/SCM/Commit/Criteria.php000066400000000000000000000023131516104173600157750ustar00rootroot00000000000000from; } public function setFrom(?DateTimeInterface $from): void { $this->from = $from; } public function getTo(): ?DateTimeInterface { return $this->to; } public function setTo(?DateTimeInterface $to): void { $this->to = $to; } public function getAuthor(): ?string { return $this->author; } public function setAuthor(?string $author): void { $this->author = $author; } public function getMessage(): ?string { return $this->message; } public function setMessage(?string $message): void { $this->message = $message; } public function getLimit(): ?int { return $this->limit; } public function setLimit(?int $limit): void { $this->limit = $limit; } } src/SCM/Commit/Person.php000066400000000000000000000005161516104173600155040ustar00rootroot00000000000000name; } public function getEmail(): string { return $this->email; } } src/SCM/Commit/Signature.php000066400000000000000000000010221516104173600161700ustar00rootroot00000000000000signer; } public function getKey(): string { return $this->key; } public function isValid(): bool { return $this->valid; } public function validate(): void { $this->valid = true; } } src/SCM/Diff/000077500000000000000000000000001516104173600131435ustar00rootroot00000000000000src/SCM/Diff/File.php000066400000000000000000000035111516104173600145330ustar00rootroot00000000000000name; } public function getType(): string { return $this->type; } public function setType(string $type): void { $this->type = $type; } public function getIndex(): ?string { return $this->index; } public function setIndex(string $index): void { $this->index = $index; } public function getFrom(): string { return $this->from; } public function setFrom(string $from): void { $this->from = $from; } public function getTo(): string { return $this->to; } public function setTo(string $to): void { $this->to = $to; } public function getHunks(): array { return $this->hunks; } public function addHunk(Hunk $hunk): void { $this->hunks[] = $hunk; } public function getAdditions(): int { return $this->additions; } public function increaseAdditions(int $amount = 1): void { $this->additions += $amount; } public function getDeletions(): int { return $this->deletions; } public function increaseDeletions(int $amount = 1): void { $this->deletions += $amount; } } src/SCM/Diff/Hunk.php000066400000000000000000000016201516104173600145600ustar00rootroot00000000000000oldStart; } public function getOldCount(): int { return $this->oldCount; } public function getNewStart(): int { return $this->newStart; } public function getNewCount(): int { return $this->newCount; } public function getContents(): string { return $this->contents; } public function getLines(): array { return $this->lines; } public function addLine(Line $line): void { $this->lines[] = $line; } } src/SCM/Diff/Line.php000066400000000000000000000013161516104173600145440ustar00rootroot00000000000000type; } public function getContents(): string { return $this->contents; } public function getOldNumber(): int { return $this->oldNumber; } public function getNewNumber(): int { return $this->newNumber; } } src/SCM/Diff/Parse.php000066400000000000000000000115741516104173600147360ustar00rootroot00000000000000 'start', '/^diff --cc\s/' => 'start', '/^diff --git\s/' => 'start', '/^diff -r\s/' => 'start', '/^new file mode \d+$/' => 'newFile', '/^deleted file mode \d+$/' => 'deletedFile', '/^index\s[\da-zA-Z]+\.\.[\da-zA-Z]+(\s(\d+))?$/' => 'index', '/^index\s([\da-zA-Z]+,)([\da-zA-Z]+\.\.[\da-zA-Z]+)(\s(\d+))?$/' => 'mergeIndex', '/^---\s/' => 'fromFile', '/^\+\+\+\s/' => 'toFile', '/^@@\s+(\-(\d+),?(\d+)?\s+)+(\+(\d+),?(\d+)?\s)+@@/' => 'hunk', '/^@@@\s+(\-(\d+),?(\d+)?\s+)+(\+(\d+),?(\d+)?\s)+@@@/' => 'hunk', '/^-/' => 'deletedLine', '/^\+/' => 'addedLine', ]; protected array $files = []; protected ?File $currentFile = null; protected ?Hunk $currentHunk = null; protected int $oldCounter = 0; protected int $newCounter = 0; protected int $deletedLines = 0; protected int $addedLines = 0; public function fromRawBlock(string $rawBlock) { $rawLines = explode(PHP_EOL, $rawBlock); $this->files = []; foreach ($rawLines as $rawLine) { $matched = false; foreach (self::TOKENS as $pattern => $action) { $matches = []; if (preg_match($pattern, $rawLine, $matches)) { $this->$action($rawLine, $matches); $matched = true; break; } } if (!$matched) { $this->line($rawLine); } } $this->clearAccumulator(); return $this->files; } protected function start(string $line, array $context): void { $this->clearAccumulator(); $line = str_replace($context[0], '', $line); $files = explode(' ', $line); $filename = str_replace('a/', '', $files[0]); $this->currentFile = new File($filename); } protected function newFile(string $line, array $context): void { $this->currentFile->setType(File::TYPE_NEW); } protected function deletedFile(string $line, array $context): void { $this->currentFile->setType(File::TYPE_DELETED); } protected function index(string $line, array $context): void { $headerParts = explode(' ', $line); $this->currentFile->setIndex($headerParts[1]); } protected function mergeIndex(string $line, array $context): void { $this->currentFile->setIndex($context[2]); } protected function fromFile(string $line, array $context): void { $this->currentFile->setFrom(trim($line, '- ')); } protected function toFile(string $line, array $context): void { $this->currentFile->setTo(trim($line, '+ ')); } protected function hunk(string $line, array $context): void { if ($this->currentHunk) { $this->currentFile->addHunk($this->currentHunk); } $oldStart = (int) ($context[2] ?? 0); $oldCount = (int) ($context[3] ?? 0); $newStart = (int) ($context[5] ?? 0); $newCount = (int) ($context[6] ?? 0); $this->oldCounter = $oldStart; $this->newCounter = $newStart; $this->deletedLines = 0; $this->addedLines = 0; $this->currentHunk = new Hunk($line, $oldStart, $oldCount, $newStart, $newCount); } protected function deletedLine(string $line, array $context): void { $oldNumber = $this->oldCounter + $this->deletedLines; $newNumber = $this->newCounter; $this->currentHunk->addLine(new Line($line, Line::TYPE_DELETE, $oldNumber, $newNumber)); $this->currentFile->increaseDeletions(); ++$this->deletedLines; } protected function addedLine(string $line, array $context): void { $oldNumber = $this->oldCounter; $newNumber = $this->newCounter + $this->addedLines; $this->currentHunk->addLine(new Line($line, Line::TYPE_ADD, $oldNumber, $newNumber)); $this->currentFile->increaseAdditions(); ++$this->addedLines; } protected function line(string $line): void { if (!$this->currentHunk || !$this->currentFile) { return; } $oldNumber = $this->oldCounter + $this->deletedLines; $newNumber = $this->newCounter + $this->addedLines; $this->currentHunk->addLine(new Line($line, Line::TYPE_NO_CHANGE, $oldNumber, $newNumber)); ++$this->oldCounter; ++$this->newCounter; } protected function clearAccumulator(): void { if ($this->currentFile) { if ($this->currentHunk) { $this->currentFile->addHunk($this->currentHunk); } $this->files[] = $this->currentFile; } $this->currentFile = $this->currentHunk = null; } } src/SCM/Exception/000077500000000000000000000000001516104173600142315ustar00rootroot00000000000000src/SCM/Exception/CommandException.php000066400000000000000000000004031516104173600201740ustar00rootroot00000000000000message, 'does not exist'); } } src/SCM/Exception/InvalidCommitException.php000066400000000000000000000002241516104173600213560ustar00rootroot00000000000000 'application/vnd.lotus-1-2-3', '3dml' => 'text/vnd.in3d.3dml', '3ds' => 'image/x-3ds', '3g2' => 'video/3gpp2', '3gp' => 'video/3gpp', '7z' => 'application/x-7z-compressed', 'aab' => 'application/x-authorware-bin', 'aac' => 'audio/x-aac', 'aam' => 'application/x-authorware-map', 'aas' => 'application/x-authorware-seg', 'abw' => 'application/x-abiword', 'ac' => 'application/pkix-attr-cert', 'acc' => 'application/vnd.americandynamics.acc', 'ace' => 'application/x-ace-compressed', 'acu' => 'application/vnd.acucobol', 'acutc' => 'application/vnd.acucorp', 'adp' => 'audio/adpcm', 'aep' => 'application/vnd.audiograph', 'afm' => 'application/x-font-type1', 'afp' => 'application/vnd.ibm.modcap', 'ahead' => 'application/vnd.ahead.space', 'ai' => 'application/postscript', 'aif' => 'audio/x-aiff', 'aifc' => 'audio/x-aiff', 'aiff' => 'audio/x-aiff', 'air' => 'application/vnd.adobe.air-application-installer-package+zip', 'ait' => 'application/vnd.dvb.ait', 'ami' => 'application/vnd.amiga.ami', 'apk' => 'application/vnd.android.package-archive', 'appcache' => 'text/cache-manifest', 'application' => 'application/x-ms-application', 'apr' => 'application/vnd.lotus-approach', 'arc' => 'application/x-freearc', 'asc' => 'application/pgp-signature', 'asf' => 'video/x-ms-asf', 'asm' => 'text/x-asm', 'aso' => 'application/vnd.accpac.simply.aso', 'asx' => 'video/x-ms-asf', 'atc' => 'application/vnd.acucorp', 'atom' => 'application/atom+xml', 'atomcat' => 'application/atomcat+xml', 'atomsvc' => 'application/atomsvc+xml', 'atx' => 'application/vnd.antix.game-component', 'au' => 'audio/basic', 'avi' => 'video/x-msvideo', 'aw' => 'application/applixware', 'azf' => 'application/vnd.airzip.filesecure.azf', 'azs' => 'application/vnd.airzip.filesecure.azs', 'azw' => 'application/vnd.amazon.ebook', 'bat' => 'text/plain', 'bcpio' => 'application/x-bcpio', 'bdf' => 'application/x-font-bdf', 'bdm' => 'application/vnd.syncml.dm+wbxml', 'bed' => 'application/vnd.realvnc.bed', 'bh2' => 'application/vnd.fujitsu.oasysprs', 'bin' => 'application/octet-stream', 'blb' => 'application/x-blorb', 'blorb' => 'application/x-blorb', 'bmi' => 'application/vnd.bmi', 'bmp' => 'image/bmp', 'book' => 'application/vnd.framemaker', 'box' => 'application/vnd.previewsystems.box', 'boz' => 'application/x-bzip2', 'bpk' => 'application/octet-stream', 'btif' => 'image/prs.btif', 'bz' => 'application/x-bzip', 'bz2' => 'application/x-bzip2', 'c' => 'text/x-c', 'c11amc' => 'application/vnd.cluetrust.cartomobile-config', 'c11amz' => 'application/vnd.cluetrust.cartomobile-config-pkg', 'c4d' => 'application/vnd.clonk.c4group', 'c4f' => 'application/vnd.clonk.c4group', 'c4g' => 'application/vnd.clonk.c4group', 'c4p' => 'application/vnd.clonk.c4group', 'c4u' => 'application/vnd.clonk.c4group', 'cab' => 'application/vnd.ms-cab-compressed', 'caf' => 'audio/x-caf', 'cap' => 'application/vnd.tcpdump.pcap', 'car' => 'application/vnd.curl.car', 'cat' => 'application/vnd.ms-pki.seccat', 'cb7' => 'application/x-cbr', 'cba' => 'application/x-cbr', 'cbr' => 'application/x-cbr', 'cbt' => 'application/x-cbr', 'cbz' => 'application/x-cbr', 'cc' => 'text/x-c', 'cct' => 'application/x-director', 'ccxml' => 'application/ccxml+xml', 'cdbcmsg' => 'application/vnd.contact.cmsg', 'cdf' => 'application/x-netcdf', 'cdkey' => 'application/vnd.mediastation.cdkey', 'cdmia' => 'application/cdmi-capability', 'cdmic' => 'application/cdmi-container', 'cdmid' => 'application/cdmi-domain', 'cdmio' => 'application/cdmi-object', 'cdmiq' => 'application/cdmi-queue', 'cdx' => 'chemical/x-cdx', 'cdxml' => 'application/vnd.chemdraw+xml', 'cdy' => 'application/vnd.cinderella', 'cer' => 'application/pkix-cert', 'cfs' => 'application/x-cfs-compressed', 'cgm' => 'image/cgm', 'chat' => 'application/x-chat', 'chm' => 'application/vnd.ms-htmlhelp', 'chrt' => 'application/vnd.kde.kchart', 'cif' => 'chemical/x-cif', 'cii' => 'application/vnd.anser-web-certificate-issue-initiation', 'cil' => 'application/vnd.ms-artgalry', 'cla' => 'application/vnd.claymore', 'class' => 'application/java-vm', 'clkk' => 'application/vnd.crick.clicker.keyboard', 'clkp' => 'application/vnd.crick.clicker.palette', 'clkt' => 'application/vnd.crick.clicker.template', 'clkw' => 'application/vnd.crick.clicker.wordbank', 'clkx' => 'application/vnd.crick.clicker', 'clp' => 'application/x-msclip', 'cmc' => 'application/vnd.cosmocaller', 'cmdf' => 'chemical/x-cmdf', 'cml' => 'chemical/x-cml', 'cmp' => 'application/vnd.yellowriver-custom-menu', 'cmx' => 'image/x-cmx', 'cod' => 'application/vnd.rim.cod', 'com' => 'application/x-msdownload', 'conf' => 'text/plain', 'cpio' => 'application/x-cpio', 'cpp' => 'text/x-c', 'cpt' => 'application/mac-compactpro', 'crd' => 'application/x-mscardfile', 'crl' => 'application/pkix-crl', 'crt' => 'application/x-x509-ca-cert', 'cryptonote' => 'application/vnd.rig.cryptonote', 'csh' => 'application/x-csh', 'csml' => 'chemical/x-csml', 'csp' => 'application/vnd.commonspace', 'css' => 'text/css', 'cst' => 'application/x-director', 'csv' => 'text/csv', 'cu' => 'application/cu-seeme', 'curl' => 'text/vnd.curl', 'cww' => 'application/prs.cww', 'cxt' => 'application/x-director', 'cxx' => 'text/x-c', 'dae' => 'model/vnd.collada+xml', 'daf' => 'application/vnd.mobius.daf', 'dart' => 'application/vnd.dart', 'dataless' => 'application/vnd.fdsn.seed', 'davmount' => 'application/davmount+xml', 'dbk' => 'application/docbook+xml', 'dcr' => 'application/x-director', 'dcurl' => 'text/vnd.curl.dcurl', 'dd2' => 'application/vnd.oma.dd2+xml', 'ddd' => 'application/vnd.fujixerox.ddd', 'deb' => 'application/x-debian-package', 'def' => 'text/plain', 'deploy' => 'application/octet-stream', 'der' => 'application/x-x509-ca-cert', 'dfac' => 'application/vnd.dreamfactory', 'dgc' => 'application/x-dgc-compressed', 'dic' => 'text/x-c', 'dir' => 'application/x-director', 'dis' => 'application/vnd.mobius.dis', 'dist' => 'text/plain', 'distz' => 'application/octet-stream', 'djv' => 'image/vnd.djvu', 'djvu' => 'image/vnd.djvu', 'dll' => 'application/x-msdownload', 'dmg' => 'application/x-apple-diskimage', 'dmp' => 'application/vnd.tcpdump.pcap', 'dms' => 'application/octet-stream', 'dna' => 'application/vnd.dna', 'doc' => 'application/msword', 'docm' => 'application/vnd.ms-word.document.macroenabled.12', 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'dot' => 'application/msword', 'dotm' => 'application/vnd.ms-word.template.macroenabled.12', 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', 'dp' => 'application/vnd.osgi.dp', 'dpg' => 'application/vnd.dpgraph', 'dra' => 'audio/vnd.dra', 'dsc' => 'text/prs.lines.tag', 'dssc' => 'application/dssc+der', 'dtb' => 'application/x-dtbook+xml', 'dtd' => 'application/xml-dtd', 'dts' => 'audio/vnd.dts', 'dtshd' => 'audio/vnd.dts.hd', 'dump' => 'application/octet-stream', 'dvb' => 'video/vnd.dvb.file', 'dvi' => 'application/x-dvi', 'dwf' => 'model/vnd.dwf', 'dwg' => 'image/vnd.dwg', 'dxf' => 'image/vnd.dxf', 'dxp' => 'application/vnd.spotfire.dxp', 'dxr' => 'application/x-director', 'ecelp4800' => 'audio/vnd.nuera.ecelp4800', 'ecelp7470' => 'audio/vnd.nuera.ecelp7470', 'ecelp9600' => 'audio/vnd.nuera.ecelp9600', 'ecma' => 'application/ecmascript', 'edm' => 'application/vnd.novadigm.edm', 'edx' => 'application/vnd.novadigm.edx', 'efif' => 'application/vnd.picsel', 'ei6' => 'application/vnd.pg.osasli', 'elc' => 'application/octet-stream', 'emf' => 'application/x-msmetafile', 'eml' => 'message/rfc822', 'emma' => 'application/emma+xml', 'emz' => 'application/x-msmetafile', 'eol' => 'audio/vnd.digital-winds', 'eot' => 'application/vnd.ms-fontobject', 'eps' => 'application/postscript', 'epub' => 'application/epub+zip', 'es3' => 'application/vnd.eszigno3+xml', 'esa' => 'application/vnd.osgi.subsystem', 'esf' => 'application/vnd.epson.esf', 'et3' => 'application/vnd.eszigno3+xml', 'etx' => 'text/x-setext', 'eva' => 'application/x-eva', 'evy' => 'application/x-envoy', 'exe' => 'application/x-msdownload', 'exi' => 'application/exi', 'ext' => 'application/vnd.novadigm.ext', 'ez' => 'application/andrew-inset', 'ez2' => 'application/vnd.ezpix-album', 'ez3' => 'application/vnd.ezpix-package', 'f' => 'text/x-fortran', 'f4v' => 'video/x-f4v', 'f77' => 'text/x-fortran', 'f90' => 'text/x-fortran', 'fbs' => 'image/vnd.fastbidsheet', 'fcdt' => 'application/vnd.adobe.formscentral.fcdt', 'fcs' => 'application/vnd.isac.fcs', 'fdf' => 'application/vnd.fdf', 'fe_launch' => 'application/vnd.denovo.fcselayout-link', 'fg5' => 'application/vnd.fujitsu.oasysgp', 'fgd' => 'application/x-director', 'fh' => 'image/x-freehand', 'fh4' => 'image/x-freehand', 'fh5' => 'image/x-freehand', 'fh7' => 'image/x-freehand', 'fhc' => 'image/x-freehand', 'fig' => 'application/x-xfig', 'flac' => 'audio/x-flac', 'fli' => 'video/x-fli', 'flo' => 'application/vnd.micrografx.flo', 'flv' => 'video/x-flv', 'flw' => 'application/vnd.kde.kivio', 'flx' => 'text/vnd.fmi.flexstor', 'fly' => 'text/vnd.fly', 'fm' => 'application/vnd.framemaker', 'fnc' => 'application/vnd.frogans.fnc', 'for' => 'text/x-fortran', 'fpx' => 'image/vnd.fpx', 'frame' => 'application/vnd.framemaker', 'fsc' => 'application/vnd.fsc.weblaunch', 'fst' => 'image/vnd.fst', 'ftc' => 'application/vnd.fluxtime.clip', 'fti' => 'application/vnd.anser-web-funds-transfer-initiation', 'fvt' => 'video/vnd.fvt', 'fxp' => 'application/vnd.adobe.fxp', 'fxpl' => 'application/vnd.adobe.fxp', 'fzs' => 'application/vnd.fuzzysheet', 'g2w' => 'application/vnd.geoplan', 'g3' => 'image/g3fax', 'g3w' => 'application/vnd.geospace', 'gac' => 'application/vnd.groove-account', 'gam' => 'application/x-tads', 'gbr' => 'application/rpki-ghostbusters', 'gca' => 'application/x-gca-compressed', 'gdl' => 'model/vnd.gdl', 'geo' => 'application/vnd.dynageo', 'gex' => 'application/vnd.geometry-explorer', 'ggb' => 'application/vnd.geogebra.file', 'ggt' => 'application/vnd.geogebra.tool', 'ghf' => 'application/vnd.groove-help', 'gif' => 'image/gif', 'gim' => 'application/vnd.groove-identity-message', 'gml' => 'application/gml+xml', 'gmx' => 'application/vnd.gmx', 'gnumeric' => 'application/x-gnumeric', 'gph' => 'application/vnd.flographit', 'gpx' => 'application/gpx+xml', 'gqf' => 'application/vnd.grafeq', 'gqs' => 'application/vnd.grafeq', 'gram' => 'application/srgs', 'gramps' => 'application/x-gramps-xml', 'gre' => 'application/vnd.geometry-explorer', 'grv' => 'application/vnd.groove-injector', 'grxml' => 'application/srgs+xml', 'gsf' => 'application/x-font-ghostscript', 'gtar' => 'application/x-gtar', 'gtm' => 'application/vnd.groove-tool-message', 'gtw' => 'model/vnd.gtw', 'gv' => 'text/vnd.graphviz', 'gxf' => 'application/gxf', 'gxt' => 'application/vnd.geonext', 'h' => 'text/x-c', 'h261' => 'video/h261', 'h263' => 'video/h263', 'h264' => 'video/h264', 'hal' => 'application/vnd.hal+xml', 'hbci' => 'application/vnd.hbci', 'hdf' => 'application/x-hdf', 'hh' => 'text/x-c', 'hlp' => 'application/winhlp', 'hpgl' => 'application/vnd.hp-hpgl', 'hpid' => 'application/vnd.hp-hpid', 'hps' => 'application/vnd.hp-hps', 'hqx' => 'application/mac-binhex40', 'htke' => 'application/vnd.kenameaapp', 'htm' => 'text/html', 'html' => 'text/html', 'hvd' => 'application/vnd.yamaha.hv-dic', 'hvp' => 'application/vnd.yamaha.hv-voice', 'hvs' => 'application/vnd.yamaha.hv-script', 'i2g' => 'application/vnd.intergeo', 'icc' => 'application/vnd.iccprofile', 'ice' => 'x-conference/x-cooltalk', 'icm' => 'application/vnd.iccprofile', 'ico' => 'image/x-icon', 'ics' => 'text/calendar', 'ief' => 'image/ief', 'ifb' => 'text/calendar', 'ifm' => 'application/vnd.shana.informed.formdata', 'iges' => 'model/iges', 'igl' => 'application/vnd.igloader', 'igm' => 'application/vnd.insors.igm', 'igs' => 'model/iges', 'igx' => 'application/vnd.micrografx.igx', 'iif' => 'application/vnd.shana.informed.interchange', 'imp' => 'application/vnd.accpac.simply.imp', 'ims' => 'application/vnd.ms-ims', 'in' => 'text/plain', 'ink' => 'application/inkml+xml', 'inkml' => 'application/inkml+xml', 'install' => 'application/x-install-instructions', 'iota' => 'application/vnd.astraea-software.iota', 'ipfix' => 'application/ipfix', 'ipk' => 'application/vnd.shana.informed.package', 'irm' => 'application/vnd.ibm.rights-management', 'irp' => 'application/vnd.irepository.package+xml', 'iso' => 'application/x-iso9660-image', 'itp' => 'application/vnd.shana.informed.formtemplate', 'ivp' => 'application/vnd.immervision-ivp', 'ivu' => 'application/vnd.immervision-ivu', 'jad' => 'text/vnd.sun.j2me.app-descriptor', 'jam' => 'application/vnd.jam', 'jar' => 'application/java-archive', 'java' => 'text/x-java-source', 'jisp' => 'application/vnd.jisp', 'jlt' => 'application/vnd.hp-jlyt', 'jnlp' => 'application/x-java-jnlp-file', 'joda' => 'application/vnd.joost.joda-archive', 'jpe' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpg' => 'image/jpeg', 'jpgm' => 'video/jpm', 'jpgv' => 'video/jpeg', 'jpm' => 'video/jpm', 'js' => 'application/javascript', 'json' => 'application/json', 'jsonml' => 'application/jsonml+json', 'kar' => 'audio/midi', 'karbon' => 'application/vnd.kde.karbon', 'kfo' => 'application/vnd.kde.kformula', 'kia' => 'application/vnd.kidspiration', 'kml' => 'application/vnd.google-earth.kml+xml', 'kmz' => 'application/vnd.google-earth.kmz', 'kne' => 'application/vnd.kinar', 'knp' => 'application/vnd.kinar', 'kon' => 'application/vnd.kde.kontour', 'kpr' => 'application/vnd.kde.kpresenter', 'kpt' => 'application/vnd.kde.kpresenter', 'kpxx' => 'application/vnd.ds-keypoint', 'ksp' => 'application/vnd.kde.kspread', 'ktr' => 'application/vnd.kahootz', 'ktx' => 'image/ktx', 'ktz' => 'application/vnd.kahootz', 'kwd' => 'application/vnd.kde.kword', 'kwt' => 'application/vnd.kde.kword', 'lasxml' => 'application/vnd.las.las+xml', 'latex' => 'application/x-latex', 'lbd' => 'application/vnd.llamagraphics.life-balance.desktop', 'lbe' => 'application/vnd.llamagraphics.life-balance.exchange+xml', 'les' => 'application/vnd.hhe.lesson-player', 'lha' => 'application/x-lzh-compressed', 'link66' => 'application/vnd.route66.link66+xml', 'list' => 'text/plain', 'list3820' => 'application/vnd.ibm.modcap', 'listafp' => 'application/vnd.ibm.modcap', 'lnk' => 'application/x-ms-shortcut', 'log' => 'text/plain', 'lostxml' => 'application/lost+xml', 'lrf' => 'application/octet-stream', 'lrm' => 'application/vnd.ms-lrm', 'ltf' => 'application/vnd.frogans.ltf', 'lvp' => 'audio/vnd.lucent.voice', 'lwp' => 'application/vnd.lotus-wordpro', 'lzh' => 'application/x-lzh-compressed', 'm13' => 'application/x-msmediaview', 'm14' => 'application/x-msmediaview', 'm1v' => 'video/mpeg', 'm21' => 'application/mp21', 'm2a' => 'audio/mpeg', 'm2v' => 'video/mpeg', 'm3a' => 'audio/mpeg', 'm3u' => 'audio/x-mpegurl', 'm3u8' => 'application/vnd.apple.mpegurl', 'm4a' => 'audio/mp4', 'm4u' => 'video/vnd.mpegurl', 'm4v' => 'video/x-m4v', 'ma' => 'application/mathematica', 'mads' => 'application/mads+xml', 'mag' => 'application/vnd.ecowin.chart', 'maker' => 'application/vnd.framemaker', 'man' => 'text/troff', 'mar' => 'application/octet-stream', 'mathml' => 'application/mathml+xml', 'mb' => 'application/mathematica', 'mbk' => 'application/vnd.mobius.mbk', 'mbox' => 'application/mbox', 'mc1' => 'application/vnd.medcalcdata', 'mcd' => 'application/vnd.mcd', 'mcurl' => 'text/vnd.curl.mcurl', 'mdb' => 'application/x-msaccess', 'mdi' => 'image/vnd.ms-modi', 'me' => 'text/troff', 'mesh' => 'model/mesh', 'meta4' => 'application/metalink4+xml', 'metalink' => 'application/metalink+xml', 'mets' => 'application/mets+xml', 'mfm' => 'application/vnd.mfmp', 'mft' => 'application/rpki-manifest', 'mgp' => 'application/vnd.osgeo.mapguide.package', 'mgz' => 'application/vnd.proteus.magazine', 'mid' => 'audio/midi', 'midi' => 'audio/midi', 'mie' => 'application/x-mie', 'mif' => 'application/vnd.mif', 'mime' => 'message/rfc822', 'mj2' => 'video/mj2', 'mjp2' => 'video/mj2', 'mk3d' => 'video/x-matroska', 'mka' => 'audio/x-matroska', 'mks' => 'video/x-matroska', 'mkv' => 'video/x-matroska', 'mlp' => 'application/vnd.dolby.mlp', 'mmd' => 'application/vnd.chipnuts.karaoke-mmd', 'mmf' => 'application/vnd.smaf', 'mmr' => 'image/vnd.fujixerox.edmics-mmr', 'mng' => 'video/x-mng', 'mny' => 'application/x-msmoney', 'mobi' => 'application/x-mobipocket-ebook', 'mods' => 'application/mods+xml', 'mov' => 'video/quicktime', 'movie' => 'video/x-sgi-movie', 'mp2' => 'audio/mpeg', 'mp21' => 'application/mp21', 'mp2a' => 'audio/mpeg', 'mp3' => 'audio/mpeg', 'mp4' => 'video/mp4', 'mp4a' => 'audio/mp4', 'mp4s' => 'application/mp4', 'mp4v' => 'video/mp4', 'mpc' => 'application/vnd.mophun.certificate', 'mpe' => 'video/mpeg', 'mpeg' => 'video/mpeg', 'mpg' => 'video/mpeg', 'mpg4' => 'video/mp4', 'mpga' => 'audio/mpeg', 'mpkg' => 'application/vnd.apple.installer+xml', 'mpm' => 'application/vnd.blueice.multipass', 'mpn' => 'application/vnd.mophun.application', 'mpp' => 'application/vnd.ms-project', 'mpt' => 'application/vnd.ms-project', 'mpy' => 'application/vnd.ibm.minipay', 'mqy' => 'application/vnd.mobius.mqy', 'mrc' => 'application/marc', 'mrcx' => 'application/marcxml+xml', 'ms' => 'text/troff', 'mscml' => 'application/mediaservercontrol+xml', 'mseed' => 'application/vnd.fdsn.mseed', 'mseq' => 'application/vnd.mseq', 'msf' => 'application/vnd.epson.msf', 'msh' => 'model/mesh', 'msi' => 'application/x-msdownload', 'msl' => 'application/vnd.mobius.msl', 'msty' => 'application/vnd.muvee.style', 'mts' => 'model/vnd.mts', 'mus' => 'application/vnd.musician', 'musicxml' => 'application/vnd.recordare.musicxml+xml', 'mvb' => 'application/x-msmediaview', 'mwf' => 'application/vnd.mfer', 'mxf' => 'application/mxf', 'mxl' => 'application/vnd.recordare.musicxml', 'mxml' => 'application/xv+xml', 'mxs' => 'application/vnd.triscape.mxs', 'mxu' => 'video/vnd.mpegurl', 'n3' => 'text/n3', 'nb' => 'application/mathematica', 'nbp' => 'application/vnd.wolfram.player', 'nc' => 'application/x-netcdf', 'ncx' => 'application/x-dtbncx+xml', 'nfo' => 'text/x-nfo', 'n-gage' => 'application/vnd.nokia.n-gage.symbian.install', 'ngdat' => 'application/vnd.nokia.n-gage.data', 'nitf' => 'application/vnd.nitf', 'nlu' => 'application/vnd.neurolanguage.nlu', 'nml' => 'application/vnd.enliven', 'nnd' => 'application/vnd.noblenet-directory', 'nns' => 'application/vnd.noblenet-sealer', 'nnw' => 'application/vnd.noblenet-web', 'npx' => 'image/vnd.net-fpx', 'nsc' => 'application/x-conference', 'nsf' => 'application/vnd.lotus-notes', 'ntf' => 'application/vnd.nitf', 'nzb' => 'application/x-nzb', 'oa2' => 'application/vnd.fujitsu.oasys2', 'oa3' => 'application/vnd.fujitsu.oasys3', 'oas' => 'application/vnd.fujitsu.oasys', 'obd' => 'application/x-msbinder', 'obj' => 'application/x-tgif', 'oda' => 'application/oda', 'odb' => 'application/vnd.oasis.opendocument.database', 'odc' => 'application/vnd.oasis.opendocument.chart', 'odf' => 'application/vnd.oasis.opendocument.formula', 'odft' => 'application/vnd.oasis.opendocument.formula-template', 'odg' => 'application/vnd.oasis.opendocument.graphics', 'odi' => 'application/vnd.oasis.opendocument.image', 'odm' => 'application/vnd.oasis.opendocument.text-master', 'odp' => 'application/vnd.oasis.opendocument.presentation', 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', 'odt' => 'application/vnd.oasis.opendocument.text', 'oga' => 'audio/ogg', 'ogg' => 'audio/ogg', 'ogv' => 'video/ogg', 'ogx' => 'application/ogg', 'omdoc' => 'application/omdoc+xml', 'onepkg' => 'application/onenote', 'onetmp' => 'application/onenote', 'onetoc' => 'application/onenote', 'onetoc2' => 'application/onenote', 'opf' => 'application/oebps-package+xml', 'opml' => 'text/x-opml', 'oprc' => 'application/vnd.palm', 'org' => 'application/vnd.lotus-organizer', 'osf' => 'application/vnd.yamaha.openscoreformat', 'osfpvg' => 'application/vnd.yamaha.openscoreformat.osfpvg+xml', 'otc' => 'application/vnd.oasis.opendocument.chart-template', 'otf' => 'application/x-font-otf', 'otg' => 'application/vnd.oasis.opendocument.graphics-template', 'oth' => 'application/vnd.oasis.opendocument.text-web', 'oti' => 'application/vnd.oasis.opendocument.image-template', 'otp' => 'application/vnd.oasis.opendocument.presentation-template', 'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template', 'ott' => 'application/vnd.oasis.opendocument.text-template', 'oxps' => 'application/oxps', 'oxt' => 'application/vnd.openofficeorg.extension', 'p' => 'text/x-pascal', 'p10' => 'application/pkcs10', 'p12' => 'application/x-pkcs12', 'p7b' => 'application/x-pkcs7-certificates', 'p7c' => 'application/pkcs7-mime', 'p7m' => 'application/pkcs7-mime', 'p7r' => 'application/x-pkcs7-certreqresp', 'p7s' => 'application/pkcs7-signature', 'p8' => 'application/pkcs8', 'pas' => 'text/x-pascal', 'paw' => 'application/vnd.pawaafile', 'pbd' => 'application/vnd.powerbuilder6', 'pbm' => 'image/x-portable-bitmap', 'pcap' => 'application/vnd.tcpdump.pcap', 'pcf' => 'application/x-font-pcf', 'pcl' => 'application/vnd.hp-pcl', 'pclxl' => 'application/vnd.hp-pclxl', 'pct' => 'image/x-pict', 'pcurl' => 'application/vnd.curl.pcurl', 'pcx' => 'image/x-pcx', 'pdb' => 'application/vnd.palm', 'pdf' => 'application/pdf', 'pfa' => 'application/x-font-type1', 'pfb' => 'application/x-font-type1', 'pfm' => 'application/x-font-type1', 'pfr' => 'application/font-tdpfr', 'pfx' => 'application/x-pkcs12', 'pgm' => 'image/x-portable-graymap', 'pgn' => 'application/x-chess-pgn', 'pgp' => 'application/pgp-encrypted', 'pic' => 'image/x-pict', 'pkg' => 'application/octet-stream', 'pki' => 'application/pkixcmp', 'pkipath' => 'application/pkix-pkipath', 'plb' => 'application/vnd.3gpp.pic-bw-large', 'plc' => 'application/vnd.mobius.plc', 'plf' => 'application/vnd.pocketlearn', 'pls' => 'application/pls+xml', 'pml' => 'application/vnd.ctc-posml', 'png' => 'image/png', 'pnm' => 'image/x-portable-anymap', 'portpkg' => 'application/vnd.macports.portpkg', 'pot' => 'application/vnd.ms-powerpoint', 'potm' => 'application/vnd.ms-powerpoint.template.macroenabled.12', 'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template', 'ppam' => 'application/vnd.ms-powerpoint.addin.macroenabled.12', 'ppd' => 'application/vnd.cups-ppd', 'ppm' => 'image/x-portable-pixmap', 'pps' => 'application/vnd.ms-powerpoint', 'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroenabled.12', 'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', 'ppt' => 'application/vnd.ms-powerpoint', 'pptm' => 'application/vnd.ms-powerpoint.presentation.macroenabled.12', 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'pqa' => 'application/vnd.palm', 'prc' => 'application/x-mobipocket-ebook', 'pre' => 'application/vnd.lotus-freelance', 'prf' => 'application/pics-rules', 'ps' => 'application/postscript', 'psb' => 'application/vnd.3gpp.pic-bw-small', 'psd' => 'image/vnd.adobe.photoshop', 'psf' => 'application/x-font-linux-psf', 'pskcxml' => 'application/pskc+xml', 'ptid' => 'application/vnd.pvi.ptid1', 'pub' => 'application/x-mspublisher', 'pvb' => 'application/vnd.3gpp.pic-bw-var', 'pwn' => 'application/vnd.3m.post-it-notes', 'pya' => 'audio/vnd.ms-playready.media.pya', 'pyv' => 'video/vnd.ms-playready.media.pyv', 'qam' => 'application/vnd.epson.quickanime', 'qbo' => 'application/vnd.intu.qbo', 'qfx' => 'application/vnd.intu.qfx', 'qps' => 'application/vnd.publishare-delta-tree', 'qt' => 'video/quicktime', 'qwd' => 'application/vnd.quark.quarkxpress', 'qwt' => 'application/vnd.quark.quarkxpress', 'qxb' => 'application/vnd.quark.quarkxpress', 'qxd' => 'application/vnd.quark.quarkxpress', 'qxl' => 'application/vnd.quark.quarkxpress', 'qxt' => 'application/vnd.quark.quarkxpress', 'ra' => 'audio/x-pn-realaudio', 'ram' => 'audio/x-pn-realaudio', 'rar' => 'application/x-rar-compressed', 'ras' => 'image/x-cmu-raster', 'rcprofile' => 'application/vnd.ipunplugged.rcprofile', 'rdf' => 'application/rdf+xml', 'rdz' => 'application/vnd.data-vision.rdz', 'rep' => 'application/vnd.businessobjects', 'res' => 'application/x-dtbresource+xml', 'rgb' => 'image/x-rgb', 'rif' => 'application/reginfo+xml', 'rip' => 'audio/vnd.rip', 'ris' => 'application/x-research-info-systems', 'rl' => 'application/resource-lists+xml', 'rlc' => 'image/vnd.fujixerox.edmics-rlc', 'rld' => 'application/resource-lists-diff+xml', 'rm' => 'application/vnd.rn-realmedia', 'rmi' => 'audio/midi', 'rmp' => 'audio/x-pn-realaudio-plugin', 'rms' => 'application/vnd.jcp.javame.midlet-rms', 'rmvb' => 'application/vnd.rn-realmedia-vbr', 'rnc' => 'application/relax-ng-compact-syntax', 'roa' => 'application/rpki-roa', 'roff' => 'text/troff', 'rp9' => 'application/vnd.cloanto.rp9', 'rpss' => 'application/vnd.nokia.radio-presets', 'rpst' => 'application/vnd.nokia.radio-preset', 'rq' => 'application/sparql-query', 'rs' => 'application/rls-services+xml', 'rsd' => 'application/rsd+xml', 'rss' => 'application/rss+xml', 'rtf' => 'application/rtf', 'rtx' => 'text/richtext', 's' => 'text/x-asm', 's3m' => 'audio/s3m', 'saf' => 'application/vnd.yamaha.smaf-audio', 'sbml' => 'application/sbml+xml', 'sc' => 'application/vnd.ibm.secure-container', 'scd' => 'application/x-msschedule', 'scm' => 'application/vnd.lotus-screencam', 'scq' => 'application/scvp-cv-request', 'scs' => 'application/scvp-cv-response', 'scurl' => 'text/vnd.curl.scurl', 'sda' => 'application/vnd.stardivision.draw', 'sdc' => 'application/vnd.stardivision.calc', 'sdd' => 'application/vnd.stardivision.impress', 'sdkd' => 'application/vnd.solent.sdkm+xml', 'sdkm' => 'application/vnd.solent.sdkm+xml', 'sdp' => 'application/sdp', 'sdw' => 'application/vnd.stardivision.writer', 'see' => 'application/vnd.seemail', 'seed' => 'application/vnd.fdsn.seed', 'sema' => 'application/vnd.sema', 'semd' => 'application/vnd.semd', 'semf' => 'application/vnd.semf', 'ser' => 'application/java-serialized-object', 'setpay' => 'application/set-payment-initiation', 'setreg' => 'application/set-registration-initiation', 'sfd-hdstx' => 'application/vnd.hydrostatix.sof-data', 'sfs' => 'application/vnd.spotfire.sfs', 'sfv' => 'text/x-sfv', 'sgi' => 'image/sgi', 'sgl' => 'application/vnd.stardivision.writer-global', 'sgm' => 'text/sgml', 'sgml' => 'text/sgml', 'sh' => 'application/x-sh', 'shar' => 'application/x-shar', 'shf' => 'application/shf+xml', 'sid' => 'image/x-mrsid-image', 'sig' => 'application/pgp-signature', 'sil' => 'audio/silk', 'silo' => 'model/mesh', 'sis' => 'application/vnd.symbian.install', 'sisx' => 'application/vnd.symbian.install', 'sit' => 'application/x-stuffit', 'sitx' => 'application/x-stuffitx', 'skd' => 'application/vnd.koan', 'skm' => 'application/vnd.koan', 'skp' => 'application/vnd.koan', 'skt' => 'application/vnd.koan', 'sldm' => 'application/vnd.ms-powerpoint.slide.macroenabled.12', 'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide', 'slt' => 'application/vnd.epson.salt', 'sm' => 'application/vnd.stepmania.stepchart', 'smf' => 'application/vnd.stardivision.math', 'smi' => 'application/smil+xml', 'smil' => 'application/smil+xml', 'smv' => 'video/x-smv', 'smzip' => 'application/vnd.stepmania.package', 'snd' => 'audio/basic', 'snf' => 'application/x-font-snf', 'so' => 'application/octet-stream', 'spc' => 'application/x-pkcs7-certificates', 'spf' => 'application/vnd.yamaha.smaf-phrase', 'spl' => 'application/x-futuresplash', 'spot' => 'text/vnd.in3d.spot', 'spp' => 'application/scvp-vp-response', 'spq' => 'application/scvp-vp-request', 'spx' => 'audio/ogg', 'sql' => 'application/x-sql', 'src' => 'application/x-wais-source', 'srt' => 'application/x-subrip', 'sru' => 'application/sru+xml', 'srx' => 'application/sparql-results+xml', 'ssdl' => 'application/ssdl+xml', 'sse' => 'application/vnd.kodak-descriptor', 'ssf' => 'application/vnd.epson.ssf', 'ssml' => 'application/ssml+xml', 'st' => 'application/vnd.sailingtracker.track', 'stc' => 'application/vnd.sun.xml.calc.template', 'std' => 'application/vnd.sun.xml.draw.template', 'stf' => 'application/vnd.wt.stf', 'sti' => 'application/vnd.sun.xml.impress.template', 'stk' => 'application/hyperstudio', 'stl' => 'application/vnd.ms-pki.stl', 'str' => 'application/vnd.pg.format', 'stw' => 'application/vnd.sun.xml.writer.template', 'sus' => 'application/vnd.sus-calendar', 'susp' => 'application/vnd.sus-calendar', 'sv4cpio' => 'application/x-sv4cpio', 'sv4crc' => 'application/x-sv4crc', 'svc' => 'application/vnd.dvb.service', 'svd' => 'application/vnd.svd', 'svg' => 'image/svg+xml', 'svgz' => 'image/svg+xml', 'swa' => 'application/x-director', 'swf' => 'application/x-shockwave-flash', 'swi' => 'application/vnd.aristanetworks.swi', 'sxc' => 'application/vnd.sun.xml.calc', 'sxd' => 'application/vnd.sun.xml.draw', 'sxg' => 'application/vnd.sun.xml.writer.global', 'sxi' => 'application/vnd.sun.xml.impress', 'sxm' => 'application/vnd.sun.xml.math', 'sxw' => 'application/vnd.sun.xml.writer', 't' => 'text/troff', 't3' => 'application/x-t3vm-image', 'taglet' => 'application/vnd.mynfc', 'tao' => 'application/vnd.tao.intent-module-archive', 'tar' => 'application/x-tar', 'tcap' => 'application/vnd.3gpp2.tcap', 'tcl' => 'application/x-tcl', 'teacher' => 'application/vnd.smart.teacher', 'tei' => 'application/tei+xml', 'teicorpus' => 'application/tei+xml', 'tex' => 'application/x-tex', 'texi' => 'application/x-texinfo', 'texinfo' => 'application/x-texinfo', 'text' => 'text/plain', 'tfi' => 'application/thraud+xml', 'tfm' => 'application/x-tex-tfm', 'tga' => 'image/x-tga', 'thmx' => 'application/vnd.ms-officetheme', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'tmo' => 'application/vnd.tmobile-livetv', 'torrent' => 'application/x-bittorrent', 'tpl' => 'application/vnd.groove-tool-template', 'tpt' => 'application/vnd.trid.tpt', 'tr' => 'text/troff', 'tra' => 'application/vnd.trueapp', 'trm' => 'application/x-msterminal', 'tsd' => 'application/timestamped-data', 'tsv' => 'text/tab-separated-values', 'ttc' => 'application/x-font-ttf', 'ttf' => 'application/x-font-ttf', 'ttl' => 'text/turtle', 'twd' => 'application/vnd.simtech-mindmapper', 'twds' => 'application/vnd.simtech-mindmapper', 'txd' => 'application/vnd.genomatix.tuxedo', 'txf' => 'application/vnd.mobius.txf', 'txt' => 'text/plain', 'u32' => 'application/x-authorware-bin', 'udeb' => 'application/x-debian-package', 'ufd' => 'application/vnd.ufdl', 'ufdl' => 'application/vnd.ufdl', 'ulx' => 'application/x-glulx', 'umj' => 'application/vnd.umajin', 'unityweb' => 'application/vnd.unity', 'uoml' => 'application/vnd.uoml+xml', 'uri' => 'text/uri-list', 'uris' => 'text/uri-list', 'urls' => 'text/uri-list', 'ustar' => 'application/x-ustar', 'utz' => 'application/vnd.uiq.theme', 'uu' => 'text/x-uuencode', 'uva' => 'audio/vnd.dece.audio', 'uvd' => 'application/vnd.dece.data', 'uvf' => 'application/vnd.dece.data', 'uvg' => 'image/vnd.dece.graphic', 'uvh' => 'video/vnd.dece.hd', 'uvi' => 'image/vnd.dece.graphic', 'uvm' => 'video/vnd.dece.mobile', 'uvp' => 'video/vnd.dece.pd', 'uvs' => 'video/vnd.dece.sd', 'uvt' => 'application/vnd.dece.ttml+xml', 'uvu' => 'video/vnd.uvvu.mp4', 'uvv' => 'video/vnd.dece.video', 'uvva' => 'audio/vnd.dece.audio', 'uvvd' => 'application/vnd.dece.data', 'uvvf' => 'application/vnd.dece.data', 'uvvg' => 'image/vnd.dece.graphic', 'uvvh' => 'video/vnd.dece.hd', 'uvvi' => 'image/vnd.dece.graphic', 'uvvm' => 'video/vnd.dece.mobile', 'uvvp' => 'video/vnd.dece.pd', 'uvvs' => 'video/vnd.dece.sd', 'uvvt' => 'application/vnd.dece.ttml+xml', 'uvvu' => 'video/vnd.uvvu.mp4', 'uvvv' => 'video/vnd.dece.video', 'uvvx' => 'application/vnd.dece.unspecified', 'uvvz' => 'application/vnd.dece.zip', 'uvx' => 'application/vnd.dece.unspecified', 'uvz' => 'application/vnd.dece.zip', 'vcard' => 'text/vcard', 'vcd' => 'application/x-cdlink', 'vcf' => 'text/x-vcard', 'vcg' => 'application/vnd.groove-vcard', 'vcs' => 'text/x-vcalendar', 'vcx' => 'application/vnd.vcx', 'vis' => 'application/vnd.visionary', 'viv' => 'video/vnd.vivo', 'vob' => 'video/x-ms-vob', 'vor' => 'application/vnd.stardivision.writer', 'vox' => 'application/x-authorware-bin', 'vrml' => 'model/vrml', 'vsd' => 'application/vnd.visio', 'vsf' => 'application/vnd.vsf', 'vss' => 'application/vnd.visio', 'vst' => 'application/vnd.visio', 'vsw' => 'application/vnd.visio', 'vtu' => 'model/vnd.vtu', 'vxml' => 'application/voicexml+xml', 'w3d' => 'application/x-director', 'wad' => 'application/x-doom', 'wav' => 'audio/x-wav', 'wax' => 'audio/x-ms-wax', 'wbmp' => 'image/vnd.wap.wbmp', 'wbs' => 'application/vnd.criticaltools.wbs+xml', 'wbxml' => 'application/vnd.wap.wbxml', 'wcm' => 'application/vnd.ms-works', 'wdb' => 'application/vnd.ms-works', 'wdp' => 'image/vnd.ms-photo', 'weba' => 'audio/webm', 'webm' => 'video/webm', 'webp' => 'image/webp', 'wg' => 'application/vnd.pmi.widget', 'wgt' => 'application/widget', 'wks' => 'application/vnd.ms-works', 'wm' => 'video/x-ms-wm', 'wma' => 'audio/x-ms-wma', 'wmd' => 'application/x-ms-wmd', 'wmf' => 'application/x-msmetafile', 'wml' => 'text/vnd.wap.wml', 'wmlc' => 'application/vnd.wap.wmlc', 'wmls' => 'text/vnd.wap.wmlscript', 'wmlsc' => 'application/vnd.wap.wmlscriptc', 'wmv' => 'video/x-ms-wmv', 'wmx' => 'video/x-ms-wmx', 'woff' => 'application/font-woff', 'wpd' => 'application/vnd.wordperfect', 'wpl' => 'application/vnd.ms-wpl', 'wps' => 'application/vnd.ms-works', 'wqd' => 'application/vnd.wqd', 'wri' => 'application/x-mswrite', 'wrl' => 'model/vrml', 'wsdl' => 'application/wsdl+xml', 'wspolicy' => 'application/wspolicy+xml', 'wtb' => 'application/vnd.webturbo', 'wvx' => 'video/x-ms-wvx', 'x32' => 'application/x-authorware-bin', 'x3d' => 'model/x3d+xml', 'x3db' => 'model/x3d+binary', 'x3dbz' => 'model/x3d+binary', 'x3dv' => 'model/x3d+vrml', 'x3dvz' => 'model/x3d+vrml', 'x3dz' => 'model/x3d+xml', 'xaml' => 'application/xaml+xml', 'xap' => 'application/x-silverlight-app', 'xar' => 'application/vnd.xara', 'xbap' => 'application/x-ms-xbap', 'xbd' => 'application/vnd.fujixerox.docuworks.binder', 'xbm' => 'image/x-xbitmap', 'xdf' => 'application/xcap-diff+xml', 'xdm' => 'application/vnd.syncml.dm+xml', 'xdp' => 'application/vnd.adobe.xdp+xml', 'xdssc' => 'application/dssc+xml', 'xdw' => 'application/vnd.fujixerox.docuworks', 'xenc' => 'application/xenc+xml', 'xer' => 'application/patch-ops-error+xml', 'xfdf' => 'application/vnd.adobe.xfdf', 'xfdl' => 'application/vnd.xfdl', 'xht' => 'application/xhtml+xml', 'xhtml' => 'application/xhtml+xml', 'xhvml' => 'application/xv+xml', 'xif' => 'image/vnd.xiff', 'xla' => 'application/vnd.ms-excel', 'xlam' => 'application/vnd.ms-excel.addin.macroenabled.12', 'xlc' => 'application/vnd.ms-excel', 'xlf' => 'application/x-xliff+xml', 'xlm' => 'application/vnd.ms-excel', 'xls' => 'application/vnd.ms-excel', 'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroenabled.12', 'xlsm' => 'application/vnd.ms-excel.sheet.macroenabled.12', 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlt' => 'application/vnd.ms-excel', 'xltm' => 'application/vnd.ms-excel.template.macroenabled.12', 'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', 'xlw' => 'application/vnd.ms-excel', 'xm' => 'audio/xm', 'xml' => 'application/xml', 'xo' => 'application/vnd.olpc-sugar', 'xop' => 'application/xop+xml', 'xpi' => 'application/x-xpinstall', 'xpl' => 'application/xproc+xml', 'xpm' => 'image/x-xpixmap', 'xpr' => 'application/vnd.is-xpr', 'xps' => 'application/vnd.ms-xpsdocument', 'xpw' => 'application/vnd.intercon.formnet', 'xpx' => 'application/vnd.intercon.formnet', 'xsl' => 'application/xml', 'xslt' => 'application/xslt+xml', 'xsm' => 'application/vnd.syncml+xml', 'xspf' => 'application/xspf+xml', 'xul' => 'application/vnd.mozilla.xul+xml', 'xvm' => 'application/xv+xml', 'xvml' => 'application/xv+xml', 'xwd' => 'image/x-xwindowdump', 'xyz' => 'chemical/x-xyz', 'xz' => 'application/x-xz', 'yang' => 'application/yang', 'yin' => 'application/yin+xml', 'z1' => 'application/x-zmachine', 'z2' => 'application/x-zmachine', 'z3' => 'application/x-zmachine', 'z4' => 'application/x-zmachine', 'z5' => 'application/x-zmachine', 'z6' => 'application/x-zmachine', 'z7' => 'application/x-zmachine', 'z8' => 'application/x-zmachine', 'zaz' => 'application/vnd.zzazz.deck+xml', 'zip' => 'application/zip', 'zir' => 'application/vnd.zul', 'zirz' => 'application/vnd.zul', 'zmm' => 'application/vnd.handheld-entertainment+xml', ]; public const BINARY_MIME_TYPES = [ 'application/octet-stream', 'application/zip', 'application/x-rar-compressed', ]; protected string $extension; protected string $mimeType; protected ?string $contents = null; public function __construct(protected string $name) { if (false !== ($pos = strrpos($name, '.'))) { $this->extension = substr($name, $pos + 1); } else { $this->extension = 'txt'; } $this->mimeType = self::MIME_TYPES[$this->extension] ?? 'text/plain'; } public static function createFromBlob(Blob $blob) { $file = new File(basename($blob->getName())); $file->setContents($blob->getContents()); return $file; } public function getName(): string { return $this->name; } public function getExtension(): string { return $this->extension; } public function getMimeType(): string { return $this->mimeType; } public function getContents(): ?string { return $this->contents; } public function setContents(string $contents): void { $this->contents = $contents; } public function isImage(): bool { return str_starts_with($this->mimeType, 'image'); } public function isAudio(): bool { return str_starts_with($this->mimeType, 'audio'); } public function isVideo(): bool { return str_starts_with($this->mimeType, 'video'); } public function isModel(): bool { return str_starts_with($this->mimeType, 'model'); } public function isBinary(): bool { return in_array($this->mimeType, self::BINARY_MIME_TYPES); } public function isText(): bool { return str_starts_with($this->mimeType, 'text'); } public function getLanguage(): Language { return new Language($this->extension); } } src/SCM/Item.php000066400000000000000000000023211516104173600137000ustar00rootroot00000000000000repository; } public function getHash(): string { return $this->hash; } public function getShortHash(): ?string { return $this->shortHash; } public function setShortHash(string $shortHash): void { $this->shortHash = $shortHash; } public function getParents(): array { return $this->parents; } public function clearParents(): void { $this->parents = []; } public function addParent(self $parent): void { $this->parents[] = $parent; } public function getFirstParent(): ?self { return $this->parents[0] ?? null; } public function isCommit(): bool { return false; } public function isTree(): bool { return false; } public function isBlob(): bool { return false; } } src/SCM/Language.php000066400000000000000000005727211516104173600145450ustar00rootroot00000000000000 [ 'name' => '1C Enterprise', 'group' => null, 'color' => '#814CCC', 'ace' => 'text', 'cm' => null, ], 'os' => [ 'name' => '1C Enterprise', 'group' => null, 'color' => '#814CCC', 'ace' => 'text', 'cm' => null, ], 'abap' => [ 'name' => 'ABAP', 'group' => null, 'color' => '#E8274B', 'ace' => 'abap', 'cm' => null, ], 'abnf' => [ 'name' => 'ABNF', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'asc' => [ 'name' => 'Public Key', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'asciiarmor', ], 'ash' => [ 'name' => 'AGS Script', 'group' => null, 'color' => '#B9D9FF', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'ampl' => [ 'name' => 'AMPL', 'group' => null, 'color' => '#E6EFBB', 'ace' => 'text', 'cm' => null, ], 'mod' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'g4' => [ 'name' => 'ANTLR', 'group' => null, 'color' => '#9DC3FF', 'ace' => 'text', 'cm' => null, ], 'apib' => [ 'name' => 'API Blueprint', 'group' => null, 'color' => '#2ACCA8', 'ace' => 'markdown', 'cm' => null, ], 'apl' => [ 'name' => 'APL', 'group' => null, 'color' => '#5A8164', 'ace' => 'text', 'cm' => 'apl', ], 'dyalog' => [ 'name' => 'APL', 'group' => null, 'color' => '#5A8164', 'ace' => 'text', 'cm' => 'apl', ], 'asn' => [ 'name' => 'ASN.1', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'asn.1', ], 'asn1' => [ 'name' => 'ASN.1', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'asn.1', ], 'asp' => [ 'name' => 'ASP', 'group' => null, 'color' => '#6a40fd', 'ace' => 'text', 'cm' => 'htmlembedded', ], 'asax' => [ 'name' => 'ASP', 'group' => null, 'color' => '#6a40fd', 'ace' => 'text', 'cm' => 'htmlembedded', ], 'ascx' => [ 'name' => 'ASP', 'group' => null, 'color' => '#6a40fd', 'ace' => 'text', 'cm' => 'htmlembedded', ], 'ashx' => [ 'name' => 'ASP', 'group' => null, 'color' => '#6a40fd', 'ace' => 'text', 'cm' => 'htmlembedded', ], 'asmx' => [ 'name' => 'ASP', 'group' => null, 'color' => '#6a40fd', 'ace' => 'text', 'cm' => 'htmlembedded', ], 'aspx' => [ 'name' => 'ASP', 'group' => null, 'color' => '#6a40fd', 'ace' => 'text', 'cm' => 'htmlembedded', ], 'axd' => [ 'name' => 'ASP', 'group' => null, 'color' => '#6a40fd', 'ace' => 'text', 'cm' => 'htmlembedded', ], 'dats' => [ 'name' => 'ATS', 'group' => null, 'color' => '#1ac620', 'ace' => 'ocaml', 'cm' => null, ], 'hats' => [ 'name' => 'ATS', 'group' => null, 'color' => '#1ac620', 'ace' => 'ocaml', 'cm' => null, ], 'sats' => [ 'name' => 'ATS', 'group' => null, 'color' => '#1ac620', 'ace' => 'ocaml', 'cm' => null, ], 'as' => [ 'name' => 'AngelScript', 'group' => null, 'color' => '#C7D7DC', 'ace' => 'text', 'cm' => 'clike', ], 'adb' => [ 'name' => 'Ada', 'group' => null, 'color' => '#02f88c', 'ace' => 'ada', 'cm' => null, ], 'ada' => [ 'name' => 'Ada', 'group' => null, 'color' => '#02f88c', 'ace' => 'ada', 'cm' => null, ], 'ads' => [ 'name' => 'Ada', 'group' => null, 'color' => '#02f88c', 'ace' => 'ada', 'cm' => null, ], 'afm' => [ 'name' => 'Adobe Font Metrics', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'agda' => [ 'name' => 'Agda', 'group' => null, 'color' => '#315665', 'ace' => 'text', 'cm' => null, ], 'als' => [ 'name' => 'Alloy', 'group' => null, 'color' => '#64C800', 'ace' => 'text', 'cm' => null, ], 'angelscript' => [ 'name' => 'AngelScript', 'group' => null, 'color' => '#C7D7DC', 'ace' => 'text', 'cm' => 'clike', ], 'apacheconf' => [ 'name' => 'ApacheConf', 'group' => null, 'color' => null, 'ace' => 'apache_conf', 'cm' => null, ], 'vhost' => [ 'name' => 'Nginx', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'nginx', ], 'cls' => [ 'name' => 'Visual Basic', 'group' => null, 'color' => '#945db7', 'ace' => 'text', 'cm' => 'vb', ], 'agc' => [ 'name' => 'Apollo Guidance Computer', 'group' => 'Assembly', 'color' => null, 'ace' => 'assembly_x86', 'cm' => null, ], 'applescript' => [ 'name' => 'AppleScript', 'group' => null, 'color' => '#101F1F', 'ace' => 'applescript', 'cm' => null, ], 'scpt' => [ 'name' => 'AppleScript', 'group' => null, 'color' => '#101F1F', 'ace' => 'applescript', 'cm' => null, ], 'arc' => [ 'name' => 'Arc', 'group' => null, 'color' => '#aa2afe', 'ace' => 'text', 'cm' => null, ], 'asciidoc' => [ 'name' => 'AsciiDoc', 'group' => null, 'color' => null, 'ace' => 'asciidoc', 'cm' => null, ], 'adoc' => [ 'name' => 'AsciiDoc', 'group' => null, 'color' => null, 'ace' => 'asciidoc', 'cm' => null, ], 'aj' => [ 'name' => 'AspectJ', 'group' => null, 'color' => '#a957b0', 'ace' => 'text', 'cm' => null, ], 'asm' => [ 'name' => 'Assembly', 'group' => null, 'color' => '#6E4C13', 'ace' => 'assembly_x86', 'cm' => null, ], 'a51' => [ 'name' => 'Assembly', 'group' => null, 'color' => '#6E4C13', 'ace' => 'assembly_x86', 'cm' => null, ], 'inc' => [ 'name' => 'SourcePawn', 'group' => null, 'color' => '#5c7611', 'ace' => 'text', 'cm' => null, ], 'nasm' => [ 'name' => 'Assembly', 'group' => null, 'color' => '#6E4C13', 'ace' => 'assembly_x86', 'cm' => null, ], 'aug' => [ 'name' => 'Augeas', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'ahk' => [ 'name' => 'AutoHotkey', 'group' => null, 'color' => '#6594b9', 'ace' => 'autohotkey', 'cm' => null, ], 'ahkl' => [ 'name' => 'AutoHotkey', 'group' => null, 'color' => '#6594b9', 'ace' => 'autohotkey', 'cm' => null, ], 'au3' => [ 'name' => 'AutoIt', 'group' => null, 'color' => '#1C3552', 'ace' => 'autohotkey', 'cm' => null, ], 'awk' => [ 'name' => 'Awk', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'auk' => [ 'name' => 'Awk', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gawk' => [ 'name' => 'Awk', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'mawk' => [ 'name' => 'Awk', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'nawk' => [ 'name' => 'Awk', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'bal' => [ 'name' => 'Ballerina', 'group' => null, 'color' => '#FF5000', 'ace' => 'text', 'cm' => null, ], 'bat' => [ 'name' => 'Batchfile', 'group' => null, 'color' => '#C1F12E', 'ace' => 'batchfile', 'cm' => null, ], 'cmd' => [ 'name' => 'Batchfile', 'group' => null, 'color' => '#C1F12E', 'ace' => 'batchfile', 'cm' => null, ], 'befunge' => [ 'name' => 'Befunge', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'bison' => [ 'name' => 'Bison', 'group' => 'Yacc', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'bb' => [ 'name' => 'BlitzBasic', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'blade' => [ 'name' => 'Blade', 'group' => 'HTML', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'blade.php' => [ 'name' => 'Blade', 'group' => 'HTML', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'decls' => [ 'name' => 'BlitzBasic', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'bmx' => [ 'name' => 'BlitzMax', 'group' => null, 'color' => '#cd6400', 'ace' => 'text', 'cm' => null, ], 'bsv' => [ 'name' => 'Bluespec', 'group' => null, 'color' => null, 'ace' => 'verilog', 'cm' => null, ], 'boo' => [ 'name' => 'Boo', 'group' => null, 'color' => '#d4bec1', 'ace' => 'text', 'cm' => null, ], 'b' => [ 'name' => 'Limbo', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'bf' => [ 'name' => 'HyPhy', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'brs' => [ 'name' => 'Brightscript', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'bro' => [ 'name' => 'Bro', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'c' => [ 'name' => 'C', 'group' => null, 'color' => '#555555', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'cats' => [ 'name' => 'C', 'group' => null, 'color' => '#555555', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'h' => [ 'name' => 'Objective-C', 'group' => null, 'color' => '#438eff', 'ace' => 'objectivec', 'cm' => 'clike', ], 'idc' => [ 'name' => 'C', 'group' => null, 'color' => '#555555', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'cs' => [ 'name' => 'Smalltalk', 'group' => null, 'color' => '#596706', 'ace' => 'text', 'cm' => 'smalltalk', ], 'cake' => [ 'name' => 'CoffeeScript', 'group' => null, 'color' => '#244776', 'ace' => 'coffee', 'cm' => 'coffeescript', ], 'cshtml' => [ 'name' => 'C#', 'group' => null, 'color' => '#178600', 'ace' => 'csharp', 'cm' => 'clike', ], 'csx' => [ 'name' => 'C#', 'group' => null, 'color' => '#178600', 'ace' => 'csharp', 'cm' => 'clike', ], 'cpp' => [ 'name' => 'C++', 'group' => null, 'color' => '#f34b7d', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'c++' => [ 'name' => 'C++', 'group' => null, 'color' => '#f34b7d', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'cc' => [ 'name' => 'C++', 'group' => null, 'color' => '#f34b7d', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'cp' => [ 'name' => 'Component Pascal', 'group' => null, 'color' => '#B0CE4E', 'ace' => 'pascal', 'cm' => 'pascal', ], 'cxx' => [ 'name' => 'C++', 'group' => null, 'color' => '#f34b7d', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'h++' => [ 'name' => 'C++', 'group' => null, 'color' => '#f34b7d', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'hh' => [ 'name' => 'Hack', 'group' => null, 'color' => '#878787', 'ace' => 'php', 'cm' => 'php', ], 'hpp' => [ 'name' => 'C++', 'group' => null, 'color' => '#f34b7d', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'hxx' => [ 'name' => 'C++', 'group' => null, 'color' => '#f34b7d', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'inl' => [ 'name' => 'C++', 'group' => null, 'color' => '#f34b7d', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'ino' => [ 'name' => 'C++', 'group' => null, 'color' => '#f34b7d', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'ipp' => [ 'name' => 'C++', 'group' => null, 'color' => '#f34b7d', 'ace' => 'c_cpp', 'cm' => 'clike', ], 're' => [ 'name' => 'Reason', 'group' => 'OCaml', 'color' => null, 'ace' => 'rust', 'cm' => 'rust', ], 'tcc' => [ 'name' => 'C++', 'group' => null, 'color' => '#f34b7d', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'tpp' => [ 'name' => 'C++', 'group' => null, 'color' => '#f34b7d', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'c-objdump' => [ 'name' => 'C-ObjDump', 'group' => null, 'color' => null, 'ace' => 'assembly_x86', 'cm' => null, ], 'chs' => [ 'name' => 'C2hs Haskell', 'group' => 'Haskell', 'color' => null, 'ace' => 'haskell', 'cm' => 'haskell', ], 'clp' => [ 'name' => 'CLIPS', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'cmake' => [ 'name' => 'CMake', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'cmake', ], 'cmake.in' => [ 'name' => 'CMake', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'cmake', ], 'cob' => [ 'name' => 'COBOL', 'group' => null, 'color' => null, 'ace' => 'cobol', 'cm' => 'cobol', ], 'cbl' => [ 'name' => 'COBOL', 'group' => null, 'color' => null, 'ace' => 'cobol', 'cm' => 'cobol', ], 'ccp' => [ 'name' => 'COBOL', 'group' => null, 'color' => null, 'ace' => 'cobol', 'cm' => 'cobol', ], 'cobol' => [ 'name' => 'COBOL', 'group' => null, 'color' => null, 'ace' => 'cobol', 'cm' => 'cobol', ], 'cpy' => [ 'name' => 'COBOL', 'group' => null, 'color' => null, 'ace' => 'cobol', 'cm' => 'cobol', ], 'dae' => [ 'name' => 'COLLADA', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'cson' => [ 'name' => 'CSON', 'group' => 'CoffeeScript', 'color' => null, 'ace' => 'coffee', 'cm' => 'coffeescript', ], 'css' => [ 'name' => 'CSS', 'group' => null, 'color' => '#563d7c', 'ace' => 'css', 'cm' => 'css', ], 'csv' => [ 'name' => 'CSV', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'w' => [ 'name' => 'OpenEdge ABL', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'capnp' => [ 'name' => 'Cap\'n Proto', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'mss' => [ 'name' => 'CartoCSS', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'ceylon' => [ 'name' => 'Ceylon', 'group' => null, 'color' => '#dfa535', 'ace' => 'text', 'cm' => null, ], 'chpl' => [ 'name' => 'Chapel', 'group' => null, 'color' => '#8dc63f', 'ace' => 'text', 'cm' => null, ], 'ch' => [ 'name' => 'xBase', 'group' => null, 'color' => '#403a40', 'ace' => 'text', 'cm' => null, ], 'ck' => [ 'name' => 'ChucK', 'group' => null, 'color' => null, 'ace' => 'java', 'cm' => 'clike', ], 'cirru' => [ 'name' => 'Cirru', 'group' => null, 'color' => '#ccccff', 'ace' => 'cirru', 'cm' => null, ], 'clw' => [ 'name' => 'Clarion', 'group' => null, 'color' => '#db901e', 'ace' => 'text', 'cm' => null, ], 'icl' => [ 'name' => 'Clean', 'group' => null, 'color' => '#3F85AF', 'ace' => 'text', 'cm' => null, ], 'dcl' => [ 'name' => 'Clean', 'group' => null, 'color' => '#3F85AF', 'ace' => 'text', 'cm' => null, ], 'click' => [ 'name' => 'Click', 'group' => null, 'color' => '#E4E6F3', 'ace' => 'text', 'cm' => null, ], 'clj' => [ 'name' => 'Clojure', 'group' => null, 'color' => '#db5855', 'ace' => 'clojure', 'cm' => 'clojure', ], 'boot' => [ 'name' => 'Clojure', 'group' => null, 'color' => '#db5855', 'ace' => 'clojure', 'cm' => 'clojure', ], 'cl2' => [ 'name' => 'Clojure', 'group' => null, 'color' => '#db5855', 'ace' => 'clojure', 'cm' => 'clojure', ], 'cljc' => [ 'name' => 'Clojure', 'group' => null, 'color' => '#db5855', 'ace' => 'clojure', 'cm' => 'clojure', ], 'cljs' => [ 'name' => 'Clojure', 'group' => null, 'color' => '#db5855', 'ace' => 'clojure', 'cm' => 'clojure', ], 'cljs.hl' => [ 'name' => 'Clojure', 'group' => null, 'color' => '#db5855', 'ace' => 'clojure', 'cm' => 'clojure', ], 'cljscm' => [ 'name' => 'Clojure', 'group' => null, 'color' => '#db5855', 'ace' => 'clojure', 'cm' => 'clojure', ], 'cljx' => [ 'name' => 'Clojure', 'group' => null, 'color' => '#db5855', 'ace' => 'clojure', 'cm' => 'clojure', ], 'hic' => [ 'name' => 'Clojure', 'group' => null, 'color' => '#db5855', 'ace' => 'clojure', 'cm' => 'clojure', ], 'soy' => [ 'name' => 'Closure Templates', 'group' => 'HTML', 'color' => null, 'ace' => 'soy_template', 'cm' => 'soy', ], 'conllu' => [ 'name' => 'CoNLL-U', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'conll' => [ 'name' => 'CoNLL-U', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'coffee' => [ 'name' => 'CoffeeScript', 'group' => null, 'color' => '#244776', 'ace' => 'coffee', 'cm' => 'coffeescript', ], '_coffee' => [ 'name' => 'CoffeeScript', 'group' => null, 'color' => '#244776', 'ace' => 'coffee', 'cm' => 'coffeescript', ], 'cjsx' => [ 'name' => 'CoffeeScript', 'group' => null, 'color' => '#244776', 'ace' => 'coffee', 'cm' => 'coffeescript', ], 'iced' => [ 'name' => 'CoffeeScript', 'group' => null, 'color' => '#244776', 'ace' => 'coffee', 'cm' => 'coffeescript', ], 'cfm' => [ 'name' => 'ColdFusion', 'group' => null, 'color' => '#ed2cd6', 'ace' => 'coldfusion', 'cm' => null, ], 'cfml' => [ 'name' => 'ColdFusion', 'group' => null, 'color' => '#ed2cd6', 'ace' => 'coldfusion', 'cm' => null, ], 'cfc' => [ 'name' => 'ColdFusion CFC', 'group' => 'ColdFusion', 'color' => null, 'ace' => 'coldfusion', 'cm' => null, ], 'lisp' => [ 'name' => 'NewLisp', 'group' => null, 'color' => '#87AED7', 'ace' => 'lisp', 'cm' => 'commonlisp', ], 'asd' => [ 'name' => 'Common Lisp', 'group' => null, 'color' => '#3fb68b', 'ace' => 'lisp', 'cm' => 'commonlisp', ], 'cl' => [ 'name' => 'OpenCL', 'group' => 'C', 'color' => null, 'ace' => 'c_cpp', 'cm' => 'clike', ], 'l' => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], 'lsp' => [ 'name' => 'NewLisp', 'group' => null, 'color' => '#87AED7', 'ace' => 'lisp', 'cm' => 'commonlisp', ], 'ny' => [ 'name' => 'Common Lisp', 'group' => null, 'color' => '#3fb68b', 'ace' => 'lisp', 'cm' => 'commonlisp', ], 'podsl' => [ 'name' => 'Common Lisp', 'group' => null, 'color' => '#3fb68b', 'ace' => 'lisp', 'cm' => 'commonlisp', ], 'sexp' => [ 'name' => 'Common Lisp', 'group' => null, 'color' => '#3fb68b', 'ace' => 'lisp', 'cm' => 'commonlisp', ], 'cwl' => [ 'name' => 'Common Workflow Language', 'group' => null, 'color' => '#B5314C', 'ace' => 'yaml', 'cm' => 'yaml', ], 'cps' => [ 'name' => 'Component Pascal', 'group' => null, 'color' => '#B0CE4E', 'ace' => 'pascal', 'cm' => 'pascal', ], 'coq' => [ 'name' => 'Coq', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'v' => [ 'name' => 'Verilog', 'group' => null, 'color' => '#b2b7f8', 'ace' => 'verilog', 'cm' => 'verilog', ], 'cppobjdump' => [ 'name' => 'Cpp-ObjDump', 'group' => null, 'color' => null, 'ace' => 'assembly_x86', 'cm' => null, ], 'c++-objdump' => [ 'name' => 'Cpp-ObjDump', 'group' => null, 'color' => null, 'ace' => 'assembly_x86', 'cm' => null, ], 'c++objdump' => [ 'name' => 'Cpp-ObjDump', 'group' => null, 'color' => null, 'ace' => 'assembly_x86', 'cm' => null, ], 'cpp-objdump' => [ 'name' => 'Cpp-ObjDump', 'group' => null, 'color' => null, 'ace' => 'assembly_x86', 'cm' => null, ], 'cxx-objdump' => [ 'name' => 'Cpp-ObjDump', 'group' => null, 'color' => null, 'ace' => 'assembly_x86', 'cm' => null, ], 'creole' => [ 'name' => 'Creole', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'cr' => [ 'name' => 'Crystal', 'group' => null, 'color' => '#776791', 'ace' => 'ruby', 'cm' => 'crystal', ], 'orc' => [ 'name' => 'Csound', 'group' => null, 'color' => null, 'ace' => 'csound_orchestra', 'cm' => null, ], 'udo' => [ 'name' => 'Csound', 'group' => null, 'color' => null, 'ace' => 'csound_orchestra', 'cm' => null, ], 'csd' => [ 'name' => 'Csound Document', 'group' => null, 'color' => null, 'ace' => 'csound_document', 'cm' => null, ], 'sco' => [ 'name' => 'Csound Score', 'group' => null, 'color' => null, 'ace' => 'csound_score', 'cm' => null, ], 'cu' => [ 'name' => 'Cuda', 'group' => null, 'color' => '#3A4E3A', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'cuh' => [ 'name' => 'Cuda', 'group' => null, 'color' => '#3A4E3A', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'cy' => [ 'name' => 'Cycript', 'group' => null, 'color' => null, 'ace' => 'javascript', 'cm' => 'javascript', ], 'pyx' => [ 'name' => 'Cython', 'group' => 'Python', 'color' => null, 'ace' => 'text', 'cm' => 'python', ], 'pxd' => [ 'name' => 'Cython', 'group' => 'Python', 'color' => null, 'ace' => 'text', 'cm' => 'python', ], 'pxi' => [ 'name' => 'Cython', 'group' => 'Python', 'color' => null, 'ace' => 'text', 'cm' => 'python', ], 'd' => [ 'name' => 'Makefile', 'group' => null, 'color' => '#427819', 'ace' => 'makefile', 'cm' => 'cmake', ], 'di' => [ 'name' => 'D', 'group' => null, 'color' => '#ba595e', 'ace' => 'd', 'cm' => 'd', ], 'd-objdump' => [ 'name' => 'D-ObjDump', 'group' => null, 'color' => null, 'ace' => 'assembly_x86', 'cm' => null, ], 'com' => [ 'name' => 'DIGITAL Command Language', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'dm' => [ 'name' => 'DM', 'group' => null, 'color' => '#447265', 'ace' => 'c_cpp', 'cm' => null, ], 'zone' => [ 'name' => 'DNS Zone', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'arpa' => [ 'name' => 'DNS Zone', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'darcspatch' => [ 'name' => 'Darcs Patch', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'dpatch' => [ 'name' => 'Darcs Patch', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'dart' => [ 'name' => 'Dart', 'group' => null, 'color' => '#00B4AB', 'ace' => 'dart', 'cm' => 'dart', ], 'dwl' => [ 'name' => 'DataWeave', 'group' => null, 'color' => '#003a52', 'ace' => 'text', 'cm' => null, ], 'diff' => [ 'name' => 'Diff', 'group' => null, 'color' => null, 'ace' => 'diff', 'cm' => 'diff', ], 'patch' => [ 'name' => 'Diff', 'group' => null, 'color' => null, 'ace' => 'diff', 'cm' => 'diff', ], 'dockerfile' => [ 'name' => 'Dockerfile', 'group' => null, 'color' => null, 'ace' => 'dockerfile', 'cm' => 'dockerfile', ], 'djs' => [ 'name' => 'Dogescript', 'group' => null, 'color' => '#cca760', 'ace' => 'text', 'cm' => null, ], 'dylan' => [ 'name' => 'Dylan', 'group' => null, 'color' => '#6c616e', 'ace' => 'text', 'cm' => 'dylan', ], 'dyl' => [ 'name' => 'Dylan', 'group' => null, 'color' => '#6c616e', 'ace' => 'text', 'cm' => 'dylan', ], 'intr' => [ 'name' => 'Dylan', 'group' => null, 'color' => '#6c616e', 'ace' => 'text', 'cm' => 'dylan', ], 'lid' => [ 'name' => 'Dylan', 'group' => null, 'color' => '#6c616e', 'ace' => 'text', 'cm' => 'dylan', ], 'E' => [ 'name' => 'E', 'group' => null, 'color' => '#ccce35', 'ace' => 'text', 'cm' => null, ], 'ebnf' => [ 'name' => 'EBNF', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'ebnf', ], 'ecl' => [ 'name' => 'ECLiPSe', 'group' => 'prolog', 'color' => null, 'ace' => 'prolog', 'cm' => null, ], 'eclxml' => [ 'name' => 'ECL', 'group' => null, 'color' => '#8a1267', 'ace' => 'text', 'cm' => 'ecl', ], 'ejs' => [ 'name' => 'EJS', 'group' => 'HTML', 'color' => null, 'ace' => 'ejs', 'cm' => null, ], 'eq' => [ 'name' => 'EQ', 'group' => null, 'color' => '#a78649', 'ace' => 'csharp', 'cm' => 'clike', ], 'sch' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'brd' => [ 'name' => 'KiCad Legacy Layout', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'eb' => [ 'name' => 'Easybuild', 'group' => 'Python', 'color' => null, 'ace' => 'python', 'cm' => 'python', ], 'epj' => [ 'name' => 'Ecere Projects', 'group' => 'JavaScript', 'color' => null, 'ace' => 'json', 'cm' => 'javascript', ], 'edc' => [ 'name' => 'Edje Data Collection', 'group' => null, 'color' => null, 'ace' => 'json', 'cm' => 'javascript', ], 'e' => [ 'name' => 'Eiffel', 'group' => null, 'color' => '#946d57', 'ace' => 'eiffel', 'cm' => 'eiffel', ], 'ex' => [ 'name' => 'Elixir', 'group' => null, 'color' => '#6e4a7e', 'ace' => 'elixir', 'cm' => null, ], 'exs' => [ 'name' => 'Elixir', 'group' => null, 'color' => '#6e4a7e', 'ace' => 'elixir', 'cm' => null, ], 'elm' => [ 'name' => 'Elm', 'group' => null, 'color' => '#60B5CC', 'ace' => 'elm', 'cm' => 'elm', ], 'el' => [ 'name' => 'Emacs Lisp', 'group' => null, 'color' => '#c065db', 'ace' => 'lisp', 'cm' => 'commonlisp', ], 'emacs' => [ 'name' => 'Emacs Lisp', 'group' => null, 'color' => '#c065db', 'ace' => 'lisp', 'cm' => 'commonlisp', ], 'emacs.desktop' => [ 'name' => 'Emacs Lisp', 'group' => null, 'color' => '#c065db', 'ace' => 'lisp', 'cm' => 'commonlisp', ], 'em' => [ 'name' => 'EmberScript', 'group' => null, 'color' => '#FFF4F3', 'ace' => 'coffee', 'cm' => 'coffeescript', ], 'emberscript' => [ 'name' => 'EmberScript', 'group' => null, 'color' => '#FFF4F3', 'ace' => 'coffee', 'cm' => 'coffeescript', ], 'erl' => [ 'name' => 'Erlang', 'group' => null, 'color' => '#B83998', 'ace' => 'erlang', 'cm' => 'erlang', ], 'app.src' => [ 'name' => 'Erlang', 'group' => null, 'color' => '#B83998', 'ace' => 'erlang', 'cm' => 'erlang', ], 'es' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'escript' => [ 'name' => 'Erlang', 'group' => null, 'color' => '#B83998', 'ace' => 'erlang', 'cm' => 'erlang', ], 'hrl' => [ 'name' => 'Erlang', 'group' => null, 'color' => '#B83998', 'ace' => 'erlang', 'cm' => 'erlang', ], 'xrl' => [ 'name' => 'Erlang', 'group' => null, 'color' => '#B83998', 'ace' => 'erlang', 'cm' => 'erlang', ], 'yrl' => [ 'name' => 'Erlang', 'group' => null, 'color' => '#B83998', 'ace' => 'erlang', 'cm' => 'erlang', ], 'fs' => [ 'name' => 'GLSL', 'group' => null, 'color' => null, 'ace' => 'glsl', 'cm' => null, ], 'fsi' => [ 'name' => 'F#', 'group' => null, 'color' => '#b845fc', 'ace' => 'text', 'cm' => 'mllike', ], 'fsx' => [ 'name' => 'F#', 'group' => null, 'color' => '#b845fc', 'ace' => 'text', 'cm' => 'mllike', ], 'fx' => [ 'name' => 'HLSL', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'flux' => [ 'name' => 'FLUX', 'group' => null, 'color' => '#88ccff', 'ace' => 'text', 'cm' => null, ], 'factor' => [ 'name' => 'Factor', 'group' => null, 'color' => '#636746', 'ace' => 'text', 'cm' => 'factor', ], 'fy' => [ 'name' => 'Fancy', 'group' => null, 'color' => '#7b9db4', 'ace' => 'text', 'cm' => null, ], 'fancypack' => [ 'name' => 'Fancy', 'group' => null, 'color' => '#7b9db4', 'ace' => 'text', 'cm' => null, ], 'fan' => [ 'name' => 'Fantom', 'group' => null, 'color' => '#14253c', 'ace' => 'text', 'cm' => null, ], 'f' => [ 'name' => 'Fortran', 'group' => null, 'color' => '#4d41b1', 'ace' => 'text', 'cm' => 'fortran', ], 'for' => [ 'name' => 'Fortran', 'group' => null, 'color' => '#4d41b1', 'ace' => 'text', 'cm' => 'fortran', ], 'eam.fs' => [ 'name' => 'Formatted', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'fth' => [ 'name' => 'Forth', 'group' => null, 'color' => '#341708', 'ace' => 'forth', 'cm' => 'forth', ], '4th' => [ 'name' => 'Forth', 'group' => null, 'color' => '#341708', 'ace' => 'forth', 'cm' => 'forth', ], 'forth' => [ 'name' => 'Forth', 'group' => null, 'color' => '#341708', 'ace' => 'forth', 'cm' => 'forth', ], 'fr' => [ 'name' => 'Text', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'frt' => [ 'name' => 'Forth', 'group' => null, 'color' => '#341708', 'ace' => 'forth', 'cm' => 'forth', ], 'f90' => [ 'name' => 'Fortran', 'group' => null, 'color' => '#4d41b1', 'ace' => 'text', 'cm' => 'fortran', ], 'f03' => [ 'name' => 'Fortran', 'group' => null, 'color' => '#4d41b1', 'ace' => 'text', 'cm' => 'fortran', ], 'f08' => [ 'name' => 'Fortran', 'group' => null, 'color' => '#4d41b1', 'ace' => 'text', 'cm' => 'fortran', ], 'f77' => [ 'name' => 'Fortran', 'group' => null, 'color' => '#4d41b1', 'ace' => 'text', 'cm' => 'fortran', ], 'f95' => [ 'name' => 'Fortran', 'group' => null, 'color' => '#4d41b1', 'ace' => 'text', 'cm' => 'fortran', ], 'fpp' => [ 'name' => 'Fortran', 'group' => null, 'color' => '#4d41b1', 'ace' => 'text', 'cm' => 'fortran', ], 'ftl' => [ 'name' => 'FreeMarker', 'group' => null, 'color' => '#0050b2', 'ace' => 'ftl', 'cm' => null, ], 'g' => [ 'name' => 'GAP', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gco' => [ 'name' => 'G-code', 'group' => null, 'color' => null, 'ace' => 'gcode', 'cm' => null, ], 'gcode' => [ 'name' => 'G-code', 'group' => null, 'color' => null, 'ace' => 'gcode', 'cm' => null, ], 'gms' => [ 'name' => 'GAMS', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gap' => [ 'name' => 'GAP', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gd' => [ 'name' => 'GDScript', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gi' => [ 'name' => 'GAP', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'tst' => [ 'name' => 'Scilab', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'md' => [ 'name' => 'Markdown', 'group' => null, 'color' => null, 'ace' => 'markdown', 'cm' => 'gfm', ], 'gdb' => [ 'name' => 'GDB', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gdbinit' => [ 'name' => 'GDB', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'glsl' => [ 'name' => 'GLSL', 'group' => null, 'color' => null, 'ace' => 'glsl', 'cm' => null, ], 'fp' => [ 'name' => 'GLSL', 'group' => null, 'color' => null, 'ace' => 'glsl', 'cm' => null, ], 'frag' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'frg' => [ 'name' => 'GLSL', 'group' => null, 'color' => null, 'ace' => 'glsl', 'cm' => null, ], 'fsh' => [ 'name' => 'GLSL', 'group' => null, 'color' => null, 'ace' => 'glsl', 'cm' => null, ], 'fshader' => [ 'name' => 'GLSL', 'group' => null, 'color' => null, 'ace' => 'glsl', 'cm' => null, ], 'geo' => [ 'name' => 'GLSL', 'group' => null, 'color' => null, 'ace' => 'glsl', 'cm' => null, ], 'geom' => [ 'name' => 'GLSL', 'group' => null, 'color' => null, 'ace' => 'glsl', 'cm' => null, ], 'glslv' => [ 'name' => 'GLSL', 'group' => null, 'color' => null, 'ace' => 'glsl', 'cm' => null, ], 'gshader' => [ 'name' => 'GLSL', 'group' => null, 'color' => null, 'ace' => 'glsl', 'cm' => null, ], 'shader' => [ 'name' => 'ShaderLab', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'tesc' => [ 'name' => 'GLSL', 'group' => null, 'color' => null, 'ace' => 'glsl', 'cm' => null, ], 'tese' => [ 'name' => 'GLSL', 'group' => null, 'color' => null, 'ace' => 'glsl', 'cm' => null, ], 'vert' => [ 'name' => 'GLSL', 'group' => null, 'color' => null, 'ace' => 'glsl', 'cm' => null, ], 'vrx' => [ 'name' => 'GLSL', 'group' => null, 'color' => null, 'ace' => 'glsl', 'cm' => null, ], 'vsh' => [ 'name' => 'GLSL', 'group' => null, 'color' => null, 'ace' => 'glsl', 'cm' => null, ], 'vshader' => [ 'name' => 'GLSL', 'group' => null, 'color' => null, 'ace' => 'glsl', 'cm' => null, ], 'gn' => [ 'name' => 'GN', 'group' => null, 'color' => null, 'ace' => 'python', 'cm' => 'python', ], 'gni' => [ 'name' => 'GN', 'group' => null, 'color' => null, 'ace' => 'python', 'cm' => 'python', ], 'gml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'gs' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'kid' => [ 'name' => 'Genshi', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'ebuild' => [ 'name' => 'Gentoo Ebuild', 'group' => 'Shell', 'color' => null, 'ace' => 'sh', 'cm' => 'shell', ], 'eclass' => [ 'name' => 'Gentoo Eclass', 'group' => 'Shell', 'color' => null, 'ace' => 'sh', 'cm' => 'shell', ], 'gbr' => [ 'name' => 'Gerber Image', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gbl' => [ 'name' => 'Gerber Image', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gbo' => [ 'name' => 'Gerber Image', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gbp' => [ 'name' => 'Gerber Image', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gbs' => [ 'name' => 'Gerber Image', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gko' => [ 'name' => 'Gerber Image', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gpb' => [ 'name' => 'Gerber Image', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gpt' => [ 'name' => 'Gerber Image', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gtl' => [ 'name' => 'Gerber Image', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gto' => [ 'name' => 'Gerber Image', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gtp' => [ 'name' => 'Gerber Image', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gts' => [ 'name' => 'Gerber Image', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'po' => [ 'name' => 'Gettext Catalog', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'pot' => [ 'name' => 'Gettext Catalog', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'feature' => [ 'name' => 'Gherkin', 'group' => null, 'color' => '#5B2063', 'ace' => 'text', 'cm' => null, ], 'glf' => [ 'name' => 'Glyph', 'group' => null, 'color' => '#e4cc98', 'ace' => 'tcl', 'cm' => 'tcl', ], 'gp' => [ 'name' => 'Gnuplot', 'group' => null, 'color' => '#f0a9f0', 'ace' => 'text', 'cm' => null, ], 'gnu' => [ 'name' => 'Gnuplot', 'group' => null, 'color' => '#f0a9f0', 'ace' => 'text', 'cm' => null, ], 'gnuplot' => [ 'name' => 'Gnuplot', 'group' => null, 'color' => '#f0a9f0', 'ace' => 'text', 'cm' => null, ], 'plot' => [ 'name' => 'Gnuplot', 'group' => null, 'color' => '#f0a9f0', 'ace' => 'text', 'cm' => null, ], 'plt' => [ 'name' => 'Gnuplot', 'group' => null, 'color' => '#f0a9f0', 'ace' => 'text', 'cm' => null, ], 'go' => [ 'name' => 'Go', 'group' => null, 'color' => '#375eab', 'ace' => 'golang', 'cm' => 'go', ], 'golo' => [ 'name' => 'Golo', 'group' => null, 'color' => '#88562A', 'ace' => 'text', 'cm' => null, ], 'gst' => [ 'name' => 'Gosu', 'group' => null, 'color' => '#82937f', 'ace' => 'text', 'cm' => null, ], 'gsx' => [ 'name' => 'Gosu', 'group' => null, 'color' => '#82937f', 'ace' => 'text', 'cm' => null, ], 'vark' => [ 'name' => 'Gosu', 'group' => null, 'color' => '#82937f', 'ace' => 'text', 'cm' => null, ], 'grace' => [ 'name' => 'Grace', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gradle' => [ 'name' => 'Gradle', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gf' => [ 'name' => 'Grammatical Framework', 'group' => null, 'color' => '#79aa7a', 'ace' => 'haskell', 'cm' => 'haskell', ], 'graphql' => [ 'name' => 'GraphQL', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gql' => [ 'name' => 'GraphQL', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'dot' => [ 'name' => 'Graphviz (DOT)', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'gv' => [ 'name' => 'Graphviz (DOT)', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'groovy' => [ 'name' => 'Groovy', 'group' => null, 'color' => '#e69f56', 'ace' => 'groovy', 'cm' => 'groovy', ], 'grt' => [ 'name' => 'Groovy', 'group' => null, 'color' => '#e69f56', 'ace' => 'groovy', 'cm' => 'groovy', ], 'gtpl' => [ 'name' => 'Groovy', 'group' => null, 'color' => '#e69f56', 'ace' => 'groovy', 'cm' => 'groovy', ], 'gvy' => [ 'name' => 'Groovy', 'group' => null, 'color' => '#e69f56', 'ace' => 'groovy', 'cm' => 'groovy', ], 'gsp' => [ 'name' => 'Groovy Server Pages', 'group' => 'Groovy', 'color' => null, 'ace' => 'jsp', 'cm' => 'htmlembedded', ], 'hcl' => [ 'name' => 'HCL', 'group' => null, 'color' => null, 'ace' => 'ruby', 'cm' => 'ruby', ], 'tf' => [ 'name' => 'HCL', 'group' => null, 'color' => null, 'ace' => 'ruby', 'cm' => 'ruby', ], 'tfvars' => [ 'name' => 'HCL', 'group' => null, 'color' => null, 'ace' => 'ruby', 'cm' => 'ruby', ], 'hlsl' => [ 'name' => 'HLSL', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'cginc' => [ 'name' => 'HLSL', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'fxh' => [ 'name' => 'HLSL', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'hlsli' => [ 'name' => 'HLSL', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'html' => [ 'name' => 'HTML', 'group' => null, 'color' => '#e34c26', 'ace' => 'html', 'cm' => 'htmlmixed', ], 'htm' => [ 'name' => 'HTML', 'group' => null, 'color' => '#e34c26', 'ace' => 'html', 'cm' => 'htmlmixed', ], 'html.hl' => [ 'name' => 'HTML', 'group' => null, 'color' => '#e34c26', 'ace' => 'html', 'cm' => 'htmlmixed', ], 'st' => [ 'name' => 'Smalltalk', 'group' => null, 'color' => '#596706', 'ace' => 'text', 'cm' => 'smalltalk', ], 'xht' => [ 'name' => 'HTML', 'group' => null, 'color' => '#e34c26', 'ace' => 'html', 'cm' => 'htmlmixed', ], 'xhtml' => [ 'name' => 'HTML', 'group' => null, 'color' => '#e34c26', 'ace' => 'html', 'cm' => 'htmlmixed', ], 'jinja' => [ 'name' => 'HTML+Django', 'group' => 'HTML', 'color' => null, 'ace' => 'django', 'cm' => 'django', ], 'jinja2' => [ 'name' => 'HTML+Django', 'group' => 'HTML', 'color' => null, 'ace' => 'django', 'cm' => 'django', ], 'mustache' => [ 'name' => 'HTML+Django', 'group' => 'HTML', 'color' => null, 'ace' => 'django', 'cm' => 'django', ], 'njk' => [ 'name' => 'HTML+Django', 'group' => 'HTML', 'color' => null, 'ace' => 'django', 'cm' => 'django', ], 'ecr' => [ 'name' => 'HTML+ECR', 'group' => 'HTML', 'color' => null, 'ace' => 'text', 'cm' => 'htmlmixed', ], 'eex' => [ 'name' => 'HTML+EEX', 'group' => 'HTML', 'color' => null, 'ace' => 'text', 'cm' => 'htmlmixed', ], 'erb' => [ 'name' => 'HTML+ERB', 'group' => 'HTML', 'color' => null, 'ace' => 'text', 'cm' => 'htmlembedded', ], 'erb.deface' => [ 'name' => 'HTML+ERB', 'group' => 'HTML', 'color' => null, 'ace' => 'text', 'cm' => 'htmlembedded', ], 'phtml' => [ 'name' => 'HTML+PHP', 'group' => 'HTML', 'color' => null, 'ace' => 'php', 'cm' => 'php', ], 'http' => [ 'name' => 'HTTP', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'http', ], 'hxml' => [ 'name' => 'HXML', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'php' => [ 'name' => 'PHP', 'group' => null, 'color' => '#4F5D95', 'ace' => 'php', 'cm' => 'php', ], 'haml' => [ 'name' => 'Haml', 'group' => 'HTML', 'color' => null, 'ace' => 'haml', 'cm' => 'haml', ], 'haml.deface' => [ 'name' => 'Haml', 'group' => 'HTML', 'color' => null, 'ace' => 'haml', 'cm' => 'haml', ], 'handlebars' => [ 'name' => 'Handlebars', 'group' => 'HTML', 'color' => null, 'ace' => 'handlebars', 'cm' => null, ], 'hbs' => [ 'name' => 'Handlebars', 'group' => 'HTML', 'color' => null, 'ace' => 'handlebars', 'cm' => null, ], 'hb' => [ 'name' => 'Harbour', 'group' => null, 'color' => '#0e60e3', 'ace' => 'text', 'cm' => null, ], 'hs' => [ 'name' => 'Haskell', 'group' => null, 'color' => '#5e5086', 'ace' => 'haskell', 'cm' => 'haskell', ], 'hsc' => [ 'name' => 'Haskell', 'group' => null, 'color' => '#5e5086', 'ace' => 'haskell', 'cm' => 'haskell', ], 'hx' => [ 'name' => 'Haxe', 'group' => null, 'color' => '#df7900', 'ace' => 'haxe', 'cm' => 'haxe', ], 'hxsl' => [ 'name' => 'Haxe', 'group' => null, 'color' => '#df7900', 'ace' => 'haxe', 'cm' => 'haxe', ], 'q' => [ 'name' => 'q', 'group' => null, 'color' => '#0040cd', 'ace' => 'text', 'cm' => null, ], 'hy' => [ 'name' => 'Hy', 'group' => null, 'color' => '#7790B2', 'ace' => 'text', 'cm' => null, ], 'pro' => [ 'name' => 'QMake', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'dlm' => [ 'name' => 'IDL', 'group' => null, 'color' => '#a3522f', 'ace' => 'text', 'cm' => 'idl', ], 'ipf' => [ 'name' => 'IGOR Pro', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'ini' => [ 'name' => 'INI', 'group' => null, 'color' => null, 'ace' => 'ini', 'cm' => 'properties', ], 'cfg' => [ 'name' => 'INI', 'group' => null, 'color' => null, 'ace' => 'ini', 'cm' => 'properties', ], 'prefs' => [ 'name' => 'INI', 'group' => null, 'color' => null, 'ace' => 'ini', 'cm' => 'properties', ], 'properties' => [ 'name' => 'INI', 'group' => null, 'color' => null, 'ace' => 'ini', 'cm' => 'properties', ], 'irclog' => [ 'name' => 'IRC log', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'mirc', ], 'weechatlog' => [ 'name' => 'IRC log', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'mirc', ], 'idr' => [ 'name' => 'Idris', 'group' => null, 'color' => '#b30000', 'ace' => 'text', 'cm' => null, ], 'lidr' => [ 'name' => 'Idris', 'group' => null, 'color' => '#b30000', 'ace' => 'text', 'cm' => null, ], 'ni' => [ 'name' => 'Inform 7', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'i7x' => [ 'name' => 'Inform 7', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'iss' => [ 'name' => 'Inno Setup', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'io' => [ 'name' => 'Io', 'group' => null, 'color' => '#a9188d', 'ace' => 'io', 'cm' => null, ], 'ik' => [ 'name' => 'Ioke', 'group' => null, 'color' => '#078193', 'ace' => 'text', 'cm' => null, ], 'thy' => [ 'name' => 'Isabelle', 'group' => null, 'color' => '#FEFE00', 'ace' => 'text', 'cm' => null, ], 'ijs' => [ 'name' => 'J', 'group' => null, 'color' => '#9EEDFF', 'ace' => 'text', 'cm' => null, ], 'flex' => [ 'name' => 'JFlex', 'group' => 'Lex', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'jflex' => [ 'name' => 'JFlex', 'group' => 'Lex', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'json' => [ 'name' => 'JSON', 'group' => 'JavaScript', 'color' => null, 'ace' => 'json', 'cm' => 'javascript', ], 'avsc' => [ 'name' => 'JSON', 'group' => 'JavaScript', 'color' => null, 'ace' => 'json', 'cm' => 'javascript', ], 'geojson' => [ 'name' => 'JSON', 'group' => 'JavaScript', 'color' => null, 'ace' => 'json', 'cm' => 'javascript', ], 'gltf' => [ 'name' => 'JSON', 'group' => 'JavaScript', 'color' => null, 'ace' => 'json', 'cm' => 'javascript', ], 'JSON-tmLanguage' => [ 'name' => 'JSON', 'group' => 'JavaScript', 'color' => null, 'ace' => 'json', 'cm' => 'javascript', ], 'jsonl' => [ 'name' => 'JSON', 'group' => 'JavaScript', 'color' => null, 'ace' => 'json', 'cm' => 'javascript', ], 'tfstate' => [ 'name' => 'JSON', 'group' => 'JavaScript', 'color' => null, 'ace' => 'json', 'cm' => 'javascript', ], 'tfstate.backup' => [ 'name' => 'JSON', 'group' => 'JavaScript', 'color' => null, 'ace' => 'json', 'cm' => 'javascript', ], 'topojson' => [ 'name' => 'JSON', 'group' => 'JavaScript', 'color' => null, 'ace' => 'json', 'cm' => 'javascript', ], 'webapp' => [ 'name' => 'JSON', 'group' => 'JavaScript', 'color' => null, 'ace' => 'json', 'cm' => 'javascript', ], 'webmanifest' => [ 'name' => 'JSON', 'group' => 'JavaScript', 'color' => null, 'ace' => 'json', 'cm' => 'javascript', ], 'json5' => [ 'name' => 'JSON5', 'group' => null, 'color' => null, 'ace' => 'javascript', 'cm' => 'javascript', ], 'jsonld' => [ 'name' => 'JSONLD', 'group' => 'JavaScript', 'color' => null, 'ace' => 'javascript', 'cm' => null, ], 'jq' => [ 'name' => 'JSONiq', 'group' => null, 'color' => '#40d47e', 'ace' => 'jsoniq', 'cm' => 'javascript', ], 'jsx' => [ 'name' => 'JSX', 'group' => 'JavaScript', 'color' => null, 'ace' => 'javascript', 'cm' => 'jsx', ], 'j' => [ 'name' => 'Objective-J', 'group' => null, 'color' => '#ff0c5a', 'ace' => 'text', 'cm' => null, ], 'java' => [ 'name' => 'Java', 'group' => null, 'color' => '#b07219', 'ace' => 'java', 'cm' => 'clike', ], 'jsp' => [ 'name' => 'Java Server Pages', 'group' => 'Java', 'color' => null, 'ace' => 'jsp', 'cm' => 'htmlembedded', ], 'js' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], '_js' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'bones' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'es6' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'jake' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'jsb' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'jscad' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'jsfl' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'jsm' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'jss' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'mjs' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'njs' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'pac' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'sjs' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'ssjs' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'xsjs' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'xsjslib' => [ 'name' => 'JavaScript', 'group' => null, 'color' => '#f1e05a', 'ace' => 'javascript', 'cm' => 'javascript', ], 'jison' => [ 'name' => 'Jison', 'group' => 'Yacc', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'jisonlex' => [ 'name' => 'Jison Lex', 'group' => 'Lex', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'ol' => [ 'name' => 'Jolie', 'group' => null, 'color' => '#843179', 'ace' => 'text', 'cm' => null, ], 'iol' => [ 'name' => 'Jolie', 'group' => null, 'color' => '#843179', 'ace' => 'text', 'cm' => null, ], 'jl' => [ 'name' => 'Julia', 'group' => null, 'color' => '#a270ba', 'ace' => 'julia', 'cm' => 'julia', ], 'ipynb' => [ 'name' => 'Jupyter Notebook', 'group' => null, 'color' => '#DA5B0B', 'ace' => 'json', 'cm' => 'javascript', ], 'krl' => [ 'name' => 'KRL', 'group' => null, 'color' => '#28431f', 'ace' => 'text', 'cm' => null, ], 'kicad_pcb' => [ 'name' => 'KiCad Layout', 'group' => null, 'color' => null, 'ace' => 'lisp', 'cm' => 'commonlisp', ], 'kicad_mod' => [ 'name' => 'KiCad Layout', 'group' => null, 'color' => null, 'ace' => 'lisp', 'cm' => 'commonlisp', ], 'kicad_wks' => [ 'name' => 'KiCad Layout', 'group' => null, 'color' => null, 'ace' => 'lisp', 'cm' => 'commonlisp', ], 'kit' => [ 'name' => 'Kit', 'group' => null, 'color' => null, 'ace' => 'html', 'cm' => 'htmlmixed', ], 'kt' => [ 'name' => 'Kotlin', 'group' => null, 'color' => '#F18E33', 'ace' => 'text', 'cm' => 'clike', ], 'ktm' => [ 'name' => 'Kotlin', 'group' => null, 'color' => '#F18E33', 'ace' => 'text', 'cm' => 'clike', ], 'kts' => [ 'name' => 'Kotlin', 'group' => null, 'color' => '#F18E33', 'ace' => 'text', 'cm' => 'clike', ], 'lfe' => [ 'name' => 'LFE', 'group' => null, 'color' => '#4C3023', 'ace' => 'lisp', 'cm' => 'commonlisp', ], 'll' => [ 'name' => 'LLVM', 'group' => null, 'color' => '#185619', 'ace' => 'text', 'cm' => null, ], 'lol' => [ 'name' => 'LOLCODE', 'group' => null, 'color' => '#cc9900', 'ace' => 'text', 'cm' => null, ], 'lsl' => [ 'name' => 'LSL', 'group' => null, 'color' => '#3d9970', 'ace' => 'lsl', 'cm' => null, ], 'lslp' => [ 'name' => 'LSL', 'group' => null, 'color' => '#3d9970', 'ace' => 'lsl', 'cm' => null, ], 'lvproj' => [ 'name' => 'LabVIEW', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'lasso' => [ 'name' => 'Lasso', 'group' => null, 'color' => '#999999', 'ace' => 'text', 'cm' => null, ], 'las' => [ 'name' => 'Lasso', 'group' => null, 'color' => '#999999', 'ace' => 'text', 'cm' => null, ], 'lasso8' => [ 'name' => 'Lasso', 'group' => null, 'color' => '#999999', 'ace' => 'text', 'cm' => null, ], 'lasso9' => [ 'name' => 'Lasso', 'group' => null, 'color' => '#999999', 'ace' => 'text', 'cm' => null, ], 'ldml' => [ 'name' => 'Lasso', 'group' => null, 'color' => '#999999', 'ace' => 'text', 'cm' => null, ], 'latte' => [ 'name' => 'Latte', 'group' => 'HTML', 'color' => null, 'ace' => 'smarty', 'cm' => 'smarty', ], 'lean' => [ 'name' => 'Lean', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'hlean' => [ 'name' => 'Lean', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'less' => [ 'name' => 'Less', 'group' => 'CSS', 'color' => null, 'ace' => 'less', 'cm' => 'css', ], 'lex' => [ 'name' => 'Lex', 'group' => null, 'color' => '#DBCA00', 'ace' => 'text', 'cm' => null, ], 'ly' => [ 'name' => 'LilyPond', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'ily' => [ 'name' => 'LilyPond', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'm' => [ 'name' => 'Objective-C', 'group' => null, 'color' => '#438eff', 'ace' => 'objectivec', 'cm' => 'clike', ], 'ld' => [ 'name' => 'Linker Script', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'lds' => [ 'name' => 'Linker Script', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'x' => [ 'name' => 'RPC', 'group' => null, 'color' => null, 'ace' => 'c_cpp', 'cm' => null, ], 'liquid' => [ 'name' => 'Liquid', 'group' => null, 'color' => null, 'ace' => 'liquid', 'cm' => null, ], 'lagda' => [ 'name' => 'Literate Agda', 'group' => 'Agda', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'litcoffee' => [ 'name' => 'Literate CoffeeScript', 'group' => 'CoffeeScript', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'lhs' => [ 'name' => 'Literate Haskell', 'group' => 'Haskell', 'color' => null, 'ace' => 'text', 'cm' => 'haskell-literate', ], 'ls' => [ 'name' => 'LoomScript', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], '_ls' => [ 'name' => 'LiveScript', 'group' => null, 'color' => '#499886', 'ace' => 'livescript', 'cm' => 'livescript', ], 'xm' => [ 'name' => 'Logos', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'xi' => [ 'name' => 'Logos', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'lgt' => [ 'name' => 'Logtalk', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'logtalk' => [ 'name' => 'Logtalk', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'lookml' => [ 'name' => 'LookML', 'group' => null, 'color' => '#652B81', 'ace' => 'yaml', 'cm' => 'yaml', ], 'model.lkml' => [ 'name' => 'LookML', 'group' => null, 'color' => '#652B81', 'ace' => 'yaml', 'cm' => 'yaml', ], 'view.lkml' => [ 'name' => 'LookML', 'group' => null, 'color' => '#652B81', 'ace' => 'yaml', 'cm' => 'yaml', ], 'lua' => [ 'name' => 'Lua', 'group' => null, 'color' => '#000080', 'ace' => 'lua', 'cm' => 'lua', ], 'fcgi' => [ 'name' => 'Shell', 'group' => null, 'color' => '#89e051', 'ace' => 'sh', 'cm' => 'shell', ], 'nse' => [ 'name' => 'Lua', 'group' => null, 'color' => '#000080', 'ace' => 'lua', 'cm' => 'lua', ], 'p8' => [ 'name' => 'Lua', 'group' => null, 'color' => '#000080', 'ace' => 'lua', 'cm' => 'lua', ], 'pd_lua' => [ 'name' => 'Lua', 'group' => null, 'color' => '#000080', 'ace' => 'lua', 'cm' => 'lua', ], 'rbxs' => [ 'name' => 'Lua', 'group' => null, 'color' => '#000080', 'ace' => 'lua', 'cm' => 'lua', ], 'wlua' => [ 'name' => 'Lua', 'group' => null, 'color' => '#000080', 'ace' => 'lua', 'cm' => 'lua', ], 'mumps' => [ 'name' => 'M', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'mumps', ], 'm4' => [ 'name' => 'M4Sugar', 'group' => 'M4', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'ms' => [ 'name' => 'Unix Assembly', 'group' => 'Assembly', 'color' => null, 'ace' => 'assembly_x86', 'cm' => null, ], 'mcr' => [ 'name' => 'MAXScript', 'group' => null, 'color' => '#00a6a6', 'ace' => 'text', 'cm' => null, ], 'mq4' => [ 'name' => 'MQL4', 'group' => null, 'color' => '#62A8D6', 'ace' => 'c_cpp', 'cm' => null, ], 'mqh' => [ 'name' => 'MQL5', 'group' => null, 'color' => '#4A76B8', 'ace' => 'c_cpp', 'cm' => null, ], 'mq5' => [ 'name' => 'MQL5', 'group' => null, 'color' => '#4A76B8', 'ace' => 'c_cpp', 'cm' => null, ], 'mtml' => [ 'name' => 'MTML', 'group' => null, 'color' => '#b7e1f4', 'ace' => 'html', 'cm' => 'htmlmixed', ], 'muf' => [ 'name' => 'MUF', 'group' => 'Forth', 'color' => null, 'ace' => 'forth', 'cm' => 'forth', ], 'mak' => [ 'name' => 'Makefile', 'group' => null, 'color' => '#427819', 'ace' => 'makefile', 'cm' => 'cmake', ], 'make' => [ 'name' => 'Makefile', 'group' => null, 'color' => '#427819', 'ace' => 'makefile', 'cm' => 'cmake', ], 'mk' => [ 'name' => 'Makefile', 'group' => null, 'color' => '#427819', 'ace' => 'makefile', 'cm' => 'cmake', ], 'mkfile' => [ 'name' => 'Makefile', 'group' => null, 'color' => '#427819', 'ace' => 'makefile', 'cm' => 'cmake', ], 'mako' => [ 'name' => 'Mako', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'mao' => [ 'name' => 'Mako', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'markdown' => [ 'name' => 'Markdown', 'group' => null, 'color' => null, 'ace' => 'markdown', 'cm' => 'gfm', ], 'mdown' => [ 'name' => 'Markdown', 'group' => null, 'color' => null, 'ace' => 'markdown', 'cm' => 'gfm', ], 'mdwn' => [ 'name' => 'Markdown', 'group' => null, 'color' => null, 'ace' => 'markdown', 'cm' => 'gfm', ], 'mkd' => [ 'name' => 'Markdown', 'group' => null, 'color' => null, 'ace' => 'markdown', 'cm' => 'gfm', ], 'mkdn' => [ 'name' => 'Markdown', 'group' => null, 'color' => null, 'ace' => 'markdown', 'cm' => 'gfm', ], 'mkdown' => [ 'name' => 'Markdown', 'group' => null, 'color' => null, 'ace' => 'markdown', 'cm' => 'gfm', ], 'ronn' => [ 'name' => 'Markdown', 'group' => null, 'color' => null, 'ace' => 'markdown', 'cm' => 'gfm', ], 'workbook' => [ 'name' => 'Markdown', 'group' => null, 'color' => null, 'ace' => 'markdown', 'cm' => 'gfm', ], 'marko' => [ 'name' => 'Marko', 'group' => 'HTML', 'color' => null, 'ace' => 'text', 'cm' => 'htmlmixed', ], 'mask' => [ 'name' => 'Mask', 'group' => null, 'color' => '#f97732', 'ace' => 'mask', 'cm' => null, ], 'mathematica' => [ 'name' => 'Mathematica', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'mathematica', ], 'cdf' => [ 'name' => 'Mathematica', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'mathematica', ], 'ma' => [ 'name' => 'Mathematica', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'mathematica', ], 'mt' => [ 'name' => 'Mathematica', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'mathematica', ], 'nb' => [ 'name' => 'Text', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'nbp' => [ 'name' => 'Mathematica', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'mathematica', ], 'wl' => [ 'name' => 'Mathematica', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'mathematica', ], 'wlt' => [ 'name' => 'Mathematica', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'mathematica', ], 'matlab' => [ 'name' => 'Matlab', 'group' => null, 'color' => '#e16737', 'ace' => 'matlab', 'cm' => 'octave', ], 'maxpat' => [ 'name' => 'Max', 'group' => null, 'color' => '#c4a79c', 'ace' => 'json', 'cm' => 'javascript', ], 'maxhelp' => [ 'name' => 'Max', 'group' => null, 'color' => '#c4a79c', 'ace' => 'json', 'cm' => 'javascript', ], 'maxproj' => [ 'name' => 'Max', 'group' => null, 'color' => '#c4a79c', 'ace' => 'json', 'cm' => 'javascript', ], 'mxt' => [ 'name' => 'Max', 'group' => null, 'color' => '#c4a79c', 'ace' => 'json', 'cm' => 'javascript', ], 'pat' => [ 'name' => 'Max', 'group' => null, 'color' => '#c4a79c', 'ace' => 'json', 'cm' => 'javascript', ], 'mediawiki' => [ 'name' => 'MediaWiki', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'wiki' => [ 'name' => 'MediaWiki', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'moo' => [ 'name' => 'Moocode', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'metal' => [ 'name' => 'Metal', 'group' => null, 'color' => '#8f14e9', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'minid' => [ 'name' => 'MiniD', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'druby' => [ 'name' => 'Mirah', 'group' => null, 'color' => '#c7a938', 'ace' => 'ruby', 'cm' => 'ruby', ], 'duby' => [ 'name' => 'Mirah', 'group' => null, 'color' => '#c7a938', 'ace' => 'ruby', 'cm' => 'ruby', ], 'mirah' => [ 'name' => 'Mirah', 'group' => null, 'color' => '#c7a938', 'ace' => 'ruby', 'cm' => 'ruby', ], 'mo' => [ 'name' => 'Modelica', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'modelica', ], 'mms' => [ 'name' => 'Module Management System', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'mmk' => [ 'name' => 'Module Management System', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'monkey' => [ 'name' => 'Monkey', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'monkey2' => [ 'name' => 'Monkey', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'moon' => [ 'name' => 'MoonScript', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'myt' => [ 'name' => 'Myghty', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'ncl' => [ 'name' => 'Text', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'nl' => [ 'name' => 'NewLisp', 'group' => null, 'color' => '#87AED7', 'ace' => 'lisp', 'cm' => 'commonlisp', ], 'nsi' => [ 'name' => 'NSIS', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'nsis', ], 'nsh' => [ 'name' => 'NSIS', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'nsis', ], 'ne' => [ 'name' => 'Nearley', 'group' => null, 'color' => '#990000', 'ace' => 'text', 'cm' => null, ], 'nearley' => [ 'name' => 'Nearley', 'group' => null, 'color' => '#990000', 'ace' => 'text', 'cm' => null, ], 'n' => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], 'axs' => [ 'name' => 'NetLinx', 'group' => null, 'color' => '#0aa0ff', 'ace' => 'text', 'cm' => null, ], 'axi' => [ 'name' => 'NetLinx', 'group' => null, 'color' => '#0aa0ff', 'ace' => 'text', 'cm' => null, ], 'axs.erb' => [ 'name' => 'NetLinx+ERB', 'group' => null, 'color' => '#747faa', 'ace' => 'text', 'cm' => null, ], 'axi.erb' => [ 'name' => 'NetLinx+ERB', 'group' => null, 'color' => '#747faa', 'ace' => 'text', 'cm' => null, ], 'nlogo' => [ 'name' => 'NetLogo', 'group' => null, 'color' => '#ff6375', 'ace' => 'lisp', 'cm' => 'commonlisp', ], 'nf' => [ 'name' => 'Nextflow', 'group' => null, 'color' => '#3ac486', 'ace' => 'groovy', 'cm' => null, ], 'nginxconf' => [ 'name' => 'Nginx', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'nginx', ], 'nim' => [ 'name' => 'Nim', 'group' => null, 'color' => '#37775b', 'ace' => 'text', 'cm' => null, ], 'nimrod' => [ 'name' => 'Nim', 'group' => null, 'color' => '#37775b', 'ace' => 'text', 'cm' => null, ], 'ninja' => [ 'name' => 'Ninja', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'nit' => [ 'name' => 'Nit', 'group' => null, 'color' => '#009917', 'ace' => 'text', 'cm' => null, ], 'nix' => [ 'name' => 'Nix', 'group' => null, 'color' => '#7e7eff', 'ace' => 'nix', 'cm' => null, ], 'nu' => [ 'name' => 'Nu', 'group' => null, 'color' => '#c9df40', 'ace' => 'scheme', 'cm' => 'scheme', ], 'numpy' => [ 'name' => 'NumPy', 'group' => 'Python', 'color' => null, 'ace' => 'text', 'cm' => 'python', ], 'numpyw' => [ 'name' => 'NumPy', 'group' => 'Python', 'color' => null, 'ace' => 'text', 'cm' => 'python', ], 'numsc' => [ 'name' => 'NumPy', 'group' => 'Python', 'color' => null, 'ace' => 'text', 'cm' => 'python', ], 'ml' => [ 'name' => 'OCaml', 'group' => null, 'color' => '#3be133', 'ace' => 'ocaml', 'cm' => 'mllike', ], 'eliom' => [ 'name' => 'OCaml', 'group' => null, 'color' => '#3be133', 'ace' => 'ocaml', 'cm' => 'mllike', ], 'eliomi' => [ 'name' => 'OCaml', 'group' => null, 'color' => '#3be133', 'ace' => 'ocaml', 'cm' => 'mllike', ], 'ml4' => [ 'name' => 'OCaml', 'group' => null, 'color' => '#3be133', 'ace' => 'ocaml', 'cm' => 'mllike', ], 'mli' => [ 'name' => 'OCaml', 'group' => null, 'color' => '#3be133', 'ace' => 'ocaml', 'cm' => 'mllike', ], 'mll' => [ 'name' => 'OCaml', 'group' => null, 'color' => '#3be133', 'ace' => 'ocaml', 'cm' => 'mllike', ], 'mly' => [ 'name' => 'OCaml', 'group' => null, 'color' => '#3be133', 'ace' => 'ocaml', 'cm' => 'mllike', ], 'objdump' => [ 'name' => 'ObjDump', 'group' => null, 'color' => null, 'ace' => 'assembly_x86', 'cm' => null, ], 'mm' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'sj' => [ 'name' => 'Objective-J', 'group' => null, 'color' => '#ff0c5a', 'ace' => 'text', 'cm' => null, ], 'omgrofl' => [ 'name' => 'Omgrofl', 'group' => null, 'color' => '#cabbff', 'ace' => 'text', 'cm' => null, ], 'opa' => [ 'name' => 'Opa', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'opal' => [ 'name' => 'Opal', 'group' => null, 'color' => '#f7ede0', 'ace' => 'text', 'cm' => null, ], 'opencl' => [ 'name' => 'OpenCL', 'group' => 'C', 'color' => null, 'ace' => 'c_cpp', 'cm' => 'clike', ], 'p' => [ 'name' => 'OpenEdge ABL', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'scad' => [ 'name' => 'OpenSCAD', 'group' => null, 'color' => null, 'ace' => 'scad', 'cm' => null, ], 'fea' => [ 'name' => 'OpenType Feature File', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'org' => [ 'name' => 'Org', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'ox' => [ 'name' => 'Ox', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'oxh' => [ 'name' => 'Ox', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'oxo' => [ 'name' => 'Ox', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'oxygene' => [ 'name' => 'Oxygene', 'group' => null, 'color' => '#cdd0e3', 'ace' => 'text', 'cm' => null, ], 'oz' => [ 'name' => 'Oz', 'group' => null, 'color' => '#fab738', 'ace' => 'text', 'cm' => 'oz', ], 'p4' => [ 'name' => 'P4', 'group' => null, 'color' => '#7055b5', 'ace' => 'text', 'cm' => null, ], 'pwn' => [ 'name' => 'PAWN', 'group' => null, 'color' => '#dbb284', 'ace' => 'text', 'cm' => null, ], 'aw' => [ 'name' => 'PHP', 'group' => null, 'color' => '#4F5D95', 'ace' => 'php', 'cm' => 'php', ], 'ctp' => [ 'name' => 'PHP', 'group' => null, 'color' => '#4F5D95', 'ace' => 'php', 'cm' => 'php', ], 'php3' => [ 'name' => 'PHP', 'group' => null, 'color' => '#4F5D95', 'ace' => 'php', 'cm' => 'php', ], 'php4' => [ 'name' => 'PHP', 'group' => null, 'color' => '#4F5D95', 'ace' => 'php', 'cm' => 'php', ], 'php5' => [ 'name' => 'PHP', 'group' => null, 'color' => '#4F5D95', 'ace' => 'php', 'cm' => 'php', ], 'phps' => [ 'name' => 'PHP', 'group' => null, 'color' => '#4F5D95', 'ace' => 'php', 'cm' => 'php', ], 'phpt' => [ 'name' => 'PHP', 'group' => null, 'color' => '#4F5D95', 'ace' => 'php', 'cm' => 'php', ], 'pls' => [ 'name' => 'PLSQL', 'group' => null, 'color' => '#dad8d8', 'ace' => 'sql', 'cm' => 'sql', ], 'bdy' => [ 'name' => 'PLSQL', 'group' => null, 'color' => '#dad8d8', 'ace' => 'sql', 'cm' => 'sql', ], 'ddl' => [ 'name' => 'SQL', 'group' => null, 'color' => null, 'ace' => 'sql', 'cm' => 'sql', ], 'fnc' => [ 'name' => 'PLSQL', 'group' => null, 'color' => '#dad8d8', 'ace' => 'sql', 'cm' => 'sql', ], 'pck' => [ 'name' => 'PLSQL', 'group' => null, 'color' => '#dad8d8', 'ace' => 'sql', 'cm' => 'sql', ], 'pkb' => [ 'name' => 'PLSQL', 'group' => null, 'color' => '#dad8d8', 'ace' => 'sql', 'cm' => 'sql', ], 'pks' => [ 'name' => 'PLSQL', 'group' => null, 'color' => '#dad8d8', 'ace' => 'sql', 'cm' => 'sql', ], 'plb' => [ 'name' => 'PLSQL', 'group' => null, 'color' => '#dad8d8', 'ace' => 'sql', 'cm' => 'sql', ], 'plsql' => [ 'name' => 'PLSQL', 'group' => null, 'color' => '#dad8d8', 'ace' => 'sql', 'cm' => 'sql', ], 'prc' => [ 'name' => 'SQL', 'group' => null, 'color' => null, 'ace' => 'sql', 'cm' => 'sql', ], 'spc' => [ 'name' => 'PLSQL', 'group' => null, 'color' => '#dad8d8', 'ace' => 'sql', 'cm' => 'sql', ], 'sql' => [ 'name' => 'SQLPL', 'group' => null, 'color' => null, 'ace' => 'sql', 'cm' => 'sql', ], 'tpb' => [ 'name' => 'PLSQL', 'group' => null, 'color' => '#dad8d8', 'ace' => 'sql', 'cm' => 'sql', ], 'tps' => [ 'name' => 'PLSQL', 'group' => null, 'color' => '#dad8d8', 'ace' => 'sql', 'cm' => 'sql', ], 'trg' => [ 'name' => 'PLSQL', 'group' => null, 'color' => '#dad8d8', 'ace' => 'sql', 'cm' => 'sql', ], 'vw' => [ 'name' => 'PLSQL', 'group' => null, 'color' => '#dad8d8', 'ace' => 'sql', 'cm' => 'sql', ], 'pov' => [ 'name' => 'POV-Ray SDL', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'pan' => [ 'name' => 'Pan', 'group' => null, 'color' => '#cc0000', 'ace' => 'text', 'cm' => null, ], 'psc' => [ 'name' => 'Papyrus', 'group' => null, 'color' => '#6600cc', 'ace' => 'text', 'cm' => null, ], 'parrot' => [ 'name' => 'Parrot', 'group' => null, 'color' => '#f3ca0a', 'ace' => 'text', 'cm' => null, ], 'pasm' => [ 'name' => 'Parrot Assembly', 'group' => 'Parrot', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'pir' => [ 'name' => 'Parrot Internal Representation', 'group' => 'Parrot', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'pas' => [ 'name' => 'Pascal', 'group' => null, 'color' => '#E3F171', 'ace' => 'pascal', 'cm' => 'pascal', ], 'dfm' => [ 'name' => 'Pascal', 'group' => null, 'color' => '#E3F171', 'ace' => 'pascal', 'cm' => 'pascal', ], 'dpr' => [ 'name' => 'Pascal', 'group' => null, 'color' => '#E3F171', 'ace' => 'pascal', 'cm' => 'pascal', ], 'lpr' => [ 'name' => 'Pascal', 'group' => null, 'color' => '#E3F171', 'ace' => 'pascal', 'cm' => 'pascal', ], 'pascal' => [ 'name' => 'Pascal', 'group' => null, 'color' => '#E3F171', 'ace' => 'pascal', 'cm' => 'pascal', ], 'pp' => [ 'name' => 'Puppet', 'group' => null, 'color' => '#302B6D', 'ace' => 'text', 'cm' => 'puppet', ], 'pep' => [ 'name' => 'Pep8', 'group' => null, 'color' => '#C76F5B', 'ace' => 'text', 'cm' => null, ], 'pl' => [ 'name' => 'Prolog', 'group' => null, 'color' => '#74283c', 'ace' => 'prolog', 'cm' => null, ], 'al' => [ 'name' => 'Perl', 'group' => null, 'color' => '#0298c3', 'ace' => 'perl', 'cm' => 'perl', ], 'cgi' => [ 'name' => 'Shell', 'group' => null, 'color' => '#89e051', 'ace' => 'sh', 'cm' => 'shell', ], 'perl' => [ 'name' => 'Perl', 'group' => null, 'color' => '#0298c3', 'ace' => 'perl', 'cm' => 'perl', ], 'ph' => [ 'name' => 'Perl', 'group' => null, 'color' => '#0298c3', 'ace' => 'perl', 'cm' => 'perl', ], 'plx' => [ 'name' => 'Perl', 'group' => null, 'color' => '#0298c3', 'ace' => 'perl', 'cm' => 'perl', ], 'pm' => [ 'name' => 'X PixMap', 'group' => 'C', 'color' => null, 'ace' => 'c_cpp', 'cm' => 'clike', ], 'psgi' => [ 'name' => 'Perl', 'group' => null, 'color' => '#0298c3', 'ace' => 'perl', 'cm' => 'perl', ], 't' => [ 'name' => 'Turing', 'group' => null, 'color' => '#cf142b', 'ace' => 'text', 'cm' => null, ], '6pl' => [ 'name' => 'Perl 6', 'group' => null, 'color' => '#0000fb', 'ace' => 'perl', 'cm' => 'perl', ], '6pm' => [ 'name' => 'Perl 6', 'group' => null, 'color' => '#0000fb', 'ace' => 'perl', 'cm' => 'perl', ], 'nqp' => [ 'name' => 'Perl 6', 'group' => null, 'color' => '#0000fb', 'ace' => 'perl', 'cm' => 'perl', ], 'p6' => [ 'name' => 'Perl 6', 'group' => null, 'color' => '#0000fb', 'ace' => 'perl', 'cm' => 'perl', ], 'p6l' => [ 'name' => 'Perl 6', 'group' => null, 'color' => '#0000fb', 'ace' => 'perl', 'cm' => 'perl', ], 'p6m' => [ 'name' => 'Perl 6', 'group' => null, 'color' => '#0000fb', 'ace' => 'perl', 'cm' => 'perl', ], 'pl6' => [ 'name' => 'Perl 6', 'group' => null, 'color' => '#0000fb', 'ace' => 'perl', 'cm' => 'perl', ], 'pm6' => [ 'name' => 'Perl 6', 'group' => null, 'color' => '#0000fb', 'ace' => 'perl', 'cm' => 'perl', ], 'pic' => [ 'name' => 'Pic', 'group' => 'Roff', 'color' => null, 'ace' => 'text', 'cm' => 'troff', ], 'chem' => [ 'name' => 'Pic', 'group' => 'Roff', 'color' => null, 'ace' => 'text', 'cm' => 'troff', ], 'pkl' => [ 'name' => 'Pickle', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'pig' => [ 'name' => 'PigLatin', 'group' => null, 'color' => '#fcd7de', 'ace' => 'text', 'cm' => null, ], 'pike' => [ 'name' => 'Pike', 'group' => null, 'color' => '#005390', 'ace' => 'text', 'cm' => null, ], 'pmod' => [ 'name' => 'Pike', 'group' => null, 'color' => '#005390', 'ace' => 'text', 'cm' => null, ], 'pod' => [ 'name' => 'Pod', 'group' => null, 'color' => null, 'ace' => 'perl', 'cm' => 'perl', ], 'pogo' => [ 'name' => 'PogoScript', 'group' => null, 'color' => '#d80074', 'ace' => 'text', 'cm' => null, ], 'pony' => [ 'name' => 'Pony', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'pcss' => [ 'name' => 'PostCSS', 'group' => 'CSS', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'ps' => [ 'name' => 'PostScript', 'group' => null, 'color' => '#da291c', 'ace' => 'text', 'cm' => null, ], 'eps' => [ 'name' => 'PostScript', 'group' => null, 'color' => '#da291c', 'ace' => 'text', 'cm' => null, ], 'pfa' => [ 'name' => 'PostScript', 'group' => null, 'color' => '#da291c', 'ace' => 'text', 'cm' => null, ], 'pbt' => [ 'name' => 'PowerBuilder', 'group' => null, 'color' => '#8f0f8d', 'ace' => 'text', 'cm' => null, ], 'sra' => [ 'name' => 'PowerBuilder', 'group' => null, 'color' => '#8f0f8d', 'ace' => 'text', 'cm' => null, ], 'sru' => [ 'name' => 'PowerBuilder', 'group' => null, 'color' => '#8f0f8d', 'ace' => 'text', 'cm' => null, ], 'srw' => [ 'name' => 'PowerBuilder', 'group' => null, 'color' => '#8f0f8d', 'ace' => 'text', 'cm' => null, ], 'ps1' => [ 'name' => 'PowerShell', 'group' => null, 'color' => '#012456', 'ace' => 'powershell', 'cm' => 'powershell', ], 'psd1' => [ 'name' => 'PowerShell', 'group' => null, 'color' => '#012456', 'ace' => 'powershell', 'cm' => 'powershell', ], 'psm1' => [ 'name' => 'PowerShell', 'group' => null, 'color' => '#012456', 'ace' => 'powershell', 'cm' => 'powershell', ], 'pde' => [ 'name' => 'Processing', 'group' => null, 'color' => '#0096D8', 'ace' => 'text', 'cm' => null, ], 'prolog' => [ 'name' => 'Prolog', 'group' => null, 'color' => '#74283c', 'ace' => 'prolog', 'cm' => null, ], 'yap' => [ 'name' => 'Prolog', 'group' => null, 'color' => '#74283c', 'ace' => 'prolog', 'cm' => null, ], 'spin' => [ 'name' => 'Propeller Spin', 'group' => null, 'color' => '#7fa2a7', 'ace' => 'text', 'cm' => null, ], 'proto' => [ 'name' => 'Protocol Buffer', 'group' => null, 'color' => null, 'ace' => 'protobuf', 'cm' => 'protobuf', ], 'pub' => [ 'name' => 'Public Key', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'asciiarmor', ], 'jade' => [ 'name' => 'Pug', 'group' => 'HTML', 'color' => null, 'ace' => 'jade', 'cm' => 'pug', ], 'pug' => [ 'name' => 'Pug', 'group' => 'HTML', 'color' => null, 'ace' => 'jade', 'cm' => 'pug', ], 'pd' => [ 'name' => 'Pure Data', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'pb' => [ 'name' => 'PureBasic', 'group' => null, 'color' => '#5a6986', 'ace' => 'text', 'cm' => null, ], 'pbi' => [ 'name' => 'PureBasic', 'group' => null, 'color' => '#5a6986', 'ace' => 'text', 'cm' => null, ], 'purs' => [ 'name' => 'PureScript', 'group' => null, 'color' => '#1D222D', 'ace' => 'haskell', 'cm' => 'haskell', ], 'py' => [ 'name' => 'Python', 'group' => null, 'color' => '#3572A5', 'ace' => 'python', 'cm' => 'python', ], 'bzl' => [ 'name' => 'Python', 'group' => null, 'color' => '#3572A5', 'ace' => 'python', 'cm' => 'python', ], 'gyp' => [ 'name' => 'Python', 'group' => null, 'color' => '#3572A5', 'ace' => 'python', 'cm' => 'python', ], 'gypi' => [ 'name' => 'Python', 'group' => null, 'color' => '#3572A5', 'ace' => 'python', 'cm' => 'python', ], 'lmi' => [ 'name' => 'Python', 'group' => null, 'color' => '#3572A5', 'ace' => 'python', 'cm' => 'python', ], 'py3' => [ 'name' => 'Python', 'group' => null, 'color' => '#3572A5', 'ace' => 'python', 'cm' => 'python', ], 'pyde' => [ 'name' => 'Python', 'group' => null, 'color' => '#3572A5', 'ace' => 'python', 'cm' => 'python', ], 'pyi' => [ 'name' => 'Python', 'group' => null, 'color' => '#3572A5', 'ace' => 'python', 'cm' => 'python', ], 'pyp' => [ 'name' => 'Python', 'group' => null, 'color' => '#3572A5', 'ace' => 'python', 'cm' => 'python', ], 'pyt' => [ 'name' => 'Python', 'group' => null, 'color' => '#3572A5', 'ace' => 'python', 'cm' => 'python', ], 'pyw' => [ 'name' => 'Python', 'group' => null, 'color' => '#3572A5', 'ace' => 'python', 'cm' => 'python', ], 'rpy' => [ 'name' => 'Ren\'Py', 'group' => null, 'color' => '#ff7f7f', 'ace' => 'python', 'cm' => null, ], 'spec' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'tac' => [ 'name' => 'Python', 'group' => null, 'color' => '#3572A5', 'ace' => 'python', 'cm' => 'python', ], 'wsgi' => [ 'name' => 'Python', 'group' => null, 'color' => '#3572A5', 'ace' => 'python', 'cm' => 'python', ], 'xpy' => [ 'name' => 'Python', 'group' => null, 'color' => '#3572A5', 'ace' => 'python', 'cm' => 'python', ], 'pytb' => [ 'name' => 'Python traceback', 'group' => 'Python', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'qml' => [ 'name' => 'QML', 'group' => null, 'color' => '#44a51c', 'ace' => 'text', 'cm' => null, ], 'qbs' => [ 'name' => 'QML', 'group' => null, 'color' => '#44a51c', 'ace' => 'text', 'cm' => null, ], 'pri' => [ 'name' => 'QMake', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'r' => [ 'name' => 'Rebol', 'group' => null, 'color' => '#358a5b', 'ace' => 'text', 'cm' => null, ], 'rd' => [ 'name' => 'R', 'group' => null, 'color' => '#198CE7', 'ace' => 'r', 'cm' => 'r', ], 'rsx' => [ 'name' => 'R', 'group' => null, 'color' => '#198CE7', 'ace' => 'r', 'cm' => 'r', ], 'raml' => [ 'name' => 'RAML', 'group' => null, 'color' => '#77d9fb', 'ace' => 'yaml', 'cm' => 'yaml', ], 'rdoc' => [ 'name' => 'RDoc', 'group' => null, 'color' => null, 'ace' => 'rdoc', 'cm' => null, ], 'rbbas' => [ 'name' => 'REALbasic', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'rbfrm' => [ 'name' => 'REALbasic', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'rbmnu' => [ 'name' => 'REALbasic', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'rbres' => [ 'name' => 'REALbasic', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'rbtbar' => [ 'name' => 'REALbasic', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'rbuistate' => [ 'name' => 'REALbasic', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'rexx' => [ 'name' => 'REXX', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'pprx' => [ 'name' => 'REXX', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'rex' => [ 'name' => 'REXX', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'rhtml' => [ 'name' => 'RHTML', 'group' => 'HTML', 'color' => null, 'ace' => 'rhtml', 'cm' => 'htmlembedded', ], 'rmd' => [ 'name' => 'RMarkdown', 'group' => null, 'color' => null, 'ace' => 'markdown', 'cm' => 'gfm', ], 'rnh' => [ 'name' => 'RUNOFF', 'group' => null, 'color' => '#665a4e', 'ace' => 'text', 'cm' => null, ], 'rno' => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], 'rkt' => [ 'name' => 'Racket', 'group' => null, 'color' => '#22228f', 'ace' => 'lisp', 'cm' => null, ], 'rktd' => [ 'name' => 'Racket', 'group' => null, 'color' => '#22228f', 'ace' => 'lisp', 'cm' => null, ], 'rktl' => [ 'name' => 'Racket', 'group' => null, 'color' => '#22228f', 'ace' => 'lisp', 'cm' => null, ], 'scrbl' => [ 'name' => 'Racket', 'group' => null, 'color' => '#22228f', 'ace' => 'lisp', 'cm' => null, ], 'rl' => [ 'name' => 'Ragel', 'group' => null, 'color' => '#9d5200', 'ace' => 'text', 'cm' => null, ], 'rsc' => [ 'name' => 'Rascal', 'group' => null, 'color' => '#fffaa0', 'ace' => 'text', 'cm' => null, ], 'raw' => [ 'name' => 'Raw token data', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'rei' => [ 'name' => 'Reason', 'group' => 'OCaml', 'color' => null, 'ace' => 'rust', 'cm' => 'rust', ], 'reb' => [ 'name' => 'Rebol', 'group' => null, 'color' => '#358a5b', 'ace' => 'text', 'cm' => null, ], 'r2' => [ 'name' => 'Rebol', 'group' => null, 'color' => '#358a5b', 'ace' => 'text', 'cm' => null, ], 'r3' => [ 'name' => 'Rebol', 'group' => null, 'color' => '#358a5b', 'ace' => 'text', 'cm' => null, ], 'rebol' => [ 'name' => 'Rebol', 'group' => null, 'color' => '#358a5b', 'ace' => 'text', 'cm' => null, ], 'red' => [ 'name' => 'Red', 'group' => null, 'color' => '#f50000', 'ace' => 'text', 'cm' => null, ], 'reds' => [ 'name' => 'Red', 'group' => null, 'color' => '#f50000', 'ace' => 'text', 'cm' => null, ], 'cw' => [ 'name' => 'Redcode', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'regexp' => [ 'name' => 'Regular Expression', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'regex' => [ 'name' => 'Regular Expression', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'rs' => [ 'name' => 'Rust', 'group' => null, 'color' => '#dea584', 'ace' => 'rust', 'cm' => 'rust', ], 'rsh' => [ 'name' => 'RenderScript', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'ring' => [ 'name' => 'Ring', 'group' => null, 'color' => '#0e60e3', 'ace' => 'text', 'cm' => null, ], 'robot' => [ 'name' => 'RobotFramework', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'man' => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], 1 => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], '1in' => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], '1m' => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], '1x' => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], 2 => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], 3 => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], '3in' => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], '3m' => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], '3qt' => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], '3x' => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], 4 => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], 5 => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], 6 => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], 7 => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], 8 => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], 9 => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], 'me' => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], 'nr' => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], 'roff' => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], 'tmac' => [ 'name' => 'Roff', 'group' => null, 'color' => '#ecdebe', 'ace' => 'text', 'cm' => 'troff', ], 'rg' => [ 'name' => 'Rouge', 'group' => null, 'color' => '#cc0088', 'ace' => 'clojure', 'cm' => 'clojure', ], 'rb' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'builder' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'eye' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'gemspec' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'god' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'jbuilder' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'mspec' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'pluginspec' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'podspec' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'rabl' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'rake' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'rbuild' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'rbw' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'rbx' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'ru' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'ruby' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'thor' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'watchr' => [ 'name' => 'Ruby', 'group' => null, 'color' => '#701516', 'ace' => 'ruby', 'cm' => 'ruby', ], 'rs.in' => [ 'name' => 'Rust', 'group' => null, 'color' => '#dea584', 'ace' => 'rust', 'cm' => 'rust', ], 'sas' => [ 'name' => 'SAS', 'group' => null, 'color' => '#B34936', 'ace' => 'text', 'cm' => 'sas', ], 'scss' => [ 'name' => 'SCSS', 'group' => 'CSS', 'color' => null, 'ace' => 'scss', 'cm' => 'css', ], 'smt2' => [ 'name' => 'SMT', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'smt' => [ 'name' => 'SMT', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'sparql' => [ 'name' => 'SPARQL', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'sparql', ], 'rq' => [ 'name' => 'SPARQL', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'sparql', ], 'sqf' => [ 'name' => 'SQF', 'group' => null, 'color' => '#3F3F3F', 'ace' => 'text', 'cm' => null, ], 'hqf' => [ 'name' => 'SQF', 'group' => null, 'color' => '#3F3F3F', 'ace' => 'text', 'cm' => null, ], 'cql' => [ 'name' => 'SQL', 'group' => null, 'color' => null, 'ace' => 'sql', 'cm' => 'sql', ], 'mysql' => [ 'name' => 'SQL', 'group' => null, 'color' => null, 'ace' => 'sql', 'cm' => 'sql', ], 'tab' => [ 'name' => 'SQL', 'group' => null, 'color' => null, 'ace' => 'sql', 'cm' => 'sql', ], 'udf' => [ 'name' => 'SQL', 'group' => null, 'color' => null, 'ace' => 'sql', 'cm' => 'sql', ], 'viw' => [ 'name' => 'SQL', 'group' => null, 'color' => null, 'ace' => 'sql', 'cm' => 'sql', ], 'db2' => [ 'name' => 'SQLPL', 'group' => null, 'color' => null, 'ace' => 'sql', 'cm' => 'sql', ], 'srt' => [ 'name' => 'SubRip Text', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'ston' => [ 'name' => 'STON', 'group' => 'Smalltalk', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'svg' => [ 'name' => 'SVG', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'sage' => [ 'name' => 'Sage', 'group' => 'Python', 'color' => null, 'ace' => 'python', 'cm' => 'python', ], 'sagews' => [ 'name' => 'Sage', 'group' => 'Python', 'color' => null, 'ace' => 'python', 'cm' => 'python', ], 'sls' => [ 'name' => 'Scheme', 'group' => null, 'color' => '#1e4aec', 'ace' => 'scheme', 'cm' => 'scheme', ], 'sass' => [ 'name' => 'Sass', 'group' => 'CSS', 'color' => null, 'ace' => 'sass', 'cm' => 'sass', ], 'scala' => [ 'name' => 'Scala', 'group' => null, 'color' => '#c22d40', 'ace' => 'scala', 'cm' => 'clike', ], 'kojo' => [ 'name' => 'Scala', 'group' => null, 'color' => '#c22d40', 'ace' => 'scala', 'cm' => 'clike', ], 'sbt' => [ 'name' => 'Scala', 'group' => null, 'color' => '#c22d40', 'ace' => 'scala', 'cm' => 'clike', ], 'sc' => [ 'name' => 'SuperCollider', 'group' => null, 'color' => '#46390b', 'ace' => 'text', 'cm' => null, ], 'scaml' => [ 'name' => 'Scaml', 'group' => 'HTML', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'scm' => [ 'name' => 'Scheme', 'group' => null, 'color' => '#1e4aec', 'ace' => 'scheme', 'cm' => 'scheme', ], 'sld' => [ 'name' => 'Scheme', 'group' => null, 'color' => '#1e4aec', 'ace' => 'scheme', 'cm' => 'scheme', ], 'sps' => [ 'name' => 'Scheme', 'group' => null, 'color' => '#1e4aec', 'ace' => 'scheme', 'cm' => 'scheme', ], 'ss' => [ 'name' => 'Scheme', 'group' => null, 'color' => '#1e4aec', 'ace' => 'scheme', 'cm' => 'scheme', ], 'sci' => [ 'name' => 'Scilab', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'sce' => [ 'name' => 'Scilab', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'self' => [ 'name' => 'Self', 'group' => null, 'color' => '#0579aa', 'ace' => 'text', 'cm' => null, ], 'sh' => [ 'name' => 'Shell', 'group' => null, 'color' => '#89e051', 'ace' => 'sh', 'cm' => 'shell', ], 'bash' => [ 'name' => 'Shell', 'group' => null, 'color' => '#89e051', 'ace' => 'sh', 'cm' => 'shell', ], 'bats' => [ 'name' => 'Shell', 'group' => null, 'color' => '#89e051', 'ace' => 'sh', 'cm' => 'shell', ], 'command' => [ 'name' => 'Shell', 'group' => null, 'color' => '#89e051', 'ace' => 'sh', 'cm' => 'shell', ], 'ksh' => [ 'name' => 'Shell', 'group' => null, 'color' => '#89e051', 'ace' => 'sh', 'cm' => 'shell', ], 'sh.in' => [ 'name' => 'Shell', 'group' => null, 'color' => '#89e051', 'ace' => 'sh', 'cm' => 'shell', ], 'tmux' => [ 'name' => 'Shell', 'group' => null, 'color' => '#89e051', 'ace' => 'sh', 'cm' => 'shell', ], 'tool' => [ 'name' => 'Shell', 'group' => null, 'color' => '#89e051', 'ace' => 'sh', 'cm' => 'shell', ], 'zsh' => [ 'name' => 'Shell', 'group' => null, 'color' => '#89e051', 'ace' => 'sh', 'cm' => 'shell', ], 'sh-session' => [ 'name' => 'ShellSession', 'group' => null, 'color' => null, 'ace' => 'sh', 'cm' => 'shell', ], 'shen' => [ 'name' => 'Shen', 'group' => null, 'color' => '#120F14', 'ace' => 'text', 'cm' => null, ], 'sl' => [ 'name' => 'Slash', 'group' => null, 'color' => '#007eff', 'ace' => 'text', 'cm' => null, ], 'slim' => [ 'name' => 'Slim', 'group' => 'HTML', 'color' => null, 'ace' => 'text', 'cm' => 'slim', ], 'smali' => [ 'name' => 'Smali', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'tpl' => [ 'name' => 'Smarty', 'group' => null, 'color' => null, 'ace' => 'smarty', 'cm' => 'smarty', ], 'sp' => [ 'name' => 'SourcePawn', 'group' => null, 'color' => '#5c7611', 'ace' => 'text', 'cm' => null, ], 'sma' => [ 'name' => 'SourcePawn', 'group' => null, 'color' => '#5c7611', 'ace' => 'text', 'cm' => null, ], 'sfd' => [ 'name' => 'Spline Font Database', 'group' => null, 'color' => null, 'ace' => 'yaml', 'cm' => null, ], 'nut' => [ 'name' => 'Squirrel', 'group' => null, 'color' => '#800000', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'stan' => [ 'name' => 'Stan', 'group' => null, 'color' => '#b2011d', 'ace' => 'text', 'cm' => null, ], 'ML' => [ 'name' => 'Standard ML', 'group' => null, 'color' => '#dc566d', 'ace' => 'text', 'cm' => 'mllike', ], 'fun' => [ 'name' => 'Standard ML', 'group' => null, 'color' => '#dc566d', 'ace' => 'text', 'cm' => 'mllike', ], 'sig' => [ 'name' => 'Standard ML', 'group' => null, 'color' => '#dc566d', 'ace' => 'text', 'cm' => 'mllike', ], 'sml' => [ 'name' => 'Standard ML', 'group' => null, 'color' => '#dc566d', 'ace' => 'text', 'cm' => 'mllike', ], 'do' => [ 'name' => 'Stata', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'ado' => [ 'name' => 'Stata', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'doh' => [ 'name' => 'Stata', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'ihlp' => [ 'name' => 'Stata', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'mata' => [ 'name' => 'Stata', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'matah' => [ 'name' => 'Stata', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'sthlp' => [ 'name' => 'Stata', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'styl' => [ 'name' => 'Stylus', 'group' => 'CSS', 'color' => null, 'ace' => 'stylus', 'cm' => null, ], 'sublime-build' => [ 'name' => 'Sublime Text Config', 'group' => 'JSON', 'color' => null, 'ace' => 'javascript', 'cm' => 'javascript', ], 'sublime-commands' => [ 'name' => 'Sublime Text Config', 'group' => 'JSON', 'color' => null, 'ace' => 'javascript', 'cm' => 'javascript', ], 'sublime-completions' => [ 'name' => 'Sublime Text Config', 'group' => 'JSON', 'color' => null, 'ace' => 'javascript', 'cm' => 'javascript', ], 'sublime-keymap' => [ 'name' => 'Sublime Text Config', 'group' => 'JSON', 'color' => null, 'ace' => 'javascript', 'cm' => 'javascript', ], 'sublime-macro' => [ 'name' => 'Sublime Text Config', 'group' => 'JSON', 'color' => null, 'ace' => 'javascript', 'cm' => 'javascript', ], 'sublime-menu' => [ 'name' => 'Sublime Text Config', 'group' => 'JSON', 'color' => null, 'ace' => 'javascript', 'cm' => 'javascript', ], 'sublime-mousemap' => [ 'name' => 'Sublime Text Config', 'group' => 'JSON', 'color' => null, 'ace' => 'javascript', 'cm' => 'javascript', ], 'sublime-project' => [ 'name' => 'Sublime Text Config', 'group' => 'JSON', 'color' => null, 'ace' => 'javascript', 'cm' => 'javascript', ], 'sublime-settings' => [ 'name' => 'Sublime Text Config', 'group' => 'JSON', 'color' => null, 'ace' => 'javascript', 'cm' => 'javascript', ], 'sublime-theme' => [ 'name' => 'Sublime Text Config', 'group' => 'JSON', 'color' => null, 'ace' => 'javascript', 'cm' => 'javascript', ], 'sublime-workspace' => [ 'name' => 'Sublime Text Config', 'group' => 'JSON', 'color' => null, 'ace' => 'javascript', 'cm' => 'javascript', ], 'sublime_metrics' => [ 'name' => 'Sublime Text Config', 'group' => 'JSON', 'color' => null, 'ace' => 'javascript', 'cm' => 'javascript', ], 'sublime_session' => [ 'name' => 'Sublime Text Config', 'group' => 'JSON', 'color' => null, 'ace' => 'javascript', 'cm' => 'javascript', ], 'sss' => [ 'name' => 'SugarSS', 'group' => 'CSS', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'scd' => [ 'name' => 'SuperCollider', 'group' => null, 'color' => '#46390b', 'ace' => 'text', 'cm' => null, ], 'swift' => [ 'name' => 'Swift', 'group' => null, 'color' => '#ffac45', 'ace' => 'text', 'cm' => 'swift', ], 'sv' => [ 'name' => 'SystemVerilog', 'group' => null, 'color' => '#DAE1C2', 'ace' => 'verilog', 'cm' => 'verilog', ], 'svh' => [ 'name' => 'SystemVerilog', 'group' => null, 'color' => '#DAE1C2', 'ace' => 'verilog', 'cm' => 'verilog', ], 'vh' => [ 'name' => 'SystemVerilog', 'group' => null, 'color' => '#DAE1C2', 'ace' => 'verilog', 'cm' => 'verilog', ], '8xp' => [ 'name' => 'TI Program', 'group' => null, 'color' => '#A0AA87', 'ace' => 'text', 'cm' => null, ], '8xk' => [ 'name' => 'TI Program', 'group' => null, 'color' => '#A0AA87', 'ace' => 'text', 'cm' => null, ], '8xk.txt' => [ 'name' => 'TI Program', 'group' => null, 'color' => '#A0AA87', 'ace' => 'text', 'cm' => null, ], '8xp.txt' => [ 'name' => 'TI Program', 'group' => null, 'color' => '#A0AA87', 'ace' => 'text', 'cm' => null, ], 'tla' => [ 'name' => 'TLA', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'toml' => [ 'name' => 'TOML', 'group' => null, 'color' => null, 'ace' => 'toml', 'cm' => 'toml', ], 'txl' => [ 'name' => 'TXL', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'tcl' => [ 'name' => 'Tcl', 'group' => null, 'color' => '#e4cc98', 'ace' => 'tcl', 'cm' => 'tcl', ], 'adp' => [ 'name' => 'Tcl', 'group' => null, 'color' => '#e4cc98', 'ace' => 'tcl', 'cm' => 'tcl', ], 'tm' => [ 'name' => 'Tcl', 'group' => null, 'color' => '#e4cc98', 'ace' => 'tcl', 'cm' => 'tcl', ], 'tcsh' => [ 'name' => 'Tcsh', 'group' => 'Shell', 'color' => null, 'ace' => 'sh', 'cm' => 'shell', ], 'csh' => [ 'name' => 'Tcsh', 'group' => 'Shell', 'color' => null, 'ace' => 'sh', 'cm' => 'shell', ], 'tex' => [ 'name' => 'TeX', 'group' => null, 'color' => '#3D6117', 'ace' => 'tex', 'cm' => 'stex', ], 'aux' => [ 'name' => 'TeX', 'group' => null, 'color' => '#3D6117', 'ace' => 'tex', 'cm' => 'stex', ], 'bbx' => [ 'name' => 'TeX', 'group' => null, 'color' => '#3D6117', 'ace' => 'tex', 'cm' => 'stex', ], 'bib' => [ 'name' => 'TeX', 'group' => null, 'color' => '#3D6117', 'ace' => 'tex', 'cm' => 'stex', ], 'cbx' => [ 'name' => 'TeX', 'group' => null, 'color' => '#3D6117', 'ace' => 'tex', 'cm' => 'stex', ], 'dtx' => [ 'name' => 'TeX', 'group' => null, 'color' => '#3D6117', 'ace' => 'tex', 'cm' => 'stex', ], 'ins' => [ 'name' => 'TeX', 'group' => null, 'color' => '#3D6117', 'ace' => 'tex', 'cm' => 'stex', ], 'lbx' => [ 'name' => 'TeX', 'group' => null, 'color' => '#3D6117', 'ace' => 'tex', 'cm' => 'stex', ], 'ltx' => [ 'name' => 'TeX', 'group' => null, 'color' => '#3D6117', 'ace' => 'tex', 'cm' => 'stex', ], 'mkii' => [ 'name' => 'TeX', 'group' => null, 'color' => '#3D6117', 'ace' => 'tex', 'cm' => 'stex', ], 'mkiv' => [ 'name' => 'TeX', 'group' => null, 'color' => '#3D6117', 'ace' => 'tex', 'cm' => 'stex', ], 'mkvi' => [ 'name' => 'TeX', 'group' => null, 'color' => '#3D6117', 'ace' => 'tex', 'cm' => 'stex', ], 'sty' => [ 'name' => 'TeX', 'group' => null, 'color' => '#3D6117', 'ace' => 'tex', 'cm' => 'stex', ], 'toc' => [ 'name' => 'World of Warcraft Addon Data', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'tea' => [ 'name' => 'Tea', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'txt' => [ 'name' => 'Text', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'no' => [ 'name' => 'Text', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'textile' => [ 'name' => 'Textile', 'group' => null, 'color' => null, 'ace' => 'textile', 'cm' => 'textile', ], 'thrift' => [ 'name' => 'Thrift', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'tu' => [ 'name' => 'Turing', 'group' => null, 'color' => '#cf142b', 'ace' => 'text', 'cm' => null, ], 'ttl' => [ 'name' => 'Turtle', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'turtle', ], 'twig' => [ 'name' => 'Twig', 'group' => 'HTML', 'color' => null, 'ace' => 'twig', 'cm' => 'twig', ], 'tl' => [ 'name' => 'Type Language', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'ts' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'tsx' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'upc' => [ 'name' => 'Unified Parallel C', 'group' => 'C', 'color' => null, 'ace' => 'c_cpp', 'cm' => 'clike', ], 'anim' => [ 'name' => 'Unity3D Asset', 'group' => null, 'color' => null, 'ace' => 'yaml', 'cm' => 'yaml', ], 'asset' => [ 'name' => 'Unity3D Asset', 'group' => null, 'color' => null, 'ace' => 'yaml', 'cm' => 'yaml', ], 'mat' => [ 'name' => 'Unity3D Asset', 'group' => null, 'color' => null, 'ace' => 'yaml', 'cm' => 'yaml', ], 'meta' => [ 'name' => 'Unity3D Asset', 'group' => null, 'color' => null, 'ace' => 'yaml', 'cm' => 'yaml', ], 'prefab' => [ 'name' => 'Unity3D Asset', 'group' => null, 'color' => null, 'ace' => 'yaml', 'cm' => 'yaml', ], 'unity' => [ 'name' => 'Unity3D Asset', 'group' => null, 'color' => null, 'ace' => 'yaml', 'cm' => 'yaml', ], 's' => [ 'name' => 'Unix Assembly', 'group' => 'Assembly', 'color' => null, 'ace' => 'assembly_x86', 'cm' => null, ], 'uno' => [ 'name' => 'Uno', 'group' => null, 'color' => null, 'ace' => 'csharp', 'cm' => 'clike', ], 'uc' => [ 'name' => 'UnrealScript', 'group' => null, 'color' => '#a54c4d', 'ace' => 'java', 'cm' => 'clike', ], 'ur' => [ 'name' => 'UrWeb', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'urs' => [ 'name' => 'UrWeb', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'vcl' => [ 'name' => 'VCL', 'group' => null, 'color' => '#0298c3', 'ace' => 'text', 'cm' => null, ], 'vhdl' => [ 'name' => 'VHDL', 'group' => null, 'color' => '#adb2cb', 'ace' => 'vhdl', 'cm' => 'vhdl', ], 'vhd' => [ 'name' => 'VHDL', 'group' => null, 'color' => '#adb2cb', 'ace' => 'vhdl', 'cm' => 'vhdl', ], 'vhf' => [ 'name' => 'VHDL', 'group' => null, 'color' => '#adb2cb', 'ace' => 'vhdl', 'cm' => 'vhdl', ], 'vhi' => [ 'name' => 'VHDL', 'group' => null, 'color' => '#adb2cb', 'ace' => 'vhdl', 'cm' => 'vhdl', ], 'vho' => [ 'name' => 'VHDL', 'group' => null, 'color' => '#adb2cb', 'ace' => 'vhdl', 'cm' => 'vhdl', ], 'vhs' => [ 'name' => 'VHDL', 'group' => null, 'color' => '#adb2cb', 'ace' => 'vhdl', 'cm' => 'vhdl', ], 'vht' => [ 'name' => 'VHDL', 'group' => null, 'color' => '#adb2cb', 'ace' => 'vhdl', 'cm' => 'vhdl', ], 'vhw' => [ 'name' => 'VHDL', 'group' => null, 'color' => '#adb2cb', 'ace' => 'vhdl', 'cm' => 'vhdl', ], 'vala' => [ 'name' => 'Vala', 'group' => null, 'color' => '#fbe5cd', 'ace' => 'vala', 'cm' => null, ], 'vapi' => [ 'name' => 'Vala', 'group' => null, 'color' => '#fbe5cd', 'ace' => 'vala', 'cm' => null, ], 'veo' => [ 'name' => 'Verilog', 'group' => null, 'color' => '#b2b7f8', 'ace' => 'verilog', 'cm' => 'verilog', ], 'vim' => [ 'name' => 'Vim script', 'group' => null, 'color' => '#199f4b', 'ace' => 'text', 'cm' => null, ], 'vb' => [ 'name' => 'Visual Basic', 'group' => null, 'color' => '#945db7', 'ace' => 'text', 'cm' => 'vb', ], 'bas' => [ 'name' => 'Visual Basic', 'group' => null, 'color' => '#945db7', 'ace' => 'text', 'cm' => 'vb', ], 'frm' => [ 'name' => 'Visual Basic', 'group' => null, 'color' => '#945db7', 'ace' => 'text', 'cm' => 'vb', ], 'frx' => [ 'name' => 'Visual Basic', 'group' => null, 'color' => '#945db7', 'ace' => 'text', 'cm' => 'vb', ], 'vba' => [ 'name' => 'Visual Basic', 'group' => null, 'color' => '#945db7', 'ace' => 'text', 'cm' => 'vb', ], 'vbhtml' => [ 'name' => 'Visual Basic', 'group' => null, 'color' => '#945db7', 'ace' => 'text', 'cm' => 'vb', ], 'vbs' => [ 'name' => 'Visual Basic', 'group' => null, 'color' => '#945db7', 'ace' => 'text', 'cm' => 'vb', ], 'volt' => [ 'name' => 'Volt', 'group' => null, 'color' => '#1F1F1F', 'ace' => 'd', 'cm' => 'd', ], 'vue' => [ 'name' => 'Vue', 'group' => null, 'color' => '#2c3e50', 'ace' => 'html', 'cm' => null, ], 'mtl' => [ 'name' => 'Wavefront Material', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'obj' => [ 'name' => 'Wavefront Object', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'owl' => [ 'name' => 'Web Ontology Language', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => null, ], 'wast' => [ 'name' => 'WebAssembly', 'group' => null, 'color' => '#04133b', 'ace' => 'lisp', 'cm' => 'commonlisp', ], 'wat' => [ 'name' => 'WebAssembly', 'group' => null, 'color' => '#04133b', 'ace' => 'lisp', 'cm' => 'commonlisp', ], 'webidl' => [ 'name' => 'WebIDL', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'webidl', ], 'xbm' => [ 'name' => 'X BitMap', 'group' => 'C', 'color' => null, 'ace' => 'c_cpp', 'cm' => 'clike', ], 'xpm' => [ 'name' => 'X PixMap', 'group' => 'C', 'color' => null, 'ace' => 'c_cpp', 'cm' => 'clike', ], 'x10' => [ 'name' => 'X10', 'group' => null, 'color' => '#4B6BEF', 'ace' => 'text', 'cm' => null, ], 'xc' => [ 'name' => 'XC', 'group' => null, 'color' => '#99DA07', 'ace' => 'c_cpp', 'cm' => 'clike', ], 'xml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'adml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'admx' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'ant' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'axml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'builds' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'ccproj' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'ccxml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'clixml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'cproject' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'cscfg' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'csdef' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'csl' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'csproj' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'ct' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'depproj' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'dita' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'ditamap' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'ditaval' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'dll.config' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'dotsettings' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'filters' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'fsproj' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'fxml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'glade' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'grxml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'iml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'ivy' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'jelly' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'jsproj' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'kml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'launch' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'mdpolicy' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'mjml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'mxml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'natvis' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'ndproj' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'nproj' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'nuspec' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'odd' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'osm' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'pkgproj' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'plist' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'proj' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'props' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'ps1xml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'psc1' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'pt' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'rdf' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'resx' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'rss' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'scxml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'sfproj' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'shproj' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'srdf' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'storyboard' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'stTheme' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'sublime-snippet' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'targets' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'tmCommand' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'tml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'tmLanguage' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'tmPreferences' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'tmSnippet' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'tmTheme' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'ui' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'urdf' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'ux' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'vbproj' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'vcxproj' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'vsixmanifest' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'vssettings' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'vstemplate' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'vxml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'wixproj' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'wsdl' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'wsf' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'wxi' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'wxl' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'wxs' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'x3d' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'xacro' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'xaml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'xib' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'xlf' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'xliff' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'xmi' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'xml.dist' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'xproj' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'xsd' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'xspec' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'xul' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'zcml' => [ 'name' => 'XML', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'xsp-config' => [ 'name' => 'XPages', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'xsp.metadata' => [ 'name' => 'XPages', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'xpl' => [ 'name' => 'XProc', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'xproc' => [ 'name' => 'XProc', 'group' => null, 'color' => null, 'ace' => 'xml', 'cm' => 'xml', ], 'xquery' => [ 'name' => 'XQuery', 'group' => null, 'color' => '#5232e7', 'ace' => 'xquery', 'cm' => 'xquery', ], 'xq' => [ 'name' => 'XQuery', 'group' => null, 'color' => '#5232e7', 'ace' => 'xquery', 'cm' => 'xquery', ], 'xql' => [ 'name' => 'XQuery', 'group' => null, 'color' => '#5232e7', 'ace' => 'xquery', 'cm' => 'xquery', ], 'xqm' => [ 'name' => 'XQuery', 'group' => null, 'color' => '#5232e7', 'ace' => 'xquery', 'cm' => 'xquery', ], 'xqy' => [ 'name' => 'XQuery', 'group' => null, 'color' => '#5232e7', 'ace' => 'xquery', 'cm' => 'xquery', ], 'xs' => [ 'name' => 'XS', 'group' => null, 'color' => null, 'ace' => 'c_cpp', 'cm' => 'clike', ], 'xslt' => [ 'name' => 'XSLT', 'group' => null, 'color' => '#EB8CEB', 'ace' => 'xml', 'cm' => 'xml', ], 'xsl' => [ 'name' => 'XSLT', 'group' => null, 'color' => '#EB8CEB', 'ace' => 'xml', 'cm' => 'xml', ], 'xojo_code' => [ 'name' => 'Xojo', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'xojo_menu' => [ 'name' => 'Xojo', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'xojo_report' => [ 'name' => 'Xojo', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'xojo_script' => [ 'name' => 'Xojo', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'xojo_toolbar' => [ 'name' => 'Xojo', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'xojo_window' => [ 'name' => 'Xojo', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'xtend' => [ 'name' => 'Xtend', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'yml' => [ 'name' => 'YAML', 'group' => null, 'color' => null, 'ace' => 'yaml', 'cm' => 'yaml', ], 'mir' => [ 'name' => 'YAML', 'group' => null, 'color' => null, 'ace' => 'yaml', 'cm' => 'yaml', ], 'reek' => [ 'name' => 'YAML', 'group' => null, 'color' => null, 'ace' => 'yaml', 'cm' => 'yaml', ], 'rviz' => [ 'name' => 'YAML', 'group' => null, 'color' => null, 'ace' => 'yaml', 'cm' => 'yaml', ], 'sublime-syntax' => [ 'name' => 'YAML', 'group' => null, 'color' => null, 'ace' => 'yaml', 'cm' => 'yaml', ], 'syntax' => [ 'name' => 'YAML', 'group' => null, 'color' => null, 'ace' => 'yaml', 'cm' => 'yaml', ], 'yaml' => [ 'name' => 'YAML', 'group' => null, 'color' => null, 'ace' => 'yaml', 'cm' => 'yaml', ], 'yaml-tmlanguage' => [ 'name' => 'YAML', 'group' => null, 'color' => null, 'ace' => 'yaml', 'cm' => 'yaml', ], 'yml.mysql' => [ 'name' => 'YAML', 'group' => null, 'color' => null, 'ace' => 'yaml', 'cm' => 'yaml', ], 'yang' => [ 'name' => 'YANG', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'yar' => [ 'name' => 'YARA', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'yara' => [ 'name' => 'YARA', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'y' => [ 'name' => 'Yacc', 'group' => null, 'color' => '#4B6C4B', 'ace' => 'text', 'cm' => null, ], 'yacc' => [ 'name' => 'Yacc', 'group' => null, 'color' => '#4B6C4B', 'ace' => 'text', 'cm' => null, ], 'yy' => [ 'name' => 'Yacc', 'group' => null, 'color' => '#4B6C4B', 'ace' => 'text', 'cm' => null, ], 'zep' => [ 'name' => 'Zephir', 'group' => null, 'color' => '#118f9e', 'ace' => 'php', 'cm' => null, ], 'zimpl' => [ 'name' => 'Zimpl', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'zmpl' => [ 'name' => 'Zimpl', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'zpl' => [ 'name' => 'Zimpl', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'desktop' => [ 'name' => 'desktop', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'desktop.in' => [ 'name' => 'desktop', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'ec' => [ 'name' => 'eC', 'group' => null, 'color' => '#913960', 'ace' => 'text', 'cm' => null, ], 'eh' => [ 'name' => 'eC', 'group' => null, 'color' => '#913960', 'ace' => 'text', 'cm' => null, ], 'edn' => [ 'name' => 'edn', 'group' => null, 'color' => null, 'ace' => 'clojure', 'cm' => 'clojure', ], 'fish' => [ 'name' => 'fish', 'group' => 'Shell', 'color' => null, 'ace' => 'text', 'cm' => null, ], 'mu' => [ 'name' => 'mupad', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => null, ], 'nc' => [ 'name' => 'nesC', 'group' => null, 'color' => '#94B0C7', 'ace' => 'text', 'cm' => null, ], 'ooc' => [ 'name' => 'ooc', 'group' => null, 'color' => '#b0b77e', 'ace' => 'text', 'cm' => null, ], 'rst' => [ 'name' => 'reStructuredText', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'rst', ], 'rest' => [ 'name' => 'reStructuredText', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'rst', ], 'rest.txt' => [ 'name' => 'reStructuredText', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'rst', ], 'rst.txt' => [ 'name' => 'reStructuredText', 'group' => null, 'color' => null, 'ace' => 'text', 'cm' => 'rst', ], 'sed' => [ 'name' => 'sed', 'group' => null, 'color' => '#64b970', 'ace' => 'text', 'cm' => null, ], 'wdl' => [ 'name' => 'wdl', 'group' => null, 'color' => '#42f1f4', 'ace' => 'text', 'cm' => null, ], 'wisp' => [ 'name' => 'wisp', 'group' => null, 'color' => '#7582D1', 'ace' => 'clojure', 'cm' => 'clojure', ], 'prg' => [ 'name' => 'xBase', 'group' => null, 'color' => '#403a40', 'ace' => 'text', 'cm' => null, ], 'prw' => [ 'name' => 'xBase', 'group' => null, 'color' => '#403a40', 'ace' => 'text', 'cm' => null, ], ]; protected string $name = 'Unknown'; protected ?string $group = null; protected ?string $color = null; protected string $aceMode = 'text'; protected ?string $codeMirrorMode = null; public function __construct(string $extension) { if (!isset(self::MAP[$extension])) { return; } $this->name = self::MAP[$extension]['name']; $this->group = self::MAP[$extension]['group']; $this->color = self::MAP[$extension]['color']; $this->aceMode = self::MAP[$extension]['ace']; $this->codeMirrorMode = self::MAP[$extension]['cm']; } public function getName(): string { return $this->name; } public function getGroup(): ?string { return $this->group; } public function getColor(): ?string { return $this->color; } public function getAceMode(): ?string { return $this->aceMode; } public function getCodeMirrorMode(): ?string { return $this->codeMirrorMode; } } src/SCM/Repository.php000066400000000000000000000003411516104173600151610ustar00rootroot00000000000000path; } } src/SCM/Symlink.php000066400000000000000000000004531516104173600144340ustar00rootroot00000000000000target; } public function setTarget(string $target): void { $this->target = $target; } } src/SCM/System.php000066400000000000000000000030051516104173600142660ustar00rootroot00000000000000%H%h%T%t%P%p%aN%aE%aD%cN%cE%cD%GK%G?'; protected ?string $path; public function __construct(string $path = null) { if (!$path) { $path = (new ExecutableFinder())->find('git', '/usr/bin/git'); } $this->path = $path; } public function isValidRepository(Repository $repository): bool { $path = $repository->getPath(); return file_exists($path) && (file_exists($path.'/.git/HEAD') || file_exists($path.'/HEAD')); } public function getDescription(Repository $repository): string { $path = $repository->getPath(); if (file_exists($path.'/description')) { return file_get_contents($path.'/description'); } if (file_exists($path.'/.git/description')) { return file_get_contents($path.'/.git/description'); } return ''; } public function getDefaultBranch(Repository $repository): string { $branch = $this->run(['symbolic-ref', '--short', 'HEAD'], $repository); return trim($branch); } public function getBranches(Repository $repository): array { $output = $this->run(['for-each-ref', 'refs/heads', '--format=%(refname:short)||%(objectname)||%(objectname:short)||%(authorname)||%(authoremail)||%(authordate)||%(subject)'], $repository); $branchData = explode(PHP_EOL, $output); $branches = []; foreach ($branchData as $branchItem) { if (empty($branchItem)) { continue; } $branchInfo = explode('||', $branchItem); $commit = new Commit($repository, $branchInfo[1], $branchInfo[2] ?? null); $commit->setAuthor(new Person($branchInfo[3], trim($branchInfo[4], '<>'))); $commit->setAuthoredAt(new CarbonImmutable($branchInfo[5])); if (isset($branchInfo[6])) { $commit->setSubject($branchInfo[6]); } $branches[] = new Branch($repository, $branchInfo[0], $commit); } return $branches; } public function getTags(Repository $repository): array { $output = $this->run(['for-each-ref', 'refs/tags', '--format=%(refname:short)||%(objectname)||%(objectname:short)||%(taggername)||%(taggeremail)||%(taggerdate)||%(subject)'], $repository); $tagData = explode(PHP_EOL, $output); $tags = []; foreach ($tagData as $tagItem) { if (empty($tagItem)) { continue; } $tagInfo = explode('||', $tagItem); if (!isset($tagInfo[0])) { continue; } $author = new Person($tagInfo[3], trim($tagInfo[4], '<>')); $authoredAt = new CarbonImmutable($tagInfo[5]); $tag = new Tag($repository, $tagInfo[0], $author, $authoredAt); if (isset($tagInfo[1])) { $commit = new Commit($repository, $tagInfo[1], $tagInfo[2] ?? null); $tag->setTarget($commit); } if (isset($tagInfo[6])) { $tag->setSubject($tagInfo[6]); } $tags[] = $tag; } return $tags; } public function getTree(Repository $repository, ?string $hash = 'HEAD'): Tree { $output = $this->run(['ls-tree', '-lz', '--full-tree', '--', $hash], $repository); return $this->buildTreeFromOutput($repository, $hash, $output, true); } public function getRecursiveTree(Repository $repository, ?string $hash = 'HEAD'): Tree { $output = $this->run(['ls-tree', '-lzr', '--full-tree', '--', $hash], $repository); return $this->buildTreeFromOutput($repository, $hash, $output); } public function getPathTree(Repository $repository, string $path, ?string $hash = 'HEAD'): Tree { $path = rtrim($path, '/').'/'; $output = $this->run(['ls-tree', '-lz', $hash, '--', $path], $repository); $tree = $this->buildTreeFromOutput($repository, $hash, $output, true); $tree->setName(rtrim($path, '/')); return $tree; } public function getCommit(Repository $repository, ?string $hash = 'HEAD'): Commit { $output = $this->run(['show', '--ignore-blank-lines', '-w', '-b', '--cc', self::DEFAULT_COMMIT_FORMAT, $hash], $repository); $commits = $this->parseCommitDataXml($repository, $output); $commit = reset($commits); $rawDiffBlock = substr($output, strpos($output, '') + 7); $commit->setRawDiffs($rawDiffBlock); $fileDiffs = (new Parse())->fromRawBlock($rawDiffBlock); $commit->setDiffs($fileDiffs); return $commit; } public function getCommits(Repository $repository, ?string $hash = 'HEAD', int $page = 1, int $perPage = 10): array { $output = $this->run([ 'log', '--skip', ($page - 1) * $perPage, '--max-count', $page * $perPage, self::DEFAULT_COMMIT_FORMAT, $hash, ], $repository); return $this->parseCommitsDataXml($repository, $output); } public function getCommitsFromPath(Repository $repository, string $path, ?string $hash = 'HEAD', int $page = 1, int $perPage = 10): array { $output = $this->run([ 'log', '--skip', ($page - 1) * $perPage, '--max-count', $page * $perPage, self::DEFAULT_COMMIT_FORMAT, $hash, '--', $path, ], $repository); return $this->parseCommitsDataXml($repository, $output); } public function getSpecificCommits(Repository $repository, array $hashes): array { $output = $this->run([...['show', '-s', self::DEFAULT_COMMIT_FORMAT], ...$hashes], $repository); return $this->parseCommitsDataXml($repository, $output); } public function getBlame(Repository $repository, string $hash, string $path): Blame { $output = $this->run(['blame', '--root', '-ls', $hash, '--', $path], $repository); $blameLines = explode(PHP_EOL, $output); $annotatedLines = []; $commits = []; foreach ($blameLines as $blameLine) { if (empty($blameLine)) { continue; } $blameParts = []; preg_match('/([a-zA-Z0-9^]{40})\s+.*?([0-9]+)\)\s+(.+)?/', $blameLine, $blameParts); $commits[] = $blameParts[1]; $annotatedLines[] = [ 'commit' => $blameParts[1], 'line' => ltrim(str_replace($blameParts[1], '', $blameParts[0])), ]; } $blame = new Blame($hash, $path); $commits = $this->getSpecificCommits($repository, array_unique($commits)); foreach ($annotatedLines as $annotatedLine) { $commit = $commits[$annotatedLine['commit']]; $blame->addAnnotatedLine(new AnnotatedLine($commit, $annotatedLine['line'])); } return $blame; } public function getBlob(Repository $repository, string $hash, string $path): Blob { $commits = $this->getCommitsFromPath($repository, $path, $hash, 1, 1); $commit = reset($commits); $blobOutput = $this->run(['show', sprintf('%s:%s', $hash, $path)], $repository); $blob = new Blob($repository, $commit->getHash(), $commit->getShortHash()); $blob->setName($path); $blob->setContents($blobOutput); return $blob; } public function searchCommits(Repository $repository, Criteria $criteria, ?string $hash = 'HEAD'): array { $command = ['log', self::DEFAULT_COMMIT_FORMAT]; if ($criteria->getFrom()) { $command[] = '--after'; $command[] = $criteria->getFrom()->format(DateTime::ISO8601); } if ($criteria->getTo()) { $command[] = '--before'; $command[] = $criteria->getTo()->format(DateTime::ISO8601); } if ($criteria->getAuthor()) { $command[] = '--author'; $command[] = $criteria->getAuthor(); } if ($criteria->getMessage()) { $command[] = '--grep'; $command[] = $criteria->getMessage(); } $command[] = $hash; $output = $this->run($command, $repository); return $this->parseCommitsDataXml($repository, $output); } public function archive(Repository $repository, string $format, string $hash, string $path = '.'): string { $destination = sprintf('%s/%s.%s', sys_get_temp_dir(), $hash, $format); $this->run(['archive', '--output', $destination, $hash, '--', $path], $repository); return $destination; } protected function run(array $command, Repository $repository = null): string { array_unshift($command, $this->path); $process = new Process($command); $process->setTimeout(self::DEFAULT_TIMEOUT); if ($repository) { $process->setWorkingDirectory($repository->getPath()); } try { $process->mustRun(); } catch (ProcessFailedException $exception) { throw new CommandException($exception->getProcess()->getErrorOutput()); } return $process->getOutput(); } protected function buildTreeFromOutput(Repository $repository, string $hash, string $output, bool $fetchCommitInfo = false): Tree { $lines = explode("\0", $output); $root = new Tree($repository, $hash); foreach ($lines as $line) { if (empty($line)) { continue; } $file = preg_split('/[\s]+/', $line, 5); if ('commit' == $file[1]) { // Don't handle submodules yet continue; } if ('120000' == $file[0]) { $symlinkTarget = $this->run(['show', $file[2]], $repository); $symlink = new Symlink($repository, $file[2]); $symlink->setMode($file[0]); $symlink->setName($file[4]); $symlink->setSize((int) $file[3]); $symlink->setTarget($symlinkTarget); $root->addChild($symlink); continue; } if ('blob' == $file[1]) { $blob = new Blob($repository, $file[2]); $blob->setMode($file[0]); $blob->setName($file[4]); $blob->setSize((int) $file[3]); if ($fetchCommitInfo) { try { $blob->addParent($this->getLatestCommitFromPath($repository, $file[4], $hash)); } catch (InvalidCommitException) { // Do not add parent } } $root->addChild($blob); continue; } $tree = new Tree($repository, $file[2]); $tree->setMode($file[0]); $tree->setName($file[4]); if ($fetchCommitInfo) { try { $tree->addParent($this->getLatestCommitFromPath($repository, $file[4], $hash)); } catch (InvalidCommitException) { // Do not add parent } } $root->addChild($tree); } return $root; } protected function getLatestCommitFromPath(Repository $repository, string $path, string $hash): Commit { $output = $this->run(['log', '-n', 1, self::DEFAULT_COMMIT_FORMAT, $hash, '--', $path], $repository); $commits = $this->parseCommitDataXml($repository, $output); return reset($commits); } protected function parseCommitDataXml(Repository $repository, string $input): array { $xmlStart = strpos($input, ''); if (false === $xmlStart) { throw new InvalidCommitException($input); } $xmlEnd = strpos($input, '') + 7; $xml = substr($input, $xmlStart, $xmlEnd); return $this->parseCommitsDataXml($repository, $xml); } protected function parseCommitsDataXml(Repository $repository, string $input): array { $items = new SimpleXMLElement(''.$input.''); $commits = []; foreach ($items as $item) { $commit = new Commit($repository, (string) $item->hash, (string) $item->short_hash); $commit->setTree(new Tree($repository, (string) $item->tree, (string) $item->short_tree)); $parents = explode(' ', (string) $item->parent); $shortParents = explode(' ', (string) $item->short_parent); foreach ($parents as $key => $parent) { $commit->addParent(new Commit($repository, $parent, $shortParents[$key] ?? null)); } $commit->setSubject((string) $item->subject); $commit->setBody((string) $item->body); $commit->setAuthor(new Person((string) $item->author, (string) $item->author_email)); $commit->setAuthoredAt(new CarbonImmutable((string) $item->author_date)); $commit->setCommiter(new Person((string) $item->commiter, (string) $item->commiter_email)); $commit->setCommitedAt(new CarbonImmutable((string) $item->commiter_date)); $signatureStatus = (string) $item->valid_signature; if ('N' != $signatureStatus) { $signature = new Signature((string) $item->signer, (string) $item->signer_key); if ('B' == $signatureStatus) { $signature->validate(); } $commit->setSignature($signature); } $commits[$commit->getHash()] = $commit; } return $commits; } } src/SCM/System/Mercurial/000077500000000000000000000000001516104173600155025ustar00rootroot00000000000000src/SCM/System/Mercurial/CommandLine.php000066400000000000000000000310011516104173600203740ustar00rootroot00000000000000{node}{node|short}{p1node}{p1node|short}{p1node}{p1node|short}{author|person}{author|email}{date|rfc822date}{author|person}{author|email}{date|rfc822date}"'; // Mercurial does not support ISO 8601 properly public const MERCURIAL_DATE_FORMAT = 'Y-m-d H:i:s'; protected ?string $path; public function __construct(string $path = null) { if (!$path) { $path = (new ExecutableFinder())->find('hg', '/usr/bin/hg'); } $this->path = $path; } public function isValidRepository(Repository $repository): bool { $path = $repository->getPath(); return file_exists($path) && file_exists($path.'/.hg'); } public function getDescription(Repository $repository): string { $path = $repository->getPath(); if (file_exists($path.'/.hg/hgrc')) { $hgrc = parse_ini_file($path.'/.hg/hgrc'); return $hgrc['description'] ?? ''; } return ''; } public function getDefaultBranch(Repository $repository): string { return 'default'; } public function getBranches(Repository $repository): array { $output = $this->run(['heads', '-T {bookmarks}||{node}\n'], $repository); $branchData = explode("\n", $output); $branches = []; foreach ($branchData as $branchItem) { if (empty($branchItem)) { continue; } $branchInfo = explode('||', $branchItem); $commit = $this->getCommit($repository, trim($branchInfo[1])); $branches[] = new Branch($repository, trim($branchInfo[0]), $commit); } return $branches; } public function getTags(Repository $repository): array { $output = $this->run(['tags', '-T', '{tag}||{node}||{node|short}||{author|person}||{author|email}||{date|rfc822date}||{desc|firstline}\n'], $repository); $tagData = explode("\n", $output); $tags = []; foreach ($tagData as $tagItem) { if (empty($tagItem)) { continue; } $tagInfo = explode('||', $tagItem); if (!isset($tagInfo[0])) { continue; } $author = new Person($tagInfo[3], $tagInfo[4]); $authoredAt = new CarbonImmutable($tagInfo[5]); $tag = new Tag($repository, $tagInfo[0], $author, $authoredAt); if (isset($tagInfo[1])) { $commit = new Commit($repository, $tagInfo[1], $tagInfo[2] ?? null); $tag->setTarget($commit); } if (isset($tagInfo[6])) { $tag->setSubject($tagInfo[6]); } $tags[] = $tag; } return $tags; } public function getTree(Repository $repository, ?string $hash = 'tip'): Tree { $output = $this->run(['manifest', '-v', '--debug', '-r', $hash], $repository); return $this->buildTree($repository, $hash, $output); } public function getRecursiveTree(Repository $repository, ?string $hash = 'tip'): Tree { $output = $this->run(['manifest', '-v', '--debug', '-r', $hash], $repository); return $this->buildTree($repository, $hash, $output); } public function getPathTree(Repository $repository, string $path, ?string $hash = 'tip'): Tree { // Mercurial manifest doesn't seem to support path specification, so we filter here $tree = $this->getTree($repository, $hash); foreach ($tree->getChildren() as $child) { if (str_starts_with($child->getName(), $path)) { continue; } $tree->removeChild($child); } return $tree; } public function getCommit(Repository $repository, ?string $hash = 'tip'): Commit { $commitOutput = $this->run(['log', self::DEFAULT_COMMIT_FORMAT, '-r', $hash], $repository); $commits = $this->parseCommitDataXml($repository, $commitOutput); $commit = reset($commits); $diffOutput = $this->run(['diff', '--change', $hash], $repository); $commit->setRawDiffs($diffOutput); $fileDiffs = (new Parse())->fromRawBlock($diffOutput); $commit->setDiffs($fileDiffs); return $commit; } public function getCommits(Repository $repository, ?string $hash = 'tip', int $page = 1, int $perPage = 10): array { $range = sprintf('limit(branch("%s"), %d, %d)', $hash, $page * $perPage, ($page - 1) * $perPage); $output = $this->run([ 'log', self::DEFAULT_COMMIT_FORMAT, '-r', $range, ], $repository); return $this->parseCommitDataXml($repository, $output); } public function getCommitsFromPath(Repository $repository, string $path, ?string $hash = 'tip', int $page = 1, int $perPage = 10): array { $range = sprintf('limit(branch("%s"), %d, %d)', $hash, $page * $perPage, ($page - 1) * $perPage); $output = $this->run([ 'log', self::DEFAULT_COMMIT_FORMAT, '-r', $range, $path, ], $repository); return $this->parseCommitDataXml($repository, $output); } public function getSpecificCommits(Repository $repository, array $hashes): array { $output = $this->run(['log', self::DEFAULT_COMMIT_FORMAT, '-r', implode(':', $hashes)], $repository); return $this->parseCommitDataXml($repository, $output); } public function getBlame(Repository $repository, string $hash, string $path): Blame { $output = $this->run(['annotate', '-cv', '-r', $hash, $path], $repository); $blameLines = explode(PHP_EOL, $output); $annotatedLines = []; $commits = []; foreach ($blameLines as $blameLine) { if (empty($blameLine)) { continue; } $commit = substr($blameLine, 0, 12); $line = substr($blameLine, 14); $commits[] = $commit; $annotatedLines[] = [ 'commit' => $commit, 'line' => $line, ]; } $blame = new Blame($hash, $path); $commits = $this->getSpecificCommits($repository, array_unique($commits)); foreach ($annotatedLines as $annotatedLine) { $commit = $commits[$annotatedLine['commit']]; $blame->addAnnotatedLine(new AnnotatedLine($commit, $annotatedLine['line'])); } return $blame; } public function getBlob(Repository $repository, string $hash, string $path): Blob { $output = $this->run(['cat', '-r', $hash, $path], $repository); $blob = new Blob($repository, $hash); $blob->setName(basename($path)); $blob->setContents($output); return $blob; } public function searchCommits(Repository $repository, Criteria $criteria, ?string $hash = 'tip'): array { $command = ['log', self::DEFAULT_COMMIT_FORMAT]; $commits = []; if ($criteria->getFrom() && $criteria->getTo()) { $command[] = '--date'; $command[] = sprintf( '%s to %s', $criteria->getFrom()->format(self::MERCURIAL_DATE_FORMAT), $criteria->getTo()->format(self::MERCURIAL_DATE_FORMAT) ); } if ($criteria->getFrom() && !$criteria->getTo()) { $command[] = '--date'; $command[] = '>'.$criteria->getFrom()->format(self::MERCURIAL_DATE_FORMAT); } if (!$criteria->getFrom() && $criteria->getTo()) { $command[] = '--date'; $command[] = '<'.$criteria->getTo()->format(self::MERCURIAL_DATE_FORMAT); } if ($criteria->getAuthor()) { $command[] = '--user'; $command[] = $criteria->getAuthor(); } if ($criteria->getMessage()) { $command[] = '--keyword'; $command[] = $criteria->getMessage(); } $command[] = '-r'; $command[] = sprintf('sort(branch("%s"), -date)', $hash); $output = $this->run($command, $repository); $commits += $this->parseCommitDataXml($repository, $output); return $commits; } public function archive(Repository $repository, string $format, string $hash, string $path = ''): string { $destination = sprintf('%s/%s.%s', sys_get_temp_dir(), $hash, $format); $this->run(['archive', '-r', $hash, '-I', $path, $destination], $repository); return $destination; } protected function run(array $command, Repository $repository = null): string { array_unshift($command, $this->path); $process = new Process($command); $process->setTimeout(self::DEFAULT_TIMEOUT); if ($repository) { $process->setWorkingDirectory($repository->getPath()); } try { $process->mustRun(); } catch (ProcessFailedException $exception) { throw new CommandException($exception->getProcess()->getErrorOutput()); } return $process->getOutput(); } protected function parseCommitDataXml(Repository $repository, string $input): array { $items = new SimpleXMLElement(''.$input.''); $commits = []; foreach ($items as $item) { $commit = new Commit($repository, (string) $item->hash, (string) $item->short_hash); $commit->setTree(new Tree($repository, (string) $item->tree, (string) $item->short_tree)); $parents = explode(' ', (string) $item->parent); $shortParents = explode(' ', (string) $item->short_parent); foreach ($parents as $key => $parent) { $commit->addParent(new Commit($repository, $parent, $shortParents[$key] ?? null)); } $commit->setSubject((string) $item->subject); $commit->setBody((string) $item->body); $commit->setAuthor(new Person((string) $item->author, (string) $item->author_email)); $commit->setAuthoredAt(new CarbonImmutable((string) $item->author_date)); $commit->setCommiter(new Person((string) $item->commiter, (string) $item->commiter_email)); $commit->setCommitedAt(new CarbonImmutable((string) $item->commiter_date)); $commits[(string) $item->short_hash] = $commit; } return $commits; } protected function buildTree(Repository $repository, string $hash, string $output): Tree { $lines = explode("\n", $output); $root = new Tree($repository, $hash); foreach ($lines as $line) { if (empty($line)) { continue; } $file = preg_split('/[\s]+/', $line, 4); if ('.hgtags' == $file[2]) { continue; } if ('@' == $file[2]) { $symlinkTarget = $this->run(['cat', '-r', $hash, $file[3]], $repository); $symlink = new Symlink($repository, $file[0]); $symlink->setMode($file[1]); $symlink->setName($file[3]); $symlink->setSize(0); $symlink->setTarget($symlinkTarget); $root->addChild($symlink); continue; } $blob = new Blob($repository, $file[0]); $blob->setMode($file[1]); $blob->setName($file[2]); $blob->setSize(0); $root->addChild($blob); } return $root; } } src/SCM/Tag.php000066400000000000000000000021061516104173600135160ustar00rootroot00000000000000repository; } public function getName(): string { return $this->name; } public function getSubject() { return $this->subject; } public function setSubject(string $subject): void { $this->subject = $subject; } public function getTarget(): ?Commit { return $this->target; } public function setTarget(Commit $target): void { $this->target = $target; } public function getAuthor(): Person { return $this->author; } public function getAuthoredAt(): CarbonInterface { return $this->authoredAt; } } src/SCM/Tree.php000066400000000000000000000040501516104173600137020ustar00rootroot00000000000000addParent($this); $this->children[] = $child; } public function removeChild(Item $childToRemove): void { foreach ($this->children as $key => $child) { if ($child === $childToRemove) { unset($this->children[$key]); } } $this->children = array_values($this->children); $childToRemove->clearParents(); } public function getChildren(): array { return $this->children; } public function hasChildren(): bool { return !empty($this->children); } public function isChild(): bool { return !empty($this->parents); } public function isRoot(): bool { return empty($this->parents); } public function isLeaf(): bool { return empty($this->children); } public function getName(): ?string { return $this->name; } public function setName(string $name): void { $this->name = $name; } public function getFileName(): ?string { return basename($this->name ?? ''); } public function getMode(): ?string { return $this->mode; } public function setMode(string $mode): void { $this->mode = $mode; } public function getReadme(): ?Blob { foreach ($this->children as $child) { if (!($child instanceof Blob)) { continue; } if ($child->isReadme()) { return $child; } } return null; } public function isCommit(): bool { return false; } public function isTree(): bool { return true; } public function isBlob(): bool { return false; } } tests/000077500000000000000000000000001516104173600122245ustar00rootroot00000000000000tests/cypress/000077500000000000000000000000001516104173600137145ustar00rootroot00000000000000tests/cypress/integration/000077500000000000000000000000001516104173600162375ustar00rootroot00000000000000tests/cypress/integration/blame.spec.js000066400000000000000000000007601516104173600206110ustar00rootroot00000000000000describe('Blame page', () => { it('view file blame', () => { cy.visit('/git-bare-repo/blame/a003d30bc7a355f55bf28479e62134186bae1aed/mm/cma.c'); cy.get('.breadcrumb > .active').should('have.text', '\n cma.c\n '); cy.get(':nth-child(1) > .col-3 > a').should('have.text', '\n Added mm.\n '); cy.get(':nth-child(2) > .col-3 > a').should('have.text', '\n Fixed mm.\n '); }); }); tests/cypress/integration/branches.spec.js000066400000000000000000000005031516104173600213110ustar00rootroot00000000000000describe('Repository branches page', () => { it('successfully loads', () => { cy.visit('/git-bare-repo/branches'); cy.get('.card-header').should('have.text', '\n Remote branches\n '); cy.get(':nth-child(2) > h5 > a').should('have.text', '\n master\n '); }); }); tests/cypress/integration/commits.spec.js000066400000000000000000000021721516104173600212030ustar00rootroot00000000000000describe('Repository commits page', () => { it('successfully loads', () => { cy.visit('/git-bare-repo/commits/master'); cy.get('.me-auto > [href="/git-bare-repo/commit/b064e711b341b3d160288cd121caf56811ca8991"]').should('have.text', 'Initial commit.'); }); it('view specific commit', () => { cy.visit('/git-bare-repo/commit/a003d30bc7a355f55bf28479e62134186bae1aed'); cy.get('.card-text').should('have.text', '\n Klaus Silveira commited on 2016-11-24 12:30:04\n Showing 1 changed files, with 44 additions and 173 deletions.\n '); cy.get(':nth-child(5) > .line > .delete').should('have.text', '-#define CREATE_TRACE_POINTS'); }); it('view parent commit', () => { cy.visit('/git-bare-repo/commit/a003d30bc7a355f55bf28479e62134186bae1aed'); cy.get(':nth-child(1) > .col-12 > .card > .card-header > .btn-group > .btn').click(); cy.get(':nth-child(1) > .col-12 > .card > .card-header').should('have.text', '\n Added mm.\n\n \n \n Parent 85e6568\n \n \n '); }); }); tests/cypress/integration/history.spec.js000066400000000000000000000005431516104173600212310ustar00rootroot00000000000000describe('History page', () => { it('view file history', () => { cy.visit('/git-bare-repo/history/a003d30bc7a355f55bf28479e62134186bae1aed/mm/cma.c'); cy.get('.breadcrumb > .active').should('have.text', '\n cma.c\n '); cy.get('.card-header').should('have.text', '\n November 24, 2016\n '); }); }); tests/cypress/integration/repository.spec.js000066400000000000000000000040561516104173600217520ustar00rootroot00000000000000describe('Repository page', () => { it('successfully loads', () => { cy.visit('/git-bare-repo'); cy.get('.card-body > .nav > :nth-child(1) > .nav-link').should('have.text', ' 2 Branches'); cy.get('.card-body > .nav > :nth-child(2) > .nav-link').should('have.text', ' 1 Tags'); cy.get('.card-header > :nth-child(1)').should('have.text', '\n \n Klaus Silveira\n Fixed mm.\n '); cy.get('.float-right').should('have.text', '\n a003d30 @ 2016-11-24 12:30:04\n '); }); it('shows branch dropdown', () => { cy.visit('/git-bare-repo'); cy.get('.dropdown > .btn').click(); cy.get('[href="/git-bare-repo/tree/feature/1.2-dev/"]').should('have.text', 'feature/1.2-dev'); }); it('shows reflist dropdown', () => { cy.visit('/git-bare-repo'); cy.get('.dropdown > .btn').click(); cy.get('[href="/git-bare-repo/tree/feature/1.2-dev/"]').should('have.text', 'feature/1.2-dev'); cy.get('#tags-tab').click(); cy.get('#tags > .list-group > .list-group-item').should('have.text', '1.2'); }); it('shows reflist dropdown and autocompletes', () => { cy.visit('/git-bare-repo'); cy.get('.dropdown > .btn').click(); cy.get('.dropdown-menu > .input-group > .form-control').clear(); cy.get('.dropdown-menu > .input-group > .form-control').type('feature/1.2-dev'); cy.get('h1').should('be.visible'); cy.url().should('be.equal', 'http://0.0.0.0:8880/git-bare-repo/tree/feature/1.2-dev/') }); it('swaps clone url', () => { cy.visit('/git-bare-repo'); cy.get('.input-group-prepend > .btn').click(); cy.get('[data-clone-url="https://gitlist.org/git-bare-repo.git"]').click(); cy.get('.btn-toolbar > .input-group > .form-control').should('have.value', 'https://gitlist.org/git-bare-repo.git'); cy.get('.input-group-prepend > .btn').click(); cy.get('[data-clone-url="git@gitlist.org:git-bare-repo.git"]').click(); cy.get('.btn-toolbar > .input-group > .form-control').should('have.value', 'git@gitlist.org:git-bare-repo.git'); }); }); tests/cypress/integration/repository_list.spec.js000066400000000000000000000003361516104173600230020ustar00rootroot00000000000000describe('Repository list page', () => { it('successfully loads', () => { cy.visit('/'); cy.get('.card-header').should('contain', 'git-bare-repo'); cy.get('.card-body').should('contain', 'foobar'); }); }); tests/cypress/integration/search.spec.js000066400000000000000000000010201516104173600207640ustar00rootroot00000000000000describe('Repository search', () => { it('successfully searches', () => { cy.visit('/git-bare-repo/search/commits/master'); cy.get('#criteria_message').clear(); cy.get('#criteria_message').type('mm'); cy.get('#criteria_submit').click(); cy.get('.me-auto > [href="/git-bare-repo/commit/a003d30bc7a355f55bf28479e62134186bae1aed"]').should('have.text', 'Fixed mm.'); cy.get('.me-auto > [href="/git-bare-repo/commit/5570c142146e430b7356a84175f281ab2a364d48"]').should('have.text', 'Added mm.'); }); }); tests/cypress/integration/tags.spec.js000066400000000000000000000004501516104173600204630ustar00rootroot00000000000000describe('Repository tags page', () => { it('successfully loads', () => { cy.visit('/git-bare-repo/tags'); cy.get('.card-header').should('have.text', '\n Remote tags\n '); cy.get('h5 > a').should('have.text', '\n 1.2\n '); }); }); tests/cypress/integration/tree.spec.js000066400000000000000000000006361516104173600204720ustar00rootroot00000000000000describe('Tree navigation', () => { it('showing sub-tree and file', () => { cy.visit('/git-bare-repo'); cy.get(':nth-child(1) > .tree-filename > .tree-truncate > a').click(); cy.get(':nth-child(2) > .tree-filename > .tree-truncate > a').click(); cy.get('h5').should('have.text', 'Fixed mm.'); cy.get('.breadcrumb > .active').should('have.text', '\n cma.c\n '); }); }); tests/fixtures/000077500000000000000000000000001516104173600140755ustar00rootroot00000000000000tests/fixtures/git-bare-repo/000077500000000000000000000000001516104173600165325ustar00rootroot00000000000000tests/fixtures/git-bare-repo/HEAD000066400000000000000000000000271516104173600171550ustar00rootroot00000000000000ref: refs/heads/master tests/fixtures/git-bare-repo/config000066400000000000000000000001021516104173600177130ustar00rootroot00000000000000[core] repositoryformatversion = 0 filemode = true bare = true tests/fixtures/git-bare-repo/description000066400000000000000000000000071516104173600207750ustar00rootroot00000000000000foobar tests/fixtures/git-bare-repo/hooks/000077500000000000000000000000001516104173600176555ustar00rootroot00000000000000tests/fixtures/git-bare-repo/hooks/applypatch-msg.sample000077500000000000000000000007361516104173600240220ustar00rootroot00000000000000#!/bin/sh # # An example hook script to check the commit log message taken by # applypatch from an e-mail message. # # The hook should exit with non-zero status after issuing an # appropriate message if it wants to stop the commit. The hook is # allowed to edit the commit message file. # # To enable this hook, rename this file to "applypatch-msg". . git-sh-setup commitmsg="$(git rev-parse --git-path hooks/commit-msg)" test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} : tests/fixtures/git-bare-repo/hooks/commit-msg.sample000077500000000000000000000016001516104173600231340ustar00rootroot00000000000000#!/bin/sh # # An example hook script to check the commit log message. # Called by "git commit" with one argument, the name of the file # that has the commit message. The hook should exit with non-zero # status after issuing an appropriate message if it wants to stop the # commit. The hook is allowed to edit the commit message file. # # To enable this hook, rename this file to "commit-msg". # Uncomment the below to add a Signed-off-by line to the message. # Doing this in a hook is a bad idea in general, but the prepare-commit-msg # hook is more suited to it. # # SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') # grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" # This example catches duplicate Signed-off-by lines. test "" = "$(grep '^Signed-off-by: ' "$1" | sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { echo >&2 Duplicate Signed-off-by lines. exit 1 } tests/fixtures/git-bare-repo/hooks/post-update.sample000077500000000000000000000002751516104173600233340ustar00rootroot00000000000000#!/bin/sh # # An example hook script to prepare a packed repository for use over # dumb transports. # # To enable this hook, rename this file to "post-update". exec git update-server-info tests/fixtures/git-bare-repo/hooks/pre-applypatch.sample000077500000000000000000000006501516104173600240150ustar00rootroot00000000000000#!/bin/sh # # An example hook script to verify what is about to be committed # by applypatch from an e-mail message. # # The hook should exit with non-zero status after issuing an # appropriate message if it wants to stop the commit. # # To enable this hook, rename this file to "pre-applypatch". . git-sh-setup precommit="$(git rev-parse --git-path hooks/pre-commit)" test -x "$precommit" && exec "$precommit" ${1+"$@"} : tests/fixtures/git-bare-repo/hooks/pre-commit.sample000077500000000000000000000031521516104173600231400ustar00rootroot00000000000000#!/bin/sh # # An example hook script to verify what is about to be committed. # Called by "git commit" with no arguments. The hook should # exit with non-zero status after issuing an appropriate message if # it wants to stop the commit. # # To enable this hook, rename this file to "pre-commit". if git rev-parse --verify HEAD >/dev/null 2>&1 then against=HEAD else # Initial commit: diff against an empty tree object against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 fi # If you want to allow non-ASCII filenames set this variable to true. allownonascii=$(git config --bool hooks.allownonascii) # Redirect output to stderr. exec 1>&2 # Cross platform projects tend to avoid non-ASCII filenames; prevent # them from being added to the repository. We exploit the fact that the # printable range starts at the space character and ends with tilde. if [ "$allownonascii" != "true" ] && # Note that the use of brackets around a tr range is ok here, (it's # even required, for portability to Solaris 10's /usr/bin/tr), since # the square bracket bytes happen to fall in the designated range. test $(git diff --cached --name-only --diff-filter=A -z $against | LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 then cat <<\EOF Error: Attempt to add a non-ASCII file name. This can cause problems if you want to work with people on other platforms. To be portable it is advisable to rename the file. If you know what you are doing you can disable this check using: git config hooks.allownonascii true EOF exit 1 fi # If there are whitespace errors, print the offending file names and fail. exec git diff-index --check --cached $against -- tests/fixtures/git-bare-repo/hooks/pre-push.sample000077500000000000000000000025041516104173600226270ustar00rootroot00000000000000#!/bin/sh # An example hook script to verify what is about to be pushed. Called by "git # push" after it has checked the remote status, but before anything has been # pushed. If this script exits with a non-zero status nothing will be pushed. # # This hook is called with the following parameters: # # $1 -- Name of the remote to which the push is being done # $2 -- URL to which the push is being done # # If pushing without using a named remote those arguments will be equal. # # Information about the commits which are being pushed is supplied as lines to # the standard input in the form: # # # # This sample shows how to prevent push of commits where the log message starts # with "WIP" (work in progress). remote="$1" url="$2" z40=0000000000000000000000000000000000000000 while read local_ref local_sha remote_ref remote_sha do if [ "$local_sha" = $z40 ] then # Handle delete : else if [ "$remote_sha" = $z40 ] then # New branch, examine all commits range="$local_sha" else # Update to existing branch, examine new commits range="$remote_sha..$local_sha" fi # Check for WIP commit commit=`git rev-list -n 1 --grep '^WIP' "$range"` if [ -n "$commit" ] then echo >&2 "Found WIP commit in $local_ref, not pushing" exit 1 fi fi done exit 0 tests/fixtures/git-bare-repo/hooks/pre-rebase.sample000077500000000000000000000114421516104173600231120ustar00rootroot00000000000000#!/bin/sh # # Copyright (c) 2006, 2008 Junio C Hamano # # The "pre-rebase" hook is run just before "git rebase" starts doing # its job, and can prevent the command from running by exiting with # non-zero status. # # The hook is called with the following parameters: # # $1 -- the upstream the series was forked from. # $2 -- the branch being rebased (or empty when rebasing the current branch). # # This sample shows how to prevent topic branches that are already # merged to 'next' branch from getting rebased, because allowing it # would result in rebasing already published history. publish=next basebranch="$1" if test "$#" = 2 then topic="refs/heads/$2" else topic=`git symbolic-ref HEAD` || exit 0 ;# we do not interrupt rebasing detached HEAD fi case "$topic" in refs/heads/??/*) ;; *) exit 0 ;# we do not interrupt others. ;; esac # Now we are dealing with a topic branch being rebased # on top of master. Is it OK to rebase it? # Does the topic really exist? git show-ref -q "$topic" || { echo >&2 "No such branch $topic" exit 1 } # Is topic fully merged to master? not_in_master=`git rev-list --pretty=oneline ^master "$topic"` if test -z "$not_in_master" then echo >&2 "$topic is fully merged to master; better remove it." exit 1 ;# we could allow it, but there is no point. fi # Is topic ever merged to next? If so you should not be rebasing it. only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` only_next_2=`git rev-list ^master ${publish} | sort` if test "$only_next_1" = "$only_next_2" then not_in_topic=`git rev-list "^$topic" master` if test -z "$not_in_topic" then echo >&2 "$topic is already up-to-date with master" exit 1 ;# we could allow it, but there is no point. else exit 0 fi else not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` /usr/bin/perl -e ' my $topic = $ARGV[0]; my $msg = "* $topic has commits already merged to public branch:\n"; my (%not_in_next) = map { /^([0-9a-f]+) /; ($1 => 1); } split(/\n/, $ARGV[1]); for my $elem (map { /^([0-9a-f]+) (.*)$/; [$1 => $2]; } split(/\n/, $ARGV[2])) { if (!exists $not_in_next{$elem->[0]}) { if ($msg) { print STDERR $msg; undef $msg; } print STDERR " $elem->[1]\n"; } } ' "$topic" "$not_in_next" "$not_in_master" exit 1 fi <<\DOC_END This sample hook safeguards topic branches that have been published from being rewound. The workflow assumed here is: * Once a topic branch forks from "master", "master" is never merged into it again (either directly or indirectly). * Once a topic branch is fully cooked and merged into "master", it is deleted. If you need to build on top of it to correct earlier mistakes, a new topic branch is created by forking at the tip of the "master". This is not strictly necessary, but it makes it easier to keep your history simple. * Whenever you need to test or publish your changes to topic branches, merge them into "next" branch. The script, being an example, hardcodes the publish branch name to be "next", but it is trivial to make it configurable via $GIT_DIR/config mechanism. With this workflow, you would want to know: (1) ... if a topic branch has ever been merged to "next". Young topic branches can have stupid mistakes you would rather clean up before publishing, and things that have not been merged into other branches can be easily rebased without affecting other people. But once it is published, you would not want to rewind it. (2) ... if a topic branch has been fully merged to "master". Then you can delete it. More importantly, you should not build on top of it -- other people may already want to change things related to the topic as patches against your "master", so if you need further changes, it is better to fork the topic (perhaps with the same name) afresh from the tip of "master". Let's look at this example: o---o---o---o---o---o---o---o---o---o "next" / / / / / a---a---b A / / / / / / / / c---c---c---c B / / / / \ / / / / b---b C \ / / / / / \ / ---o---o---o---o---o---o---o---o---o---o---o "master" A, B and C are topic branches. * A has one fix since it was merged up to "next". * B has finished. It has been fully merged up to "master" and "next", and is ready to be deleted. * C has not merged to "next" at all. We would want to allow C to be rebased, refuse A, and encourage B to be deleted. To compute (1): git rev-list ^master ^topic next git rev-list ^master next if these match, topic has not merged in next at all. To compute (2): git rev-list master..topic if this is empty, it is fully merged to "master". DOC_END tests/fixtures/git-bare-repo/hooks/pre-receive.sample000066400000000000000000000010401516104173600232610ustar00rootroot00000000000000#!/bin/sh # # An example hook script to make use of push options. # The example simply echoes all push options that start with 'echoback=' # and rejects all pushes when the "reject" push option is used. # # To enable this hook, rename this file to "pre-receive". if test -n "$GIT_PUSH_OPTION_COUNT" then i=0 while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" do eval "value=\$GIT_PUSH_OPTION_$i" case "$value" in echoback=*) echo "echo from the pre-receive-hook: ${value#*=}" >&2 ;; reject) exit 1 esac i=$((i + 1)) done fi tests/fixtures/git-bare-repo/hooks/prepare-commit-msg.sample000077500000000000000000000023271516104173600245770ustar00rootroot00000000000000#!/bin/sh # # An example hook script to prepare the commit log message. # Called by "git commit" with the name of the file that has the # commit message, followed by the description of the commit # message's source. The hook's purpose is to edit the commit # message file. If the hook fails with a non-zero status, # the commit is aborted. # # To enable this hook, rename this file to "prepare-commit-msg". # This hook includes three examples. The first comments out the # "Conflicts:" part of a merge commit. # # The second includes the output of "git diff --name-status -r" # into the message, just before the "git status" output. It is # commented because it doesn't cope with --amend or with squashed # commits. # # The third example adds a Signed-off-by line to the message, that can # still be edited. This is rarely a good idea. case "$2,$3" in merge,) /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; # ,|template,) # /usr/bin/perl -i.bak -pe ' # print "\n" . `git diff --cached --name-status -r` # if /^#/ && $first++ == 0' "$1" ;; *) ;; esac # SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') # grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" tests/fixtures/git-bare-repo/hooks/update.sample000077500000000000000000000070321516104173600223470ustar00rootroot00000000000000#!/bin/sh # # An example hook script to block unannotated tags from entering. # Called by "git receive-pack" with arguments: refname sha1-old sha1-new # # To enable this hook, rename this file to "update". # # Config # ------ # hooks.allowunannotated # This boolean sets whether unannotated tags will be allowed into the # repository. By default they won't be. # hooks.allowdeletetag # This boolean sets whether deleting tags will be allowed in the # repository. By default they won't be. # hooks.allowmodifytag # This boolean sets whether a tag may be modified after creation. By default # it won't be. # hooks.allowdeletebranch # This boolean sets whether deleting branches will be allowed in the # repository. By default they won't be. # hooks.denycreatebranch # This boolean sets whether remotely creating branches will be denied # in the repository. By default this is allowed. # # --- Command line refname="$1" oldrev="$2" newrev="$3" # --- Safety check if [ -z "$GIT_DIR" ]; then echo "Don't run this script from the command line." >&2 echo " (if you want, you could supply GIT_DIR then run" >&2 echo " $0 )" >&2 exit 1 fi if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then echo "usage: $0 " >&2 exit 1 fi # --- Config allowunannotated=$(git config --bool hooks.allowunannotated) allowdeletebranch=$(git config --bool hooks.allowdeletebranch) denycreatebranch=$(git config --bool hooks.denycreatebranch) allowdeletetag=$(git config --bool hooks.allowdeletetag) allowmodifytag=$(git config --bool hooks.allowmodifytag) # check for no description projectdesc=$(sed -e '1q' "$GIT_DIR/description") case "$projectdesc" in "Unnamed repository"* | "") echo "*** Project description file hasn't been set" >&2 exit 1 ;; esac # --- Check types # if $newrev is 0000...0000, it's a commit to delete a ref. zero="0000000000000000000000000000000000000000" if [ "$newrev" = "$zero" ]; then newrev_type=delete else newrev_type=$(git cat-file -t $newrev) fi case "$refname","$newrev_type" in refs/tags/*,commit) # un-annotated tag short_refname=${refname##refs/tags/} if [ "$allowunannotated" != "true" ]; then echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 exit 1 fi ;; refs/tags/*,delete) # delete tag if [ "$allowdeletetag" != "true" ]; then echo "*** Deleting a tag is not allowed in this repository" >&2 exit 1 fi ;; refs/tags/*,tag) # annotated tag if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 then echo "*** Tag '$refname' already exists." >&2 echo "*** Modifying a tag is not allowed in this repository." >&2 exit 1 fi ;; refs/heads/*,commit) # branch if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then echo "*** Creating a branch is not allowed in this repository" >&2 exit 1 fi ;; refs/heads/*,delete) # delete branch if [ "$allowdeletebranch" != "true" ]; then echo "*** Deleting a branch is not allowed in this repository" >&2 exit 1 fi ;; refs/remotes/*,commit) # tracking branch ;; refs/remotes/*,delete) # delete tracking branch if [ "$allowdeletebranch" != "true" ]; then echo "*** Deleting a tracking branch is not allowed in this repository" >&2 exit 1 fi ;; *) # Anything else (is there anything else?) echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 exit 1 ;; esac # --- Finished exit 0 tests/fixtures/git-bare-repo/info/000077500000000000000000000000001516104173600174655ustar00rootroot00000000000000tests/fixtures/git-bare-repo/info/exclude000066400000000000000000000003601516104173600210400ustar00rootroot00000000000000# git ls-files --others --exclude-from=.git/info/exclude # Lines that start with '#' are comments. # For a project mostly in C, the following would be a good set of # exclude patterns (uncomment them if you want to use them): # *.[oa] # *~ tests/fixtures/git-bare-repo/objects/000077500000000000000000000000001516104173600201635ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/0e/000077500000000000000000000000001516104173600204675ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/0e/3ddf0c6d39e7a300bef61b99a914a86ce5e267000066400000000000000000000002561516104173600257750ustar00rootroot00000000000000x¥ŽAŠÃ0÷¬WÌf$E– „äœã¾`<±fm+8rÞö{h ªi©Ë25°'÷Õ6U,Zr"ë]Jѱº,V•‹CBo1˜oº61xˆFç{2´1J&KÂå"õŽ)‘á½ýÔ î3ïOøžæ—NÃYêÚXÚõ÷ßø(u¹ù¡‹Þ¦´ˆ¦ÓþµéÿVÌ-gÍPöUÚTWžç£yô RLtests/fixtures/git-bare-repo/objects/17/000077500000000000000000000000001516104173600204125ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/17/c75a4246c8bbab8b56fe4d562cd85ea670a21f000066400000000000000000000004631516104173600257670ustar00rootroot00000000000000xmAkÂ@…{u~Å€—6P¤O!µj{H…J¡PʰI&ºÔì†Ý XÄÿÞIÔ ´‡…Ý7ogÞ|ÙÖf8~ß ui .‘(Miš&ôLCQ´ák|pM0¯îaЯ׆ ÜZ³FÄLy¦º4ñßRnþÑ£L‡JÕ—mZW°£ZŽÔcE¸l´%ÖjÍ׎=› Ó³´’Tœ`pÊX5wJÂåß1È’íŽÓåëüeÑmù4{|_ÌWý‡ÍVû@VV\u‰åkmÚz•NÙº„C À»ÀÎà!DʱòŸiòÑKÞfÉê+>{{vg' ctŽ2¶åßû:Æ­ùHŒ*µ3ööbd$Å;ØÃÀqh$<ï']SœLޝk¬p—ø:±¾tests/fixtures/git-bare-repo/objects/29/000077500000000000000000000000001516104173600204155ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/29/0863292f509e947f62efed0b9cb6eac9b9ecb9000066400000000000000000000000361516104173600260210ustar00rootroot00000000000000xKÊÉOR04a°±/È(àâJËÏ×дæHxÖtests/fixtures/git-bare-repo/objects/2d/000077500000000000000000000000001516104173600204705ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/2d/b0c88706accdb2d0ceb938a68be150759f17c0000066400000000000000000000001631516104173600257570ustar00rootroot00000000000000x+)JMU040f042…üœ½¬âü<†ÿYg¾L–,]•Y·„¿:Wi½ò›òE&`%ÅEÉ ‘’§ô¤m+Q9Võ9åÍaIC3…’ÔâˆÏæ>š½éâ5gïnÍuåQ7=é ž'%-ºtests/fixtures/git-bare-repo/objects/35/000077500000000000000000000000001516104173600204125ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/35/7b1952da98491dd01c31bfe7882bc6ae21eaf7000066400000000000000000000000651516104173600257100ustar00rootroot00000000000000x+)JMU06c040031Q(I-.Ñ+È(`x6÷ÑìM¯9{wk®+ºqèIOðD_.Çtests/fixtures/git-bare-repo/objects/41/000077500000000000000000000000001516104173600204075ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/41/ab8cf8762f94ab56254925710c2b967a353fee000066400000000000000000000002151516104173600254770ustar00rootroot00000000000000x+)JMU046b01…Ü\†ÃÊÏͺ¯ÞšÆêþÕZ52¿ÚyÑ囆F`Ùüœ½¬âü<†ÿYg¾L–,]•Y·„¿:Wi½ò›òEŠ‹’"$OéIÿÚV(¢r"¬êsʛÒ†f&& %©Å%#žÍ}4{ÓÅkÎÞÝšëÊ£nzÒ<òì9òtests/fixtures/git-bare-repo/objects/55/000077500000000000000000000000001516104173600204145ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/55/70c142146e430b7356a84175f281ab2a364d48000066400000000000000000000002441516104173600251530ustar00rootroot00000000000000x¥ÎM Â0@a×9Å\À’¤ù]»ôÓÉ‹M#mêù­à Ü~‹Ç£ZÊØ@}h 3m‰Qq4VžïI3“U’²‹5™Á‹.<7–uÁ۬ b°)y•ˆ0gî™sN‡ì²À­=ê· ·îãôæqA8QR»<¿¾þ¸£ZΠŒ1JÛ;8J-¥Øumü_E\Sâ¥tâûO2tests/fixtures/git-bare-repo/objects/58/000077500000000000000000000000001516104173600204175ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/58/c37915623ec76e854a54dcfc12b19a060f6bda000066400000000000000000000001611516104173600256240ustar00rootroot00000000000000x+)JMU040f040031QÈK-×Ë*ÎÏcÈ:Á ÐøyÀš¾ýçç¦ê¬ÌwÉ41…â¢d†ÈÉSzÒ¿¶Ѝœ«úœòÆæ°$Ô„’ÔâˆÏæ>š½éâ5gïnÍuåQ7=é žÕ`,²tests/fixtures/git-bare-repo/objects/59/000077500000000000000000000000001516104173600204205ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/59/5019ca2e1bfab6711424c8567af364ec3cc319000066400000000000000000000001241516104173600255350ustar00rootroot00000000000000x+)JMU07f040031QÈÌKI­Ð+È(`ÐäHÖÔ˜7¥>éý[î9Û^Üùf'TQIjq Xͳ¹foºxÍÙ»[s]yÔCOz‚'¾4">tests/fixtures/git-bare-repo/objects/6a/000077500000000000000000000000001516104173600204715ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/6a/cefd912439ce7f9b03ae3dc2ce0eaf30104206000066400000000000000000000001241516104173600260170ustar00rootroot00000000000000x+)JMU03g01…â¢d†ÈÉSzÒ¿¶Ѝœ«úœòÆæ°¤¡™‰‰BIjq‰^Vq~ó¹foºxÍÙ»[s]yÔCOz‚'ñäºtests/fixtures/git-bare-repo/objects/6d/000077500000000000000000000000001516104173600204745ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/6d/9590305133e750ac8ebfcf9d652ca96f446819000066400000000000000000000000371516104173600255120ustar00rootroot00000000000000xKÊÉOR04e¨VJËÏW²RPJJ,RªåQ.ƒtests/fixtures/git-bare-repo/objects/75/000077500000000000000000000000001516104173600204165ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/75/6b07d2549cd6eb8f35fbe333c80a28d97096e3000066400000000000000000000001131516104173600255630ustar00rootroot00000000000000x+)JMU03c040031QHÎMÔKf8™à:ïV] ßÒè‡WÞ6[)ÕQޤ ƒAüx”“ۉݫ»Ãþù†é܈[V°Hçßtests/fixtures/git-bare-repo/objects/82/000077500000000000000000000000001516104173600204145ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/82/4b0a91e944a6217e473c2eec510cf694a2c4b7000066400000000000000000000002151516104173600255360ustar00rootroot00000000000000x+)JMU046b01…Ü\†ÒlöK!s®½î7ýýØø—ÆÍ‚i À²ù9)zYÅùy ÿ³Î|™,Yº*³n u®Òzå7å‹ %3DHžÒ“þµ­PDåDXÕç”76‡% ÌLLJR‹K F<›ûhö¦‹×œ½»5וGÝ8ô¤'x">Ò:¥tests/fixtures/git-bare-repo/objects/85/000077500000000000000000000000001516104173600204175ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/85/9f67f18fc4522a4da5b784bce6cb9ada034a16000066400000000000000000000002521516104173600257700ustar00rootroot00000000000000x¥ÎKŠÂ@Fá×*î”z%UÑq]ÁŸ[7tÈ«IJÁÝ·‚;pú GÖy*ù˜¾ê¦J]Ó† ɇÞõpÞ#ËŠ0\n›lþ°éR‰KÊÈÒIÃp†v裀K«Úøè$ƒ[ý]7ú™pÛé:Lw6з¬K…ÔóøòýÍGY繘˜}H6ÑÁzkÍSŸ¯U?«˜K)ZhÌÓ°ŒGó€œQ6tests/fixtures/git-bare-repo/objects/85/e656875f18b1985dd71dccaffe3eeffd6abf6f000066400000000000000000000002511516104173600263250ustar00rootroot00000000000000x¥ÎK Â0€a×9Å\@™$m ¢k—ž`23ÅbÒFÁÛ«à Ü~‹ŸŸçqì+¸&nê¢ N rJ1Kq‚¬%ûD!µ-Æ6w62š;-:U@õ"rŸ5’G,Ú[r¦lJµU¢¡G½Î œz¬p釧ö Ážç©×ãíëëw<°MÌÙùè¶èÍG?¯Uÿ«˜“ˆ ¬¯qè§Ûμ >Qtests/fixtures/git-bare-repo/objects/9c/000077500000000000000000000000001516104173600204765ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/9c/69996c1e01618709dacd99bcd129a3bcde290c000066400000000000000000000001241516104173600257200ustar00rootroot00000000000000x+)JMU03g01…â¢dÓjÉ [3š½éâ5gïnÍuåQ7=é ž vxtests/fixtures/git-bare-repo/objects/9d/000077500000000000000000000000001516104173600204775ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/9d/78a8cbc59caa98aebaf4ca9d6ee63cca241c4d000066400000000000000000000002521516104173600264320ustar00rootroot00000000000000x¥Î;Â0EQj¯b6@4þÇBPS²‚Éx $AÁí$v@{ŠûOÃÐW07uß²Iû`¬p ÒzGÞe.¬M§aÀºLêA³ŒPlÎ9d›$’Eì¤Ý¥DI;j‹¢¢¥^§NwZžpîï/ég‚Oc%®‡Ûן?nxö ]LkÃ:[4ˆjÕõk•ÿ*꘳då ëxé/ú,÷Q~tests/fixtures/git-bare-repo/objects/a0/000077500000000000000000000000001516104173600204635ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/a0/03d30bc7a355f55bf28479e62134186bae1aed000066400000000000000000000002461516104173600256100ustar00rootroot00000000000000x¥ÎM Â0@a×9Å\À’L& âÊKO0M§X4­´©x|+x·ßâñòTÊP wu2ÜÆÜÇà±OÄ­óè(¡ Fgl“líEÔ“g+8t6„†¼Õm°Îs$\qk![OEÅk½M3\¼.p/f†CžÆÊ¹žî__~Üä©ÁPH)i¯ öµV›n¯Uþ«¨óð–JiÔY’L½tests/fixtures/git-bare-repo/objects/b0/000077500000000000000000000000001516104173600204645ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/b0/64e711b341b3d160288cd121caf56811ca8991000066400000000000000000000002051516104173600253600ustar00rootroot00000000000000x¥A Â0=çûKCꂯâѬ›ƒiéÖ÷Ñx˜Ã ×yÎ ÞÚ6@ŽˆÙ‰uÑG‹‰8!Þ99tè– mú¨ ®…¶n¹¼$7‚×E‰õüüøõ§®ó.Œˆ.ø€°·}hºío•ÿ*æ²dÍTà›ÌÏûCYtests/fixtures/git-bare-repo/objects/c1/000077500000000000000000000000001516104173600204665ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/c1/7751c0dcafb95eda9f41e9cdc9ce101edbebed000066400000000000000000000070511516104173600265040ustar00rootroot00000000000000x­YmSG¾¯Ò¯h;eG!°ï*åCmAˆAP`ÇIîR[+i$­Ùewȉï·ßóôÌ®v…Hòá\¶aggzú½Ÿî„É@^½úî»lo4eCÞ&qLæÉ<“s%éBŽÂ0úy’âµÝ1[¤ÁdšKkØ–—;/v¶ðß ,äÚ²y<‘^h†yšÄÁ0ëÖœ¾9Çé,Iý¥Až›—íâ±qî§æF®¿,fir—Ýò:êfåÓafùé“è@·éJßÿ‚swÁð ö±ÿê»Cû£Üx“Måý<òSyßýQ^ûºÒ½áÊaÄóûîmlòn0ˆÊS?$Iœ%‰¼"yøÑgûܽ ¢ÃpbŠ}”ãÃ4ÈLOR?ü:N‘,çwàlOÉ\†~,©Yžƒyn$ÈÅGÛj‰’Q0^pmL*ùÔHnÒ(“d¬'ýrbb“BàËù †r Mœñ3²0ãb65#ZŽÇÉõãAŽV#í‰ ð>•[“f0š¼twJA3I¥åçd<•dFÛúaü.$ôÁWyÖqvÈ ½c»ÙüfdÆAl oå-ükËÓaäïÊSÁ6cl‘·ýãÓïíù‘÷®÷æã ×!ýXÜ“ˆ#äžM %5¿±?°9†ó‘‘×j¿íÈD¸öMwzðàIÓuËQ´vÖ¹_÷" ¾˜lí‹Ð¬[“ÉËuëЗ›ð…ù0<ÊïÍÆ<΂I †I?úIÍytÕ;ºþu¯Ø[JVìôœŽÖ»Þñi¿çüÐû©Å=zg—ͦ‹ÌóG£ÔS5y“{ÔL«rýN´›P`jòyËåqß»üþçkRÚ:(ôj_›Í’ꘊWŠ4ìŸQTBʲ¼~-—G'=ïúûÓãJÒÉ𲵈ç‡jU/ò³›ÕK:B#éOMU•£õâãïkUÞËÁ¹Þ:¨¶Ý–-yñ·¸‰üû8Ye£zkEÖµwý­[Ô·¼<¡×e«·uš ýSט©2rtvzÒoérGœ*Öˆ¾^#U.o“`¤¦†Æ×@@ <` ‰·~‚ȳÆQ³+_õ κqÒaÀ€báÓÍFùJö¥B0Ž2^ºâc<'­«í+ÓŽX]£ ×Ë‚¤¡áâ1D[Ïõ&þ ‡/éQpÊkÉó*ûËË8¸7£]™Ò%üA2Ïáâ1‰h™…þAÌd`cDÓ«±ÂèÙ•Ë'ÁöÃP<ˆýCðO`Š8;AÂËxP®ñƒ*$IŽç6ÉMý :F3[ÄLKó†¡$&•l>ÈYnÐÔMý[8[ñF%‹f´]è‡ä¬(ÝI™aïL§›Â¯‹“ªYíÒIãt,‡jö¤è5L§PÕj š=sΡ2 ˆ®ðôØ3£ë.`ж‰]u¬[É zh84­³Ý\É9k³Šê}Š«‹ 'T¡ øWúö•€˜,௯y´ž‚¥BQ] –mׯ£j¬¾À2‰Ù ÇÜ@G;2ƒù¤õô`-£ýYx0ÅÜñlçWFí,\D¥¾lÿ'~Jf<žëyi•\+¾±b¯, ZY¶ Y¥PÞ¨—ørh¶É[ö÷åèêêègïúô—^ù2ÔúœA>”™ÖÓ~wˆ“ùa&9pvW^µÊ¹pÌž@$\Uƒ5×—o]NWüC¡˜ò]Æßê¹"傽’ayþ\ž™§9ÊKÆÞËå»öúóÄðòku3€‚x†¼ã§“93!¢€o/‰l¨ù2:p‘‰ mbŒL:A*€µäãÏÈW°û<Ž’[¥îä&_ÌGA“D2$u ö-®™4 ' [Ó9Ç"š¡ur°££ ^› ºYñ«¡hƒ¾Cx€Œ„ aˆ»)‚óÎÈ# PËRmû¼¼Tý«U œ¶íVal¶’ÜÊýâê]ïŠ=#‚ ²TÀ¯âõg8Šv`êKW¦µÕó‹÷ÖiK†øÞÆÀó}ùï’1Þ¦N¹m1ý2[ÚPÿtV]•U½èôÚSvzïlܶ/ûpô‡”®õúŒ\Ù*T ª“W¨ÐpBM6¸\¤{¾ikP õôÒ \þøšü)¸”YÛõZv¬¶Ye s¯ëŸ@«Èò«ä^••÷ؾÙyˆcÎm{¬$Å9åÔ™¿´®ÓE¦œ¶ôY7À=åEz؈Ç'‚¼ ®ŒOvâ¸ÌL^Q”—¯7Úñ¢ä4‚Êü±6£4™iˆ`¸¶’]ùd¾EÛ„/v7Ìcüäf 23ÝaCø¹ÊÜã³P`'Út 0ûýÌÂ7f‘1ò`¦x*@k–Û0ÏëeþÄG2`ïˆËðU•Æ–š?Žb‹­-ÖE­Ù²(Õ ¢okeCͰâåÅÍ0¿f…Úhã% pÙ,áüôäêèCŸ`*D+“Ü Y«bägfØ [/Ò¶U+ãBxµi:\²)œÜzoÀüÌÂÆdAˆÚª6SíÝÙö’•pÆŒ?˜g ¶­yºÀ¸ÏuPJRXeW%Èı¦T\é3‚Çð% {—ˆ‘‰Â ‘ålž\ÚkÞ†¤±É+ uVy_øäw|6Ó2ºÌUT&Y±;f¯–ÎÔ`.oYvN¥¿å5°zB¹ÿ¯‚©D9.RDUÜR+¦ý²„•ÎñÂ]Ë¡¢œ½,¡Ar^ù-;²ÂÆêð€£‹ñáü6Ì&Ùl{F¿ÑqÔQÚ14Év´r`i«©¶ùôÎB·êèƒR–Ujëš: ÷ZVWÛT‹• £²pWÍ=¸ ~ñX³Dô”BR>kÜcûÕ Þc+X°SØå×L–X.#_CÚÊ:rA‰d×qøã¹‡/íøÖÀôQdq‰! ר N×dŸ2Ø©ò¿He(Ðn …ÿFÒYVtests/fixtures/git-bare-repo/objects/c3/000077500000000000000000000000001516104173600204705ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/c3/23e7368bd5da960547f53b25596f7b43a2d3d9000066400000000000000000000001141516104173600254770ustar00rootroot00000000000000x+)JMU03c040031QHÎMÔKf8XxàÎúq·æ;¾<{òœ€Üí×o‘d0ˆrr;±{uwØ?ß0qË É:6àtests/fixtures/git-bare-repo/objects/c4/000077500000000000000000000000001516104173600204715ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/c4/1563a39a03723f1fa122a4309c3dc9a185a858000066400000000000000000000002171516104173600253660ustar00rootroot00000000000000x+)JMU04¶d040031QÈK-×Ë*ÎÏcÈ:Á ÐøyÀš¾ýçç¦ê¬ÌwÉ442…üœˆšÿYg¾L–,]•Y·„¿:Wi½ò›òE&`%ÅEÉ ‘’§ô¤m+Q9Võ9åÍaI¨-%©Å%#žÍ}4{ÓÅkÎÞÝšëÊ£nzÒ<ô\;”tests/fixtures/git-bare-repo/objects/c9/000077500000000000000000000000001516104173600204765ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/c9/60459eda7e640ea55be1d4ed80c6a9125a8877000066400000000000000000000114101516104173600256400ustar00rootroot00000000000000xÅZkSI–ݯү¸¸Ãn °½;`04kÂý˜Ù‰Š’”’ÊRUi«J<<ãýí{Îͬ—m÷DGLG¨ªÌ›7ïãÜGæ`äõ›¿¼þá?v6›²)Çq”“e¼Lå„qò Góy<ô³8Ág;bñ“i&­a[Þ¼zýj ?^ËàAú~˜.£‰tçf˜%q Óíú”³wX"YĉŸqÔáüÿ¬9?­Î—³h¸­Ãþ‹Ã~I‚,3ÛÅcãÂOÌLúŸI|—Îyn§ÅÓajùÙÆá†S.=ÿ3æÝÃÏDþ?Ú_ÅÀ£È˜t*–¡ŸÈ‡íŸå­¯o¶g|s8¢åýömd²í`³þ;Ž£4ŽåCÊÛÀ?ÙçíYÎ'&Ç}ÜLƒTÀô$ñCÁŸãÄIãqvÎöä!^ÊÐ$1£ Í’`°ÌŒ™øÑhG!a< Æ|·ŒF&‘lj$3I˜J<Ö‡ÓÞG95‘I°á«å` å<š(5â§daÁ—éÔŒ¨9N?!}ǃœÄ ¬JÚà{"·&I¡4yãÖ •œfœHËÏÈx"ñ‚ºõçmðû s|sw`‡¬Ð:všÍïFfDñÆaÖ¿¶<†þ®<<`@0Æ9¾ìœzÇGÞûî»§|ÝÅ=‰8BîÙDRó;÷Ë};¾îÝt½›ë£ã®wuyÖ»ésh8_ŽŒ¼UÝî„&ÀìgÛÓƒGßL’¬{†kßBs÷ë>¤Ág“®ý0÷ëÞÏãÉ›uï!§u¯§pQìbݧ ®¿ÍhvÌ­‰²tÇ‘+wMElOŸ5›0Äå0<òŸCõÓ¿]ýªú8‚Tûßk.£4˜D0ª|ˆ7„!e{˜ cBS'g½®wññ¦ûk‹cB ¨½×l.¦©çF‰§kx“y?5­!¼*“Êꛘ×nþ£ÙHL¶L"¹:éyW?ýÖ'½­Îñã4¿4K~æ1€‰ ’.…ÿuºJNÙ—·oåêè´ëõ:;¹QÂn?Å~ úƒ ý…çÏU^è§³õKuš þ'ü/ˆàÜœáÅ ÜYwŒáRå;y»Oþ·t„·0‰‡¥Ú âÄðj¯HëõÇsò\›¿µnz[¶äµnÈâÿIħH-?Ðd+<¤ 3 Æ^(Ä"à“*HÇ©Éðb‘˜†„aAD€¨q«á`'·…¯ÊÎýºôþ4ù•<:?;íÕ ª#¹X+ZiSN²…åÉÁÁY“Ù,ü‰I½,¦nÓoØy]†:»êvúº#Î(ÖÑ×¾ëÓùñÕò`ä­§ì 9÷Ww€ª‘«‰ŸhëêUÊhñZg8ç‰âޏ?|4Å'Ù—(Ãpu'_•z>Óz²:¥K']‘vèwgÀ£†"“Ç(Ðz¡+ñO JA’p&¢ä žWÙç$Km=¦”r`BÉx^!ªcAÏfÁ-¢§Bíª¬-D`‚Û ! ’ywvÓ÷n.½óËÞ©b¾ÕпbrÛnÃ+9:·(s2·¢‡  W“pG(ö}É%^䃭”á”­ÆP iì¬åsŒP¿ÉŸ”²]Aå³Ï>ÓÍVeS9=¹ò>t¯{ÝsðÚl7*Ó*¸Õí]^t/8ê—£ëžwÉÿ»­ 0îÝÂmG´œ6·¬\ì+—ÿæúÙÎ5£Xþ/ä󉤹À0fXcÌü矋]G‰5¯=ù´'[[ŸTz/_¶•àWÙk4€ÇŒ›ÀaHa”‰¹—øÑÄfÿwh˜Á‚èk7¾j ÷ycdñÛp§ÛráÏ-"Ígábn˜bÃ’ù Pk²-¬—ÞÖÖx‚²¥·Ã_Ô…ñ„pec_™¡òI ‚È«(Ê/øGð bÁ$¹5#¥ZSMO¹"T£_än`­­­@ źiÕ˜iãºtò¤ßlœõÎn¼ŸÎÏúøÙ=zï&"‘ò¦ÆÑpÒE)*¨£® ÐårÎ"ž 67±¿ÝfcÆT¿Š¤©ÖœãS%ŽouÏz?W#Ç F¨¤ )iNÖ"VðÐbÕ<颯öE’Eäo.9“ ·KRGPÇHJ¿@A—õ×Ô”ŒáªD— à6L«¤%_šÃ81*¯!¬™»×‡R½Ê8iîlj‘ùxTÐb²2Û(††Ë4‹C uQ®’ê(¼ÌÅ!˜ƒ –YÈ!-eWÞá§0Ç4iQ(£I@Çw¥O@uåJmŒ´àQƒ‡Ì¤íŽŽ¯¥8»rÉ Ž3iþ)¸)S"xÁè†ß¹µB>Ä 4ø]¹Š¡t1R^HM]ÑnZ0èMP]q×Br¼Œ*@ÑŽKW:þû=¬JÉ–b¿k]TA5K§Lj•¼’³im™ dMBn@5wØtÛW«­~€H`MÕ%4÷ M4ÀMôàß2œšá,e5©FIû¡>­Ëþ¾]_ýæõÏþÚUó³gÁe'|³õ¬g½x9™J:3Tå@uŠBNöéÆÿDÏè¶¹‰3ìô¯ŽÝk|¢$äŸÿ” ÍFÁ …¹Su…Õ·¬9TÓHçA…ÓëþP&/ahP!JùbûàEc€–ï!=£¸ýrľ«Y°g`·$ÀËZE4cøïK¸Ëë÷Ýk–ÐgÁTkêèsI6ÆË9–…'ÙGîШë¸PÄÆYßÓ$´ûÞ#TÓͲœBbÊZ¥f#Oȃ¢µ)­]ÁT›ñ„ï(s;Bm±d[G¨¨«zsðJI7k»þpZz†BJ¤±a4È,˜¢´ÑžFñ­(@Œ‘™I"3Wér>¤™A+¦5hSôàAœ]44E0Þ¿õ¼ž£‚e¡5,@·±u Feí2%ì‘Õ-³ì}ùKO͈æˆ)[yQ¬É9Q4èÔž1(wF쬊3½|‰WYœùs²h1î%Rr]p§495gÒiˆl™árpY Û îgŸÀ/[*ù€¼hB¡&U¼R_F;JiÕ?ðó ²]é²4~"xØP#­¼÷Õ)—lZå°°Õ]´TQé«#a˜kehm)½kßÙ8‚~["ŸM+šºþÅh3îÍhW¦Äf/3š2ÌAg1G3Hyª=]úÏ RŽnê³Ù(¥æ¥—lËZ>9Ðpq&ð‡fd[Ú[Ú•ke±»h*½îJ££:ªHBʦ8[èeb¤- m“ãzK;ß&˜A™F ²5ÆÎ¼@9m¹ëªIÍy÷4xÞX-2ñU'jZ^Dáå••rU·£h­‘Š´.Áõ",£þѶì¶pÕbåƒVŸ6¬|qg zpûäÑ2èÕ¶¤Û—ÞÇsœå%-c¤¢¶¦MiüvB:‡³a;Gý£,‘8ãù‹ËóÏK¯ò|¤%ª³¼ Òs'ÙlS~ šËΊ«d]³*¥1`r~b­qôgoÐP)9©†»m²vx~i¤6¡*Ëú**^Öhô;7,ï¡V˜Ñˆ\ÞË q…YV¶µ©ù©¼R_³[:]koφŽ'/äüD1xv à¢ÜÈ‹Ì}æ±#hû²Ø2w€»Oö¤DµWœù¨™VäÌZ-V[¡Q6.Û¹X÷ XØnÅÆà§/3pa8ÛŒ”x’ë¸ÀÝ ‡ùnÖÝ”ÐÄ•áêŒ-‹Ôk¯b„þˆf;p×™°±-¿˜ï‘»âF&ã—¤Ó°6Hð:¢¹ÇÕ¾Y,;Á(íýH[M瘙¤ZÞ1µÍìÙ8R^Î×Åü‰¸bXCAŠÅå–iÌÓ¢ëõV5ȃ´qÿRòÛ /Î=ôk­©«jX1Šâžœº+ÌAq«v+€'ãhÃálàeî{g§×¼ìˆz»B´r ¥BÖEKö'ò´Ö HÖnFP·U-㑞R»„ÊKé&Ö²€5<ªÙÂõÍþotŒœ¥UíÍ´wó\Þv0µ\bL,Ó†y¤¨(][¦QÁ¡Uvuç;.§UUjÍêÓѺC“°Ùà¢"šl °€²2ä}½T”Ç/9³½;©Wl ±:@wÂm¼­`Åþ,îÂtŸ/4)(¡”‚'Û™ù¸š$™nG2pçÁ®þìð¯Dyz¡GYù*µÔ W$*´k/õ8¸;Æ‹£€rûü\‡¢mÙœXy Ùa§›g/Qßì$*w‚ ;,øF¯“!ûª$Z?ÁÉûë¶Ó‡Æ•Í ´ëLKÎeû(+±ò**”M]v%C°‘7T%y¸à& Å:¿!tkUó]ëùâ©k‰è,=䳺ì8ÒK8)ŒÉ†)ƒÃ¦ÜŠH¨¸ùP¦Ê ´„‘uyBÁáÏ.a㆑'4C~‡ Ùà˜5À•‡ÓoÂ’Òír]Ž—–S8µMúEëîµtests/fixtures/git-bare-repo/objects/e6/000077500000000000000000000000001516104173600204755ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391000066400000000000000000000000171516104173600257220ustar00rootroot00000000000000xKÊÉOR0` °ðtests/fixtures/git-bare-repo/objects/ec/000077500000000000000000000000001516104173600205525ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/ec/587c3ebbaf491605d24a0b1d42e6de7dc26372000066400000000000000000000002121516104173600257500ustar00rootroot00000000000000x-A Â0E]çsKÓ6EÜ»ÜO'c‰¶´£àímÅÕ‡ÿ=¥Jv¹» +`lî¸B&Â@ÒÑÍ3a¬Eê39_²F?OÎã˜Ôèæ(ܶ½ÌpèµÀ% oI3AËyRb==6¾üq±~k¹A,=º öÖYkÌUæ%åéçûa¡1 tests/fixtures/git-bare-repo/objects/ff/000077500000000000000000000000001516104173600205565ustar00rootroot00000000000000tests/fixtures/git-bare-repo/objects/ff/6accf4931975aa697ea40f7b6d22af23ec77a2000066400000000000000000000000271516104173600260540ustar00rootroot00000000000000xKÊÉOR°`ÈK-×Ë*ÎÏ'°*tests/fixtures/git-bare-repo/refs/000077500000000000000000000000001516104173600174715ustar00rootroot00000000000000tests/fixtures/git-bare-repo/refs/heads/000077500000000000000000000000001516104173600205555ustar00rootroot00000000000000tests/fixtures/git-bare-repo/refs/heads/feature/000077500000000000000000000000001516104173600222105ustar00rootroot00000000000000tests/fixtures/git-bare-repo/refs/heads/feature/1.2-dev000066400000000000000000000000511516104173600232030ustar00rootroot00000000000000859f67f18fc4522a4da5b784bce6cb9ada034a16 tests/fixtures/git-bare-repo/refs/heads/master000066400000000000000000000000511516104173600217670ustar00rootroot00000000000000a003d30bc7a355f55bf28479e62134186bae1aed tests/fixtures/git-bare-repo/refs/tags/000077500000000000000000000000001516104173600204275ustar00rootroot00000000000000tests/fixtures/git-bare-repo/refs/tags/1.2000066400000000000000000000000511516104173600206460ustar00rootroot00000000000000ec587c3ebbaf491605d24a0b1d42e6de7dc26372 tests/fixtures/hg-repo/000077500000000000000000000000001516104173600154365ustar00rootroot00000000000000tests/fixtures/hg-repo/.hg/000077500000000000000000000000001516104173600161125ustar00rootroot00000000000000tests/fixtures/hg-repo/.hg/00changelog.i000066400000000000000000000000711516104173600203510ustar00rootroot00000000000000 dummy changelog to prevent using the old repo layouttests/fixtures/hg-repo/.hg/bookmarks000066400000000000000000000001511516104173600200220ustar00rootroot000000000000005ea48553c4dfbba5ee51189bb5a145f75db4b425 master 7bc72b056e7c13b3d7a2f8fdb2d3fbb5556a7ec2 feature/1.2-dev tests/fixtures/hg-repo/.hg/branch000066400000000000000000000000101516104173600172610ustar00rootroot00000000000000default tests/fixtures/hg-repo/.hg/cache/000077500000000000000000000000001516104173600171555ustar00rootroot00000000000000tests/fixtures/hg-repo/.hg/cache/branch2-served000066400000000000000000000002211516104173600217000ustar00rootroot000000000000005ea48553c4dfbba5ee51189bb5a145f75db4b425 7 7bc72b056e7c13b3d7a2f8fdb2d3fbb5556a7ec2 o default 5ea48553c4dfbba5ee51189bb5a145f75db4b425 o default tests/fixtures/hg-repo/.hg/cache/checkisexec000077500000000000000000000000001516104173600213470ustar00rootroot00000000000000tests/fixtures/hg-repo/.hg/cache/checklink000077700000000000000000000000001516104173600241702checklink-targetustar00rootroot00000000000000tests/fixtures/hg-repo/.hg/cache/checklink-target000066400000000000000000000000001516104173600223050ustar00rootroot00000000000000tests/fixtures/hg-repo/.hg/cache/checknoexec000066400000000000000000000000001516104173600213450ustar00rootroot00000000000000tests/fixtures/hg-repo/.hg/cache/hgtagsfnodes1000066400000000000000000000003001516104173600216260ustar00rootroot00000000000000ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ{Ç+ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ^¤…SÂܰæ×,ߨ³(‡‚iWtests/fixtures/hg-repo/.hg/cache/rbc-names-v1000066400000000000000000000000071516104173600212700ustar00rootroot00000000000000defaulttests/fixtures/hg-repo/.hg/cache/rbc-revs-v1000066400000000000000000000001001516104173600211360ustar00rootroot00000000000000調l}ïŠËÊ{Ç+‚ŒÚgDGÓ&Ôqê ^¤…Stests/fixtures/hg-repo/.hg/cache/tags2-visible000066400000000000000000000001301516104173600215450ustar00rootroot000000000000007 5ea48553c4dfbba5ee51189bb5a145f75db4b425 8acbca7fcefa3029c29d6a3eb4a676e607a73c81 1.2 tests/fixtures/hg-repo/.hg/dirstate000066400000000000000000000000501516104173600176470ustar00rootroot00000000000000tests/fixtures/hg-repo/.hg/hgrc000066400000000000000000000000271516104173600167570ustar00rootroot00000000000000description = "foobar" tests/fixtures/hg-repo/.hg/requires000066400000000000000000000000561516104173600176750ustar00rootroot00000000000000dotencode fncache generaldelta revlogv1 store tests/fixtures/hg-repo/.hg/shamap000066400000000000000000000012201516104173600173010ustar00rootroot00000000000000b064e711b341b3d160288cd121caf56811ca8991 e88dc2aa0e74b10445f92de34d2a61d274a919fe 0e3ddf0c6d39e7a300bef61b99a914a86ce5e267 bf6c7defa0f269df1389cef460c98ea18e007a8d 9d78a8cbc59caa98aebaf4ca9d6ee63cca241c4d 8acbca7fcefa3029c29d6a3eb4a676e607a73c81 859f67f18fc4522a4da5b784bce6cb9ada034a16 7bc72b056e7c13b3d7a2f8fdb2d3fbb5556a7ec2 85e656875f18b1985dd71dccaffe3eeffd6abf6f 828cda676385bf21433a1c313c1b3bb84ef87232 5570c142146e430b7356a84175f281ab2a364d48 4447d3262dcd2ec2a122813ae6dcb64b4941a305 a003d30bc7a355f55bf28479e62134186bae1aed d471ea0b4d78d5296f7c266161ba79f1f0be4927 a003d30bc7a355f55bf28479e62134186bae1aed 5ea48553c4dfbba5ee51189bb5a145f75db4b425 tests/fixtures/hg-repo/.hg/store/000077500000000000000000000000001516104173600172465ustar00rootroot00000000000000tests/fixtures/hg-repo/.hg/store/00changelog.i000066400000000000000000000032441516104173600215120ustar00rootroot00000000000000¥Åÿÿÿÿÿÿÿÿèªt±Eù-ãM*aÒt©þxœ-ŒA E÷œ¢'¨:ÐÁãÖ¸ô¦4¢-˜‚=¿h\üüŸ—ŸG½g´è'5!²–ŽQ)¤{žœòžÄe¶ïÜ\üù°ÚæÀ)ËåôüòüÇ-§å(c%šf]×Ôëæ×r[ýrHqï:~p=ÖŒ ;IÄ#H`;)MP›ªBä•wÅçÒ¾î/ñœ¢çJ°s5/K(íE =€¥£Áÿÿÿÿ¿l}ï òi߉Îô`ÉŽ¡Žzxœ-ŒA "Ô cŒž=úCw—H¬mCiãó­‰×ÉÌØÖj0S¶ ôÄÕÞ$å°·Ñ{‚d’¸ q]ä=çå §±F¬—×/Üàô> ÕúT«C'½»ºq©Â[^ò4 QtdûhzNNõ!Ľ‹C¶¬KÁC‰?Íüœ…¸1É´ŽX÷Ä8 Í<0Hœ¹ÿÿÿÿŠËÊÎú0)Âj>´¦væ§<xœ-ŒM F÷œ‚4@§üctíÒ˜a˜´BRj½¾mâò½¼ïS}ŒF%ö=:ëj“´=Qh]Q\'ü4yËÓÊyFy¤Z¤åüÚ}ûëŽêû$4l =éŒRrKWž—ûÌkn¹–CHΣ§HC Äà‘#Ž@’e¶=ÐIþvÏV‹—”8É÷·1?ºШ:ºä›¶ÿÿÿÿ{Ç+n|³×¢øý²ÓûµUj~Âxœ-ÊK Â0Ð}N‘”t’ÉGDtíÒÈäÑ4¦¼½ n¤A$ë…Ì1x!A é4"j“”–(v­ôüVêžÊJüzÛ(lççÏÇŸ§Ð—›•q¤†‚ëžÖí¾¦½ŒÒÛÁ¢ËÚäÙæ €T$ôÆ*’ÞQ$!Íšõ§Çè±KŒ)òñ^jiÏé¢f89œ¶ÿÿÿÿ‚ŒÚgc…¿!C:1<;¸Nør2xœ-ÌA à @ѽ§ðAÇRJ»î²(FgÀÆDˆi ·o Ý>>_ƒwFÀ¨Ð`ð=b£,Xp¨,jÒžIÜKx7ùÈe§¼yŽuÙBÜ®ÓÏÛŸ»Xç‹ÐÖyoz×+y¼•<ÒÖí¹Òž[®Ë ‚Ð ¬qÔ‡”œN1fꉘ„‘E-©{µºqK‰’lŸ¹äeê¾{ 8ËœºÿÿÿÿDGÓ&-Í.¡":æÜ¶KIA£xœ5M Â0F÷9ENP“É̤]»ô’_ 6-´µç·‚îÇ÷Y@G šBa°€J*Ùç²"F.ÐvJÜÿ^ä½[®³—§8«ëåõõËOwqjg¡Ñ:ç–”’{ºåy}Ìy«KÆ#‘UQ#häŒFkˆ}ÚÒþ¦}oö¢µClûêžB\SÊI¶Ö}’Î7¢·˜±ÿÿÿÿÔqê MxÕ)o|&aaºyñð¾I'xœ-ŒA Â0ïyE^ ›dÓ4"âÉ‹G »É‚M m->ß ^‡™A,hX8™„ÈT¢Ëco‚ÉÀFÝz/úQ‡MêLúœ¦q¥´^_?¾üñ!Mí¢ †#t€:X½«›Ìës–­.uOà²Nœ÷Å{.¶ß#é¬qhúŽI IV­SÛ¯JÝêG²níð.6™OUWÿÿÿÿ^¤…SÄß»¥îQ›µ¡E÷]´´%xœÇÁ € À§pM T`œ ­¾” :¿ñ~'‘9•„=‘®9YM 93ÎL–Å…TQ¡\ç«}Ì]ÛÄ8±Çd¿žVeèôç#.tests/fixtures/hg-repo/.hg/store/00manifest.i000066400000000000000000000020271516104173600213670ustar00rootroot00000000000000Fiÿÿÿÿÿÿÿÿƒ‘¹j?]DÆ+ÄUH|<û^èxœ+.JÖ/I-.Ñ+È(`H²0HI5M14¶07µ051L6M30523ML141IL²LK´0K1LIâëÈ*ÎÏ#^ u”JFC ÿÿÿÿTR†@)À½èRsñlµ§}?7src/index.php8afa803b8db8f69d45ca64f6e75abd240f5c4417 ‰>Òÿÿÿÿ» Þƒ§g JÑ$‹„ e¯y›2new.jsona5f475fa982c0e7547b531173683bbccb14225df Ç?ÿÿÿÿ#uZ‹õ-Ëm.,£–UV~F6 $223old.jsonfed4d44d9baa4e47f0f29da6cf76a53fa6252225l ?Óÿÿÿÿ— &Œ(©¯–.òdg€Hþ3old.jsonfed4d44d9baa4e47f0f29da6cf76a53fa6252225l EW7ÿÿÿÿs²K¿b"_ß鹞do(¶xœ=˱À @k‡IAt¹4îߦÉåû/åçÜ~ìò"$]yh'pá-÷4QÚ‰±Òsbƒú§Šð–9E™[,e݈ûrˆ–£¾–)”œ>7ÿÿÿÿDôëÁÄK¯“ÒI‚à~ë~б22mm/cma.c3ef8d557da820c5c0fbb3a47c0f4b16cabd01a4c Ú=hÿÿÿÿ§UŒ€p1k¦þÁ/õ•š$1.hgtagsc21e0481dcb0e61cd72c06dfa8b3902887826957 tests/fixtures/hg-repo/.hg/store/data/000077500000000000000000000000001516104173600201575ustar00rootroot00000000000000tests/fixtures/hg-repo/.hg/store/data/mm/000077500000000000000000000000001516104173600205705ustar00rootroot00000000000000tests/fixtures/hg-repo/.hg/store/data/mm/cma.c.i000066400000000000000000000126771516104173600217400ustar00rootroot00000000000000Ì0äÿÿÿÿÿÿÿÿRUt‡b ÈÜ?é¤rï¿Ï‘0xœÍZ[sÛ8²~¶~E'§â‘YNr¶¦¦lË;‘=ÚØ²Ëræ²»S,ˆ‚$ļh ÒŽ²›óÛ·» %%ÙÔ<œT,‰ Ðh4úòu{-؃7i’«y‘®dœf+8¢4yšákÓc¹ÊÔ|‘C;ìÀ«/_ìãÇK˜¬`,b]$sD2̳4Q¡îÕ‡ Ï®ð)[¦™ÈUštiüÿÖ»\^øãa˜„=îöêök¦ò\&8Ù!>î\‰LÞÃøÓj™¥ú^ÁqÜÓåÓkmøé…i|ÂÝU¸ŒÄ'÷¨ÂOØ_%â§_›¯²ãi"¥^À»"¼ëýÇ‚[z÷Ôò:RIñ±÷ȼ§&q9ê¯išè4…w*†c%âæ¹w¯â×Ñ\º~´Ž»…Ò€lÎ3þœeR‚Ngù#rv«´€P$É©Òy¦&E.Aå ’éoÄéTÍVÔV$S™A¾Ë,ÖÎøábô.d"3\ðM1‰T—*”‰– 4QXR£^È)í8'Æ–8O‘0oÒH…ï3x™Ægxeç *ŽfšA[äÄxé’†‰¨ƒü® ¹7Ör™a¤­ÖÿLåL%Ìâ¼xÆâž>`5Ã.ðæzt>¼Þ\ogï/¨=¡ö À²Ï2A!•_öÝ›ÛÁéÝ ¸»=}3n®‡£»1M„Q1•pÌ{{Ëx‚jß[œ¬½“Y¶©9Ž7¶âÎ}ÜôB«ORo|‰É¦ö(¿ÚÔŽrÚÔ¼@cÂUlz¥Òzkž‰PÈ™äÚ‘«^?å–§­*bæ€ô ’ý÷«Óßx?NQªã?ŽZE¢Õ%èAÚ´ÃMÈž) (ÐÞeºô³ãÑ#IXá–î6öi¡V$ëô*!“d‚@%Êx@æê£'ûѦ¬Šã;¹4\ÜÙðnÜ]—×£ vˆn©±ø˜¤Ô€&¿Ô;µIæÄ\c¬D¡ 0îÙ¨\g#eÜ ’-ÇPc(ØÙ®àSŠQx>IÊžüÄý'Ap³í-ª ç7Á»ÁíhpÉûBvýÄæ™ðþ`t}5¸¢^¿žÞŽ‚kúÿfÐ~‚Üh¶SÒœ-™¹è3—ý¦¤ Ôà:µv¦) ˜«e~ ÆO@F ;3Â?,=³ê$3êu„ƒ`ÿKïùóü*{;;èÉtö€%‚ŠDÀ<ÈD2—èfÿY(t´ì˜‰n¶ý+Gž{‚¸11þ[Ä’e߃+qh!¨¡âe$ â:B…*@Ћã€ÑçÓµ9¶P6oè‹vé Â…'}Òag6O‘ â*Zøgü#Hy)˜d J¹ÖH•¶O"û …Ëhïï+Ï€‰VÝà¶ÁÉóqkg8Þ?_Çø98}k" RLi½T {Ÿ²ëØ),ælù±×wØÚ¹'¨ï{ ¢éYNßãûƒáè—ÓË/ø–T)%ÆdmòÕ¥{P$ VOÅ´ÑR›à ”ÓKs[/Yw@»êS°€y“±;o¢e¿h/jKÿÜ ÓL2¯!js{ ãDó`aÈz”p›ÀJˆ=1 §1„UºJ$0ÂF7bÎ`‰ÞkÒ”C8”þ Æ”ºL”ÊÞD€û’×9„19ÔM}P’”€æi»Ü¿oášÑŽdó¯A"´0r;Ø ¿­çæ ù5v 8ã¹Iq(¡K1î£Ôx~³hÀHoމTÏO$gERÊeûé/JGDøsºjJÉ ³/jmÒI¦èÕ¼ö×lÑõp_“íàdz=»|ÖÚF Cmò§`ìKƒ ö`,Ç„ Þkö=¤”u‡~NooOÆÃ¿ Ê—ºc”ÓN´ÍöÓQš£ÓK‹ùt”æš¼¡sFTFöúÉ?’§ì¤½°3¾ycõžã‡ãÿž¸L2P:0ÃK¶©k§ĬÑóú0M.P bÜŠSùrù.°RŴר‹–_õèÛœ׌¸¤Ž ÈÛµhßJá®oßn)è6ãvÇòQ‘Õ‹´ˆ¦äÿ]†ð¨òE}Ëx2 BoÛ „U:…À”`i#/Ù(¢h ­]I‘ã µ‘ÌMƒê=XÔ[$Ý¢¸6á¢aí1Ú’ v*WHN“ਦÑÅx#ˆIð÷2KdÄ$t1Ñ+ËXC;Rh)¡7Aœªh¢ âA(lŽ(d²¬HÛûà¹Øºÿá‚„=(í}{ý«‘ÅZa¬ÉÙõ¨oTšpÙ£ f”ÇÊóçØ”§¹ˆ¨Ýø¸çÉyƒJå:Gàûö© #$TŠ»•üÿõß8ò²…9 v}Á¶,’Õw9øHÅ䨔o™Ó8QhWÓ–SvŒ‡/5ñNKC .D‡¼ MÝõ¬k™>š8òŠªkŸd–þiÑf¦>Êé!,8mž¤ENªL±&…e$B¹%0þ9AÊÒÕNf•0•ŠV••ô`è9Ö|gÖ$2´Q rCÔ‘)îbbyn¶s¿$ÂIšæøÜ!r ¡‘0š¯Ã8S.hàHH¹Øé™ñB<È2lZÚrzàäÃåXC+¥¾š¤TG-5Éj'¥áÌn „1¢÷*í¡ÈªÈ9®• ¢4z&"tŠDÊS6302æ®ÄQèƒa®…|Š$kQ¿†˜þZ¿Òº_C¸S°,ºÛq‚OºŒ²ˆ»ÑoùA: ÞÞž^µ; $a+¤ëŒü^…}_¬å¿ýôc#h\`uWé䇦‡‘E4¯eå tJÔ2%(¡R'hr…zÌTœ#1pd–.3…J‚{y†‰ûñè<z°Y±ÌáÚ;Ñp›^É® žjø†•ÿ áêZ ¢6—9Óá,²I‹Uµà:?ýH½ÐÒQ7p®* ädŽÐYJø>4°Æ” g)‰à1ÍîEF,‘DÊ©IQ×–HM(¬í îF€A&HÐÌ'Å¼í ŸÓ,ÔøÍ#ÖzrBFXÏzúL›õl‰^—-ƒ±êÒOñàS!©fuAvÚï$²kTv+ÀáËÿ ,ºOUËÜÝ…'ˆR9îÕ¼ªÞmŧ¼ëŒÁ¡5/QuE6/hæ…Lt«¸¢©&§äÂUÛŒŠÇ2›w€ 1ý€1(¡£­8} ee:±šghùj)9ØQ,àïÒÝ£†OŠ);éyš!(1Ž˜Eh’á³5š–ì-„ï^´SeHOS Žèp%<ФÔRf#¬n{Î |—Ùibp€ïAá\w$%íÃfL• SÜ ñ½QíÝ>üŸ·é8[UUc$Iå,C}QlÀÔ¿û¯ÃÑÿö[5Ãg·šÜ‰ 3Œš¸¶0u1©skºÓ†Yªué6Ñññ˜óÔÎMº­%Þ a´¦}\eûs ³ë¯%›PR®¢2í[Ü0^ÆœJN ¡mã ÚžÚq§>%MàUÑ>פfN\ióQ¡Q3‚Fx%TB+írÀ’³™$xdĆN¿@P‘&ë#z0–µäÇe¤BEØ„à!•é¤zVd@˜’IÖ}qîÐ5¾ Î<ÔÂ8i†íUk·Úyk]mmikV¡Á¯$ãÈCËœZ”l·Z¯cxa«¹n¯ÏÞçâm£ ù(Pï"ü²pÃÖ{Q8§(_ƒåmyuC:¦±Åtkõ×jÇ­1”¡ÂX-oÓµ®!‘g+ßÖx*¿ûLeš¯#‹@}„JR¢jÆ;x”°ã%\2Ä·È,‹v?¶—S€ fµc…VîŒ)3Ìm:={RÆ;Y#Õõª}5¸:»¼~ó.]¦ïÔ­ ÙºŒ‡#f¾ƒ¯ GÛÙ¿…æ„¥ÖÙ3f!+éŸ}ÕºGæ")îA‡"Ñ”ÐP¦›G¾`òÝ¥Éï8uIÙÒx×e‚Až‘^ÄZüËyTb»âÐm÷ÛM ¨L†ÐæåÙ#\ =Wåc[†^¯BVVØmdà2„£–_®äÂP%³”±5¬gÒ®Ô™uÉäh¡ž;¶¸1þ[ðòжi×Õ\ÖêûÎËŸ£¾|ë’1;Ë×È{T¹–^/œ˜ã1ª•¸DÔ: 6ÑMNØÁ¿ØeÓzÚoƒvÈ/8£ÇtCIfø:–SS6`{ˆ¾Ö9–¤ˆ'^õÁ+tø½*°Q–)¨ÂR#q6W Ü2‘rHa ­Qìtõ–ÓZ†»zÀÙ$ãÆ½J kÙ´#=§n¤«¼œ g×tÓ£k/B¬©š’Ýþ˵.gy±~ ëÜn=Z®ŽUÍ’ø³£÷——UJ럚rQºªz€ËŒi¤H4âÙҋóO…ucðlʈª„ˆÏ`¯c¯(8ÙqU,l™•¤W?œ¯ß ¡Mq¤vìm“ÝÝ¥‘Ú_–õaÕ¹ø÷ßàPæ=©mÞ†ÕòÜÑ‘ñä[/Ôî<Øßˆ§A"?æUMb‰K®ÝCàPPWö|.»Fc¹³Ïé-ç=é×—bBÏöË 41²tïNrÝA¾Ù‘oº)Q†«!•,´˜q­bš¥K‹\kP)¢¿Êò‰Œâ¤Ê§ÙˆUdHèЈb©ŽÒsèÈd“Ü=µæôŽ mnÎÆMÜ2“‰¹P ‡5LHq2S«°am»(ì­_¢ÀœÁïæë8GëJQÞ“saýV@»¼¢ñÜÙÞÕðâ–.;b¾íõ˜õÈÚhÉ Ün³u&ÍÃûæ.ãÇÚÍ ¶f¨ÚW7Õ;!“ UާsXÆ)®`rl¦˜4)ôªË¥µBS—y~hÃEÒ)ƒiy+9g\Ÿ*Ìq2ŠMv6´* ðÞ:ß\í×s¶üziQ ß ª@bö§î®û¿æúŒO ü±l¸R"àázlL¢¸µ´Ç&ü»ªM›(ûg‡&zè.„»YjÐ`T±ÞkÓQ3^ÅérÐdå4<ms‚2Ì­Ä´©K˜ã·e–>¨©›¦)'üÉ!”*¦ÍÒyÂ{ª¯hû¨Ü=d®:û²]CµûxUÀÕÝo»ÝÆ—…¡Ø^Ù+#DYr©i Ïõl¹-ä"<ÊÜJ¢‹7d³¤]½ã+9øþ¸á‘ ú:Y÷TqBÉá/WÁÙû‹àzÔöœœ|‰ ǾLÊ Ž«ôßâK*³s{Užö#³e™v› è?–ë÷Ìs"¢ÿÿÿÿ>øÕWÚ‚ \»:GÀô±l«ÐLxœ…UÝ‹U¿®í¶lµ¨åt»ÙΤI³+ˆÒ4 ѦµÐl–¬EY­—›ä&;ìd&Ü™¬Ù.ñQEÅGß|VÄŸ|ñDPÄŸTüT<çÜI6_Гܹs>~çÜs~Wˆ¥ß…XúGðóð·Bœ8k×'E\|'fÐJ ÕSp”qaìwC݆ »NSÅZö;aiöC+„ÉÜn®é'=ÕŸÜ÷Ã"ÓÖFöQð{ Š9¨ÓDè«®ŽÁè¾Ñ±4hBj@MÈ3NŠ®7HôÐ ¢Ö~)s¿”AìP$â¿'*ñ[0‘ŠTF«øZåuùr­"+jeçn)“êŽÑ4ešú|å+ô›ëïÆRµÛF²WÙÕ‰¤z¸‘røã‘ÕÏBœ‹llnK*UÀû²§âýYOy®2kH®5»þå_t}Õ1:˜Ü;·áÚ5p'4as“Ü6§ÎÈó TŽet°ü=þ¼ð €=5 £E9.ÿ Ä©Ut„rҧÀ§:(ß¡Õîƒs É$¢÷x®4‡Ÿik6!l§ŸDI&ºè òmW´­Lb¾Þ3î:¡=Ήü>ò·gîØI;s„ò]Ÿ}OˆÇ;vývÙ9Z<æÌø§üÏá|>½ƒ_¿túF¶usÐuW²˜vdƒa¨!»þ"­¿‡óÂ/¶z8LöÝ{3\¡*HÙ„-)óàN¡÷ÈãÜ&9'«™mŽ3§<Žèòg¯ |†ÈßrŽ¡”ûÿ³ë‰ó¶+7«rçÖn•”TirëëÕubžO¬IãŸ6¸ôŸ矱Õ<ÿ©ð]vü†‹'¿.jm :þP·=$9!.h!."N±í8“sN„U÷l0àŸ4*ìj×Öé8Õˆ® £ºXFù‰Ï¡ŽG…êV½V­•H¹%hcèå>è±Ñ>£,3öò‹«ïÛ|V?BùSˆ‡ŠN1—q UÕÚ¢Ls€‡@ † 'ÐÔØ‡~â#ʘNG%Úäáí=B/2öµ uÀ.âA3>ŒÝ‹Á ü} q šÀ «$2yu |Üô²A:¦-ÃÚ1ÃN3(R¬Ãó<º8PyûÆ–¼^m‹ÏÁ)Øñ/÷3²€m€WnÝxu¤1E ¨9CNó—ÏŒ3 åòe*ãê_BdŸÇÞ¥1òÃNä®4FuËm¨ù/JG…&eÑt@vvåFmÁ@¤9 ±ö‡—Ö1ÐÍt˜©cyšm-ælF:A'c'¹ôÊ»è2;C_tä-ë m*Î:apñr·Ð :Í3ÛÏÛhm§]Œ+&˜ 濜Ç̉Î>GùÕ6¡w%Hן ›ÓÕÐÆ¾µ,Fˆ"]wü°-C=Lä=m">×v·33ym¤yäGÒ²Pž\Üž`AÙØÅ%”.*Í( ˜«F²ž¿˜ó0uLú3<½þÊäöe´Btests/fixtures/hg-repo/.hg/store/data/mm/cma.h.i000066400000000000000000000005461516104173600217350ustar00rootroot00000000000000&ÿÿÿÿÿÿÿÿ¡¡UNÔY•x*ÊÛt~2$kÀÓøxœmQÛjƒ@}Î~Å@^Z¡ä„€M“´6ÐP(”2¬:š¥q”Ý,%ÿÞÑ1¤»ìœ¹œ9gç&çŒr@Œc\Å>#ª¹ †éTÎÛ&õ–~Õ¬ag ¦ ŽhGXçÞ¦Òªaÿ$Æ—ºžf {¨lFk9’aÀ®C Ê¡Ö9°T[rÄ^’¨dS©„`¡fÃŽeã©aJ¿C57y§qµ{ݼl{AOëÇ÷íf?6ŽÆy<Π¤²ÈZ®6ÜM@?¢8L$ÎL®N¡RÔz² wä ¶¤Ýg}ôtÑÛ:Ú…—ÚQÄcíM*6;ÿ¯ ëŠÏŽa©[®î&”\÷J¾Å’o„A‡e?–Ëstm«:©‹ˆ?Ã@¯dtests/fixtures/hg-repo/.hg/store/data/new.json.i000066400000000000000000000001201516104173600220630ustar00rootroot00000000000000ÿÿÿÿÿÿÿÿ¥ôuú˜,uGµ16ƒ»Ì±B%ßu{"foo": "bar"} tests/fixtures/hg-repo/.hg/store/data/old.json.i000066400000000000000000000001111516104173600220500ustar00rootroot00000000000000 ÿÿÿÿÿÿÿÿþÔÔM›ªNGðò¦Ïv¥?¦%"%unew.jsontests/fixtures/hg-repo/.hg/store/data/src/000077500000000000000000000000001516104173600207465ustar00rootroot00000000000000tests/fixtures/hg-repo/.hg/store/data/src/index.php.i000066400000000000000000000001171516104173600230140ustar00rootroot00000000000000ÿÿÿÿÿÿÿÿŠú€;¸öEÊdöçZ½$\Du '2021-12-28T00:00', 'to' => '2021-12-28T00:00', 'author' => 'Foo', 'message' => 'foobar', ]; $actual = new Criteria(); $expected = new Criteria(); $expected->setFrom(new DateTime('2021-12-28T00:00')); $expected->setTo(new DateTime('2021-12-28T00:00')); $expected->setAuthor('Foo'); $expected->setMessage('foobar'); $form = $this->factory->create(CriteriaType::class, $actual); $form->submit($input); $this->assertTrue($form->isSynchronized()); $this->assertTrue($form->isValid()); $this->assertEquals($expected, $actual); } public function testIsValidatingDates(): void { $input = [ 'from' => '88888-12-2800:00', 'author' => 'Foo', ]; $actual = new Criteria(); $form = $this->factory->create(CriteriaType::class, $actual); $form->submit($input); $this->assertTrue($form->isSynchronized()); $this->assertFalse($form->isValid()); } } tests/unit/App/Twig/000077500000000000000000000000001516104173600146355ustar00rootroot00000000000000tests/unit/App/Twig/AvatarExtensionTest.php000066400000000000000000000017121516104173600213220ustar00rootroot00000000000000getAvatar('foo@bar.com'); $this->assertEquals('//gravatar.com/avatar/f3ada405ce890b6f8204094deb12d8a8?s=60', $avatar); } public function testIsGettingAvatarWithCustomConfig(): void { $extension = new AvatarExtension('//gravatar.com/avatar', ['a' => 'b']); $avatar = $extension->getAvatar('foo@bar.com'); $this->assertEquals('//gravatar.com/avatar/f3ada405ce890b6f8204094deb12d8a8?s=60&a=b', $avatar); } public function testIsNotGettingAvatarWithoutEmail(): void { $extension = new AvatarExtension('//gravatar.com/avatar'); $avatar = $extension->getAvatar(''); $this->assertEmpty($avatar); } } tests/unit/App/Twig/DateTimeExtensionTest.php000066400000000000000000000026031516104173600216000ustar00rootroot00000000000000assertEquals('9 years ago', $extension->ago($date)); } public function testIsGettingLocalizedTimeAgo(): void { $date = new Carbon('2012-01-01 12:00:00'); $extension = new DateTimeExtension('pt_BR'); $this->assertEquals('há 9 anos', $extension->ago($date)); } public function testIsConvertingDateTime(): void { $date = new DateTime('2012-01-01 12:00:00'); $extension = new DateTimeExtension(); $this->assertEquals('9 years ago', $extension->ago($date)); } public function testIsConvertingDateTimeImmutable(): void { $date = new DateTimeImmutable('2012-01-01 12:00:00'); $extension = new DateTimeExtension(); $this->assertEquals('9 years ago', $extension->ago($date)); } } tests/unit/App/Twig/RepositoryExtensionTest.php000066400000000000000000000024611516104173600222650ustar00rootroot00000000000000assertFalse($extension->isTree(false)); $this->assertTrue($extension->isTree(new Tree(new Repository('foo'), '123'))); } public function testIsFormattingFileSizeWithInvalidInput(): void { $extension = new RepositoryExtension(); $this->assertEquals('0 B', $extension->formatFileSize(false)); $this->assertEquals('0 B', $extension->formatFileSize(null)); $this->assertEquals('0 B', $extension->formatFileSize()); } public function testIsFormattingFileSize(): void { $extension = new RepositoryExtension(); $this->assertEquals('200 B', $extension->formatFileSize(200)); $this->assertEquals('19.53 KB', $extension->formatFileSize(20000)); $this->assertEquals('4.35 MB', $extension->formatFileSize(4_560_000)); } public function testIsGettingCommitish(): void { $extension = new RepositoryExtension(); $this->assertEquals('master/foo.php', $extension->getCommitish('master', 'foo.php')); } } tests/unit/App/Twig/StringExtensionTest.php000066400000000000000000000023171516104173600213540ustar00rootroot00000000000000assertEquals($expected, $extension->truncate($string, $length, $ellipsis, $cut)); } public static function provideTruncateFixtures() { return [ ['', '', 3, ''], ['', 'foo', 0, '...'], ['foo', 'foo', 0, '...', false], ['fo', 'foobar', 2, ''], ['foobar', 'foobar', 10, ''], ['foobar', 'foobar', 10, '...', false], ['foo', 'foo', 3, '...'], ['fo', 'foobar', 2, '...'], ['...', 'foobar', 3, '...'], ['fo...', 'foobar', 5, '...'], ['foobar...', 'foobar foo', 6, '...', false], ['foobar...', 'foobar foo', 7, '...', false], ['foobar foo...', 'foobar foo a', 10, '...', false], ['foobar foo aar', 'foobar foo aar', 12, '...', false], ]; } } tests/unit/Repository/000077500000000000000000000000001516104173600153625ustar00rootroot00000000000000tests/unit/Repository/CommitishTest.php000066400000000000000000000110331516104173600206650ustar00rootroot00000000000000prophesize(Repository::class); $repository->getBranches()->willReturn($this->getFixtureBranches()); $repository->getTags()->willReturn($this->getFixtureTags()); $commitish = new Commitish($repository->reveal(), 'bugfix/bar/test/file.php'); $this->assertEquals('bugfix/bar', $commitish->getHash()); $this->assertEquals('test/file.php', $commitish->getPath()); $commitish = new Commitish($repository->reveal(), 'feature/test/foo/test/file.php'); $this->assertEquals('feature/test/foo', $commitish->getHash()); $this->assertEquals('test/file.php', $commitish->getPath()); } public function testIsDetectingTag(): void { $repository = $this->prophesize(Repository::class); $repository->getBranches()->willReturn($this->getFixtureBranches()); $repository->getTags()->willReturn($this->getFixtureTags()); $commitish = new Commitish($repository->reveal(), 'v1.2-test/test/file.php'); $this->assertEquals('v1.2-test', $commitish->getHash()); $this->assertEquals('test/file.php', $commitish->getPath()); $commitish = new Commitish($repository->reveal(), 'v2.0/ab/test/file.php'); $this->assertEquals('v2.0/ab', $commitish->getHash()); $this->assertEquals('test/file.php', $commitish->getPath()); } public function testIsDetectingCommit(): void { $repository = $this->prophesize(Repository::class); $repository->getBranches()->willReturn($this->getFixtureBranches()); $repository->getTags()->willReturn($this->getFixtureTags()); $commitish = new Commitish($repository->reveal(), '14f8d0b69fa61d2d6daa2acc5b38c9956973206b/test/file.php'); $this->assertEquals('14f8d0b69fa61d2d6daa2acc5b38c9956973206b', $commitish->getHash()); $this->assertEquals('test/file.php', $commitish->getPath()); } public function testIsDetectingRefWithDate(): void { $repository = $this->prophesize(Repository::class); $repository->getBranches()->willReturn($this->getFixtureBranches()); $repository->getTags()->willReturn($this->getFixtureTags()); $commitish = new Commitish($repository->reveal(), 'bugfix/bar@{yesterday}/test/file.php'); $this->assertEquals('bugfix/bar@{yesterday}', $commitish->getHash()); $this->assertEquals('test/file.php', $commitish->getPath()); } public function testIsDetectingRefWithNumber(): void { $repository = $this->prophesize(Repository::class); $repository->getBranches()->willReturn($this->getFixtureBranches()); $repository->getTags()->willReturn($this->getFixtureTags()); $commitish = new Commitish($repository->reveal(), 'bugfix/bar~3/test/file.php'); $this->assertEquals('bugfix/bar~3', $commitish->getHash()); $this->assertEquals('test/file.php', $commitish->getPath()); $commitish = new Commitish($repository->reveal(), 'bugfix/bar^{14f8d0b69fa61d2d6daa2acc5b38c9956973206b}/test/file.php'); $this->assertEquals('bugfix/bar^{14f8d0b69fa61d2d6daa2acc5b38c9956973206b}', $commitish->getHash()); $this->assertEquals('test/file.php', $commitish->getPath()); } protected function getFixtureBranches(): array { $sourceRepository = new SourceRepository('/repo'); return [ new Branch($sourceRepository, 'foo', new Commit($sourceRepository, 'foo')), new Branch($sourceRepository, 'bugfix/bar', new Commit($sourceRepository, 'bugfix/bar')), new Branch($sourceRepository, 'feature/test/foo', new Commit($sourceRepository, 'feature/test/foo')), ]; } protected function getFixtureTags(): array { $sourceRepository = new SourceRepository('/repo'); $author = new Person('Foo', 'foo@bar.com'); $authoredAt = new Carbon('1990-01-22 09:00:00'); return [ new Tag($sourceRepository, 'v1.2', $author, $authoredAt), new Tag($sourceRepository, 'v1.2-test', $author, $authoredAt), new Tag($sourceRepository, 'v2.0/ab', $author, $authoredAt), ]; } } tests/unit/RepositoryTest.php000066400000000000000000000175151516104173600167440ustar00rootroot00000000000000prophesize(System::class); $system->getBranches($sourceRepository)->shouldBeCalled()->willReturn([]); $repository = new Repository($system->reveal(), $sourceRepository, 'bar'); $repository->getBranches(); } public function testIsGettingTags(): void { $sourceRepository = new SourceRepository('/foo/bar'); $system = $this->prophesize(System::class); $system->getTags($sourceRepository)->shouldBeCalled()->willReturn([]); $repository = new Repository($system->reveal(), $sourceRepository, 'bar'); $repository->getTags(); } public function testIsGettingTreeWithHash(): void { $sourceRepository = new SourceRepository('/foo/bar'); $system = $this->prophesize(System::class); $system->getBranches($sourceRepository)->shouldBeCalled()->willReturn([]); $system->getTags($sourceRepository)->shouldBeCalled()->willReturn([]); $system->getTree($sourceRepository, '123')->shouldBeCalled()->willReturn(new Tree($sourceRepository, '123')); $repository = new Repository($system->reveal(), $sourceRepository, 'bar'); $repository->getTree('123'); } public function testIsGettingTreeWithoutHash(): void { $sourceRepository = new SourceRepository('/foo/bar'); $system = $this->prophesize(System::class); $system->getTree($sourceRepository)->shouldBeCalled()->willReturn(new Tree($sourceRepository, '123')); $repository = new Repository($system->reveal(), $sourceRepository, 'bar'); $repository->getTree(); } public function testIsGettingPathTreeWithHash(): void { $sourceRepository = new SourceRepository('/foo/bar'); $system = $this->prophesize(System::class); $system->getBranches($sourceRepository)->shouldBeCalled()->willReturn([]); $system->getTags($sourceRepository)->shouldBeCalled()->willReturn([]); $system->getPathTree($sourceRepository, 'f/b', '123')->shouldBeCalled()->willReturn(new Tree($sourceRepository, '123')); $repository = new Repository($system->reveal(), $sourceRepository, 'bar'); $repository->getTree('123/f/b'); } public function testIsGettingCommitWithHash(): void { $sourceRepository = new SourceRepository('/foo/bar'); $system = $this->prophesize(System::class); $system->getBranches($sourceRepository)->shouldBeCalled()->willReturn([]); $system->getTags($sourceRepository)->shouldBeCalled()->willReturn([]); $system->getCommit($sourceRepository, '123')->shouldBeCalled()->willReturn(new Commit($sourceRepository, '123')); $repository = new Repository($system->reveal(), $sourceRepository, 'bar'); $repository->getCommit('123'); } public function testIsGettingCommitWithoutHash(): void { $sourceRepository = new SourceRepository('/foo/bar'); $system = $this->prophesize(System::class); $system->getCommit($sourceRepository)->shouldBeCalled()->willReturn(new Commit($sourceRepository, '123')); $repository = new Repository($system->reveal(), $sourceRepository, 'bar'); $repository->getCommit(); } public function testIsGettingCommitsWithHash(): void { $sourceRepository = new SourceRepository('/foo/bar'); $system = $this->prophesize(System::class); $system->getBranches($sourceRepository)->shouldBeCalled()->willReturn([]); $system->getTags($sourceRepository)->shouldBeCalled()->willReturn([]); $system->getCommits($sourceRepository, '123', 1, 10)->shouldBeCalled()->willReturn([]); $repository = new Repository($system->reveal(), $sourceRepository, 'bar'); $repository->getCommits('123', 1, 10); } public function testIsGettingCommitsWithoutHash(): void { $sourceRepository = new SourceRepository('/foo/bar'); $system = $this->prophesize(System::class); $system->getCommits($sourceRepository, null, 1, 10)->shouldBeCalled()->willReturn([]); $repository = new Repository($system->reveal(), $sourceRepository, 'bar'); $repository->getCommits(null, 1, 10); } public function testIsGettingSpecificCommits(): void { $sourceRepository = new SourceRepository('/foo/bar'); $system = $this->prophesize(System::class); $system->getSpecificCommits($sourceRepository, ['a', 'b'])->shouldBeCalled()->willReturn([]); $repository = new Repository($system->reveal(), $sourceRepository, 'bar'); $repository->getSpecificCommits(['a', 'b']); } public function testIsGettingBlame(): void { $sourceRepository = new SourceRepository('/foo/bar'); $system = $this->prophesize(System::class); $system->getBranches($sourceRepository)->shouldBeCalled()->willReturn([]); $system->getTags($sourceRepository)->shouldBeCalled()->willReturn([]); $system->getBlame($sourceRepository, '123', 'foo.php')->shouldBeCalled()->willReturn(new Blame('123', 'foo.php')); $repository = new Repository($system->reveal(), $sourceRepository, 'bar'); $repository->getBlame('123/foo.php'); } public function testIsGettingBlob(): void { $sourceRepository = new SourceRepository('/foo/bar'); $system = $this->prophesize(System::class); $system->getBranches($sourceRepository)->shouldBeCalled()->willReturn([]); $system->getTags($sourceRepository)->shouldBeCalled()->willReturn([]); $system->getBlob($sourceRepository, 'master', 'test.c')->shouldBeCalled()->willReturn(new Blob($sourceRepository, 'test.c')); $repository = new Repository($system->reveal(), $sourceRepository, 'bar'); $repository->getBlob('master/test.c'); } public function testIsSearchingCommits(): void { $sourceRepository = new SourceRepository('/foo/bar'); $criteria = new Criteria(); $system = $this->prophesize(System::class); $system->searchCommits($sourceRepository, $criteria)->shouldBeCalled()->willReturn([]); $repository = new Repository($system->reveal(), $sourceRepository, 'bar'); $repository->searchCommits($criteria); } public function testIsSearchingCommitsWithCommitish(): void { $sourceRepository = new SourceRepository('/foo/bar'); $criteria = new Criteria(); $system = $this->prophesize(System::class); $system->getBranches($sourceRepository)->shouldBeCalled()->willReturn([]); $system->getTags($sourceRepository)->shouldBeCalled()->willReturn([]); $system->searchCommits($sourceRepository, $criteria, 'master')->shouldBeCalled()->willReturn([]); $repository = new Repository($system->reveal(), $sourceRepository, 'bar'); $repository->searchCommits($criteria, 'master'); } public function testIsArchiving(): void { $sourceRepository = new SourceRepository('/foo/bar'); $system = $this->prophesize(System::class); $system->getBranches($sourceRepository)->shouldBeCalled()->willReturn([]); $system->getTags($sourceRepository)->shouldBeCalled()->willReturn([]); $system->archive($sourceRepository, 'zip', 'master', 'test.c')->shouldBeCalled()->willReturn('/tmp/test.zip'); $repository = new Repository($system->reveal(), $sourceRepository, 'bar'); $repository->archive('zip', 'master/test.c'); } } tests/unit/SCM/000077500000000000000000000000001516104173600136255ustar00rootroot00000000000000tests/unit/SCM/BlobTest.php000066400000000000000000000016031516104173600160540ustar00rootroot00000000000000setName('/var/foo/bar.c'); $this->assertEquals('/var/foo/bar.c', $blob->getName()); $this->assertEquals('bar.c', $blob->getFileName()); } public function testIsDetectingReadme(): void { $blob = new Blob(new Repository('/my/repo'), sha1((string) random_int(0, mt_getrandmax()))); $blob->setName('/var/foo/README.md'); $this->assertTrue($blob->isReadme()); $blob->setName('/var/foo/ReaDME.MD'); $this->assertTrue($blob->isReadme()); $blob->setName('/var/foo/README.c'); $this->assertFalse($blob->isReadme()); } } tests/unit/SCM/CommitTest.php000066400000000000000000000013331516104173600164260ustar00rootroot00000000000000increaseAdditions(); $fileA->increaseAdditions(); $fileB = new File('bar.php'); $fileB->increaseAdditions(); $fileB->increaseDeletions(); $commit = new Commit(new Repository('/my/repo'), sha1((string) random_int(0, mt_getrandmax()))); $commit->addDiff($fileA); $commit->addDiff($fileB); $this->assertEquals(3, $commit->getAdditions()); $this->assertEquals(1, $commit->getDeletions()); } } tests/unit/SCM/Diff/000077500000000000000000000000001516104173600144755ustar00rootroot00000000000000tests/unit/SCM/Diff/ParseMergeTest.php000066400000000000000000000074621516104173600201110ustar00rootroot00000000000000fromRawBlock(self::MERGE_RAW_DIFF_BLOCK); $this->assertCount(1, $files); $this->assertEquals('Makefile', $files[0]->getName()); $this->assertEquals(File::TYPE_NO_CHANGE, $files[0]->getType()); $this->assertEquals('06a5798335fc..efb942ad0b55', $files[0]->getIndex()); $this->assertEquals('a/Makefile', $files[0]->getFrom()); $this->assertEquals('b/Makefile', $files[0]->getTo()); $this->assertEquals(5, $files[0]->getAdditions()); $this->assertEquals(0, $files[0]->getDeletions()); $this->assertCount(1, $files[0]->getHunks()); // First hunk $firstHunk = $files[0]->getHunks()[0]; $this->assertEquals(602, $firstHunk->getOldStart()); $this->assertEquals(12, $firstHunk->getOldCount()); $this->assertEquals(604, $firstHunk->getNewStart()); $this->assertEquals(11, $firstHunk->getNewCount()); $this->assertEquals('@@@ -621,6 -602,12 +604,11 @@@ endi', $firstHunk->getContents()); $this->assertCount(12, $firstHunk->getLines()); // Line 1 $this->assertEquals(' # Defaults to vmlinux, but the arch makefile usually adds further targets', $firstHunk->getLines()[0]->getContents()); $this->assertEquals(Line::TYPE_NO_CHANGE, $firstHunk->getLines()[0]->getType()); $this->assertEquals(602, $firstHunk->getLines()[0]->getOldNumber()); // Line 2 $this->assertEquals(' all: vmlinux', $firstHunk->getLines()[1]->getContents()); $this->assertEquals(Line::TYPE_NO_CHANGE, $firstHunk->getLines()[1]->getType()); $this->assertEquals(603, $firstHunk->getLines()[1]->getOldNumber()); // Line 3 $this->assertEmpty($firstHunk->getLines()[2]->getContents()); $this->assertEquals(Line::TYPE_NO_CHANGE, $firstHunk->getLines()[2]->getType()); $this->assertEquals(604, $firstHunk->getLines()[2]->getOldNumber()); // Line 4 $this->assertEquals('+ KBUILD_CFLAGS += $(call cc-option,-fno-PIE)', $firstHunk->getLines()[3]->getContents()); $this->assertEquals(Line::TYPE_ADD, $firstHunk->getLines()[3]->getType()); $this->assertEquals(605, $firstHunk->getLines()[3]->getOldNumber()); // Line 5 $this->assertEquals('+ KBUILD_AFLAGS += $(call cc-option,-fno-PIE)', $firstHunk->getLines()[4]->getContents()); $this->assertEquals(Line::TYPE_ADD, $firstHunk->getLines()[4]->getType()); } public function testIsClearingParserAccumulator(): void { $parse = new Parse(); $files = $parse->fromRawBlock(self::MERGE_RAW_DIFF_BLOCK); $files = $parse->fromRawBlock(self::MERGE_RAW_DIFF_BLOCK); $this->assertCount(1, $files); } public function testIsIgnoringEmptyRawBlock(): void { $parse = new Parse(); $files = $parse->fromRawBlock(''); $this->assertEmpty($files); } } tests/unit/SCM/Diff/ParseTest.php000066400000000000000000000123761516104173600171310ustar00rootroot00000000000000 #include @@ -33,56 +32,46 @@ #include #include #include -#include -#include -#include -#include "cma.h" +struct cma { + unsigned long base_pfn; + unsigned long count; + unsigned long *bitmap; + unsigned int order_per_bit; /* Order of pages represented by one bit */ + struct mutex lock; +}; -struct cma cma_areas[MAX_CMA_AREAS]; -unsigned cma_area_count; +static struct cma cma_areas[MAX_CMA_AREAS]; +static unsigned cma_area_count; static DEFINE_MUTEX(cma_mutex); -phys_addr_t cma_get_base(const struct cma *cma) +phys_addr_t cma_get_base(struct cma *cma) { return PFN_PHYS(cma->base_pfn); } -unsigned long cma_get_size(const struct cma *cma) +unsigned long cma_get_size(struct cma *cma) { return cma->count << PAGE_SHIFT; } -static unsigned long cma_bitmap_aligned_mask(const struct cma *cma, - int align_order) +static unsigned long cma_bitmap_aligned_mask(struct cma *cma, int align_order) { - if (align_order <= cma->order_per_bit) - return 0; - return (1UL << (align_order - cma->order_per_bit)) - 1; + return (1UL << (align_order >> cma->order_per_bit)) - 1; } DIFF; public function testIsParsingRawDiffBlock(): void { $parse = new Parse(); $files = $parse->fromRawBlock(self::RAW_DIFF_BLOCK); $this->assertCount(1, $files); $this->assertEquals('mm/cma.c', $files[0]->getName()); $this->assertEquals(File::TYPE_NO_CHANGE, $files[0]->getType()); $this->assertEquals('c960459..c17751c', $files[0]->getIndex()); $this->assertEquals('a/mm/cma.c', $files[0]->getFrom()); $this->assertEquals('b/mm/cma.c', $files[0]->getTo()); $this->assertEquals(13, $files[0]->getAdditions()); $this->assertEquals(14, $files[0]->getDeletions()); $this->assertCount(2, $files[0]->getHunks()); // First hunk $firstHunk = $files[0]->getHunks()[0]; $this->assertEquals(23, $firstHunk->getOldStart()); $this->assertEquals(7, $firstHunk->getOldCount()); $this->assertEquals(23, $firstHunk->getNewStart()); $this->assertEquals(6, $firstHunk->getNewCount()); $this->assertEquals('@@ -23,7 +23,6 @@', $firstHunk->getContents()); $this->assertCount(7, $firstHunk->getLines()); // Line 1 $this->assertEquals(' # define DEBUG', $firstHunk->getLines()[0]->getContents()); $this->assertEquals(Line::TYPE_NO_CHANGE, $firstHunk->getLines()[0]->getType()); $this->assertEquals(23, $firstHunk->getLines()[0]->getOldNumber()); // Line 2 $this->assertEquals(' #endif', $firstHunk->getLines()[1]->getContents()); $this->assertEquals(Line::TYPE_NO_CHANGE, $firstHunk->getLines()[1]->getType()); $this->assertEquals(24, $firstHunk->getLines()[1]->getOldNumber()); // Line 3 $this->assertEquals(' #endif', $firstHunk->getLines()[2]->getContents()); $this->assertEquals(Line::TYPE_NO_CHANGE, $firstHunk->getLines()[2]->getType()); $this->assertEquals(25, $firstHunk->getLines()[2]->getOldNumber()); // Line 4 $this->assertEquals('-#define CREATE_TRACE_POINTS', $firstHunk->getLines()[3]->getContents()); $this->assertEquals(Line::TYPE_DELETE, $firstHunk->getLines()[3]->getType()); $this->assertEquals(26, $firstHunk->getLines()[3]->getOldNumber()); // Line 5 $this->assertEquals('', $firstHunk->getLines()[4]->getContents()); $this->assertEquals(Line::TYPE_NO_CHANGE, $firstHunk->getLines()[4]->getType()); // Line 6 $this->assertEquals(' #include ', $firstHunk->getLines()[5]->getContents()); $this->assertEquals(Line::TYPE_NO_CHANGE, $firstHunk->getLines()[5]->getType()); // Line 7 $this->assertEquals(' #include ', $firstHunk->getLines()[6]->getContents()); $this->assertEquals(Line::TYPE_NO_CHANGE, $firstHunk->getLines()[6]->getType()); // Second hunk $secondHunk = $files[0]->getHunks()[1]; $this->assertEquals(33, $secondHunk->getOldStart()); $this->assertEquals(56, $secondHunk->getOldCount()); $this->assertEquals(32, $secondHunk->getNewStart()); $this->assertEquals(46, $secondHunk->getNewCount()); $this->assertEquals('@@ -33,56 +32,46 @@', $secondHunk->getContents()); $this->assertCount(43, $secondHunk->getLines()); } public function testIsClearingParserAccumulator(): void { $parse = new Parse(); $files = $parse->fromRawBlock(self::RAW_DIFF_BLOCK); $files = $parse->fromRawBlock(self::RAW_DIFF_BLOCK); $this->assertCount(1, $files); } public function testIsIgnoringEmptyRawBlock(): void { $parse = new Parse(); $files = $parse->fromRawBlock(''); $this->assertEmpty($files); } } tests/unit/SCM/FileTest.php000066400000000000000000000063741516104173600160670ustar00rootroot00000000000000prophesize(Blob::class); $blob->getName()->willReturn('my_test.png'); $blob->getContents()->willReturn('PNGFOO123'); $file = File::createFromBlob($blob->reveal()); $this->assertEquals('my_test.png', $file->getName()); $this->assertEquals('png', $file->getExtension()); $this->assertEquals('image/png', $file->getMimeType()); $this->assertEquals('PNGFOO123', $file->getContents()); $this->assertTrue($file->isImage()); } public function testIsDetectingImages(): void { $file = new File('test.gif'); $this->assertTrue($file->isImage()); $file = new File('test.avi'); $this->assertFalse($file->isImage()); $file = new File('test.jpg'); $this->assertTrue($file->isImage()); $file = new File('test.zip'); $this->assertFalse($file->isImage()); } public function testIsDetectingVideos(): void { $file = new File('test.avi'); $this->assertTrue($file->isVideo()); $file = new File('test.gif'); $this->assertFalse($file->isVideo()); $file = new File('test.jpg'); $this->assertFalse($file->isVideo()); $file = new File('test.zip'); $this->assertFalse($file->isVideo()); } public function testIsDetectingAudio(): void { $file = new File('test.wav'); $this->assertTrue($file->isAudio()); $file = new File('test.gif'); $this->assertFalse($file->isAudio()); $file = new File('test.jpg'); $this->assertFalse($file->isAudio()); $file = new File('test.zip'); $this->assertFalse($file->isAudio()); } public function testIsDetectingModel(): void { $file = new File('test.dae'); $this->assertTrue($file->isModel()); $file = new File('test.gif'); $this->assertFalse($file->isModel()); $file = new File('test.jpg'); $this->assertFalse($file->isModel()); $file = new File('test.zip'); $this->assertFalse($file->isModel()); } public function testIsDetectingBinary(): void { $file = new File('test.zip'); $this->assertTrue($file->isBinary()); $file = new File('test.rar'); $this->assertTrue($file->isBinary()); $file = new File('test.wav'); $this->assertFalse($file->isBinary()); $file = new File('test.gif'); $this->assertFalse($file->isBinary()); $file = new File('test.jpg'); $this->assertFalse($file->isBinary()); } public function testIsDetectingText(): void { $file = new File('test.txt'); $this->assertTrue($file->isText()); $file = new File('test.php'); $this->assertTrue($file->isText()); $file = new File('test.wav'); $this->assertFalse($file->isText()); $file = new File('test.gif'); $this->assertFalse($file->isText()); $file = new File('test.jpg'); $this->assertFalse($file->isText()); } } tests/unit/SCM/ItemTest.php000066400000000000000000000023741516104173600161020ustar00rootroot00000000000000addParent($firstParent); $object->addParent($secondParent); $this->assertEquals($firstParent, $object->getFirstParent()); } public function testIsClearingParents(): void { $firstParent = new Item(new Repository('/my/repo'), sha1((string) random_int(0, mt_getrandmax()))); $secondParent = new Item(new Repository('/my/repo'), sha1((string) random_int(0, mt_getrandmax()))); $object = new Item(new Repository('/my/repo'), sha1((string) random_int(0, mt_getrandmax()))); $object->addParent($firstParent); $object->addParent($secondParent); $object->clearParents(); $this->assertEmpty($object->getParents()); $this->assertNull($object->getFirstParent()); } } tests/unit/SCM/LanguageTest.php000066400000000000000000000016441516104173600167260ustar00rootroot00000000000000assertEquals('PHP', $language->getName()); $this->assertNull($language->getGroup()); $this->assertEquals('#4F5D95', $language->getColor()); $this->assertEquals('php', $language->getAceMode()); $this->assertEquals('php', $language->getCodeMirrorMode()); } public function testIsCreatingUnknown(): void { $language = new Language('foobarbaz'); $this->assertEquals('Unknown', $language->getName()); $this->assertNull($language->getGroup()); $this->assertNull($language->getColor()); $this->assertEquals('text', $language->getAceMode()); $this->assertNull($language->getCodeMirrorMode()); } } tests/unit/SCM/System/000077500000000000000000000000001516104173600151115ustar00rootroot00000000000000tests/unit/SCM/System/Git/000077500000000000000000000000001516104173600156345ustar00rootroot00000000000000tests/unit/SCM/System/Git/CommandLineTest.php000066400000000000000000000557341516104173600214110ustar00rootroot00000000000000 /dev/null'))) { $this->markTestSkipped('Git is not available.'); } } public function testIsValidatingRepository(): void { $commandLine = new CommandLine(); $this->assertTrue($commandLine->isValidRepository(new Repository(self::FIXTURE_REPO))); $this->assertFalse($commandLine->isValidRepository(new Repository('/tmp'))); } public function testIsGettingDescription(): void { $commandLine = new CommandLine(); $this->assertEquals("foobar\n", $commandLine->getDescription(new Repository(self::FIXTURE_REPO))); } public function testIsGettingDefaultBranch(): void { $commandLine = new CommandLine(); $this->assertEquals('master', $commandLine->getDefaultBranch(new Repository(self::FIXTURE_REPO))); } public function testIsGettingBranches(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $branches = $commandLine->getBranches($repository); $this->assertCount(2, $branches); // Branch feature/1.2-dev $this->assertEquals('feature/1.2-dev', $branches[0]->getName()); $this->assertEquals('859f67f18fc4522a4da5b784bce6cb9ada034a16', $branches[0]->getTarget()->getHash()); $this->assertEquals('Added symlink.', $branches[0]->getTarget()->getSubject()); // Branch master $this->assertEquals('master', $branches[1]->getName()); $this->assertEquals('a003d30bc7a355f55bf28479e62134186bae1aed', $branches[1]->getTarget()->getHash()); $this->assertEquals('Fixed mm.', $branches[1]->getTarget()->getSubject()); } public function testIsGettingTags(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $tags = $commandLine->getTags($repository); $this->assertCount(1, $tags); $this->assertEquals('Version 1.2', $tags[0]->getSubject()); $this->assertEquals('Klaus Silveira', $tags[0]->getAuthor()->getName()); $this->assertEquals('contact@klaussilveira.com', $tags[0]->getAuthor()->getEmail()); $this->assertEquals('2016-11-23 13:28:45', $tags[0]->getAuthoredAt()->format('Y-m-d H:i:s')); $this->assertEquals('1.2', $tags[0]->getName()); $this->assertEquals('ec587c3ebbaf491605d24a0b1d42e6de7dc26372', $tags[0]->getTarget()->getHash()); $this->assertEquals('ec587c3', $tags[0]->getTarget()->getShortHash()); } public function testIsGettingTree(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $tree = $commandLine->getTree($repository); $this->assertEquals('HEAD', $tree->getHash()); $this->assertCount(4, $tree->getChildren()); $file1 = $tree->getChildren()[0]; $this->assertInstanceOf(Tree::class, $file1); $this->assertEquals('mm', $file1->getName()); $this->assertEquals('c323e7368bd5da960547f53b25596f7b43a2d3d9', $file1->getHash()); $this->assertEquals('040000', $file1->getMode()); $this->assertEquals('Fixed mm.', $file1->getFirstParent()->getSubject()); $file2 = $tree->getChildren()[1]; $this->assertInstanceOf(Symlink::class, $file2); $this->assertEquals('old.json', $file2->getName()); $this->assertEquals('new.json', $file2->getTarget()); $this->assertEquals('ff6accf4931975aa697ea40f7b6d22af23ec77a2', $file2->getHash()); $this->assertEquals('120000', $file2->getMode()); $this->assertEquals(8, $file2->getSize()); $file3 = $tree->getChildren()[2]; $this->assertInstanceOf(Tree::class, $file3); $this->assertEquals('src', $file3->getName()); $this->assertEquals('595019ca2e1bfab6711424c8567af364ec3cc319', $file3->getHash()); $this->assertEquals('040000', $file3->getMode()); $this->assertEquals('Added function call.', $file3->getFirstParent()->getSubject()); $file4 = $tree->getChildren()[3]; $this->assertInstanceOf(Blob::class, $file4); $this->assertEquals('test.json', $file4->getName()); $this->assertEquals('e69de29bb2d1d6434b8b29ae775ad8c2e48c5391', $file4->getHash()); $this->assertEquals('100644', $file4->getMode()); $this->assertEquals(0, $file4->getSize()); $this->assertEquals('Initial commit.', $file4->getFirstParent()->getSubject()); } public function testIsGettingRecursiveTree(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $tree = $commandLine->getRecursiveTree($repository); $this->assertEquals('HEAD', $tree->getHash()); $this->assertCount(6, $tree->getChildren()); $file1 = $tree->getChildren()[0]; $this->assertInstanceOf(Blob::class, $file1); $this->assertEquals('mm/cma.c', $file1->getName()); $this->assertEquals('c17751c0dcafb95eda9f41e9cdc9ce101edbebed', $file1->getHash()); $this->assertEquals('100644', $file1->getMode()); $this->assertEquals(8866, $file1->getSize()); $file2 = $tree->getChildren()[1]; $this->assertInstanceOf(Blob::class, $file2); $this->assertEquals('mm/cma.h', $file2->getName()); $this->assertEquals('17c75a4246c8bbab8b56fe4d562cd85ea670a21f', $file2->getHash()); $this->assertEquals('100644', $file2->getMode()); $this->assertEquals(515, $file2->getSize()); $file3 = $tree->getChildren()[2]; $this->assertInstanceOf(Symlink::class, $file3); $this->assertEquals('old.json', $file3->getName()); $this->assertEquals('new.json', $file3->getTarget()); $this->assertEquals('ff6accf4931975aa697ea40f7b6d22af23ec77a2', $file3->getHash()); $this->assertEquals('120000', $file3->getMode()); $this->assertEquals(8, $file3->getSize()); $file4 = $tree->getChildren()[3]; $this->assertInstanceOf(Blob::class, $file4); $this->assertEquals('src/index.php', $file4->getName()); $this->assertEquals('290863292f509e947f62efed0b9cb6eac9b9ecb9', $file4->getHash()); $this->assertEquals('100644', $file4->getMode()); $this->assertEquals(14, $file4->getSize()); $file5 = $tree->getChildren()[4]; $this->assertInstanceOf(Blob::class, $file5); $this->assertEquals('src/test.php', $file5->getName()); $this->assertEquals('e69de29bb2d1d6434b8b29ae775ad8c2e48c5391', $file5->getHash()); $this->assertEquals('100644', $file5->getMode()); $this->assertEquals(0, $file5->getSize()); $file6 = $tree->getChildren()[5]; $this->assertInstanceOf(Blob::class, $file6); $this->assertEquals('test.json', $file6->getName()); $this->assertEquals('e69de29bb2d1d6434b8b29ae775ad8c2e48c5391', $file6->getHash()); $this->assertEquals('100644', $file6->getMode()); $this->assertEquals(0, $file6->getSize()); } public function testIsGettingPathTree(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $tree = $commandLine->getPathTree($repository, 'mm'); $this->assertEquals('HEAD', $tree->getHash()); $this->assertEquals('mm', $tree->getName()); $this->assertEquals('mm', $tree->getFileName()); $children = $tree->getChildren(); $this->assertCount(2, $children); $file1 = $children[0]; $this->assertInstanceOf(Blob::class, $file1); $this->assertEquals('mm/cma.c', $file1->getName()); $this->assertEquals('cma.c', $file1->getFileName()); $this->assertEquals('c17751c0dcafb95eda9f41e9cdc9ce101edbebed', $file1->getHash()); $this->assertEquals('100644', $file1->getMode()); $this->assertEquals(8866, $file1->getSize()); $this->assertEquals('Fixed mm.', $file1->getFirstParent()->getSubject()); $file2 = $children[1]; $this->assertInstanceOf(Blob::class, $file2); $this->assertEquals('mm/cma.h', $file2->getName()); $this->assertEquals('cma.h', $file2->getFileName()); $this->assertEquals('17c75a4246c8bbab8b56fe4d562cd85ea670a21f', $file2->getHash()); $this->assertEquals('100644', $file2->getMode()); $this->assertEquals(515, $file2->getSize()); $this->assertEquals('Added mm.', $file2->getFirstParent()->getSubject()); } public function testIsGettingPathTreeAndTrimmingSlash(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $tree = $commandLine->getPathTree($repository, 'mm/'); $this->assertEquals('HEAD', $tree->getHash()); $children = $tree->getChildren(); $this->assertCount(2, $children); $file1 = $children[0]; $this->assertInstanceOf(Blob::class, $file1); $this->assertEquals('mm/cma.c', $file1->getName()); $this->assertEquals('cma.c', $file1->getFileName()); $this->assertEquals('c17751c0dcafb95eda9f41e9cdc9ce101edbebed', $file1->getHash()); $this->assertEquals('100644', $file1->getMode()); $this->assertEquals(8866, $file1->getSize()); $this->assertEquals('Fixed mm.', $file1->getFirstParent()->getSubject()); $file2 = $children[1]; $this->assertInstanceOf(Blob::class, $file2); $this->assertEquals('mm/cma.h', $file2->getName()); $this->assertEquals('cma.h', $file2->getFileName()); $this->assertEquals('17c75a4246c8bbab8b56fe4d562cd85ea670a21f', $file2->getHash()); $this->assertEquals('100644', $file2->getMode()); $this->assertEquals(515, $file2->getSize()); $this->assertEquals('Added mm.', $file2->getFirstParent()->getSubject()); } public function testIsGettingCommits(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $commits = $commandLine->getCommits($repository); $commit1 = $commits['a003d30bc7a355f55bf28479e62134186bae1aed']; $this->assertEquals('a003d30bc7a355f55bf28479e62134186bae1aed', $commit1->getHash()); $this->assertEquals('Fixed mm.', $commit1->getSubject()); $this->assertInstanceOf(Person::class, $commit1->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit1->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit1->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:30:04', $commit1->getCommitedAt()->format('Y-m-d H:i:s')); $commit2 = $commits['5570c142146e430b7356a84175f281ab2a364d48']; $this->assertEquals('5570c142146e430b7356a84175f281ab2a364d48', $commit2->getHash()); $this->assertEquals('Added mm.', $commit2->getSubject()); $this->assertInstanceOf(Person::class, $commit2->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit2->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit2->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:28:56', $commit2->getCommitedAt()->format('Y-m-d H:i:s')); $commit3 = $commits['85e656875f18b1985dd71dccaffe3eeffd6abf6f']; $this->assertEquals('85e656875f18b1985dd71dccaffe3eeffd6abf6f', $commit3->getHash()); $this->assertEquals('Added symlink.', $commit3->getSubject()); $this->assertInstanceOf(Person::class, $commit3->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit3->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit3->getAuthor()->getName()); $this->assertEquals('2016-11-23 15:55:30', $commit3->getCommitedAt()->format('Y-m-d H:i:s')); } public function testIsGettingCommitsWithPagination(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $commits = $commandLine->getCommits($repository, 'HEAD', 1, 3); $this->assertCount(3, $commits); $commits = $commandLine->getCommits($repository, 'HEAD', 2, 3); $this->assertCount(2, $commits); } public function testIsGettingCommitsFromPath(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $commits = $commandLine->getCommitsFromPath($repository, 'mm/cma.c'); $this->assertCount(2, $commits); $commit1 = $commits['a003d30bc7a355f55bf28479e62134186bae1aed']; $this->assertEquals('a003d30bc7a355f55bf28479e62134186bae1aed', $commit1->getHash()); $this->assertEquals('Fixed mm.', $commit1->getSubject()); $this->assertInstanceOf(Person::class, $commit1->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit1->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit1->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:30:04', $commit1->getCommitedAt()->format('Y-m-d H:i:s')); $commit2 = $commits['5570c142146e430b7356a84175f281ab2a364d48']; $this->assertEquals('5570c142146e430b7356a84175f281ab2a364d48', $commit2->getHash()); $this->assertEquals('Added mm.', $commit2->getSubject()); $this->assertInstanceOf(Person::class, $commit2->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit2->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit2->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:28:56', $commit2->getCommitedAt()->format('Y-m-d H:i:s')); } public function testIsGettingCommit(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $commit = $commandLine->getCommit($repository, 'a003d30bc7a355f55bf28479e62134186bae1aed'); $this->assertEquals('a003d30bc7a355f55bf28479e62134186bae1aed', $commit->getHash()); $this->assertEquals('Fixed mm.', $commit->getSubject()); $this->assertInstanceOf(Person::class, $commit->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:30:04', $commit->getCommitedAt()->format('Y-m-d H:i:s')); } public function testIsGettingSpecificCommits(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $commits = $commandLine->getSpecificCommits($repository, [ 'a003d30bc7a355f55bf28479e62134186bae1aed', '5570c142146e430b7356a84175f281ab2a364d48', ]); $commit1 = $commits['a003d30bc7a355f55bf28479e62134186bae1aed']; $this->assertEquals('a003d30bc7a355f55bf28479e62134186bae1aed', $commit1->getHash()); $this->assertEquals('Fixed mm.', $commit1->getSubject()); $this->assertInstanceOf(Person::class, $commit1->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit1->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit1->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:30:04', $commit1->getCommitedAt()->format('Y-m-d H:i:s')); $commit2 = $commits['5570c142146e430b7356a84175f281ab2a364d48']; $this->assertEquals('5570c142146e430b7356a84175f281ab2a364d48', $commit2->getHash()); $this->assertEquals('Added mm.', $commit2->getSubject()); $this->assertInstanceOf(Person::class, $commit2->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit2->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit2->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:28:56', $commit2->getCommitedAt()->format('Y-m-d H:i:s')); } public function testIsGettingBlame(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $blame = $commandLine->getBlame($repository, 'master', 'mm/cma.c'); $this->assertInstanceOf(Blame::class, $blame); $this->assertEquals('5570c142146e430b7356a84175f281ab2a364d48', $blame->getAnnotatedLines()[90]->getCommit()->getHash()); $this->assertEquals("91) \tstruct zone *zone;", $blame->getAnnotatedLines()[90]->getContents()); } public function testIsGettingBlob(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $blob = $commandLine->getBlob($repository, 'master', 'mm/cma.h'); $this->assertInstanceOf(Blob::class, $blob); $this->assertMatchesRegularExpression('/#ifdef CONFIG_CMA_DEBUGFS/', $blob->getContents()); } public function testIsSearchingCommitsFromDate(): void { $repository = new Repository(self::FIXTURE_REPO); $criteria = new Criteria(); $criteria->setFrom(new Carbon('2016-11-24')); $commandLine = new CommandLine(); $commits = $commandLine->searchCommits($repository, $criteria); $this->assertCount(2, $commits); $commit1 = $commits['a003d30bc7a355f55bf28479e62134186bae1aed']; $this->assertEquals('a003d30bc7a355f55bf28479e62134186bae1aed', $commit1->getHash()); $this->assertEquals('Fixed mm.', $commit1->getSubject()); $this->assertInstanceOf(Person::class, $commit1->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit1->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit1->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:30:04', $commit1->getCommitedAt()->format('Y-m-d H:i:s')); $commit2 = $commits['5570c142146e430b7356a84175f281ab2a364d48']; $this->assertEquals('5570c142146e430b7356a84175f281ab2a364d48', $commit2->getHash()); $this->assertEquals('Added mm.', $commit2->getSubject()); $this->assertInstanceOf(Person::class, $commit2->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit2->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit2->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:28:56', $commit2->getCommitedAt()->format('Y-m-d H:i:s')); } public function testIsSearchingCommitsToDate(): void { $repository = new Repository(self::FIXTURE_REPO); $criteria = new Criteria(); $criteria->setTo(new Carbon('2016-11-24')); $commandLine = new CommandLine(); $commits = $commandLine->searchCommits($repository, $criteria); $this->assertCount(3, $commits); $commit1 = $commits['85e656875f18b1985dd71dccaffe3eeffd6abf6f']; $this->assertEquals('85e656875f18b1985dd71dccaffe3eeffd6abf6f', $commit1->getHash()); $this->assertEquals('Added symlink.', $commit1->getSubject()); $this->assertInstanceOf(Person::class, $commit1->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit1->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit1->getAuthor()->getName()); $this->assertEquals('2016-11-23 15:55:30', $commit1->getCommitedAt()->format('Y-m-d H:i:s')); $commit2 = $commits['0e3ddf0c6d39e7a300bef61b99a914a86ce5e267']; $this->assertEquals('0e3ddf0c6d39e7a300bef61b99a914a86ce5e267', $commit2->getHash()); $this->assertEquals('Added function call.', $commit2->getSubject()); $this->assertInstanceOf(Person::class, $commit2->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit2->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit2->getAuthor()->getName()); $this->assertEquals('2016-11-23 13:18:18', $commit2->getCommitedAt()->format('Y-m-d H:i:s')); $commit3 = $commits['b064e711b341b3d160288cd121caf56811ca8991']; $this->assertEquals('b064e711b341b3d160288cd121caf56811ca8991', $commit3->getHash()); $this->assertEquals('Initial commit.', $commit3->getSubject()); $this->assertInstanceOf(Person::class, $commit3->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit3->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit3->getAuthor()->getName()); $this->assertEquals('2016-11-23 13:17:29', $commit3->getCommitedAt()->format('Y-m-d H:i:s')); } public function testIsSearchingCommitsByAuthor(): void { $repository = new Repository(self::FIXTURE_REPO); $criteria = new Criteria(); $criteria->setAuthor('Klaus'); $commandLine = new CommandLine(); $commits = $commandLine->searchCommits($repository, $criteria); $this->assertCount(5, $commits); } public function testIsSearchingCommitsByMessage(): void { $repository = new Repository(self::FIXTURE_REPO); $criteria = new Criteria(); $criteria->setMessage('Initial commit.'); $commandLine = new CommandLine(); $commits = $commandLine->searchCommits($repository, $criteria); $this->assertCount(1, $commits); $commit1 = $commits['b064e711b341b3d160288cd121caf56811ca8991']; $this->assertEquals('b064e711b341b3d160288cd121caf56811ca8991', $commit1->getHash()); $this->assertEquals('Initial commit.', $commit1->getSubject()); $this->assertInstanceOf(Person::class, $commit1->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit1->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit1->getAuthor()->getName()); $this->assertEquals('2016-11-23 13:17:29', $commit1->getCommitedAt()->format('Y-m-d H:i:s')); } public function testIsArchivingZip(): void { $commandLine = new CommandLine(); $archive = $commandLine->archive(new Repository(self::FIXTURE_REPO), 'zip', 'master'); $this->assertFileExists($archive); $zip = new ZipArchive(); $zip->open($archive); $this->assertEquals(8, $zip->numFiles); } public function testIsArchivingZipWithPath(): void { $commandLine = new CommandLine(); $archive = $commandLine->archive(new Repository(self::FIXTURE_REPO), 'zip', 'master', 'mm'); $this->assertFileExists($archive); $zip = new ZipArchive(); $zip->open($archive); $this->assertEquals(3, $zip->numFiles); } public function testIsArchivingTarball(): void { $commandLine = new CommandLine(); $archive = $commandLine->archive(new Repository(self::FIXTURE_REPO), 'tar', 'master'); $this->assertFileExists($archive); $archive = $commandLine->archive(new Repository(self::FIXTURE_REPO), 'tar.gz', 'master'); $this->assertFileExists($archive); } } tests/unit/SCM/System/Mercurial/000077500000000000000000000000001516104173600170345ustar00rootroot00000000000000tests/unit/SCM/System/Mercurial/CommandLineTest.php000066400000000000000000000566431516104173600226110ustar00rootroot00000000000000 /dev/null'))) { $this->markTestSkipped('Mercurial is not available.'); } } public function testIsValidatingRepository(): void { $commandLine = new CommandLine(); $this->assertTrue($commandLine->isValidRepository(new Repository(self::FIXTURE_REPO))); $this->assertFalse($commandLine->isValidRepository(new Repository('/tmp'))); } public function testIsGettingDescription(): void { $commandLine = new CommandLine(); $this->assertEquals('foobar', $commandLine->getDescription(new Repository(self::FIXTURE_REPO))); } public function testIsGettingDefaultBranch(): void { $commandLine = new CommandLine(); $this->assertEquals('default', $commandLine->getDefaultBranch(new Repository(self::FIXTURE_REPO))); } public function testIsGettingBranches(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $branches = $commandLine->getBranches($repository); $this->assertCount(2, $branches); // Branch master $this->assertEquals('master', $branches[0]->getName()); $this->assertEquals('5ea48553c4dfbba5ee51189bb5a145f75db4b425', $branches[0]->getTarget()->getHash()); $this->assertEquals('update tags', $branches[0]->getTarget()->getSubject()); // Branch feature/1.2-dev $this->assertEquals('feature/1.2-dev', $branches[1]->getName()); $this->assertEquals('7bc72b056e7c13b3d7a2f8fdb2d3fbb5556a7ec2', $branches[1]->getTarget()->getHash()); $this->assertEquals('Added symlink.', $branches[1]->getTarget()->getSubject()); } public function testIsGettingTags(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $tags = $commandLine->getTags($repository); $this->assertCount(2, $tags); $this->assertEquals('update tags', $tags[0]->getSubject()); $this->assertEquals('tip', $tags[0]->getName()); $this->assertEquals('5ea48553c4dfbba5ee51189bb5a145f75db4b425', $tags[0]->getTarget()->getHash()); $this->assertEquals('Added new config.', $tags[1]->getSubject()); $this->assertEquals('1.2', $tags[1]->getName()); $this->assertEquals('8acbca7fcefa3029c29d6a3eb4a676e607a73c81', $tags[1]->getTarget()->getHash()); $this->assertEquals('8acbca7fcefa', $tags[1]->getTarget()->getShortHash()); } public function testIsGettingTree(): never { // Todo: Implement Mercurial tree parsing $this->markTestIncomplete(); $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $tree = $commandLine->getTree($repository); static::assertEquals('tip', $tree->getHash()); static::assertCount(4, $tree->getChildren()); $file1 = $tree->getChildren()[0]; static::assertInstanceOf(Tree::class, $file1); static::assertEquals('mm', $file1->getName()); static::assertEquals('3ef8d557da820c5c0fbb3a47c0f4b16cabd01a4c', $file1->getHash()); static::assertEquals('644', $file1->getMode()); static::assertEquals(0, $file1->getSize()); $file2 = $tree->getChildren()[1]; static::assertInstanceOf(Symlink::class, $file2); static::assertEquals('old.json', $file2->getName()); static::assertEquals('new.json', $file2->getTarget()); static::assertEquals('fed4d44d9baa4e47f0f29da6cf76a53fa6252225', $file2->getHash()); static::assertEquals('644', $file2->getMode()); static::assertEquals(0, $file2->getSize()); $file3 = $tree->getChildren()[2]; static::assertInstanceOf(Tree::class, $file3); static::assertEquals('src', $file3->getName()); static::assertEquals('8afa803b8db8f69d45ca64f6e75abd240f5c4417', $file3->getHash()); static::assertEquals('644', $file3->getMode()); static::assertEquals(0, $file3->getSize()); $file4 = $tree->getChildren()[3]; static::assertInstanceOf(Blob::class, $file4); static::assertEquals('test.json', $file4->getName()); static::assertEquals('b80de5d138758541c5f05265ad144ab9fa86d1db', $file4->getHash()); static::assertEquals('644', $file4->getMode()); static::assertEquals(0, $file4->getSize()); } public function testIsGettingRecursiveTree(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $tree = $commandLine->getRecursiveTree($repository); $this->assertEquals('tip', $tree->getHash()); $this->assertCount(6, $tree->getChildren()); $file1 = $tree->getChildren()[0]; $this->assertInstanceOf(Blob::class, $file1); $this->assertEquals('mm/cma.c', $file1->getName()); $this->assertEquals('3ef8d557da820c5c0fbb3a47c0f4b16cabd01a4c', $file1->getHash()); $this->assertEquals('644', $file1->getMode()); $this->assertEquals(0, $file1->getSize()); $file2 = $tree->getChildren()[1]; $this->assertInstanceOf(Blob::class, $file2); $this->assertEquals('mm/cma.h', $file2->getName()); $this->assertEquals('a1a1554ed45995782acadb10747e32246bc0d3f8', $file2->getHash()); $this->assertEquals('644', $file2->getMode()); $this->assertEquals(0, $file2->getSize()); $file3 = $tree->getChildren()[2]; $this->assertInstanceOf(Symlink::class, $file3); $this->assertEquals('old.json', $file3->getName()); $this->assertEquals('new.json', $file3->getTarget()); $this->assertEquals('fed4d44d9baa4e47f0f29da6cf76a53fa6252225', $file3->getHash()); $this->assertEquals('644', $file3->getMode()); $this->assertEquals(0, $file3->getSize()); $file4 = $tree->getChildren()[3]; $this->assertInstanceOf(Blob::class, $file4); $this->assertEquals('src/index.php', $file4->getName()); $this->assertEquals('8afa803b8db8f69d45ca64f6e75abd240f5c4417', $file4->getHash()); $this->assertEquals('644', $file4->getMode()); $this->assertEquals(0, $file4->getSize()); $file5 = $tree->getChildren()[4]; $this->assertInstanceOf(Blob::class, $file5); $this->assertEquals('src/test.php', $file5->getName()); $this->assertEquals('b80de5d138758541c5f05265ad144ab9fa86d1db', $file5->getHash()); $this->assertEquals('644', $file5->getMode()); $this->assertEquals(0, $file5->getSize()); $file6 = $tree->getChildren()[5]; $this->assertInstanceOf(Blob::class, $file6); $this->assertEquals('test.json', $file6->getName()); $this->assertEquals('b80de5d138758541c5f05265ad144ab9fa86d1db', $file6->getHash()); $this->assertEquals('644', $file6->getMode()); $this->assertEquals(0, $file6->getSize()); } public function testIsGettingPathTree(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $tree = $commandLine->getPathTree($repository, 'mm/'); $this->assertEquals('tip', $tree->getHash()); $children = $tree->getChildren(); $this->assertCount(2, $children); $file1 = $children[0]; $this->assertInstanceOf(Blob::class, $file1); $this->assertEquals('mm/cma.c', $file1->getName()); $this->assertEquals('3ef8d557da820c5c0fbb3a47c0f4b16cabd01a4c', $file1->getHash()); $this->assertEquals('644', $file1->getMode()); $this->assertEquals(0, $file1->getSize()); $file2 = $children[1]; $this->assertInstanceOf(Blob::class, $file2); $this->assertEquals('mm/cma.h', $file2->getName()); $this->assertEquals('a1a1554ed45995782acadb10747e32246bc0d3f8', $file2->getHash()); $this->assertEquals('644', $file2->getMode()); $this->assertEquals(0, $file2->getSize()); } public function testIsGettingCommits(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $commits = $commandLine->getCommits($repository); $commit1 = $commits['5ea48553c4df']; $this->assertEquals('5ea48553c4dfbba5ee51189bb5a145f75db4b425', $commit1->getHash()); $this->assertEquals('update tags', $commit1->getSubject()); $this->assertInstanceOf(Person::class, $commit1->getAuthor()); $this->assertEquals('convert-repo', $commit1->getAuthor()->getEmail()); $this->assertEquals('convert-repo', $commit1->getAuthor()->getName()); $this->assertEquals('2017-12-29 22:08:29', $commit1->getCommitedAt()->format('Y-m-d H:i:s')); $commit2 = $commits['d471ea0b4d78']; $this->assertEquals('d471ea0b4d78d5296f7c266161ba79f1f0be4927', $commit2->getHash()); $this->assertEquals('Fixed mm.', $commit2->getSubject()); $this->assertInstanceOf(Person::class, $commit2->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit2->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit2->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:30:04', $commit2->getCommitedAt()->format('Y-m-d H:i:s')); $commit3 = $commits['4447d3262dcd']; $this->assertEquals('4447d3262dcd2ec2a122813ae6dcb64b4941a305', $commit3->getHash()); $this->assertEquals('Added mm.', $commit3->getSubject()); $this->assertInstanceOf(Person::class, $commit3->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit3->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit3->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:28:56', $commit3->getCommitedAt()->format('Y-m-d H:i:s')); $commit4 = $commits['828cda676385']; $this->assertEquals('828cda676385bf21433a1c313c1b3bb84ef87232', $commit4->getHash()); $this->assertEquals('Added symlink.', $commit4->getSubject()); $this->assertInstanceOf(Person::class, $commit4->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit4->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit4->getAuthor()->getName()); $this->assertEquals('2016-11-23 15:55:30', $commit4->getCommitedAt()->format('Y-m-d H:i:s')); } public function testIsGettingCommitsWithPagination(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $commits = $commandLine->getCommits($repository, 'tip', 1, 3); $this->assertCount(3, $commits); $commits = $commandLine->getCommits($repository, 'tip', 2, 3); $this->assertCount(5, $commits); } public function testIsGettingCommitsFromPath(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $commits = $commandLine->getCommitsFromPath($repository, 'mm/cma.c'); $this->assertCount(2, $commits); $commit1 = $commits['d471ea0b4d78']; $this->assertEquals('d471ea0b4d78d5296f7c266161ba79f1f0be4927', $commit1->getHash()); $this->assertEquals('Fixed mm.', $commit1->getSubject()); $this->assertInstanceOf(Person::class, $commit1->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit1->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit1->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:30:04', $commit1->getCommitedAt()->format('Y-m-d H:i:s')); $commit2 = $commits['4447d3262dcd']; $this->assertEquals('4447d3262dcd2ec2a122813ae6dcb64b4941a305', $commit2->getHash()); $this->assertEquals('Added mm.', $commit2->getSubject()); $this->assertInstanceOf(Person::class, $commit2->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit2->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit2->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:28:56', $commit2->getCommitedAt()->format('Y-m-d H:i:s')); } public function testIsGettingCommit(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $commit = $commandLine->getCommit($repository, 'd471ea0b4d78d5296f7c266161ba79f1f0be4927'); $this->assertEquals('d471ea0b4d78d5296f7c266161ba79f1f0be4927', $commit->getHash()); $this->assertEquals('Fixed mm.', $commit->getSubject()); $this->assertInstanceOf(Person::class, $commit->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:30:04', $commit->getCommitedAt()->format('Y-m-d H:i:s')); } public function testIsGettingSpecificCommits(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $commits = $commandLine->getSpecificCommits($repository, [ 'd471ea0b4d78d5296f7c266161ba79f1f0be4927', '4447d3262dcd2ec2a122813ae6dcb64b4941a305', ]); $commit1 = $commits['d471ea0b4d78']; $this->assertEquals('d471ea0b4d78d5296f7c266161ba79f1f0be4927', $commit1->getHash()); $this->assertEquals('Fixed mm.', $commit1->getSubject()); $this->assertInstanceOf(Person::class, $commit1->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit1->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit1->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:30:04', $commit1->getCommitedAt()->format('Y-m-d H:i:s')); $commit2 = $commits['4447d3262dcd']; $this->assertEquals('4447d3262dcd2ec2a122813ae6dcb64b4941a305', $commit2->getHash()); $this->assertEquals('Added mm.', $commit2->getSubject()); $this->assertInstanceOf(Person::class, $commit2->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit2->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit2->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:28:56', $commit2->getCommitedAt()->format('Y-m-d H:i:s')); } public function testIsGettingBlame(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $blame = $commandLine->getBlame($repository, 'master', 'mm/cma.c'); $this->assertInstanceOf(Blame::class, $blame); $this->assertEquals('4447d3262dcd2ec2a122813ae6dcb64b4941a305', $blame->getAnnotatedLines()[90]->getCommit()->getHash()); $this->assertEquals("\tstruct zone *zone;", $blame->getAnnotatedLines()[90]->getContents()); } public function testIsGettingBlob(): void { $repository = new Repository(self::FIXTURE_REPO); $commandLine = new CommandLine(); $blob = $commandLine->getBlob($repository, 'master', 'mm/cma.h'); $this->assertInstanceOf(Blob::class, $blob); $this->assertMatchesRegularExpression('/#ifdef CONFIG_CMA_DEBUGFS/', $blob->getContents()); } public function testIsSearchingCommitsFromDate(): void { $repository = new Repository(self::FIXTURE_REPO); $criteria = new Criteria(); $criteria->setFrom(new Carbon('2016-11-24')); $commandLine = new CommandLine(); $commits = $commandLine->searchCommits($repository, $criteria); $this->assertCount(3, $commits); $commit1 = $commits['5ea48553c4df']; $this->assertEquals('5ea48553c4dfbba5ee51189bb5a145f75db4b425', $commit1->getHash()); $this->assertEquals('update tags', $commit1->getSubject()); $this->assertInstanceOf(Person::class, $commit1->getAuthor()); $this->assertEquals('convert-repo', $commit1->getAuthor()->getEmail()); $this->assertEquals('convert-repo', $commit1->getAuthor()->getName()); $this->assertEquals('2017-12-29 22:08:29', $commit1->getCommitedAt()->format('Y-m-d H:i:s')); $commit2 = $commits['d471ea0b4d78']; $this->assertEquals('d471ea0b4d78d5296f7c266161ba79f1f0be4927', $commit2->getHash()); $this->assertEquals('Fixed mm.', $commit2->getSubject()); $this->assertInstanceOf(Person::class, $commit2->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit2->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit2->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:30:04', $commit2->getCommitedAt()->format('Y-m-d H:i:s')); $commit3 = $commits['4447d3262dcd']; $this->assertEquals('4447d3262dcd2ec2a122813ae6dcb64b4941a305', $commit3->getHash()); $this->assertEquals('Added mm.', $commit3->getSubject()); $this->assertInstanceOf(Person::class, $commit3->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit3->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit3->getAuthor()->getName()); $this->assertEquals('2016-11-24 10:28:56', $commit3->getCommitedAt()->format('Y-m-d H:i:s')); } public function testIsSearchingCommitsToDate(): void { $repository = new Repository(self::FIXTURE_REPO); $criteria = new Criteria(); $criteria->setTo(new Carbon('2016-11-24')); $commandLine = new CommandLine(); $commits = $commandLine->searchCommits($repository, $criteria); $this->assertCount(5, $commits); $commit1 = $commits['828cda676385']; $this->assertEquals('828cda676385bf21433a1c313c1b3bb84ef87232', $commit1->getHash()); $this->assertEquals('Added symlink.', $commit1->getSubject()); $this->assertInstanceOf(Person::class, $commit1->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit1->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit1->getAuthor()->getName()); $this->assertEquals('2016-11-23 15:55:30', $commit1->getCommitedAt()->format('Y-m-d H:i:s')); $commit2 = $commits['7bc72b056e7c']; $this->assertEquals('7bc72b056e7c13b3d7a2f8fdb2d3fbb5556a7ec2', $commit2->getHash()); $this->assertEquals('Added symlink.', $commit2->getSubject()); $this->assertInstanceOf(Person::class, $commit2->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit2->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit2->getAuthor()->getName()); $this->assertEquals('2016-11-23 15:55:07', $commit2->getCommitedAt()->format('Y-m-d H:i:s')); $commit3 = $commits['8acbca7fcefa']; $this->assertEquals('8acbca7fcefa3029c29d6a3eb4a676e607a73c81', $commit3->getHash()); $this->assertEquals('Added new config.', $commit3->getSubject()); $this->assertInstanceOf(Person::class, $commit3->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit3->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit3->getAuthor()->getName()); $this->assertEquals('2016-11-23 13:19:02', $commit3->getCommitedAt()->format('Y-m-d H:i:s')); $commit4 = $commits['bf6c7defa0f2']; $this->assertEquals('bf6c7defa0f269df1389cef460c98ea18e007a8d', $commit4->getHash()); $this->assertEquals('Added function call.', $commit4->getSubject()); $this->assertInstanceOf(Person::class, $commit4->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit4->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit4->getAuthor()->getName()); $this->assertEquals('2016-11-23 13:18:18', $commit4->getCommitedAt()->format('Y-m-d H:i:s')); $commit5 = $commits['e88dc2aa0e74']; $this->assertEquals('e88dc2aa0e74b10445f92de34d2a61d274a919fe', $commit5->getHash()); $this->assertEquals('Initial commit.', $commit5->getSubject()); $this->assertInstanceOf(Person::class, $commit5->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit5->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit5->getAuthor()->getName()); $this->assertEquals('2016-11-23 13:17:29', $commit5->getCommitedAt()->format('Y-m-d H:i:s')); } public function testIsSearchingCommitsByAuthor(): void { $repository = new Repository(self::FIXTURE_REPO); $criteria = new Criteria(); $criteria->setAuthor('convert-repo'); $commandLine = new CommandLine(); $commits = $commandLine->searchCommits($repository, $criteria); $this->assertCount(1, $commits); $commit1 = $commits['5ea48553c4df']; $this->assertEquals('5ea48553c4dfbba5ee51189bb5a145f75db4b425', $commit1->getHash()); $this->assertEquals('update tags', $commit1->getSubject()); $this->assertInstanceOf(Person::class, $commit1->getAuthor()); $this->assertEquals('convert-repo', $commit1->getAuthor()->getEmail()); $this->assertEquals('convert-repo', $commit1->getAuthor()->getName()); $this->assertEquals('2017-12-29 22:08:29', $commit1->getCommitedAt()->format('Y-m-d H:i:s')); } public function testIsSearchingCommitsByMessage(): void { $repository = new Repository(self::FIXTURE_REPO); $criteria = new Criteria(); $criteria->setMessage('Initial commit.'); $commandLine = new CommandLine(); $commits = $commandLine->searchCommits($repository, $criteria); $this->assertCount(1, $commits); $commit1 = $commits['e88dc2aa0e74']; $this->assertEquals('e88dc2aa0e74b10445f92de34d2a61d274a919fe', $commit1->getHash()); $this->assertEquals('Initial commit.', $commit1->getSubject()); $this->assertInstanceOf(Person::class, $commit1->getAuthor()); $this->assertEquals('contact@klaussilveira.com', $commit1->getAuthor()->getEmail()); $this->assertEquals('Klaus Silveira', $commit1->getAuthor()->getName()); $this->assertEquals('2016-11-23 13:17:29', $commit1->getCommitedAt()->format('Y-m-d H:i:s')); } public function testIsArchivingZip(): void { $commandLine = new CommandLine(); $archive = $commandLine->archive(new Repository(self::FIXTURE_REPO), 'zip', 'tip'); $this->assertFileExists($archive); $zip = new ZipArchive(); $zip->open($archive); $this->assertEquals(8, $zip->numFiles); } public function testIsArchivingZipWithPath(): void { $commandLine = new CommandLine(); $archive = $commandLine->archive(new Repository(self::FIXTURE_REPO), 'zip', 'tip', 'mm'); $this->assertFileExists($archive); $zip = new ZipArchive(); $zip->open($archive); $this->assertEquals(2, $zip->numFiles); } public function testIsArchivingTarball(): void { $commandLine = new CommandLine(); $archive = $commandLine->archive(new Repository(self::FIXTURE_REPO), 'tar', 'tip'); $this->assertFileExists($archive); $archive = $commandLine->archive(new Repository(self::FIXTURE_REPO), 'tar.gz', 'tip'); $this->assertFileExists($archive); } } tests/unit/SCM/TreeTest.php000066400000000000000000000073441516104173600161050ustar00rootroot00000000000000createTree(); $child1 = $this->createTree(); $child2 = $this->createTree(); $child3 = $this->createTree(); $root->addChild($child1); $root->addChild($child2); $root->addChild($child3); $this->assertEquals([$child1, $child2, $child3], $root->getChildren()); } public function testIsRemovingChild(): void { $root = $this->createTree(); $child1 = $this->createTree(); $child2 = $this->createTree(); $child3 = $this->createTree(); $root->addChild($child1); $root->addChild($child2); $root->addChild($child3); $root->removeChild($child2); $this->assertEquals([$child1, $child3], $root->getChildren()); } public function testIsRemovingChildAndParentReference(): void { $root = $this->createTree(); $child1 = $this->createTree(); $root->addChild($child1); $root->removeChild($child1); $this->assertEmpty($child1->getParents()); } public function testIsDetectingParent(): void { $root = $this->createTree(); $child1 = $this->createTree(); $child2 = $this->createTree(); $root->addChild($child1); $root->addChild($child2); $this->assertEquals($root, $child1->getParents()[0]); $this->assertEquals($root, $child2->getParents()[0]); } public function testIsLeaf(): void { $root = $this->createTree(); $this->assertTrue($root->isLeaf()); $root->addChild($this->createTree()); $this->assertFalse($root->isLeaf()); } public function testIsRoot(): void { $root = $this->createTree(); $child = $this->createTree(); $root->addChild($child); $this->assertTrue($root->isRoot()); $this->assertFalse($child->isRoot()); } public function testIsChild(): void { $root = $this->createTree(); $child = $this->createTree(); $root->addChild($child); $this->assertTrue($child->isChild()); $this->assertFalse($root->isChild()); } public function testIsDetectingChildren(): void { $root = $this->createTree(); $child = $this->createTree(); $root->addChild($child); $this->assertFalse($child->hasChildren()); $this->assertTrue($root->hasChildren()); } public function testIsGettingReadme(): void { $root = $this->createTree(); $child1 = $this->createTree(); $child2 = $this->createTree(); $child3 = new Blob(new Repository('/my/repo'), sha1((string) random_int(0, mt_getrandmax()))); $child4 = new Blob(new Repository('/my/repo'), sha1((string) random_int(0, mt_getrandmax()))); $child4->setName('/var/foo/README.md'); $root->addChild($child1); $root->addChild($child2); $root->addChild($child3); $root->addChild($child4); $this->assertEquals($child4, $root->getReadme()); } public function testIsNotGettingReadme(): void { $root = $this->createTree(); $child1 = $this->createTree(); $child2 = $this->createTree(); $child3 = new Blob(new Repository('/my/repo'), sha1((string) random_int(0, mt_getrandmax()))); $root->addChild($child1); $root->addChild($child2); $root->addChild($child3); $this->assertNull($root->getReadme()); } } webpack.config.js000066400000000000000000000021051516104173600142760ustar00rootroot00000000000000const encore = require('@symfony/webpack-encore'); const webpack = require('webpack'); const { readdirSync, statSync } = require('fs'); const { join } = require('path'); const getDirectories = path => readdirSync(path).filter( folder => statSync(join(path, folder)).isDirectory() ); const themes = getDirectories('./assets/themes/'); const viewers = getDirectories('./assets/viewers/'); encore .setOutputPath('public/assets/') .setPublicPath('/assets') .cleanupOutputBeforeBuild() .disableSingleRuntimeChunk() .enableSourceMaps(!encore.isProduction()) .enableSassLoader() .enablePostCssLoader() ; for (const theme of themes) { encore.addStyleEntry(theme + '/css/main', './assets/themes/' + theme + '/assets/scss/main.scss'); encore.addEntry(theme + '/js/main', './assets/themes/' + theme + '/assets/js/main.js'); } for (const viewer of viewers) { encore.addStyleEntry(viewer + '/css/main', './assets/viewers/' + viewer + '/main.scss'); encore.addEntry(viewer + '/js/main', './assets/viewers/' + viewer + '/main.js'); } module.exports = encore.getWebpackConfig();