diff --git a/.dockerignore b/.dockerignore index bc6c2b61bc74a546a57ae2cd93563a04c1b029a3..cfecf3aa1ec3fe60c5e8a78b47b834241ef4a85a 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,4 @@ # .git Tests/Data _out/images +ThirdParty/container-maker diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d94fa3f4e88fc6a53442e679bf53bfd9621506f7..3b4205d29f04f7098f2ab349933a96c4b0a2a600 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -17,34 +17,35 @@ workflow: # Disable CI for non-MR user-scoped pipelines - if: '$CI_MERGE_REQUEST_IID == null && $CI_PROJECT_NAMESPACE != "ogs"' when: never - - if: '$CI_MERGE_REQUEST_LABELS =~ /.*(workflow::paused|ci skip).*/' + - if: "$CI_MERGE_REQUEST_LABELS =~ /.*(workflow::paused|ci skip).*/" when: never - - if: $CI_MERGE_REQUEST_IID # merge requests - - if: $CI_COMMIT_TAG # tags, ogs/ogs repo only - - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # master, ogs/ogs repo only - - if: $CI_COMMIT_BRANCH =~ /^v[0-9]\.[0-9]\.[0-9]/ # release branches, e.g. v6.x.x + - if: $CI_MERGE_REQUEST_IID # merge requests + - if: $CI_COMMIT_TAG # tags, ogs/ogs repo only + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # master, ogs/ogs repo only + - if: $CI_COMMIT_BRANCH =~ /^v[0-9]\.[0-9]\.[0-9]/ # release branches, e.g. v6.x.x include: - - local: 'scripts/ci/extends/*.yml' - - local: '/scripts/ci/jobs/meta.yml' - - local: '/scripts/ci/jobs/ci_images.yml' - - local: '/scripts/ci/jobs/pre-commit.yml' + - local: "scripts/ci/extends/*.yml" + - local: "/scripts/ci/jobs/meta.yml" + - local: "/scripts/ci/jobs/ci_images.yml" + - local: "/scripts/ci/jobs/pre-commit.yml" # jobs, can be indiviually disabled for testing - - local: '/scripts/ci/jobs/build-linux.yml' - - local: '/scripts/ci/jobs/build-linux-petsc.yml' - - local: '/scripts/ci/jobs/build-linux-frontend.yml' - - local: '/scripts/ci/jobs/build-docs.yml' - - local: '/scripts/ci/jobs/build-win.yml' - - local: '/scripts/ci/jobs/build-mac.yml' + - local: "/scripts/ci/jobs/build-linux.yml" + - local: "/scripts/ci/jobs/build-linux-petsc.yml" + - local: "/scripts/ci/jobs/build-linux-frontend.yml" + - local: "/scripts/ci/jobs/build-docs.yml" + - local: "/scripts/ci/jobs/build-win.yml" + - local: "/scripts/ci/jobs/build-mac.yml" + - local: "/scripts/ci/jobs/jupyter.yml" # - template: 'Code-Quality.gitlab-ci.yml' # see !3053 - - local: '/scripts/ci/jobs/code-quality.yml' - - local: '/scripts/ci/jobs/code-coverage.yml' - - local: '/scripts/ci/jobs/build-gui-linux.yml' - - local: '/scripts/ci/jobs/build-gui-win.yml' - - local: '/scripts/ci/jobs/build-gui-mac.yml' - - local: '/scripts/ci/jobs/check-header.yml' - - local: '/scripts/ci/jobs/clang-sanitizer.yml' - - local: '/scripts/ci/jobs/clang-tidy.yml' - - local: '/scripts/ci/jobs/web.yml' - - local: '/scripts/ci/jobs/container.yml' - - local: '/scripts/ci/jobs/release.yml' + - local: "/scripts/ci/jobs/code-quality.yml" + - local: "/scripts/ci/jobs/code-coverage.yml" + - local: "/scripts/ci/jobs/build-gui-linux.yml" + - local: "/scripts/ci/jobs/build-gui-win.yml" + - local: "/scripts/ci/jobs/build-gui-mac.yml" + - local: "/scripts/ci/jobs/check-header.yml" + - local: "/scripts/ci/jobs/clang-sanitizer.yml" + - local: "/scripts/ci/jobs/clang-tidy.yml" + - local: "/scripts/ci/jobs/web.yml" + - local: "/scripts/ci/jobs/container.yml" + - local: "/scripts/ci/jobs/release.yml" diff --git a/Tests/Notebooks/.gitignore b/Tests/Notebooks/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..fd3eb1669c06a212034c1643f2541c04b24b19de --- /dev/null +++ b/Tests/Notebooks/.gitignore @@ -0,0 +1,2 @@ +_out +.ipynb_checkpoints diff --git a/Tests/Notebooks/README.md b/Tests/Notebooks/README.md new file mode 100644 index 0000000000000000000000000000000000000000..427276d21187ea0a8158c40693f3476c7cfd00de --- /dev/null +++ b/Tests/Notebooks/README.md @@ -0,0 +1,9 @@ +# OGS Juypter notebook tips + +## Git diff / merge tool + +Install [nbdime](https://nbdime.readthedocs.io) and enable [git integration](https://nbdime.readthedocs.io/en/latest/vcs.html): + +```bash +nbdime config-git --enable --global +``` diff --git a/Tests/Notebooks/SimpleMechanics.ipynb b/Tests/Notebooks/SimpleMechanics.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..2949dc829b15c0e616e119b5c5b36cbe58b1b275 --- /dev/null +++ b/Tests/Notebooks/SimpleMechanics.ipynb @@ -0,0 +1,223 @@ +{ + "cells": [ + { + "cell_type": "raw", + "source": [ + "title = \"SimpleMechanics\"\n", + "date = \"2021-09-10\"\n", + "author = \"Lars Bilke, Jörg Buchwald\"\n", + "notebook = \"SimpleMechanics.ipynb\"\n", + "[menu]\n", + " [menu.benchmarks]\n", + " parent = \"small-deformations\"\n", + "<!--eofm-->" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "The following example consists of a simple mechanics problem." + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 2, + "source": [ + "from ogs6py import ogs\n", + "import os\n", + "\n", + "prj_name = \"simple_mechanics\"\n", + "out_dir = f\"_out/{prj_name}\"\n", + "\n", + "if not os.path.exists(out_dir):\n", + " os.makedirs(out_dir)\n", + "os.chdir(out_dir)\n", + "\n", + "model = ogs.OGS(PROJECT_FILE=f\"{prj_name}.prj\")\n", + "model.geo.add_geom(filename=\"../../../Data/Mechanics/Linear/square_1x1.gml\")\n", + "model.mesh.add_mesh(filename=\"../../../Data/Mechanics/Linear/square_1x1_quad_1e2.vtu\")\n", + "model.processes.set_process(name=\"SD\",\n", + " type=\"SMALL_DEFORMATION\",\n", + " integration_order=\"2\",\n", + " solid_density=\"rho_sr\",\n", + " specific_body_force=\"0 0\")\n", + "model.processes.set_constitutive_relation(type=\"LinearElasticIsotropic\",\n", + " youngs_modulus=\"E\",\n", + " poissons_ratio=\"nu\")\n", + "model.processes.add_process_variable(process_variable=\"process_variable\",\n", + " process_variable_name=\"displacement\")\n", + "model.processes.add_process_variable(secondary_variable=\"sigma\",\n", + " output_name=\"sigma\")\n", + "model.timeloop.add_process(process=\"SD\",\n", + " nonlinear_solver_name=\"basic_newton\",\n", + " convergence_type=\"DeltaX\",\n", + " norm_type=\"NORM2\",\n", + " abstol=\"1e-15\",\n", + " time_discretization=\"BackwardEuler\")\n", + "model.timeloop.set_stepping(process=\"SD\", type=\"FixedTimeStepping\",\n", + " t_initial=\"0\",\n", + " t_end=\"1\",\n", + " repeat=\"4\",\n", + " delta_t=\"0.25\")\n", + "model.timeloop.add_output(type=\"VTK\",\n", + " prefix=\"blubb\",\n", + " repeat=\"1\",\n", + " each_steps=\"10\",\n", + " variables=[\"displacement\", \"sigma\"])\n", + "model.parameters.add_parameter(name=\"E\", type=\"Constant\", value=\"1\")\n", + "model.parameters.add_parameter(name=\"nu\", type=\"Constant\", value=\"0.3\")\n", + "model.parameters.add_parameter(name=\"rho_sr\", type=\"Constant\", value=\"1\")\n", + "model.parameters.add_parameter(name=\"displacement0\",\n", + " type=\"Constant\",\n", + " values=\"0 0\")\n", + "model.parameters.add_parameter(name=\"dirichlet0\", type=\"Constant\", value=\"0\")\n", + "model.parameters.add_parameter(name=\"dirichlet1\", type=\"Constant\", value=\"0.05\")\n", + "model.processvars.set_ic(process_variable_name=\"displacement\",\n", + " components=\"2\",\n", + " order=\"1\",\n", + " initial_condition=\"displacement0\")\n", + "model.processvars.add_bc(process_variable_name=\"displacement\",\n", + " geometrical_set=\"square_1x1_geometry\",\n", + " geometry=\"left\",\n", + " type=\"Dirichlet\",\n", + " component=\"0\",\n", + " parameter=\"dirichlet0\")\n", + "model.processvars.add_bc(process_variable_name=\"displacement\",\n", + " geometrical_set=\"square_1x1_geometry\",\n", + " geometry=\"bottom\",\n", + " type=\"Dirichlet\",\n", + " component=\"1\",\n", + " parameter=\"dirichlet0\")\n", + "model.processvars.add_bc(process_variable_name=\"displacement\",\n", + " geometrical_set=\"square_1x1_geometry\",\n", + " geometry=\"top\",\n", + " type=\"Dirichlet\",\n", + " component=\"1\",\n", + " parameter=\"dirichlet1\")\n", + "model.nonlinsolvers.add_non_lin_solver(name=\"basic_newton\",\n", + " type=\"Newton\",\n", + " max_iter=\"4\",\n", + " linear_solver=\"general_linear_solver\")\n", + "model.linsolvers.add_lin_solver(name=\"general_linear_solver\",\n", + " kind=\"lis\",\n", + " solver_type=\"cg\",\n", + " precon_type=\"jacobi\",\n", + " max_iteration_step=\"10000\",\n", + " error_tolerance=\"1e-16\")\n", + "model.linsolvers.add_lin_solver(name=\"general_linear_solver\",\n", + " kind=\"eigen\",\n", + " solver_type=\"CG\",\n", + " precon_type=\"DIAGONAL\",\n", + " max_iteration_step=\"10000\",\n", + " error_tolerance=\"1e-16\")\n", + "model.linsolvers.add_lin_solver(name=\"general_linear_solver\",\n", + " kind=\"petsc\",\n", + " prefix=\"sd\",\n", + " solver_type=\"cg\",\n", + " precon_type=\"bjacobi\",\n", + " max_iteration_step=\"10000\",\n", + " error_tolerance=\"1e-16\")\n", + "model.write_input()\n", + "model.run_model(logfile=\"out.log\")\n", + "os.chdir(\"../..\")" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "/home/jovyan/work/code/ogs/ogs/Tests/Notebooks\n", + "OGS finished with project file simple_mechanics.prj.\n", + "Execution took 0.8449244499206543 s\n" + ] + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 3, + "source": [ + "import vtuIO\n", + "\n", + "pvdfile = vtuIO.PVDIO(f\"{out_dir}/blubb.pvd\", dim=2)\n", + "time = pvdfile.timesteps\n", + "points={'pt0': (0.3,0.5,0.0), 'pt1': (0.24,0.21,0.0)}\n", + "pressure_linear = pvdfile.read_time_series(\"displacement\", points)\n", + "pressure_nearest = pvdfile.read_time_series(\"displacement\", points, interpolation_method=\"nearest\")\n", + "\n", + "import matplotlib.pyplot as plt\n", + "plt.plot(time, pressure_linear[\"pt0\"], \"b-\", label=\"pt0 linear interpolated\")\n", + "plt.plot(time, pressure_nearest[\"pt0\"], \"b--\", label=\"pt0 closest point value\")\n", + "plt.plot(time, pressure_linear[\"pt1\"], \"r-\", label=\"pt1 linear interpolated\")\n", + "plt.plot(time, pressure_nearest[\"pt1\"], \"r--\", label=\"pt1 closest point value\")\n", + "plt.legend()\n", + "plt.xlabel(\"t\")\n", + "plt.ylabel(\"p\")" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Text(0, 0.5, 'p')" + ] + }, + "metadata": {}, + "execution_count": 3 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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+PjjjwH473//y9y5c7PiMidPnmTnzp20aNGCiRMnsnLlSoKCgnI8qPv06VOseRrt2rUjNjY265rbt2/Ps8+GDRtYvXo1F154IQCnT5+mefPmWdtHjhyZY/9rrrmGatWq0alTJ9q3b8/69ev54YcfuOOOOwAVkDZt2uQRlpSUFEaPHs2mTZtwzpGenp5vmwv6PBYuXMidd94JQExMDDExMUXev2GUJkeOwHPPwcsvw549EBYG//gHjB5ddm0I6ARJEZkHzMu17hGf9yeBq/M57jHgsQJO28ufbYSiexalRe68g/zyEFq2bElCQkLWckJCAi1b5s6BKJwaNTShLigoKCtmISJ89NFHRERE5Nh36tSpNG3alFWrVpGZmUloaGjWttq1a/+m63mvmd/wkYgQGRnJokWL8j1H7msV57PKj4cffphBgwbxySefsH37dgYOHJjvfgV9HoZRXjh5Ev74R/i//4PTp6F/f5g9W/+WNRU6eF/Z2blzZ9aD9b333uPcc88FoG7duhw9ehSA5s2bU69ePRYvXoyI8Pbbb3P55bmztn87Q4YM4YUXXsjKMPv5558B/YXfvHlzqlWrxjvvvMPp06dLfC0vvvcVERFBcnJy1v2np6ezZs2aAo/917/+RWZmJlu2bGHr1q1ERETQv39/3n33XQA2btzIzp078whDSkpKlhDPmjUr37ZAwZ/HgAEDeO+99wBYvXo1v/zyS0k+AsP4zaSlwe23Q7168NZbEBoKf/87LFgQGFEBE5ZyTUREBNOnT6dr164cOnSI2267DYDx48czdOhQBg0aBMBLL73EuHHj6NixIx06dGDYsGElvvbDDz9Meno6MTExREZG8vDDDwMwYcIE3nrrLbp378769euL3UspDt4gfGxsLKdPn2bOnDncd999dO/endjY2KxEgfxo3bo1ffr0YdiwYbzyyiuEhoYyYcIEMjMziY6OZuTIkcyaNStHbwng3nvv5c9//jM9evTIkWE2aNAg1q5dmxW8L+jzuO222zh27Bhdu3blkUceoVcvv3eYDSNfRODjj6FdO3jpJQgKgoce0qGw+++HagF8urv85jxUNeLi4iT33IN169bRtWvXALVIs6+GDx/O6tWrA9aGisKYMWMYPnw4V5VFVLIEBPo7ZVQOMjPhscfg7bdhyxbo1ElThp98EoLLOLjhnFsuInG515sJ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", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + } + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "---\n", + "\n", + "This website was created with\n", + "\n", + "```\n", + "nb2hugo --site-dir web --section docs/benchmarks/notebooks \\\n", + " --template Tests/Notebooks/nbconvert_templates/collapsed.md.j2 \\\n", + " Tests/Notebooks/SimpleMechanics.ipynb\n", + "```" + ], + "metadata": {} + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file diff --git a/Tests/Notebooks/nbconvert_templates/collapsed.md.j2 b/Tests/Notebooks/nbconvert_templates/collapsed.md.j2 new file mode 100644 index 0000000000000000000000000000000000000000..a71120e735cc89ee171aeee3e4abb9429427bb2a --- /dev/null +++ b/Tests/Notebooks/nbconvert_templates/collapsed.md.j2 @@ -0,0 +1,118 @@ +{% extends 'base/display_priority.j2' %} + + +{% block in_prompt %} +{% endblock in_prompt %} + +{% block output_prompt %} +{%- endblock output_prompt %} + +{% block input %} +{% if 'jupyter' in cell.metadata and 'source_hidden' in cell.metadata.jupyter and cell.metadata.jupyter.source_hidden == True -%} +<details> +<summary>Click to toggle input cell</summary> +<div> +{% endif %} +<div class="jupyter-input"> + +``` +{%- if 'magics_language' in cell.metadata -%} + {{ cell.metadata.magics_language}} +{%- elif 'name' in nb.metadata.get('language_info', {}) -%} + {{ nb.metadata.language_info.name }} +{%- endif %} +{{ cell.source}} +``` + +</div> +{% if 'jupyter' in cell.metadata and 'source_hidden' in cell.metadata.jupyter and cell.metadata.jupyter.source_hidden == True %} +</div> +</details> +{% endif %} +{% endblock input %} + +{% block error %} +{{ super() }} +{% endblock error %} + +{% block traceback_line %} +{{ line | indent | strip_ansi }} +{% endblock traceback_line %} + +{% block execute_result %} + +{% block data_priority scoped %} +{{ super() }} +{% endblock %} +{% endblock execute_result %} + +{% block stream %} +{% if 'jupyter' in cell.metadata and 'outputs_hidden' in cell.metadata.jupyter and cell.metadata.jupyter.outputs_hidden == True -%} +<details> +<summary>Click to toggle output cell</summary> +<div> +{% endif %} +<div class="jupyter-output"> + +{{ output.text | indent }} + +</div> +{% if 'jupyter' in cell.metadata and 'outputs_hidden' in cell.metadata.jupyter and cell.metadata.jupyter.outputs_hidden == True -%} +</div> +</details> +{% endif %} +{% endblock stream %} + +{% block data_svg %} + {% if "filenames" in output.metadata %} + + {% else %} + + {% endif %} +{% endblock data_svg %} + +{% block data_png %} +<div class="jupyter-output"> + {% if "filenames" in output.metadata %} + + {% else %} + + {% endif %} +</div> +{% endblock data_png %} + +{% block data_jpg %} + {% if "filenames" in output.metadata %} + + {% else %} + + {% endif %} +{% endblock data_jpg %} + +{% block data_latex %} +{{ output.data['text/latex'] }} +{% endblock data_latex %} + +{% block data_html scoped %} +{{ output.data['text/html'] }} +{% endblock data_html %} + +{% block data_markdown scoped %} +{{ output.data['text/markdown'] }} +{% endblock data_markdown %} + +{% block data_text scoped %} +<div class="jupyter-output"> + +{{ output.data['text/plain'] | indent }} + +</div> +{% endblock data_text %} + +{% block markdowncell scoped %} +{{ cell.source }} +{% endblock markdowncell %} + +{% block unknowncell scoped %} +unknown type {{ cell.type }} +{% endblock unknowncell %} diff --git a/ThirdParty/container-maker b/ThirdParty/container-maker index 15cc228418fc1cf910adad60d154d4129459bc46..b32a22e17d2a9af486938e308d8aca1c7bce51ed 160000 --- a/ThirdParty/container-maker +++ b/ThirdParty/container-maker @@ -1 +1 @@ -Subproject commit 15cc228418fc1cf910adad60d154d4129459bc46 +Subproject commit b32a22e17d2a9af486938e308d8aca1c7bce51ed diff --git a/scripts/ci/jobs/container.yml b/scripts/ci/jobs/container.yml index 62591bb5299671671f58dab8df8dbf064f15db1f..37fa423bc597c14cf85a00f10a8344213111242c 100644 --- a/scripts/ci/jobs/container.yml +++ b/scripts/ci/jobs/container.yml @@ -15,23 +15,31 @@ container: - .container-maker-setup script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - if [[ "$CI_COMMIT_BRANCH" == "master" ]] ;then export DOCKER_TAG="--tag $CI_REGISTRY/ogs/$CI_PROJECT_NAME/ogs-serial:latest" ; fi + - > + if [[ "$CI_COMMIT_BRANCH" == "master" ]] ; then + export DOCKER_TAG_SERIAL="--tag $CI_REGISTRY/ogs/$CI_PROJECT_NAME/ogs-serial:latest" + export DOCKER_TAG_JUPYTER="--upload --tag $CI_REGISTRY/ogs/$CI_PROJECT_NAME/ogs-serial-jupyter:latest" + fi + # serial container - > poetry run ogscm compiler.py ogs.py -B -C -R --ogs ../.. --build_args ' --progress=plain' --cvode --ccache --mfront --cmake_args ' -DOGS_CPU_ARCHITECTURE=sandybridge -DOGS_BUILD_TESTING=OFF' - $DOCKER_TAG + $DOCKER_TAG_SERIAL + # petsc container - > poetry run ogscm compiler.py mpi.py ogs.py -B -C -R --ogs ../.. --build_args ' --progress=plain' --cvode --ccache --cmake_args ' -DOGS_CPU_ARCHITECTURE=sandybridge -DOGS_BUILD_TESTING=OFF' --base_image 'centos:8' --ompi 4.0.5 --mpi_benchmarks + # test ogs can run in container - | for sif in _out/images/*.sif; do singularity exec $sif ogs --version done + # Data Explorer container - > poetry run ogscm compiler.py ogs.py -B -C -R --ogs ../.. --build_args ' --progress=plain' diff --git a/scripts/ci/jobs/jupyter.yml b/scripts/ci/jobs/jupyter.yml new file mode 100644 index 0000000000000000000000000000000000000000..552f2f67aeaeb48deebdabc46ab850a1166cae8c --- /dev/null +++ b/scripts/ci/jobs/jupyter.yml @@ -0,0 +1,41 @@ +# Built for Sandy Bridge (envinf1) and newer +build jupyter: + stage: build + tags: [envinf2-shell] + needs: [meta] + extends: + - .container-maker-setup + script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - > + if [[ "$CI_COMMIT_BRANCH" == "master" ]] ; then + export DOCKER_TAG_JUPYTER="$CI_REGISTRY/ogs/$CI_PROJECT_NAME/ogs-serial-jupyter:latest" + export ON_MASTER_ARGS="--upload -C" + else + export DOCKER_TAG_JUPYTER="ci-$CI_PROJECT_NAME-$CI_COMMIT_BRANCH-jupyter" + fi + # Jupyter container + - > + poetry run ogscm compiler.py ogs.py ogs_jupyter.py -B -R --ogs ../.. + --build_args ' --progress=plain' + --cvode --ccache --mfront + --cmake_args ' -DOGS_CPU_ARCHITECTURE=sandybridge -DOGS_BUILD_TESTING=OFF' + --runtime_base_image 'jupyter/base-notebook' + --tag $DOCKER_TAG_JUPYTER + $ON_MASTER_ARGS + - cd $CI_PROJECT_DIR + # execute notebooks in container + - > + docker run --rm -v $PWD:/home/jovyan/work --user `id -u $USER` --group-add users + --workdir /home/jovyan/work $DOCKER_TAG_JUPYTER + bash -c "find Tests/Notebooks -type f -iname '*.ipynb' -not -path \"*.ipynb_checkpoints*\" | xargs -n1 jupyter nbconvert --execute --inplace" + - > + docker run --rm -v $PWD:/home/jovyan/work --user `id -u $USER` --group-add users + --workdir /home/jovyan/work $DOCKER_TAG_JUPYTER + bash -c "find Tests/Notebooks -type f -iname '*.ipynb' -not -path \"*.ipynb_checkpoints*\" | xargs -n1 nb2hugo --site-dir web --section docs/benchmarks/notebooks --template Tests/Notebooks/nbconvert_templates/collapsed.md.j2" + artifacts: + name: container + paths: + - ThirdParty/container-maker/_out/images/*.sif + - web/content/docs/benchmarks/notebooks + - web/static/docs/benchmarks/notebooks diff --git a/scripts/ci/jobs/web.yml b/scripts/ci/jobs/web.yml index b636a6c1ca71fefab71207b1cd31fceb81a829e3..9a897571e70fe4a5fd680c5de2a304f02c03753a 100644 --- a/scripts/ci/jobs/web.yml +++ b/scripts/ci/jobs/web.yml @@ -18,7 +18,7 @@ preview web site: stage: build tags: [docker] image: $WEB_IMAGE - needs: [ci_images] + needs: [ci_images, "build jupyter"] variables: HUGO_ENVIRONMENT: "staging" script: @@ -45,7 +45,7 @@ preview web site: deploy web site: stage: package image: $WEB_IMAGE - needs: [ci_images] + needs: [ci_images, "build jupyter"] rules: - if: $CI_COMMIT_TAG - if: '$CI_COMMIT_BRANCH == "master"' diff --git a/scripts/docker/Dockerfile.web b/scripts/docker/Dockerfile.web index b7aed0f550306f9ac1f58113f0bf7aeaee385ec5..890cb72dc32b268076400d2931f54e2fa5a10dd7 100644 --- a/scripts/docker/Dockerfile.web +++ b/scripts/docker/Dockerfile.web @@ -17,3 +17,4 @@ ENV HUGO_VERSION=0.79.0 RUN curl -fSL -O "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.deb" \ && DEBIAN_FRONTEND=noninteractive apt-get install -y /hugo_extended_${HUGO_VERSION}_Linux-64bit.deb \ && rm /hugo_extended_${HUGO_VERSION}_Linux-64bit.deb +RUN pip install https://github.com/bilke/nb2hugo/archive/e27dc02df2be1ce19e4a6f52d197c2e2a6ca520c.zip diff --git a/web/.gitignore b/web/.gitignore index 3d5ef346db2b63e294396f1f6d95446863e6a6dc..7ba2037df51cff485f01ef1325fd4b15801b1bd5 100644 --- a/web/.gitignore +++ b/web/.gitignore @@ -14,3 +14,7 @@ data/bibliography.json # generated css static/css/all.css + +# Generated by nb2hugo +content/docs/benchmarks/notebooks +static/docs/benchmarks/notebooks diff --git a/web/assets/css/main.css b/web/assets/css/main.css index 7486602466776bf025c3ab1ebb6d4047993157b3..32ef040e19429a22c42e82934a63bdb1ad59bc3b 100644 --- a/web/assets/css/main.css +++ b/web/assets/css/main.css @@ -254,4 +254,22 @@ img[src$='#two-third'] { @apply text-yellow-500; } +/* ------------------------------- Jupyter --------------------------------- */ +.jupyter-input pre { + @apply border-l-4; + @apply border-blue-500; +} + +.jupyter-output pre { + @apply border-l-4; + @apply border-red-500; +} + +.jupyter-output img { + @apply border-l-4; + @apply border-red-500; + @apply rounded-md; +} + +/* ------------------------------------------------------------------------- */ @tailwind utilities; diff --git a/web/content/docs/userguide/basics/jupyter-notebooks.md b/web/content/docs/userguide/basics/jupyter-notebooks.md new file mode 100644 index 0000000000000000000000000000000000000000..e2bea6142c04ed2354dd9d0bc6499ba0110f3073 --- /dev/null +++ b/web/content/docs/userguide/basics/jupyter-notebooks.md @@ -0,0 +1,124 @@ ++++ +date = "2021-09-09T15:00:13+01:00" +title = "Jupyter Notebooks" +author = "Lars Bilke" +weight = 5 + +[menu] + [menu.userguide] + parent = "basics" ++++ + +[Jupyter Notebooks](https://jupyter.org) are documents which can contain live (Python) code, equations, visualizations and narrative text and can be used as an intuitive interface for OGS projects. The following video gives an introduction to using OpenGeoSys with Jupyter Notebooks: + +{{< youtube eihNKjK-I-s >}} + +## Jupyter Notebooks container environments + +You can use a pre-defined container environment which currently contains: + +- The Jupyter Notebook / Lab application +- The latest OpenGeoSys application (with MFront support) and tools +- A set of Python packages: + - [ogs6py](https://github.com/joergbuchwald/ogs6py) — OGS model manipulation + - [VTUInterface](https://github.com/joergbuchwald/VTUinterface) — VTU / PVD IO + - [h5py](https://docs.h5py.org/en/latest/index.html) — HDF5 IO + - [MFront python bindings](http://tfel.sourceforge.net/mfront-python.html) – Material model manipulation + - [matplotlib](https://matplotlib.org) — Plotting + - [numpy](https://numpy.org) — Scientific computing + - [pandas](https://pandas.pydata.org) — Data analysis + - [scipy](https://docs.scipy.org/doc/scipy/reference/) — Scientific computing + - [vtk](https://pypi.org/project/vtk/) — Visualization + - [PyVista][pyvista] — Visualization +- Jupyter-related tools: + - [nbconvert](https://nbconvert.readthedocs.io) — Format conversion + - [nbdime](https://nbdime.readthedocs.io) — Diffs for notebooks + - [nb2hugo](https://github.com/bilke/nb2hugo/tree/ogs) — Notebook to www.opengeosys.org markdown +### Usage + +With [Docker]({{< ref "container.md#with-docker" >}}): + +```bash +docker run --rm -p 8888:8888 -v $PWD:/home/jovyan/work --user `id -u $USER` \ + --group-add users registry.opengeosys.org/ogs/ogs/ogs-serial-jupyter +``` + +This mounts your current directory into `~/work` inside the container. + + +<div class="note"> + +#### <i class="fab fa-windows"></i> Windows notes + +The above command only works when you run Docker from within a WSL2 Linux shell! + +- Install [Docker Desktop on Windows](https://docs.docker.com/desktop/windows/install/), it automatically configures WSL2. +- Install a Linux distribution from the Microsoft App Store. We recommend [Ubuntu 20.04](https://www.microsoft.com/en-us/p/ubuntu-2004-lts/9n6svws3rx71). +- In the Docker Desktop application under *Settings / Resources / WSL integration* add your Linux distribution. +- Open a command prompt in your Linux distribution (At the start menu type the name of the distribution) and run the container. + - If your current working contains spaces write out `$PWD`, e.g.: + ``` + ... -v /c/Users/My\ Name/working/directory:/home/jovyan/work ... + ``` + +</div> + +--- + +With [Singularity]({{< ref "container.md#with-singularity" >}}): + +```bash +singularity run docker://registry.opengeosys.org/ogs/ogs/ogs-serial-jupyter +``` + +Open the specified URL shown in the command output in your browser, e.g. + +``` +http://127.0.0.1:8888/lab?token=xxx +``` + +You may have to modify the IP address if this is running on a remote machine. + +### Browsing notebooks on GitLab + +In the file browser on the left-hand side of the Jupyter Lab interface there is a GitLab-tab which allows for browsing and opening notebooks from the [ogs/ogs](https://gitlab.opengeosys.org/ogs/ogs)-repository. You can directly modify and execute a notebook, but the notebook is not saved back to GitLab. You can change the browsed repository by typing into the top text field. + +If you would like to us this with private repositories you have to supply an [access token](https://gitlab.opengeosys.org/-/profile/personal_access_tokens) at container start-up: + +```bash +docker run --rm -p 8888:8888 -v $PWD:/home/jovyan/work --user `id -u $USER` \ + --group-add users registry.opengeosys.org/ogs/ogs/ogs-serial-jupyter \ + --GitLabConfig.access_token="< YOUR_ACCESS_TOKEN >" +``` + +### Adding additional Python packages + +In a running container you can install additional Python packages with the Jupyter [magic command `%pip`](https://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-pip): + +```python +%pip install [package name] +``` + +Please note that this is a temporary installation. If you stop the container the environment is destroyed. + +### Rendering with PyVista + +When using [PyVista][pyvista] the container uses the (interactive) [pythreejs](https://docs.pyvista.org/user-guide/jupyter/pythreejs.html) rendering backend per default. If you want to output static images there are a couple of ways to configure the 'static' rendering backend: + +- Globally as an environment variable: `PYVISTA_JUPYTER_BACKEND=static`. This can be defined when starting the container: + ```bash + docker run ... -e PYVISTA_JUPYTER_BACKEND=static ... + ``` +- Globally as a pyvista setting: + ```python + import pyvista as pv + pv.set_jupyter_backend('static') + ``` +- Locally on each plot: + ```python + import pyvista as pv + ... + pv.show(jupyter_backend='static') + ``` + +[pyvista]: https://docs.pyvista.org diff --git a/web/layouts/_default/baseof.html b/web/layouts/_default/baseof.html index 93e2b0cf1c05584e7fcef38dec53a8e6aba3f931..142f219d2be16a8032e16cd24f646a34543c7432 100644 --- a/web/layouts/_default/baseof.html +++ b/web/layouts/_default/baseof.html @@ -47,6 +47,11 @@ {{ range .Children }} <li class="p-1 mr-1 {{if $currentPage.IsMenuCurrent $subsection . }}bg-gray-100 rounded-lg{{ else }}text-gray-700 hover:text-gray-900{{ end }}"> + + {{ if .Page.Params.notebook }} + <img style="margin-top: 0; margin-bottom: 0; height: 1em;" class="inline-block mr-1" + src="https://upload.wikimedia.org/wikipedia/commons/3/38/Jupyter_logo.svg" alt=""> + {{ end }} <a href="{{ .URL }}" {{if $currentPage.IsMenuCurrent $subsection . }} class="text-brand-500" {{end}}> {{ .Name }} </a> diff --git a/web/layouts/docs/single.html b/web/layouts/docs/single.html index b2e5322cee6a585685c1c29aeaec0e65c433986e..3d7aea52a3367f86eb0c3021517b01cb09779ec1 100644 --- a/web/layouts/docs/single.html +++ b/web/layouts/docs/single.html @@ -19,6 +19,18 @@ <h2>Table of contents</h2> {{.TableOfContents}} <hr> + {{ end }} + {{ if .Params.notebook }} + <div class="note"> + <p style="margin-top: 0; margin-bottom: 0%;"><img style="margin-top: 0; margin-bottom: 0; height: 2em;" + class="inline-block mr-2" src="https://upload.wikimedia.org/wikipedia/commons/3/38/Jupyter_logo.svg" alt=""> + This benchmark is available as a Jupyter notebook: + <a href="https://gitlab.opengeosys.org/ogs/ogs/-/blob/master/Tests/Notebooks/{{ .Params.notebook }}"> + {{ .Params.notebook }}. + </a> + </p> + </div> + {{ end }} {{ .Content }} </div> diff --git a/web/package.json b/web/package.json index 7d4755847cb359ab4406a89eebbf959f491dd602..59bf7701ef2d1fb2e335a72a2283bd3b0abba5d3 100644 --- a/web/package.json +++ b/web/package.json @@ -2,6 +2,7 @@ "private": true, "scripts": { "build": "npx tailwindcss -o static/css/all.css --jit -i assets/css/main.css -m && hugo", + "build-with-nb": "find ../Tests/Notebooks -type f -iname '*.ipynb' -not -path \"*.ipynb_checkpoints*\" | xargs -n1 nb2hugo --site-dir . --section docs/benchmarks/notebooks --template ../Tests/Notebooks/nbconvert_templates/collapsed.md.j2 && npx tailwindcss -o static/css/all.css --jit -i assets/css/main.css -m && hugo", "server": "hugo server", "index": "hugo-algolia -toml", "upload-index": "hugo-algolia --toml -s" @@ -10,6 +11,6 @@ "@tailwindcss/line-clamp": "^0.2.1", "@tailwindcss/typography": "^0.4.1", "hugo-algolia": "^1.2.13", - "tailwindcss": "^2.2.0" + "tailwindcss": "^2.2.15" } } diff --git a/web/yarn.lock b/web/yarn.lock index 5fd08860c1072ec72c25399b69285387d7609c4d..619a531c9554adaeed9f09a9dbaafcbc861aa3c7 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -3,1158 +3,1236 @@ "@babel/code-frame@^7.0.0": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" - integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== + "integrity" "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==" + "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/highlight" "^7.14.5" "@babel/helper-validator-identifier@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8" - integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== + "integrity" "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==" + "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz" + "version" "7.14.9" "@babel/highlight@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" - integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== + "integrity" "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==" + "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-validator-identifier" "^7.14.5" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@fullhuman/postcss-purgecss@^4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@fullhuman/postcss-purgecss/-/postcss-purgecss-4.0.3.tgz#55d71712ec1c7a88e0d1ba5f10ce7fb6aa05beb4" - integrity sha512-/EnQ9UDWGGqHkn1UKAwSgh+gJHPKmD+Z+5dQ4gWT4qq2NUyez3zqAfZNwFH3eSgmgO+wjTXfhlLchx2M9/K+7Q== - dependencies: - purgecss "^4.0.3" + "chalk" "^2.0.0" + "js-tokens" "^4.0.0" "@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + "version" "2.1.5" dependencies: "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" + "run-parallel" "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": + "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + "version" "2.0.5" "@nodelib/fs.walk@^1.2.3": - version "1.2.7" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.7.tgz#94c23db18ee4653e129abd26fb06f870ac9e1ee2" - integrity sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA== + "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + "version" "1.2.8" dependencies: "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" + "fastq" "^1.6.0" "@tailwindcss/line-clamp@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@tailwindcss/line-clamp/-/line-clamp-0.2.1.tgz#efafe556719c26a3926f0679a98307c4bc9270d2" - integrity sha512-Hq2KJY1+T2v7jw/mnT3mnC7CKbp5kj1XTqzSb2xbEt1j+JkxIR6N3ijsN/WevZtsKJfVE1KOejA/3IRKuhZEsQ== + "integrity" "sha512-Hq2KJY1+T2v7jw/mnT3mnC7CKbp5kj1XTqzSb2xbEt1j+JkxIR6N3ijsN/WevZtsKJfVE1KOejA/3IRKuhZEsQ==" + "resolved" "https://registry.npmjs.org/@tailwindcss/line-clamp/-/line-clamp-0.2.1.tgz" + "version" "0.2.1" "@tailwindcss/typography@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.4.1.tgz#51ddbceea6a0ee9902c649dbe58871c81a831212" - integrity sha512-ovPPLUhs7zAIJfr0y1dbGlyCuPhpuv/jpBoFgqAc658DWGGrOBWBMpAWLw2KlzbNeVk4YBJMzue1ekvIbdw6XA== + "integrity" "sha512-ovPPLUhs7zAIJfr0y1dbGlyCuPhpuv/jpBoFgqAc658DWGGrOBWBMpAWLw2KlzbNeVk4YBJMzue1ekvIbdw6XA==" + "resolved" "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.4.1.tgz" + "version" "0.4.1" dependencies: - lodash.castarray "^4.4.0" - lodash.isplainobject "^4.0.6" - lodash.merge "^4.6.2" - lodash.uniq "^4.5.0" + "lodash.castarray" "^4.4.0" + "lodash.isplainobject" "^4.0.6" + "lodash.merge" "^4.6.2" + "lodash.uniq" "^4.5.0" "@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -acorn-node@^1.6.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" - integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== - dependencies: - acorn "^7.0.0" - acorn-walk "^7.0.0" - xtend "^4.0.2" - -acorn-walk@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.0.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -agentkeepalive@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-2.2.0.tgz#c5d1bd4b129008f1163f236f86e5faea2026e2ef" - integrity sha1-xdG9SxKQCPEWPyNvhuX66iAm4u8= - -algoliasearch@^3.24.1: - version "3.35.1" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-3.35.1.tgz#297d15f534a3507cab2f5dfb996019cac7568f0c" - integrity sha512-K4yKVhaHkXfJ/xcUnil04xiSrB8B8yHZoFEhWNpXg23eiCnqvTZw1tn/SqvdsANlYHLJlKl0qi3I/Q2Sqo7LwQ== - dependencies: - agentkeepalive "^2.2.0" - debug "^2.6.9" - envify "^4.0.0" - es6-promise "^4.1.0" - events "^1.1.0" - foreach "^2.0.5" - global "^4.3.2" - inherits "^2.0.1" - isarray "^2.0.1" - load-script "^1.0.0" - object-keys "^1.0.11" - querystring-es3 "^0.2.1" - reduce "^1.0.1" - semver "^5.1.0" - tunnel-agent "^0.6.0" - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.0.tgz#a20e2bb5710e82950a516b3f933fee5ed478be90" - integrity sha512-4P8Zm2H+BRS+c/xX1LrHw0qKpEhdlZjLCgWy+d78T9vqa2Z2SiD2wMrYuWIAFy5IZUD7nnNXroRttz+0RzlrzQ== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.1, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -bytes@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase-css@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" - integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chokidar@^3.5.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" - integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== - 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" + "integrity" "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + "resolved" "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" + "version" "4.0.0" + +"acorn-node@^1.6.1": + "integrity" "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==" + "resolved" "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz" + "version" "1.8.2" + dependencies: + "acorn" "^7.0.0" + "acorn-walk" "^7.0.0" + "xtend" "^4.0.2" + +"acorn-walk@^7.0.0": + "integrity" "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" + "version" "7.2.0" + +"acorn@^7.0.0": + "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" + "version" "7.4.1" + +"agentkeepalive@^2.2.0": + "integrity" "sha1-xdG9SxKQCPEWPyNvhuX66iAm4u8=" + "resolved" "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz" + "version" "2.2.0" + +"algoliasearch@^3.24.1": + "integrity" "sha512-K4yKVhaHkXfJ/xcUnil04xiSrB8B8yHZoFEhWNpXg23eiCnqvTZw1tn/SqvdsANlYHLJlKl0qi3I/Q2Sqo7LwQ==" + "resolved" "https://registry.npmjs.org/algoliasearch/-/algoliasearch-3.35.1.tgz" + "version" "3.35.1" + dependencies: + "agentkeepalive" "^2.2.0" + "debug" "^2.6.9" + "envify" "^4.0.0" + "es6-promise" "^4.1.0" + "events" "^1.1.0" + "foreach" "^2.0.5" + "global" "^4.3.2" + "inherits" "^2.0.1" + "isarray" "^2.0.1" + "load-script" "^1.0.0" + "object-keys" "^1.0.11" + "querystring-es3" "^0.2.1" + "reduce" "^1.0.1" + "semver" "^5.1.0" + "tunnel-agent" "^0.6.0" + +"ansi-styles@^3.2.1": + "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + "version" "3.2.1" + dependencies: + "color-convert" "^1.9.0" + +"ansi-styles@^4.1.0": + "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "color-convert" "^2.0.1" + +"anymatch@~3.1.2": + "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" + "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "normalize-path" "^3.0.0" + "picomatch" "^2.0.4" + +"arg@^5.0.1": + "integrity" "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==" + "resolved" "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz" + "version" "5.0.1" + +"argparse@^1.0.7": + "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" + "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "sprintf-js" "~1.0.2" + +"autoprefixer@^10.0.2": + "integrity" "sha512-EKjKDXOq7ug+jagLzmnoTRpTT0q1KVzEJqrJd0hCBa7FiG0WbFOBCcJCy2QkW1OckpO3qgttA1aWjVbeIPAecw==" + "resolved" "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.4.tgz" + "version" "10.3.4" + dependencies: + "browserslist" "^4.16.8" + "caniuse-lite" "^1.0.30001252" + "colorette" "^1.3.0" + "fraction.js" "^4.1.1" + "normalize-range" "^0.1.2" + "postcss-value-parser" "^4.1.0" + +"balanced-match@^1.0.0": + "integrity" "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" + "version" "1.0.0" + +"binary-extensions@^2.0.0": + "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + "version" "2.2.0" + +"brace-expansion@^1.1.7": + "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" + "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + "version" "1.1.11" + dependencies: + "balanced-match" "^1.0.0" + "concat-map" "0.0.1" + +"braces@^3.0.1", "braces@~3.0.2": + "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" + "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "fill-range" "^7.0.1" + +"browserslist@^4.16.8": + "integrity" "sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g==" + "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.17.0.tgz" + "version" "4.17.0" + dependencies: + "caniuse-lite" "^1.0.30001254" + "colorette" "^1.3.0" + "electron-to-chromium" "^1.3.830" + "escalade" "^3.1.1" + "node-releases" "^1.1.75" + +"bytes@^3.0.0": + "integrity" "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz" + "version" "3.1.0" + +"callsites@^3.0.0": + "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + "version" "3.1.0" + +"camelcase-css@^2.0.1": + "integrity" "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" + "resolved" "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" + "version" "2.0.1" + +"caniuse-lite@^1.0.30001252", "caniuse-lite@^1.0.30001254": + "integrity" "sha512-JN49KplOgHSXpIsVSF+LUyhD8PUp6xPpAXeRrrcBh4KBeP7W864jHn6RvzJgDlrReyeVjMFJL3PLpPvKIxlIHA==" + "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001257.tgz" + "version" "1.0.30001257" + +"chalk@^2.0.0": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chalk@^4.1.2": + "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"chokidar@^3.5.2": + "integrity" "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==" + "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz" + "version" "3.5.2" + 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" optionalDependencies: - fsevents "~2.3.2" + "fsevents" "~2.3.2" -color-convert@^1.9.0, color-convert@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== +"color-convert@^1.9.0": + "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + "version" "1.9.3" dependencies: - color-name "1.1.3" + "color-name" "1.1.3" -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== +"color-convert@^2.0.1": + "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + "version" "2.0.1" dependencies: - color-name "~1.1.4" + "color-name" "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= +"color-name@^1.0.0", "color-name@~1.1.4": + "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + "version" "1.1.4" -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +"color-name@1.1.3": + "integrity" "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + "version" "1.1.3" -color-string@^1.5.4: - version "1.5.5" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014" - integrity sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg== +"color-string@^1.6.0": + "integrity" "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==" + "resolved" "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz" + "version" "1.6.0" dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" + "color-name" "^1.0.0" + "simple-swizzle" "^0.2.2" -color@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" - integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== +"color@^4.0.1": + "integrity" "sha512-rpZjOKN5O7naJxkH2Rx1sZzzBgaiWECc6BYXjeCE6kF0kcASJYbUq02u7JqIHwCb/j3NhV+QhRL2683aICeGZA==" + "resolved" "https://registry.npmjs.org/color/-/color-4.0.1.tgz" + "version" "4.0.1" dependencies: - color-convert "^1.9.1" - color-string "^1.5.4" + "color-convert" "^2.0.1" + "color-string" "^1.6.0" -colorette@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" - integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== +"colorette@^1.2.2", "colorette@^1.3.0": + "integrity" "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + "resolved" "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz" + "version" "1.4.0" -commander@^2.11.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +"commander@^2.11.0": + "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + "version" "2.20.3" -commander@^6.0.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== +"commander@^6.0.0": + "integrity" "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" + "resolved" "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz" + "version" "6.2.1" -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= +"concat-map@0.0.1": + "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + "version" "0.0.1" -cosmiconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" - integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== +"cosmiconfig@^7.0.1": + "integrity" "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==" + "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz" + "version" "7.0.1" 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" - -css-unit-converter@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.2.tgz#4c77f5a1954e6dbff60695ecb214e3270436ab21" - integrity sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -defined@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" - integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= - -detective@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" - integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== - dependencies: - acorn-node "^1.6.1" - defined "^1.0.0" - minimist "^1.1.1" - -didyoumean@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.1.tgz#e92edfdada6537d484d73c0172fd1eba0c4976ff" - integrity sha1-6S7f2tplN9SE1zwBcv0eugxJdv8= - -dlv@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - -dom-walk@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" - integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== - -envify@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/envify/-/envify-4.1.0.tgz#f39ad3db9d6801b4e6b478b61028d3f0b6819f7e" - integrity sha512-IKRVVoAYr4pIx4yIWNsz9mOsboxlNXiu7TNBnem/K/uTHdkyzXWDzHCK7UTolqBbgaBz0tQHsD3YNls0uIIjiw== - dependencies: - esprima "^4.0.0" - through "~2.3.4" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es6-promise@^4.1.0: - version "4.2.8" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -events@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -fast-glob@^3.2.5: - version "3.2.5" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" - integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== + "import-fresh" "^3.2.1" + "parse-json" "^5.0.0" + "path-type" "^4.0.0" + "yaml" "^1.10.0" + +"css-color-names@^0.0.4": + "integrity" "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" + "resolved" "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz" + "version" "0.0.4" + +"css-unit-converter@^1.1.1": + "integrity" "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==" + "resolved" "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz" + "version" "1.1.2" + +"cssesc@^3.0.0": + "integrity" "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + "resolved" "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + "version" "3.0.0" + +"debug@^2.6.9": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"defined@^1.0.0": + "integrity" "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + "resolved" "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz" + "version" "1.0.0" + +"detective@^5.2.0": + "integrity" "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==" + "resolved" "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "acorn-node" "^1.6.1" + "defined" "^1.0.0" + "minimist" "^1.1.1" + +"didyoumean@^1.2.2": + "integrity" "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + "resolved" "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" + "version" "1.2.2" + +"dlv@^1.1.3": + "integrity" "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + "resolved" "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" + "version" "1.1.3" + +"dom-walk@^0.1.0": + "integrity" "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + "resolved" "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz" + "version" "0.1.2" + +"electron-to-chromium@^1.3.830": + "integrity" "sha512-65O6UJiyohFAdX/nc6KJ0xG/4zOn7XCO03kQNNbCeMRGxlWTLzc6Uyi0tFNQuuGWqySZJi8CD2KXPXySVYmzMA==" + "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.838.tgz" + "version" "1.3.838" + +"envify@^4.0.0": + "integrity" "sha512-IKRVVoAYr4pIx4yIWNsz9mOsboxlNXiu7TNBnem/K/uTHdkyzXWDzHCK7UTolqBbgaBz0tQHsD3YNls0uIIjiw==" + "resolved" "https://registry.npmjs.org/envify/-/envify-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "esprima" "^4.0.0" + "through" "~2.3.4" + +"error-ex@^1.3.1": + "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" + "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "is-arrayish" "^0.2.1" + +"es6-promise@^4.1.0": + "integrity" "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + "resolved" "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" + "version" "4.2.8" + +"escalade@^3.1.1": + "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + "version" "3.1.1" + +"escape-string-regexp@^1.0.5": + "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + "version" "1.0.5" + +"esprima@^4.0.0": + "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + "version" "4.0.1" + +"events@^1.1.0": + "integrity" "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + "resolved" "https://registry.npmjs.org/events/-/events-1.1.1.tgz" + "version" "1.1.1" + +"extend-shallow@^2.0.1": + "integrity" "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "is-extendable" "^0.1.0" + +"fast-glob@^3.2.7": + "integrity" "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==" + "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz" + "version" "3.2.7" dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" - merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" - -fastq@^1.6.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" - integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== - dependencies: - reusify "^1.0.4" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= - -fs-extra@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" - integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -glob-parent@^5.1.0, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.0.tgz#f851b59b388e788f3a44d63fab50382b2859c33c" - integrity sha512-Hdd4287VEJcZXUwv1l8a+vXC1GjOQqXe+VS30w/ypihpcnu9M1n3xeYeJu5CBpeEQj2nAab2xxz28GuA3vp4Ww== - dependencies: - is-glob "^4.0.1" - -glob@^7.0.0, glob@^7.1.3: - version "7.1.7" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - 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" - -glob@^7.1.2: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - 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" - -global@^4.3.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" - integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== - dependencies: - min-document "^2.19.0" - process "^0.11.10" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== - -gray-matter@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-3.1.1.tgz#101f80d9e69eeca6765cdce437705b18f40876ac" - integrity sha512-nZ1qjLmayEv0/wt3sHig7I0s3/sJO0dkAaKYQ5YAOApUtYEOonXSFdWvL1khvnZMTvov4UufkqlFsilPnejEXA== - dependencies: - extend-shallow "^2.0.1" - js-yaml "^3.10.0" - kind-of "^5.0.2" - strip-bom-string "^1.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -html-tags@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" - integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== - -hugo-algolia@^1.2.13: - version "1.2.14" - resolved "https://registry.yarnpkg.com/hugo-algolia/-/hugo-algolia-1.2.14.tgz#00ee21884d7da387e2e42a7b275d80a241fe1ece" - integrity sha512-VHDnKmvWZRQ/MGgWFFDlEGO+8arfL4X3kP6xWCY637/GHuc9Y1dlZ1F5GrFa+LAJ/5JiFo0e8E002SKXVv9CNQ== - dependencies: - algoliasearch "^3.24.1" - bytes "^3.0.0" - commander "^2.11.0" - glob "^7.1.2" - gray-matter "^3.0.2" - lodash "^4.17.11" - pos "^0.4.2" - remove-markdown "^0.2.0" - stopword "^0.1.8" - striptags "^3.0.1" - to-snake-case "^1.0.0" - toml "^2.3.2" - truncate-utf8-bytes "^1.0.2" - -import-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92" - integrity sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg== - dependencies: - import-from "^3.0.0" - -import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966" - integrity sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ== - dependencies: - resolve-from "^5.0.0" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-core-module@^2.2.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" - integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== - dependencies: - has "^1.0.3" - -is-extendable@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -isarray@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.10.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" + "glob-parent" "^5.1.2" + "merge2" "^1.3.0" + "micromatch" "^4.0.4" + +"fastq@^1.6.0": + "integrity" "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==" + "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" + "version" "1.13.0" + dependencies: + "reusify" "^1.0.4" + +"fill-range@^7.0.1": + "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" + "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "to-regex-range" "^5.0.1" + +"foreach@^2.0.5": + "integrity" "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + "resolved" "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz" + "version" "2.0.5" + +"fraction.js@^4.1.1": + "integrity" "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==" + "resolved" "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz" + "version" "4.1.1" + +"fs-extra@^10.0.0": + "integrity" "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz" + "version" "10.0.0" + dependencies: + "graceful-fs" "^4.2.0" + "jsonfile" "^6.0.1" + "universalify" "^2.0.0" + +"fs.realpath@^1.0.0": + "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + "version" "1.0.0" + +"fsevents@~2.3.2": + "integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==" + "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + "version" "2.3.2" + +"function-bind@^1.1.1": + "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + "version" "1.1.1" + +"glob-parent@^5.1.2", "glob-parent@~5.1.2": + "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" + "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "is-glob" "^4.0.1" + +"glob-parent@^6.0.1": + "integrity" "sha512-kEVjS71mQazDBHKcsq4E9u/vUzaLcw1A8EtUeydawvIWQCJM0qQ08G1H7/XTjFUulla6XQiDOG6MXSaG0HDKog==" + "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "is-glob" "^4.0.1" + +"glob@^7.0.0", "glob@^7.1.3": + "integrity" "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==" + "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" + "version" "7.1.7" + 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" + +"glob@^7.1.2": + "integrity" "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==" + "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" + "version" "7.1.6" + 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" + +"global@^4.3.2": + "integrity" "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==" + "resolved" "https://registry.npmjs.org/global/-/global-4.4.0.tgz" + "version" "4.4.0" + dependencies: + "min-document" "^2.19.0" + "process" "^0.11.10" + +"graceful-fs@^4.1.6", "graceful-fs@^4.2.0": + "integrity" "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz" + "version" "4.2.6" + +"gray-matter@^3.0.2": + "integrity" "sha512-nZ1qjLmayEv0/wt3sHig7I0s3/sJO0dkAaKYQ5YAOApUtYEOonXSFdWvL1khvnZMTvov4UufkqlFsilPnejEXA==" + "resolved" "https://registry.npmjs.org/gray-matter/-/gray-matter-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "extend-shallow" "^2.0.1" + "js-yaml" "^3.10.0" + "kind-of" "^5.0.2" + "strip-bom-string" "^1.0.0" + +"has-flag@^3.0.0": + "integrity" "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + "version" "3.0.0" + +"has-flag@^4.0.0": + "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + "version" "4.0.0" + +"has@^1.0.3": + "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" + "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "function-bind" "^1.1.1" + +"hex-color-regex@^1.1.0": + "integrity" "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" + "resolved" "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz" + "version" "1.1.0" + +"hsl-regex@^1.0.0": + "integrity" "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" + "resolved" "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz" + "version" "1.0.0" + +"hsla-regex@^1.0.0": + "integrity" "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" + "resolved" "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz" + "version" "1.0.0" + +"html-tags@^3.1.0": + "integrity" "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==" + "resolved" "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz" + "version" "3.1.0" + +"hugo-algolia@^1.2.13": + "integrity" "sha512-VHDnKmvWZRQ/MGgWFFDlEGO+8arfL4X3kP6xWCY637/GHuc9Y1dlZ1F5GrFa+LAJ/5JiFo0e8E002SKXVv9CNQ==" + "resolved" "https://registry.npmjs.org/hugo-algolia/-/hugo-algolia-1.2.14.tgz" + "version" "1.2.14" + dependencies: + "algoliasearch" "^3.24.1" + "bytes" "^3.0.0" + "commander" "^2.11.0" + "glob" "^7.1.2" + "gray-matter" "^3.0.2" + "lodash" "^4.17.11" + "pos" "^0.4.2" + "remove-markdown" "^0.2.0" + "stopword" "^0.1.8" + "striptags" "^3.0.1" + "to-snake-case" "^1.0.0" + "toml" "^2.3.2" + "truncate-utf8-bytes" "^1.0.2" + +"import-cwd@^3.0.0": + "integrity" "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==" + "resolved" "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "import-from" "^3.0.0" + +"import-fresh@^3.2.1": + "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" + "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "parent-module" "^1.0.0" + "resolve-from" "^4.0.0" + +"import-from@^3.0.0": + "integrity" "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==" + "resolved" "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "resolve-from" "^5.0.0" + +"inflight@^1.0.4": + "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" + "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "once" "^1.3.0" + "wrappy" "1" + +"inherits@^2.0.1", "inherits@2": + "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + "version" "2.0.4" + +"is-arrayish@^0.2.1": + "integrity" "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + "version" "0.2.1" + +"is-arrayish@^0.3.1": + "integrity" "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" + "version" "0.3.2" + +"is-binary-path@~2.1.0": + "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" + "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "binary-extensions" "^2.0.0" + +"is-color-stop@^1.1.0": + "integrity" "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=" + "resolved" "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "css-color-names" "^0.0.4" + "hex-color-regex" "^1.1.0" + "hsl-regex" "^1.0.0" + "hsla-regex" "^1.0.0" + "rgb-regex" "^1.0.1" + "rgba-regex" "^1.0.0" + +"is-core-module@^2.2.0": + "integrity" "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==" + "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz" + "version" "2.4.0" + dependencies: + "has" "^1.0.3" + +"is-extendable@^0.1.0": + "integrity" "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + "version" "0.1.1" + +"is-extglob@^2.1.1": + "integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + "version" "2.1.1" + +"is-glob@^4.0.1", "is-glob@~4.0.1": + "integrity" "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==" + "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "is-extglob" "^2.1.1" + +"is-number@^7.0.0": + "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + "version" "7.0.0" + +"isarray@^2.0.1": + "integrity" "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + "version" "2.0.5" + +"js-tokens@^4.0.0": + "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + "version" "4.0.0" + +"js-yaml@^3.10.0": + "integrity" "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz" + "version" "3.14.0" + dependencies: + "argparse" "^1.0.7" + "esprima" "^4.0.0" + +"json-parse-even-better-errors@^2.3.0": + "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + "version" "2.3.1" + +"jsonfile@^6.0.1": + "integrity" "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" + "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "universalify" "^2.0.0" optionalDependencies: - graceful-fs "^4.1.6" - -kind-of@^5.0.2: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -lilconfig@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.3.tgz#68f3005e921dafbd2a2afb48379986aa6d2579fd" - integrity sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg== - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -load-script@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/load-script/-/load-script-1.0.0.tgz#0491939e0bee5643ee494a7e3da3d2bac70c6ca4" - integrity sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ= - -lodash.castarray@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.castarray/-/lodash.castarray-4.4.0.tgz#c02513515e309daddd4c24c60cfddcf5976d9115" - integrity sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU= - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.toarray@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" - integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE= - -lodash.topath@^4.5.2: - version "4.5.2" - resolved "https://registry.yarnpkg.com/lodash.topath/-/lodash.topath-4.5.2.tgz#3616351f3bba61994a0931989660bd03254fd009" - integrity sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak= - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -lodash@^4.17.11: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.2: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -min-document@^2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" - integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= - dependencies: - dom-walk "^0.1.0" - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.1.1: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -modern-normalize@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/modern-normalize/-/modern-normalize-1.1.0.tgz#da8e80140d9221426bd4f725c6e11283d34f90b7" - integrity sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -nanoid@^3.1.23: - version "3.1.23" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" - integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== - -node-emoji@^1.8.1: - version "1.10.0" - resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da" - integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== - dependencies: - lodash.toarray "^4.4.0" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -object-hash@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" - integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== - -object-keys@^1.0.11, object-keys@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + "graceful-fs" "^4.1.6" + +"kind-of@^5.0.2": + "integrity" "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" + "version" "5.1.0" + +"lilconfig@^2.0.3": + "integrity" "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==" + "resolved" "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz" + "version" "2.0.3" + +"lines-and-columns@^1.1.6": + "integrity" "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" + "version" "1.1.6" + +"load-script@^1.0.0": + "integrity" "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=" + "resolved" "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz" + "version" "1.0.0" + +"lodash.castarray@^4.4.0": + "integrity" "sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU=" + "resolved" "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz" + "version" "4.4.0" + +"lodash.isplainobject@^4.0.6": + "integrity" "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "resolved" "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" + "version" "4.0.6" + +"lodash.merge@^4.6.2": + "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + "version" "4.6.2" + +"lodash.topath@^4.5.2": + "integrity" "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=" + "resolved" "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz" + "version" "4.5.2" + +"lodash.uniq@^4.5.0": + "integrity" "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + "resolved" "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + "version" "4.5.0" + +"lodash@^4.17.11", "lodash@^4.17.21": + "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + "version" "4.17.21" + +"merge2@^1.3.0": + "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + "version" "1.4.1" + +"micromatch@^4.0.4": + "integrity" "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" + "version" "4.0.4" + dependencies: + "braces" "^3.0.1" + "picomatch" "^2.2.3" + +"min-document@^2.19.0": + "integrity" "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=" + "resolved" "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz" + "version" "2.19.0" + dependencies: + "dom-walk" "^0.1.0" + +"minimatch@^3.0.4": + "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "brace-expansion" "^1.1.7" + +"minimist@^1.1.1": + "integrity" "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" + "version" "1.2.5" + +"modern-normalize@^1.1.0": + "integrity" "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==" + "resolved" "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz" + "version" "1.1.0" + +"ms@2.0.0": + "integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + "version" "2.0.0" + +"nanoid@^3.1.23": + "integrity" "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==" + "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz" + "version" "3.1.23" + +"node-emoji@^1.11.0": + "integrity" "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==" + "resolved" "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" + "version" "1.11.0" + dependencies: + "lodash" "^4.17.21" + +"node-releases@^1.1.75": + "integrity" "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==" + "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz" + "version" "1.1.75" + +"normalize-path@^3.0.0", "normalize-path@~3.0.0": + "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + "version" "3.0.0" + +"normalize-range@^0.1.2": + "integrity" "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + "resolved" "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + "version" "0.1.2" + +"object-hash@^2.2.0": + "integrity" "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==" + "resolved" "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz" + "version" "2.2.0" + +"object-keys@^1.0.11", "object-keys@^1.1.0": + "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + "version" "1.1.1" + +"once@^1.3.0": + "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" + "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "wrappy" "1" + +"parent-module@^1.0.0": + "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" + "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "callsites" "^3.0.0" + +"parse-json@^5.0.0": + "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + "version" "5.2.0" 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" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-parse@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" - integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== - -pos@^0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/pos/-/pos-0.4.2.tgz#20e9c77fbeedcc356823cea63c7585cace93be2a" - integrity sha1-IOnHf77tzDVoI86mPHWFys6Tvio= - -postcss-js@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-3.0.3.tgz#2f0bd370a2e8599d45439f6970403b5873abda33" - integrity sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw== - dependencies: - camelcase-css "^2.0.1" - postcss "^8.1.6" - -postcss-load-config@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.0.tgz#d39c47091c4aec37f50272373a6a648ef5e97829" - integrity sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g== - dependencies: - import-cwd "^3.0.0" - lilconfig "^2.0.3" - yaml "^1.10.2" - -postcss-nested@5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.5.tgz#f0a107d33a9fab11d7637205f5321e27223e3603" - integrity sha512-GSRXYz5bccobpTzLQZXOnSOfKl6TwVr5CyAQJUPub4nuRJSOECK5AqurxVgmtxP48p0Kc/ndY/YyS1yqldX0Ew== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.6: - version "6.0.6" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" - integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-value-parser@^3.3.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== - -postcss-value-parser@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" - integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== - -postcss@^8.1.6, postcss@^8.2.1: - version "8.3.5" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.5.tgz#982216b113412bc20a86289e91eb994952a5b709" - integrity sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA== - dependencies: - colorette "^1.2.2" - nanoid "^3.1.23" - source-map-js "^0.6.2" - -pretty-hrtime@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" - integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -purgecss@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/purgecss/-/purgecss-4.0.3.tgz#8147b429f9c09db719e05d64908ea8b672913742" - integrity sha512-PYOIn5ibRIP34PBU9zohUcCI09c7drPJJtTDAc0Q6QlRz2/CHQ8ywGLdE7ZhxU2VTqB7p5wkvj5Qcm05Rz3Jmw== - dependencies: - commander "^6.0.0" - glob "^7.0.0" - postcss "^8.2.1" - postcss-selector-parser "^6.0.2" - -querystring-es3@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -reduce-css-calc@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz#7ef8761a28d614980dc0c982f772c93f7a99de03" - integrity sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg== - dependencies: - css-unit-converter "^1.1.1" - postcss-value-parser "^3.3.0" - -reduce@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/reduce/-/reduce-1.0.2.tgz#0cd680ad3ffe0b060e57a5c68bdfce37168d361b" - integrity sha512-xX7Fxke/oHO5IfZSk77lvPa/7bjMh9BuCk4OOoX5XTXrM7s0Z+MkPfSDfz0q7r91BhhGSs8gii/VEN/7zhCPpQ== - dependencies: - object-keys "^1.1.0" - -remove-markdown@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/remove-markdown/-/remove-markdown-0.2.2.tgz#66b0ceeba9fb77ca9636bb1b0307ce21a32a12a6" - integrity sha1-ZrDO66n7d8qWNrsbAwfOIaMqEqY= - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve@^1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-buffer@^5.0.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -semver@^5.1.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - -source-map-js@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" - integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -stopword@^0.1.8: - version "0.1.19" - resolved "https://registry.yarnpkg.com/stopword/-/stopword-0.1.19.tgz#a56e763c0cd6888c2fb1b44eac34757156badf4f" - integrity sha512-oKkl/LClyJ2YLWm2xZvIiCUGiTsggj+BPOQyt3IKtPUJZj43jYxFJEmXvP1VZQvMuexdodMBshL4sVUSPURmwg== - -strip-bom-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" - integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI= - -striptags@^3.0.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/striptags/-/striptags-3.1.1.tgz#c8c3e7fdd6fb4bb3a32a3b752e5b5e3e38093ebd" - integrity sha1-yMPn/db7S7OjKjt1LltePjgJPr0= - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -tailwindcss@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-2.2.0.tgz#210fc50ddf8ce45be38d6aec593cf623ee3b19f5" - integrity sha512-vzyictuac60cUfky6R4gFW98glcc/UxpaCH+Mt9dq+LEPdZq2Dpvo5iYpPaemutOIjfeiY0Y8j0ZgJG3wBaFDQ== - dependencies: - "@fullhuman/postcss-purgecss" "^4.0.3" - arg "^5.0.0" - bytes "^3.0.0" - chalk "^4.1.1" - chokidar "^3.5.1" - color "^3.1.3" - cosmiconfig "^7.0.0" - detective "^5.2.0" - didyoumean "^1.2.1" - dlv "^1.1.3" - fast-glob "^3.2.5" - fs-extra "^10.0.0" - glob-parent "^6.0.0" - html-tags "^3.1.0" - is-glob "^4.0.1" - lodash "^4.17.21" - lodash.topath "^4.5.2" - modern-normalize "^1.1.0" - node-emoji "^1.8.1" - normalize-path "^3.0.0" - object-hash "^2.2.0" - postcss-js "^3.0.3" - postcss-load-config "^3.0.1" - postcss-nested "5.0.5" - postcss-selector-parser "^6.0.6" - postcss-value-parser "^4.1.0" - pretty-hrtime "^1.0.3" - quick-lru "^5.1.1" - reduce-css-calc "^2.1.8" - resolve "^1.20.0" - tmp "^0.2.1" - -through@~2.3.4: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -tmp@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" - -to-no-case@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/to-no-case/-/to-no-case-1.0.2.tgz#c722907164ef6b178132c8e69930212d1b4aa16a" - integrity sha1-xyKQcWTvaxeBMsjmmTAhLRtKoWo= - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-snake-case@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-snake-case/-/to-snake-case-1.0.0.tgz#ce746913897946019a87e62edfaeaea4c608ab8c" - integrity sha1-znRpE4l5RgGah+Yu366upMYIq4w= - dependencies: - to-space-case "^1.0.0" - -to-space-case@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-space-case/-/to-space-case-1.0.0.tgz#b052daafb1b2b29dc770cea0163e5ec0ebc9fc17" - integrity sha1-sFLar7Gysp3HcM6gFj5ewOvJ/Bc= - dependencies: - to-no-case "^1.0.0" - -toml@^2.3.2: - version "2.3.6" - resolved "https://registry.yarnpkg.com/toml/-/toml-2.3.6.tgz#25b0866483a9722474895559088b436fd11f861b" - integrity sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ== - -truncate-utf8-bytes@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" - integrity sha1-QFkjkJWS1W94pYGENLC3hInKXys= - dependencies: - utf8-byte-length "^1.0.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -utf8-byte-length@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" - integrity sha1-9F8VDExm7uloGGUFq5P8u4rWv2E= - -util-deprecate@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -xtend@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -yaml@^1.10.0, yaml@^1.10.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + "error-ex" "^1.3.1" + "json-parse-even-better-errors" "^2.3.0" + "lines-and-columns" "^1.1.6" + +"path-is-absolute@^1.0.0": + "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + "version" "1.0.1" + +"path-parse@^1.0.6": + "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + "version" "1.0.7" + +"path-type@^4.0.0": + "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + "version" "4.0.0" + +"picomatch@^2.0.4", "picomatch@^2.2.1", "picomatch@^2.2.3": + "integrity" "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" + "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz" + "version" "2.3.0" + +"pos@^0.4.2": + "integrity" "sha1-IOnHf77tzDVoI86mPHWFys6Tvio=" + "resolved" "https://registry.npmjs.org/pos/-/pos-0.4.2.tgz" + "version" "0.4.2" + +"postcss-js@^3.0.3": + "integrity" "sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==" + "resolved" "https://registry.npmjs.org/postcss-js/-/postcss-js-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "camelcase-css" "^2.0.1" + "postcss" "^8.1.6" + +"postcss-load-config@^3.1.0": + "integrity" "sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==" + "resolved" "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "import-cwd" "^3.0.0" + "lilconfig" "^2.0.3" + "yaml" "^1.10.2" + +"postcss-nested@5.0.6": + "integrity" "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==" + "resolved" "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz" + "version" "5.0.6" + dependencies: + "postcss-selector-parser" "^6.0.6" + +"postcss-selector-parser@^6.0.2", "postcss-selector-parser@^6.0.6": + "integrity" "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==" + "resolved" "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz" + "version" "6.0.6" + dependencies: + "cssesc" "^3.0.0" + "util-deprecate" "^1.0.2" + +"postcss-value-parser@^3.3.0": + "integrity" "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz" + "version" "3.3.1" + +"postcss-value-parser@^4.1.0": + "integrity" "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" + "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz" + "version" "4.1.0" + +"postcss@^8.0.9", "postcss@^8.1.0", "postcss@^8.1.6", "postcss@^8.2.1", "postcss@^8.2.14": + "integrity" "sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.3.5.tgz" + "version" "8.3.5" + dependencies: + "colorette" "^1.2.2" + "nanoid" "^3.1.23" + "source-map-js" "^0.6.2" + +"pretty-hrtime@^1.0.3": + "integrity" "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" + "resolved" "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz" + "version" "1.0.3" + +"process@^0.11.10": + "integrity" "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "resolved" "https://registry.npmjs.org/process/-/process-0.11.10.tgz" + "version" "0.11.10" + +"purgecss@^4.0.3": + "integrity" "sha512-PYOIn5ibRIP34PBU9zohUcCI09c7drPJJtTDAc0Q6QlRz2/CHQ8ywGLdE7ZhxU2VTqB7p5wkvj5Qcm05Rz3Jmw==" + "resolved" "https://registry.npmjs.org/purgecss/-/purgecss-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "commander" "^6.0.0" + "glob" "^7.0.0" + "postcss" "^8.2.1" + "postcss-selector-parser" "^6.0.2" + +"querystring-es3@^0.2.1": + "integrity" "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + "resolved" "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" + "version" "0.2.1" + +"queue-microtask@^1.2.2": + "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + "version" "1.2.3" + +"quick-lru@^5.1.1": + "integrity" "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" + "resolved" "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" + "version" "5.1.1" + +"readdirp@~3.6.0": + "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" + "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "picomatch" "^2.2.1" + +"reduce-css-calc@^2.1.8": + "integrity" "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==" + "resolved" "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz" + "version" "2.1.8" + dependencies: + "css-unit-converter" "^1.1.1" + "postcss-value-parser" "^3.3.0" + +"reduce@^1.0.1": + "integrity" "sha512-xX7Fxke/oHO5IfZSk77lvPa/7bjMh9BuCk4OOoX5XTXrM7s0Z+MkPfSDfz0q7r91BhhGSs8gii/VEN/7zhCPpQ==" + "resolved" "https://registry.npmjs.org/reduce/-/reduce-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "object-keys" "^1.1.0" + +"remove-markdown@^0.2.0": + "integrity" "sha1-ZrDO66n7d8qWNrsbAwfOIaMqEqY=" + "resolved" "https://registry.npmjs.org/remove-markdown/-/remove-markdown-0.2.2.tgz" + "version" "0.2.2" + +"resolve-from@^4.0.0": + "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + "version" "4.0.0" + +"resolve-from@^5.0.0": + "integrity" "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + "version" "5.0.0" + +"resolve@^1.20.0": + "integrity" "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==" + "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" + "version" "1.20.0" + dependencies: + "is-core-module" "^2.2.0" + "path-parse" "^1.0.6" + +"reusify@^1.0.4": + "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + "version" "1.0.4" + +"rgb-regex@^1.0.1": + "integrity" "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" + "resolved" "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz" + "version" "1.0.1" + +"rgba-regex@^1.0.0": + "integrity" "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" + "resolved" "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz" + "version" "1.0.0" + +"rimraf@^3.0.0": + "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "glob" "^7.1.3" + +"run-parallel@^1.1.9": + "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" + "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "queue-microtask" "^1.2.2" + +"safe-buffer@^5.0.1": + "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + "version" "5.2.1" + +"semver@^5.1.0": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"simple-swizzle@^0.2.2": + "integrity" "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=" + "resolved" "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" + "version" "0.2.2" + dependencies: + "is-arrayish" "^0.3.1" + +"source-map-js@^0.6.2": + "integrity" "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==" + "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz" + "version" "0.6.2" + +"sprintf-js@~1.0.2": + "integrity" "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + "version" "1.0.3" + +"stopword@^0.1.8": + "integrity" "sha512-oKkl/LClyJ2YLWm2xZvIiCUGiTsggj+BPOQyt3IKtPUJZj43jYxFJEmXvP1VZQvMuexdodMBshL4sVUSPURmwg==" + "resolved" "https://registry.npmjs.org/stopword/-/stopword-0.1.19.tgz" + "version" "0.1.19" + +"strip-bom-string@^1.0.0": + "integrity" "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=" + "resolved" "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" + "version" "1.0.0" + +"striptags@^3.0.1": + "integrity" "sha1-yMPn/db7S7OjKjt1LltePjgJPr0=" + "resolved" "https://registry.npmjs.org/striptags/-/striptags-3.1.1.tgz" + "version" "3.1.1" + +"supports-color@^5.3.0": + "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + "version" "5.5.0" + dependencies: + "has-flag" "^3.0.0" + +"supports-color@^7.1.0": + "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + "version" "7.2.0" + dependencies: + "has-flag" "^4.0.0" + +"tailwindcss@^2.2.15", "tailwindcss@>=2.0.0": + "integrity" "sha512-WgV41xTMbnSoTNMNnJvShQZ+8GmY86DmXTrCgnsveNZJdlybfwCItV8kAqjYmU49YiFr+ofzmT1JlAKajBZboQ==" + "resolved" "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.15.tgz" + "version" "2.2.15" + dependencies: + "arg" "^5.0.1" + "bytes" "^3.0.0" + "chalk" "^4.1.2" + "chokidar" "^3.5.2" + "color" "^4.0.1" + "cosmiconfig" "^7.0.1" + "detective" "^5.2.0" + "didyoumean" "^1.2.2" + "dlv" "^1.1.3" + "fast-glob" "^3.2.7" + "fs-extra" "^10.0.0" + "glob-parent" "^6.0.1" + "html-tags" "^3.1.0" + "is-color-stop" "^1.1.0" + "is-glob" "^4.0.1" + "lodash" "^4.17.21" + "lodash.topath" "^4.5.2" + "modern-normalize" "^1.1.0" + "node-emoji" "^1.11.0" + "normalize-path" "^3.0.0" + "object-hash" "^2.2.0" + "postcss-js" "^3.0.3" + "postcss-load-config" "^3.1.0" + "postcss-nested" "5.0.6" + "postcss-selector-parser" "^6.0.6" + "postcss-value-parser" "^4.1.0" + "pretty-hrtime" "^1.0.3" + "purgecss" "^4.0.3" + "quick-lru" "^5.1.1" + "reduce-css-calc" "^2.1.8" + "resolve" "^1.20.0" + "tmp" "^0.2.1" + +"through@~2.3.4": + "integrity" "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + "version" "2.3.8" + +"tmp@^0.2.1": + "integrity" "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==" + "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz" + "version" "0.2.1" + dependencies: + "rimraf" "^3.0.0" + +"to-no-case@^1.0.0": + "integrity" "sha1-xyKQcWTvaxeBMsjmmTAhLRtKoWo=" + "resolved" "https://registry.npmjs.org/to-no-case/-/to-no-case-1.0.2.tgz" + "version" "1.0.2" + +"to-regex-range@^5.0.1": + "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" + "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "is-number" "^7.0.0" + +"to-snake-case@^1.0.0": + "integrity" "sha1-znRpE4l5RgGah+Yu366upMYIq4w=" + "resolved" "https://registry.npmjs.org/to-snake-case/-/to-snake-case-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "to-space-case" "^1.0.0" + +"to-space-case@^1.0.0": + "integrity" "sha1-sFLar7Gysp3HcM6gFj5ewOvJ/Bc=" + "resolved" "https://registry.npmjs.org/to-space-case/-/to-space-case-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "to-no-case" "^1.0.0" + +"toml@^2.3.2": + "integrity" "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==" + "resolved" "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz" + "version" "2.3.6" + +"truncate-utf8-bytes@^1.0.2": + "integrity" "sha1-QFkjkJWS1W94pYGENLC3hInKXys=" + "resolved" "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "utf8-byte-length" "^1.0.1" + +"tunnel-agent@^0.6.0": + "integrity" "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=" + "resolved" "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" + "version" "0.6.0" + dependencies: + "safe-buffer" "^5.0.1" + +"universalify@^2.0.0": + "integrity" "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + "resolved" "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" + "version" "2.0.0" + +"utf8-byte-length@^1.0.1": + "integrity" "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=" + "resolved" "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz" + "version" "1.0.4" + +"util-deprecate@^1.0.2": + "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + "version" "1.0.2" + +"wrappy@1": + "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + "version" "1.0.2" + +"xtend@^4.0.2": + "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + "version" "4.0.2" + +"yaml@^1.10.0", "yaml@^1.10.2": + "integrity" "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + "resolved" "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + "version" "1.10.2"