diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
deleted file mode 100644
index 52e79458..00000000
--- a/.github/workflows/ci.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-name: CI
-
-on:
- pull_request:
- push:
- branches: [ main ]
-
-jobs:
- check-format-and-lint:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - run: npm install
- - run: npm run format:check
- - run: npm run lint
diff --git a/.gitignore b/.gitignore
index 8c85756e..08b25532 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,42 +1 @@
-# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-
-# dependencies
-/node_modules
-/.pnp
-.pnp.js
-
-# testing
-/coverage
-
-# next.js
-next-env.d.ts
-/.next/
-/out/
-
-# production
-/build
-
-# misc
-.DS_Store
-*.pem
-
-# debug
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-
-# local env files
-.env.local
-.env.development.local
-.env.test.local
-.env.production.local
-
-# vercel
-.vercel
-
-# typescript
-*.tsbuildinfo
-
-# swiftlatex's postinstall files
-/public/*.js
-/public/*.wasm
+node_modules
diff --git a/LICENSE b/LICENSE
index 275fd6d3..2800f769 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,21 +1,21 @@
-MIT License
-
-Copyright (c) 2022 Saad Quadri
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+MIT License
+
+Copyright (c) 2022 Saad Quadri
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
index e53da13f..423f2ccf 100644
--- a/README.md
+++ b/README.md
@@ -1,27 +1,27 @@
-> [!NOTE]
-> Resumake is currently undergoing a major v3 rewrite. For any thing related to the current app, please see [v2-(old)](https://github.com/saadq/resumake.io/tree/v2-(old)).
-
-# resumake.io
-
-A website for automatically generating elegant LaTeX resumes without the need to write any TeX code yourself.
-
-
-
-Simply choose a template, fill in as much (or as little) info as you want, and then press Make to see your output. You can change your template at any point to see how your resume looks with different designs.
-
-When you're happy with your result, you can download the resume as a PDF, TeX, or JSON document. The JSON output is compatible with [JSONResume](https://jsonresume.org).
-
-## Credits
-Thanks very much to the creators of the LaTeX templates used in this website.
-
-* [Rensselaer Career Development Center](https://www.rpi.edu/dept/arc/training/latex/resumes/)
-* [Byungjin Park](https://github.com/posquit0)
-* [Scott Clark](https://github.com/sc932)
-* [Debarghya Das](https://github.com/deedy)
-* [Xavier Danaux](https://github.com/xdanaux)
-* [Ratul Saha](https://github.com/RatulSaha)
-* [Daniil Belyakov](https://github.com/dnl-blkv)
-* [Frits Wenneker](https://www.overleaf.com/latex/templates/your-new-cv/xqzhcmqkqrtw)
-
-## License
-MIT © Saad Quadri
+> [!NOTE]
+> Resumake is currently undergoing a major v3 rewrite. For any thing related to the current app, please see [v2-(old)](https://github.com/saadq/resumake.io/tree/v2-(old)).
+
+# resumake.io
+
+A website for automatically generating elegant LaTeX resumes without the need to write any TeX code yourself.
+
+
+
+Simply choose a template, fill in as much (or as little) info as you want, and then press Make to see your output. You can change your template at any point to see how your resume looks with different designs.
+
+When you're happy with your result, you can download the resume as a PDF, TeX, or JSON document. The JSON output is compatible with [JSONResume](https://jsonresume.org).
+
+## Credits
+Thanks very much to the creators of the LaTeX templates used in this website.
+
+* [Rensselaer Career Development Center](https://www.rpi.edu/dept/arc/training/latex/resumes/)
+* [Byungjin Park](https://github.com/posquit0)
+* [Scott Clark](https://github.com/sc932)
+* [Debarghya Das](https://github.com/deedy)
+* [Xavier Danaux](https://github.com/xdanaux)
+* [Ratul Saha](https://github.com/RatulSaha)
+* [Daniil Belyakov](https://github.com/dnl-blkv)
+* [Frits Wenneker](https://www.overleaf.com/latex/templates/your-new-cv/xqzhcmqkqrtw)
+
+## License
+MIT © Saad Quadri
diff --git a/next-env.d.ts b/next-env.d.ts
new file mode 100644
index 00000000..62b8a52d
--- /dev/null
+++ b/next-env.d.ts
@@ -0,0 +1,5 @@
+///
+///
+
+// NOTE: This file should not be edited
+// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/next.config.js b/next.config.js
index c64a835a..d35de97f 100644
--- a/next.config.js
+++ b/next.config.js
@@ -1,12 +1,12 @@
-// @ts-check
-
-/** @type {import('next').NextConfig} **/
-const NextConfig = {
- reactStrictMode: true,
- swcMinify: true,
- compiler: {
- styledComponents: true
- },
-}
-
-module.exports = NextConfig
+// @ts-check
+
+/** @type {import('next').NextConfig} **/
+const NextConfig = {
+ reactStrictMode: true,
+ swcMinify: true,
+ compiler: {
+ styledComponents: true
+ },
+}
+
+module.exports = NextConfig
diff --git a/package-lock.json b/package-lock.json
index 75df4a94..72527330 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6158 +1,6523 @@
-{
- "name": "resumake.io",
- "version": "3.0.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "resumake.io",
- "version": "3.0.0",
- "hasInstallScript": true,
- "dependencies": {
- "archiver": "^5.3.1",
- "common-tags": "^1.8.2",
- "jotai": "^1.7.0",
- "next": "^13.5.4",
- "polished": "^4.2.2",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "react-hook-form": "^7.31.3",
- "react-icons": "^4.4.0",
- "react-pdf": "^5.7.2",
- "styled-components": "^5.3.3",
- "styled-reset": "^4.4.1",
- "swiftlatex": "https://github.com/ducaale/SwiftLaTeX/releases/download/v1.0.0-experimental-9902734/swiftlatex-1.0.0-experimental-9902734.tgz"
- },
- "devDependencies": {
- "@types/archiver": "^5.3.1",
- "@types/common-tags": "^1.8.1",
- "@types/node": "16.11.12",
- "@types/react": "17.0.37",
- "@types/react-pdf": "^5.0.9",
- "@types/styled-components": "^5.1.17",
- "@typescript-eslint/eslint-plugin": "^5.6.0",
- "@typescript-eslint/parser": "^5.6.0",
- "eslint": "^7.32.0",
- "eslint-config-next": "^13.4.7",
- "eslint-plugin-import": "^2.25.3",
- "eslint-plugin-react": "^7.27.1",
- "eslint-plugin-react-hooks": "^4.3.0",
- "prettier": "2.7.1",
- "typescript": "4.5.3"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/@aashutoshrathi/word-wrap": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
- "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@ampproject/remapping": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
- "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
- "peer": true,
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/code-frame": {
- "version": "7.12.11",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
- "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
- "dev": true,
- "dependencies": {
- "@babel/highlight": "^7.10.4"
- }
- },
- "node_modules/@babel/compat-data": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz",
- "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==",
- "peer": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/core": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz",
- "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==",
- "peer": true,
- "dependencies": {
- "@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.22.5",
- "@babel/generator": "^7.22.5",
- "@babel/helper-compilation-targets": "^7.22.5",
- "@babel/helper-module-transforms": "^7.22.5",
- "@babel/helpers": "^7.22.5",
- "@babel/parser": "^7.22.5",
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.5",
- "@babel/types": "^7.22.5",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.2.2",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/babel"
- }
- },
- "node_modules/@babel/core/node_modules/@babel/code-frame": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz",
- "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==",
- "peer": true,
- "dependencies": {
- "@babel/highlight": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/core/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "peer": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/generator": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz",
- "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==",
- "dependencies": {
- "@babel/types": "^7.23.0",
- "@jridgewell/gen-mapping": "^0.3.2",
- "@jridgewell/trace-mapping": "^0.3.17",
- "jsesc": "^2.5.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz",
- "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==",
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz",
- "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==",
- "peer": true,
- "dependencies": {
- "@babel/compat-data": "^7.22.5",
- "@babel/helper-validator-option": "^7.22.5",
- "browserslist": "^4.21.3",
- "lru-cache": "^5.1.1",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
- "peer": true,
- "dependencies": {
- "yallist": "^3.0.2"
- }
- },
- "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "peer": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/helper-compilation-targets/node_modules/yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "peer": true
- },
- "node_modules/@babel/helper-environment-visitor": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
- "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-function-name": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
- "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
- "dependencies": {
- "@babel/template": "^7.22.15",
- "@babel/types": "^7.23.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-hoist-variables": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
- "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-imports": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz",
- "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==",
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-transforms": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz",
- "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==",
- "peer": true,
- "dependencies": {
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-module-imports": "^7.22.5",
- "@babel/helper-simple-access": "^7.22.5",
- "@babel/helper-split-export-declaration": "^7.22.5",
- "@babel/helper-validator-identifier": "^7.22.5",
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.5",
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-plugin-utils": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz",
- "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-simple-access": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
- "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
- "peer": true,
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-split-export-declaration": {
- "version": "7.22.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
- "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-string-parser": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
- "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
- "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-option": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz",
- "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==",
- "peer": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helpers": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz",
- "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==",
- "peer": true,
- "dependencies": {
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.5",
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
- "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.22.20",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
- },
- "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@babel/highlight/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz",
- "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==",
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/plugin-syntax-jsx": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz",
- "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/runtime": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz",
- "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==",
- "dependencies": {
- "regenerator-runtime": "^0.13.11"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/template": {
- "version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
- "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
- "dependencies": {
- "@babel/code-frame": "^7.22.13",
- "@babel/parser": "^7.22.15",
- "@babel/types": "^7.22.15"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/template/node_modules/@babel/code-frame": {
- "version": "7.22.13",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
- "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
- "dependencies": {
- "@babel/highlight": "^7.22.13",
- "chalk": "^2.4.2"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/template/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/template/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/template/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@babel/template/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
- },
- "node_modules/@babel/template/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@babel/template/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/template/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/traverse": {
- "version": "7.23.2",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz",
- "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==",
- "dependencies": {
- "@babel/code-frame": "^7.22.13",
- "@babel/generator": "^7.23.0",
- "@babel/helper-environment-visitor": "^7.22.20",
- "@babel/helper-function-name": "^7.23.0",
- "@babel/helper-hoist-variables": "^7.22.5",
- "@babel/helper-split-export-declaration": "^7.22.6",
- "@babel/parser": "^7.23.0",
- "@babel/types": "^7.23.0",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse/node_modules/@babel/code-frame": {
- "version": "7.22.13",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
- "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
- "dependencies": {
- "@babel/highlight": "^7.22.13",
- "chalk": "^2.4.2"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/traverse/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/traverse/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@babel/traverse/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
- },
- "node_modules/@babel/traverse/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@babel/traverse/node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/traverse/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/traverse/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/types": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz",
- "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==",
- "dependencies": {
- "@babel/helper-string-parser": "^7.22.5",
- "@babel/helper-validator-identifier": "^7.22.20",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@emotion/is-prop-valid": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz",
- "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==",
- "dependencies": {
- "@emotion/memoize": "^0.8.1"
- }
- },
- "node_modules/@emotion/memoize": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz",
- "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA=="
- },
- "node_modules/@emotion/stylis": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz",
- "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ=="
- },
- "node_modules/@emotion/unitless": {
- "version": "0.7.5",
- "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz",
- "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="
- },
- "node_modules/@eslint-community/eslint-utils": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
- "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
- "dev": true,
- "dependencies": {
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
- }
- },
- "node_modules/@eslint-community/regexpp": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
- "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
- "dev": true,
- "engines": {
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
- }
- },
- "node_modules/@eslint/eslintrc": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz",
- "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
- "dev": true,
- "dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.1.1",
- "espree": "^7.3.0",
- "globals": "^13.9.0",
- "ignore": "^4.0.6",
- "import-fresh": "^3.2.1",
- "js-yaml": "^3.13.1",
- "minimatch": "^3.0.4",
- "strip-json-comments": "^3.1.1"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/@humanwhocodes/config-array": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
- "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
- "dev": true,
- "dependencies": {
- "@humanwhocodes/object-schema": "^1.2.0",
- "debug": "^4.1.1",
- "minimatch": "^3.0.4"
- },
- "engines": {
- "node": ">=10.10.0"
- }
- },
- "node_modules/@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
- "dev": true
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
- "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
- "dependencies": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
- "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/source-map": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.4.tgz",
- "integrity": "sha512-KE/SxsDqNs3rrWwFHcRh15ZLVFrI0YoZtgAdIyIq9k5hUNmiWRXXThPomIxHuL20sLdgzbDFyvkUMna14bvtrw==",
- "peer": true
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.18",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
- "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
- "dependencies": {
- "@jridgewell/resolve-uri": "3.1.0",
- "@jridgewell/sourcemap-codec": "1.4.14"
- }
- },
- "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
- "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
- },
- "node_modules/@next/env": {
- "version": "13.5.4",
- "resolved": "https://registry.npmjs.org/@next/env/-/env-13.5.4.tgz",
- "integrity": "sha512-LGegJkMvRNw90WWphGJ3RMHMVplYcOfRWf2Be3td3sUa+1AaxmsYyANsA+znrGCBjXJNi4XAQlSoEfUxs/4kIQ=="
- },
- "node_modules/@next/eslint-plugin-next": {
- "version": "13.4.7",
- "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.7.tgz",
- "integrity": "sha512-ANEPltxzXbyyG7CvqxdY4PmeM5+RyWdAJGufTHnU+LA/i3J6IDV2r8Z4onKwskwKEhwqzz5lMaSYGGXLyHX+mg==",
- "dev": true,
- "dependencies": {
- "glob": "7.1.7"
- }
- },
- "node_modules/@next/eslint-plugin-next/node_modules/glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@next/swc-darwin-arm64": {
- "version": "13.5.4",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.4.tgz",
- "integrity": "sha512-Df8SHuXgF1p+aonBMcDPEsaahNo2TCwuie7VXED4FVyECvdXfRT9unapm54NssV9tF3OQFKBFOdlje4T43VO0w==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-darwin-x64": {
- "version": "13.5.4",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.4.tgz",
- "integrity": "sha512-siPuUwO45PnNRMeZnSa8n/Lye5ZX93IJom9wQRB5DEOdFrw0JjOMu1GINB8jAEdwa7Vdyn1oJ2xGNaQpdQQ9Pw==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-arm64-gnu": {
- "version": "13.5.4",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.4.tgz",
- "integrity": "sha512-l/k/fvRP/zmB2jkFMfefmFkyZbDkYW0mRM/LB+tH5u9pB98WsHXC0WvDHlGCYp3CH/jlkJPL7gN8nkTQVrQ/2w==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-arm64-musl": {
- "version": "13.5.4",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.4.tgz",
- "integrity": "sha512-YYGb7SlLkI+XqfQa8VPErljb7k9nUnhhRrVaOdfJNCaQnHBcvbT7cx/UjDQLdleJcfyg1Hkn5YSSIeVfjgmkTg==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-x64-gnu": {
- "version": "13.5.4",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.4.tgz",
- "integrity": "sha512-uE61vyUSClnCH18YHjA8tE1prr/PBFlBFhxBZis4XBRJoR+txAky5d7gGNUIbQ8sZZ7LVkSVgm/5Fc7mwXmRAg==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-x64-musl": {
- "version": "13.5.4",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.4.tgz",
- "integrity": "sha512-qVEKFYML/GvJSy9CfYqAdUexA6M5AklYcQCW+8JECmkQHGoPxCf04iMh7CPR7wkHyWWK+XLt4Ja7hhsPJtSnhg==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-win32-arm64-msvc": {
- "version": "13.5.4",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.4.tgz",
- "integrity": "sha512-mDSQfqxAlfpeZOLPxLymZkX0hYF3juN57W6vFHTvwKlnHfmh12Pt7hPIRLYIShk8uYRsKPtMTth/EzpwRI+u8w==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-win32-ia32-msvc": {
- "version": "13.5.4",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.4.tgz",
- "integrity": "sha512-aoqAT2XIekIWoriwzOmGFAvTtVY5O7JjV21giozBTP5c6uZhpvTWRbmHXbmsjZqY4HnEZQRXWkSAppsIBweKqw==",
- "cpu": [
- "ia32"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-win32-x64-msvc": {
- "version": "13.5.4",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.4.tgz",
- "integrity": "sha512-cyRvlAxwlddlqeB9xtPSfNSCRy8BOa4wtMo0IuI9P7Y0XT2qpDrpFKRyZ7kUngZis59mPVla5k8X1oOJ8RxDYg==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@pkgr/utils": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.1.tgz",
- "integrity": "sha512-JOqwkgFEyi+OROIyq7l4Jy28h/WwhDnG/cPkXG2Z1iFbubB6jsHW1NDvmyOzTBxHr3yg68YGirmh1JUgMqa+9w==",
- "dev": true,
- "dependencies": {
- "cross-spawn": "^7.0.3",
- "fast-glob": "^3.2.12",
- "is-glob": "^4.0.3",
- "open": "^9.1.0",
- "picocolors": "^1.0.0",
- "tslib": "^2.5.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/unts"
- }
- },
- "node_modules/@rushstack/eslint-patch": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz",
- "integrity": "sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==",
- "dev": true
- },
- "node_modules/@swc/helpers": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz",
- "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==",
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@types/archiver": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz",
- "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==",
- "dev": true,
- "dependencies": {
- "@types/readdir-glob": "*"
- }
- },
- "node_modules/@types/common-tags": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/@types/common-tags/-/common-tags-1.8.1.tgz",
- "integrity": "sha512-20R/mDpKSPWdJs5TOpz3e7zqbeCNuMCPhV7Yndk9KU2Rbij2r5W4RzwDPkzC+2lzUqXYu9rFzTktCBnDjHuNQg==",
- "dev": true
- },
- "node_modules/@types/eslint": {
- "version": "8.40.2",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.2.tgz",
- "integrity": "sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==",
- "peer": true,
- "dependencies": {
- "@types/estree": "*",
- "@types/json-schema": "*"
- }
- },
- "node_modules/@types/eslint-scope": {
- "version": "3.7.4",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz",
- "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==",
- "peer": true,
- "dependencies": {
- "@types/eslint": "*",
- "@types/estree": "*"
- }
- },
- "node_modules/@types/estree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz",
- "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==",
- "peer": true
- },
- "node_modules/@types/hoist-non-react-statics": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
- "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==",
- "dev": true,
- "dependencies": {
- "@types/react": "*",
- "hoist-non-react-statics": "^3.3.0"
- }
- },
- "node_modules/@types/json-schema": {
- "version": "7.0.12",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz",
- "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA=="
- },
- "node_modules/@types/json5": {
- "version": "0.0.29",
- "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
- "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
- "dev": true
- },
- "node_modules/@types/node": {
- "version": "16.11.12",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.12.tgz",
- "integrity": "sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw=="
- },
- "node_modules/@types/prop-types": {
- "version": "15.7.5",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
- "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
- },
- "node_modules/@types/react": {
- "version": "17.0.37",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.37.tgz",
- "integrity": "sha512-2FS1oTqBGcH/s0E+CjrCCR9+JMpsu9b69RTFO+40ua43ZqP5MmQ4iUde/dMjWR909KxZwmOQIFq6AV6NjEG5xg==",
- "dependencies": {
- "@types/prop-types": "*",
- "@types/scheduler": "*",
- "csstype": "^3.0.2"
- }
- },
- "node_modules/@types/react-pdf": {
- "version": "5.7.4",
- "resolved": "https://registry.npmjs.org/@types/react-pdf/-/react-pdf-5.7.4.tgz",
- "integrity": "sha512-Im/HY4QhkhYcG+FJoGCy0WoGvdgYcpm+89W1lK5K9KBEQCy1YqTxhmWey5UkdnIPymmEDyeVJXdK0lPjtcvMyA==",
- "dev": true,
- "dependencies": {
- "@types/react": "*",
- "pdfjs-dist": "^2.10.377"
- }
- },
- "node_modules/@types/readdir-glob": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.1.tgz",
- "integrity": "sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/scheduler": {
- "version": "0.16.3",
- "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz",
- "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ=="
- },
- "node_modules/@types/semver": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz",
- "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==",
- "dev": true
- },
- "node_modules/@types/styled-components": {
- "version": "5.1.26",
- "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.26.tgz",
- "integrity": "sha512-KuKJ9Z6xb93uJiIyxo/+ksS7yLjS1KzG6iv5i78dhVg/X3u5t1H7juRWqVmodIdz6wGVaIApo1u01kmFRdJHVw==",
- "dev": true,
- "dependencies": {
- "@types/hoist-non-react-statics": "*",
- "@types/react": "*",
- "csstype": "^3.0.2"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin": {
- "version": "5.60.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.1.tgz",
- "integrity": "sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw==",
- "dev": true,
- "dependencies": {
- "@eslint-community/regexpp": "^4.4.0",
- "@typescript-eslint/scope-manager": "5.60.1",
- "@typescript-eslint/type-utils": "5.60.1",
- "@typescript-eslint/utils": "5.60.1",
- "debug": "^4.3.4",
- "grapheme-splitter": "^1.0.4",
- "ignore": "^5.2.0",
- "natural-compare-lite": "^1.4.0",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^5.0.0",
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/parser": {
- "version": "5.60.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.60.1.tgz",
- "integrity": "sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/scope-manager": "5.60.1",
- "@typescript-eslint/types": "5.60.1",
- "@typescript-eslint/typescript-estree": "5.60.1",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "5.60.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.1.tgz",
- "integrity": "sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.60.1",
- "@typescript-eslint/visitor-keys": "5.60.1"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/type-utils": {
- "version": "5.60.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.60.1.tgz",
- "integrity": "sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/typescript-estree": "5.60.1",
- "@typescript-eslint/utils": "5.60.1",
- "debug": "^4.3.4",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "*"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/types": {
- "version": "5.60.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.1.tgz",
- "integrity": "sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg==",
- "dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.60.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.1.tgz",
- "integrity": "sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.60.1",
- "@typescript-eslint/visitor-keys": "5.60.1",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/utils": {
- "version": "5.60.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.60.1.tgz",
- "integrity": "sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ==",
- "dev": true,
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@types/json-schema": "^7.0.9",
- "@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.60.1",
- "@typescript-eslint/types": "5.60.1",
- "@typescript-eslint/typescript-estree": "5.60.1",
- "eslint-scope": "^5.1.1",
- "semver": "^7.3.7"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.60.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.1.tgz",
- "integrity": "sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.60.1",
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@webassemblyjs/ast": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz",
- "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==",
- "peer": true,
- "dependencies": {
- "@webassemblyjs/helper-numbers": "1.11.6",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
- }
- },
- "node_modules/@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
- "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
- "peer": true
- },
- "node_modules/@webassemblyjs/helper-api-error": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
- "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
- "peer": true
- },
- "node_modules/@webassemblyjs/helper-buffer": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz",
- "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==",
- "peer": true
- },
- "node_modules/@webassemblyjs/helper-numbers": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
- "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
- "peer": true,
- "dependencies": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.6",
- "@webassemblyjs/helper-api-error": "1.11.6",
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
- "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
- "peer": true
- },
- "node_modules/@webassemblyjs/helper-wasm-section": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz",
- "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==",
- "peer": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.6",
- "@webassemblyjs/helper-buffer": "1.11.6",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
- "@webassemblyjs/wasm-gen": "1.11.6"
- }
- },
- "node_modules/@webassemblyjs/ieee754": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
- "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
- "peer": true,
- "dependencies": {
- "@xtuc/ieee754": "^1.2.0"
- }
- },
- "node_modules/@webassemblyjs/leb128": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
- "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
- "peer": true,
- "dependencies": {
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webassemblyjs/utf8": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
- "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
- "peer": true
- },
- "node_modules/@webassemblyjs/wasm-edit": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz",
- "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==",
- "peer": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.6",
- "@webassemblyjs/helper-buffer": "1.11.6",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
- "@webassemblyjs/helper-wasm-section": "1.11.6",
- "@webassemblyjs/wasm-gen": "1.11.6",
- "@webassemblyjs/wasm-opt": "1.11.6",
- "@webassemblyjs/wasm-parser": "1.11.6",
- "@webassemblyjs/wast-printer": "1.11.6"
- }
- },
- "node_modules/@webassemblyjs/wasm-gen": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz",
- "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==",
- "peer": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.6",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
- "@webassemblyjs/ieee754": "1.11.6",
- "@webassemblyjs/leb128": "1.11.6",
- "@webassemblyjs/utf8": "1.11.6"
- }
- },
- "node_modules/@webassemblyjs/wasm-opt": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz",
- "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==",
- "peer": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.6",
- "@webassemblyjs/helper-buffer": "1.11.6",
- "@webassemblyjs/wasm-gen": "1.11.6",
- "@webassemblyjs/wasm-parser": "1.11.6"
- }
- },
- "node_modules/@webassemblyjs/wasm-parser": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz",
- "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==",
- "peer": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.6",
- "@webassemblyjs/helper-api-error": "1.11.6",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
- "@webassemblyjs/ieee754": "1.11.6",
- "@webassemblyjs/leb128": "1.11.6",
- "@webassemblyjs/utf8": "1.11.6"
- }
- },
- "node_modules/@webassemblyjs/wast-printer": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz",
- "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==",
- "peer": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.6",
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
- "peer": true
- },
- "node_modules/@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
- "peer": true
- },
- "node_modules/acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ajv-keywords": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
- "peerDependencies": {
- "ajv": "^6.9.1"
- }
- },
- "node_modules/ansi-colors": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
- "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/archiver": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz",
- "integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==",
- "dependencies": {
- "archiver-utils": "^2.1.0",
- "async": "^3.2.3",
- "buffer-crc32": "^0.2.1",
- "readable-stream": "^3.6.0",
- "readdir-glob": "^1.0.0",
- "tar-stream": "^2.2.0",
- "zip-stream": "^4.1.0"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/archiver-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz",
- "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==",
- "dependencies": {
- "glob": "^7.1.4",
- "graceful-fs": "^4.2.0",
- "lazystream": "^1.0.0",
- "lodash.defaults": "^4.2.0",
- "lodash.difference": "^4.5.0",
- "lodash.flatten": "^4.4.0",
- "lodash.isplainobject": "^4.0.6",
- "lodash.union": "^4.6.0",
- "normalize-path": "^3.0.0",
- "readable-stream": "^2.0.0"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/archiver-utils/node_modules/readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/archiver-utils/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- },
- "node_modules/archiver-utils/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "dependencies": {
- "sprintf-js": "~1.0.2"
- }
- },
- "node_modules/aria-query": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
- "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
- "dev": true,
- "dependencies": {
- "dequal": "^2.0.3"
- }
- },
- "node_modules/array-buffer-byte-length": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
- "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "is-array-buffer": "^3.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array-includes": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz",
- "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "get-intrinsic": "^1.1.3",
- "is-string": "^1.0.7"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/array.prototype.flat": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz",
- "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array.prototype.flatmap": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
- "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array.prototype.tosorted": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz",
- "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0",
- "get-intrinsic": "^1.1.3"
- }
- },
- "node_modules/ast-types-flow": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
- "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==",
- "dev": true
- },
- "node_modules/astral-regex": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
- "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/async": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
- "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
- },
- "node_modules/available-typed-arrays": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/axe-core": {
- "version": "4.7.2",
- "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz",
- "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/axobject-query": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz",
- "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==",
- "dev": true,
- "dependencies": {
- "dequal": "^2.0.3"
- }
- },
- "node_modules/babel-plugin-styled-components": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz",
- "integrity": "sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-module-imports": "^7.22.5",
- "@babel/plugin-syntax-jsx": "^7.22.5",
- "lodash": "^4.17.21",
- "picomatch": "^2.3.1"
- },
- "peerDependencies": {
- "styled-components": ">= 2"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
- },
- "node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/big-integer": {
- "version": "1.6.51",
- "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
- "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==",
- "dev": true,
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "dependencies": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "node_modules/bplist-parser": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz",
- "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==",
- "dev": true,
- "dependencies": {
- "big-integer": "^1.6.44"
- },
- "engines": {
- "node": ">= 5.10.0"
- }
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/browserslist": {
- "version": "4.21.9",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz",
- "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "peer": true,
- "dependencies": {
- "caniuse-lite": "^1.0.30001503",
- "electron-to-chromium": "^1.4.431",
- "node-releases": "^2.0.12",
- "update-browserslist-db": "^1.0.11"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
- "node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "peer": true
- },
- "node_modules/bundle-name": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz",
- "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==",
- "dev": true,
- "dependencies": {
- "run-applescript": "^5.0.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/busboy": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
- "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
- "dependencies": {
- "streamsearch": "^1.1.0"
- },
- "engines": {
- "node": ">=10.16.0"
- }
- },
- "node_modules/call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/camelize": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz",
- "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001509",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001509.tgz",
- "integrity": "sha512-2uDDk+TRiTX5hMcUYT/7CSyzMZxjfGu0vAUjS2g0LSD8UoXOv0LtpH4LxGMemsiPq6LCVIUjNwVM0erkOkGCDA==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ]
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/chrome-trace-event": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
- "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
- "peer": true,
- "engines": {
- "node": ">=6.0"
- }
- },
- "node_modules/client-only": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
- "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/comlink": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/comlink/-/comlink-4.4.1.tgz",
- "integrity": "sha512-+1dlx0aY5Jo1vHy/tSsIGpSkN4tS9rZSW8FIhG0JH/crs9wwweswIo/POr451r7bZww3hFbPAKnTpimzL/mm4Q=="
- },
- "node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "peer": true
- },
- "node_modules/common-tags": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz",
- "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==",
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/compress-commons": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz",
- "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==",
- "dependencies": {
- "buffer-crc32": "^0.2.13",
- "crc32-stream": "^4.0.2",
- "normalize-path": "^3.0.0",
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
- },
- "node_modules/convert-source-map": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
- "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
- "peer": true
- },
- "node_modules/core-util-is": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
- },
- "node_modules/crc-32": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
- "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
- "bin": {
- "crc32": "bin/crc32.njs"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/crc32-stream": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz",
- "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==",
- "dependencies": {
- "crc-32": "^1.2.0",
- "readable-stream": "^3.4.0"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/css-color-keywords": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz",
- "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/css-to-react-native": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz",
- "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==",
- "dependencies": {
- "camelize": "^1.0.0",
- "css-color-keywords": "^1.0.0",
- "postcss-value-parser": "^4.0.2"
- }
- },
- "node_modules/csstype": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
- "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
- },
- "node_modules/damerau-levenshtein": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
- "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==",
- "dev": true
- },
- "node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
- },
- "node_modules/default-browser": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz",
- "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==",
- "dev": true,
- "dependencies": {
- "bundle-name": "^3.0.0",
- "default-browser-id": "^3.0.0",
- "execa": "^7.1.1",
- "titleize": "^3.0.0"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/default-browser-id": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz",
- "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==",
- "dev": true,
- "dependencies": {
- "bplist-parser": "^0.2.0",
- "untildify": "^4.0.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/define-lazy-prop": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
- "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/define-properties": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz",
- "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==",
- "dev": true,
- "dependencies": {
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/dequal": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
- "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/dommatrix": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/dommatrix/-/dommatrix-1.0.3.tgz",
- "integrity": "sha512-l32Xp/TLgWb8ReqbVJAFIvXmY7go4nTxxlWiAFyhoQw9RKEOHBZNnyGvJWqDVSPmq3Y9HlM4npqF/T6VMOXhww==",
- "deprecated": "dommatrix is no longer maintained. Please use @thednp/dommatrix.",
- "dev": true
- },
- "node_modules/electron-to-chromium": {
- "version": "1.4.447",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.447.tgz",
- "integrity": "sha512-sxX0LXh+uL41hSJsujAN86PjhrV/6c79XmpY0TvjZStV6VxIgarf8SRkUoUTuYmFcZQTemsoqo8qXOGw5npWfw==",
- "peer": true
- },
- "node_modules/emoji-regex": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true
- },
- "node_modules/emojis-list": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dependencies": {
- "once": "^1.4.0"
- }
- },
- "node_modules/enhanced-resolve": {
- "version": "5.15.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
- "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==",
- "dependencies": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/enquirer": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
- "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
- "dev": true,
- "dependencies": {
- "ansi-colors": "^4.1.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/es-abstract": {
- "version": "1.21.2",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz",
- "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==",
- "dev": true,
- "dependencies": {
- "array-buffer-byte-length": "^1.0.0",
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "es-set-tostringtag": "^2.0.1",
- "es-to-primitive": "^1.2.1",
- "function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.2.0",
- "get-symbol-description": "^1.0.0",
- "globalthis": "^1.0.3",
- "gopd": "^1.0.1",
- "has": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.5",
- "is-array-buffer": "^3.0.2",
- "is-callable": "^1.2.7",
- "is-negative-zero": "^2.0.2",
- "is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
- "is-string": "^1.0.7",
- "is-typed-array": "^1.1.10",
- "is-weakref": "^1.0.2",
- "object-inspect": "^1.12.3",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.4.3",
- "safe-regex-test": "^1.0.0",
- "string.prototype.trim": "^1.2.7",
- "string.prototype.trimend": "^1.0.6",
- "string.prototype.trimstart": "^1.0.6",
- "typed-array-length": "^1.0.4",
- "unbox-primitive": "^1.0.2",
- "which-typed-array": "^1.1.9"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/es-module-lexer": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz",
- "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==",
- "peer": true
- },
- "node_modules/es-set-tostringtag": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz",
- "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==",
- "dev": true,
- "dependencies": {
- "get-intrinsic": "^1.1.3",
- "has": "^1.0.3",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-shim-unscopables": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
- "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
- "dev": true,
- "dependencies": {
- "has": "^1.0.3"
- }
- },
- "node_modules/es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "dev": true,
- "dependencies": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "peer": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint": {
- "version": "7.32.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz",
- "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "7.12.11",
- "@eslint/eslintrc": "^0.4.3",
- "@humanwhocodes/config-array": "^0.5.0",
- "ajv": "^6.10.0",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.0.1",
- "doctrine": "^3.0.0",
- "enquirer": "^2.3.5",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^5.1.1",
- "eslint-utils": "^2.1.0",
- "eslint-visitor-keys": "^2.0.0",
- "espree": "^7.3.1",
- "esquery": "^1.4.0",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "functional-red-black-tree": "^1.0.1",
- "glob-parent": "^5.1.2",
- "globals": "^13.6.0",
- "ignore": "^4.0.6",
- "import-fresh": "^3.0.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "js-yaml": "^3.13.1",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.0.4",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.1",
- "progress": "^2.0.0",
- "regexpp": "^3.1.0",
- "semver": "^7.2.1",
- "strip-ansi": "^6.0.0",
- "strip-json-comments": "^3.1.0",
- "table": "^6.0.9",
- "text-table": "^0.2.0",
- "v8-compile-cache": "^2.0.3"
- },
- "bin": {
- "eslint": "bin/eslint.js"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint-config-next": {
- "version": "13.4.7",
- "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.4.7.tgz",
- "integrity": "sha512-+IRAyD0+J1MZaTi9RQMPUfr6Q+GCZ1wOkK6XM52Vokh7VI4R6YFGOFzdkEFHl4ZyIX4FKa5vcwUP2WscSFNjNQ==",
- "dev": true,
- "dependencies": {
- "@next/eslint-plugin-next": "13.4.7",
- "@rushstack/eslint-patch": "^1.1.3",
- "@typescript-eslint/parser": "^5.42.0",
- "eslint-import-resolver-node": "^0.3.6",
- "eslint-import-resolver-typescript": "^3.5.2",
- "eslint-plugin-import": "^2.26.0",
- "eslint-plugin-jsx-a11y": "^6.5.1",
- "eslint-plugin-react": "^7.31.7",
- "eslint-plugin-react-hooks": "^4.5.0"
- },
- "peerDependencies": {
- "eslint": "^7.23.0 || ^8.0.0",
- "typescript": ">=3.3.1"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-import-resolver-node": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz",
- "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==",
- "dev": true,
- "dependencies": {
- "debug": "^3.2.7",
- "is-core-module": "^2.11.0",
- "resolve": "^1.22.1"
- }
- },
- "node_modules/eslint-import-resolver-node/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-import-resolver-typescript": {
- "version": "3.5.5",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.5.tgz",
- "integrity": "sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==",
- "dev": true,
- "dependencies": {
- "debug": "^4.3.4",
- "enhanced-resolve": "^5.12.0",
- "eslint-module-utils": "^2.7.4",
- "get-tsconfig": "^4.5.0",
- "globby": "^13.1.3",
- "is-core-module": "^2.11.0",
- "is-glob": "^4.0.3",
- "synckit": "^0.8.5"
- },
- "engines": {
- "node": "^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts"
- },
- "peerDependencies": {
- "eslint": "*",
- "eslint-plugin-import": "*"
- }
- },
- "node_modules/eslint-import-resolver-typescript/node_modules/globby": {
- "version": "13.2.1",
- "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.1.tgz",
- "integrity": "sha512-DPCBxctI7dN4EeIqjW2KGqgdcUMbrhJ9AzON+PlxCtvppWhubTLD4+a0GFxiym14ZvacUydTPjLPc2DlKz7EIg==",
- "dev": true,
- "dependencies": {
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.11",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^4.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint-import-resolver-typescript/node_modules/slash": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
- "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint-module-utils": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz",
- "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==",
- "dev": true,
- "dependencies": {
- "debug": "^3.2.7"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependenciesMeta": {
- "eslint": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-module-utils/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-plugin-import": {
- "version": "2.27.5",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz",
- "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==",
- "dev": true,
- "dependencies": {
- "array-includes": "^3.1.6",
- "array.prototype.flat": "^1.3.1",
- "array.prototype.flatmap": "^1.3.1",
- "debug": "^3.2.7",
- "doctrine": "^2.1.0",
- "eslint-import-resolver-node": "^0.3.7",
- "eslint-module-utils": "^2.7.4",
- "has": "^1.0.3",
- "is-core-module": "^2.11.0",
- "is-glob": "^4.0.3",
- "minimatch": "^3.1.2",
- "object.values": "^1.1.6",
- "resolve": "^1.22.1",
- "semver": "^6.3.0",
- "tsconfig-paths": "^3.14.1"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependencies": {
- "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/eslint-plugin-jsx-a11y": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz",
- "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.20.7",
- "aria-query": "^5.1.3",
- "array-includes": "^3.1.6",
- "array.prototype.flatmap": "^1.3.1",
- "ast-types-flow": "^0.0.7",
- "axe-core": "^4.6.2",
- "axobject-query": "^3.1.1",
- "damerau-levenshtein": "^1.0.8",
- "emoji-regex": "^9.2.2",
- "has": "^1.0.3",
- "jsx-ast-utils": "^3.3.3",
- "language-tags": "=1.0.5",
- "minimatch": "^3.1.2",
- "object.entries": "^1.1.6",
- "object.fromentries": "^2.0.6",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=4.0"
- },
- "peerDependencies": {
- "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
- }
- },
- "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/eslint-plugin-react": {
- "version": "7.32.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz",
- "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==",
- "dev": true,
- "dependencies": {
- "array-includes": "^3.1.6",
- "array.prototype.flatmap": "^1.3.1",
- "array.prototype.tosorted": "^1.1.1",
- "doctrine": "^2.1.0",
- "estraverse": "^5.3.0",
- "jsx-ast-utils": "^2.4.1 || ^3.0.0",
- "minimatch": "^3.1.2",
- "object.entries": "^1.1.6",
- "object.fromentries": "^2.0.6",
- "object.hasown": "^1.1.2",
- "object.values": "^1.1.6",
- "prop-types": "^15.8.1",
- "resolve": "^2.0.0-next.4",
- "semver": "^6.3.0",
- "string.prototype.matchall": "^4.0.8"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependencies": {
- "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
- }
- },
- "node_modules/eslint-plugin-react-hooks": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz",
- "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
- }
- },
- "node_modules/eslint-plugin-react/node_modules/doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/eslint-plugin-react/node_modules/resolve": {
- "version": "2.0.0-next.4",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz",
- "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==",
- "dev": true,
- "dependencies": {
- "is-core-module": "^2.9.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/eslint-plugin-react/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/eslint-scope/node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/eslint-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
- "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
- "dev": true,
- "dependencies": {
- "eslint-visitor-keys": "^1.1.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- }
- },
- "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/eslint-visitor-keys": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
- "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
- "dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint/node_modules/eslint-visitor-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/eslint/node_modules/ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/espree": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
- "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
- "dev": true,
- "dependencies": {
- "acorn": "^7.4.0",
- "acorn-jsx": "^5.3.1",
- "eslint-visitor-keys": "^1.3.0"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/espree/node_modules/eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true,
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/esquery": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
- "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
- "dev": true,
- "dependencies": {
- "estraverse": "^5.1.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dependencies": {
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/events": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
- "peer": true,
- "engines": {
- "node": ">=0.8.x"
- }
- },
- "node_modules/execa": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz",
- "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==",
- "dev": true,
- "dependencies": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.1",
- "human-signals": "^4.3.0",
- "is-stream": "^3.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^5.1.0",
- "onetime": "^6.0.0",
- "signal-exit": "^3.0.7",
- "strip-final-newline": "^3.0.0"
- },
- "engines": {
- "node": "^14.18.0 || ^16.14.0 || >=18.0.0"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
- }
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
- },
- "node_modules/fast-glob": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz",
- "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
- },
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true
- },
- "node_modules/fastq": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
- "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
- "dev": true,
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "dev": true,
- "dependencies": {
- "flat-cache": "^3.0.4"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/file-loader": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
- "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
- "dependencies": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
- }
- },
- "node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/flat-cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
- "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
- "dev": true,
- "dependencies": {
- "flatted": "^3.1.0",
- "rimraf": "^3.0.2"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/flatted": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
- "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
- "dev": true
- },
- "node_modules/for-each": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
- "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
- "dev": true,
- "dependencies": {
- "is-callable": "^1.1.3"
- }
- },
- "node_modules/fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
- },
- "node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "node_modules/function.prototype.name": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
- "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.0",
- "functions-have-names": "^1.2.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==",
- "dev": true
- },
- "node_modules/functions-have-names": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
- "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "peer": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
- "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/get-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-tsconfig": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.6.2.tgz",
- "integrity": "sha512-E5XrT4CbbXcXWy+1jChlZmrmCwd5KGx502kDCXJJ7y898TtWW9FwoG5HfOLVRKmlmDGkWN2HM9Ho+/Y8F0sJDg==",
- "dev": true,
- "dependencies": {
- "resolve-pkg-maps": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
- }
- },
- "node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/glob-to-regexp": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
- "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
- },
- "node_modules/globals": {
- "version": "13.20.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
- "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
- "dev": true,
- "dependencies": {
- "type-fest": "^0.20.2"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/globalthis": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
- "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.1.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/gopd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "dev": true,
- "dependencies": {
- "get-intrinsic": "^1.1.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
- },
- "node_modules/grapheme-splitter": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
- "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
- "dev": true
- },
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/has-bigints": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
- "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/has-property-descriptors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
- "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
- "dev": true,
- "dependencies": {
- "get-intrinsic": "^1.1.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "dev": true,
- "dependencies": {
- "has-symbols": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/hoist-non-react-statics": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
- "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
- "dependencies": {
- "react-is": "^16.7.0"
- }
- },
- "node_modules/hoist-non-react-statics/node_modules/react-is": {
- "version": "16.13.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
- },
- "node_modules/human-signals": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz",
- "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==",
- "dev": true,
- "engines": {
- "node": ">=14.18.0"
- }
- },
- "node_modules/ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/ignore": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
- "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
- "dependencies": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "dev": true,
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "node_modules/internal-slot": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz",
- "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==",
- "dev": true,
- "dependencies": {
- "get-intrinsic": "^1.2.0",
- "has": "^1.0.3",
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-array-buffer": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz",
- "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.0",
- "is-typed-array": "^1.1.10"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-bigint": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
- "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
- "dev": true,
- "dependencies": {
- "has-bigints": "^1.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-boolean-object": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
- "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-callable": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
- "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.12.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz",
- "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==",
- "dev": true,
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-date-object": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
- "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
- "dev": true,
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-docker": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
- "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
- "dev": true,
- "bin": {
- "is-docker": "cli.js"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-inside-container": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
- "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
- "dev": true,
- "dependencies": {
- "is-docker": "^3.0.0"
- },
- "bin": {
- "is-inside-container": "cli.js"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-number-object": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
- "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
- "dev": true,
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-regex": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
- "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-shared-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
- "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
- "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
- "dev": true,
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-string": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
- "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
- "dev": true,
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-symbol": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
- "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
- "dev": true,
- "dependencies": {
- "has-symbols": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-typed-array": {
- "version": "1.1.10",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
- "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
- "dev": true,
- "dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-weakref": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
- "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-wsl": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
- "dev": true,
- "dependencies": {
- "is-docker": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-wsl/node_modules/is-docker": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
- "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
- "dev": true,
- "bin": {
- "is-docker": "cli.js"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
- },
- "node_modules/jest-worker": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
- "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
- "peer": true,
- "dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- }
- },
- "node_modules/jest-worker/node_modules/supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "peer": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
- }
- },
- "node_modules/jotai": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/jotai/-/jotai-1.13.1.tgz",
- "integrity": "sha512-RUmH1S4vLsG3V6fbGlKzGJnLrDcC/HNb5gH2AeA9DzuJknoVxSGvvg8OBB7lke+gDc4oXmdVsaKn/xDUhWZ0vw==",
- "engines": {
- "node": ">=12.20.0"
- },
- "peerDependencies": {
- "@babel/core": "*",
- "@babel/template": "*",
- "jotai-devtools": "*",
- "jotai-immer": "*",
- "jotai-optics": "*",
- "jotai-redux": "*",
- "jotai-tanstack-query": "*",
- "jotai-urql": "*",
- "jotai-valtio": "*",
- "jotai-xstate": "*",
- "jotai-zustand": "*",
- "react": ">=16.8"
- },
- "peerDependenciesMeta": {
- "@babel/core": {
- "optional": true
- },
- "@babel/template": {
- "optional": true
- },
- "jotai-devtools": {
- "optional": true
- },
- "jotai-immer": {
- "optional": true
- },
- "jotai-optics": {
- "optional": true
- },
- "jotai-redux": {
- "optional": true
- },
- "jotai-tanstack-query": {
- "optional": true
- },
- "jotai-urql": {
- "optional": true
- },
- "jotai-valtio": {
- "optional": true
- },
- "jotai-xstate": {
- "optional": true
- },
- "jotai-zustand": {
- "optional": true
- }
- }
- },
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
- },
- "node_modules/js-yaml": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
- "dev": true,
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/json-parse-even-better-errors": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
- "peer": true
- },
- "node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
- },
- "node_modules/json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true
- },
- "node_modules/json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/jsx-ast-utils": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.4.tgz",
- "integrity": "sha512-fX2TVdCViod6HwKEtSWGHs57oFhVfCMwieb9PuRDgjDPh5XeqJiHFFFJCHxU5cnTc3Bu/GRL+kPiFmw8XWOfKw==",
- "dev": true,
- "dependencies": {
- "array-includes": "^3.1.6",
- "array.prototype.flat": "^1.3.1",
- "object.assign": "^4.1.4",
- "object.values": "^1.1.6"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/language-subtag-registry": {
- "version": "0.3.22",
- "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz",
- "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==",
- "dev": true
- },
- "node_modules/language-tags": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz",
- "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==",
- "dev": true,
- "dependencies": {
- "language-subtag-registry": "~0.3.2"
- }
- },
- "node_modules/lazystream": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
- "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==",
- "dependencies": {
- "readable-stream": "^2.0.5"
- },
- "engines": {
- "node": ">= 0.6.3"
- }
- },
- "node_modules/lazystream/node_modules/readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/lazystream/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- },
- "node_modules/lazystream/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
- "dependencies": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/loader-runner": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
- "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
- "peer": true,
- "engines": {
- "node": ">=6.11.5"
- }
- },
- "node_modules/loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- },
- "engines": {
- "node": ">=8.9.0"
- }
- },
- "node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- },
- "node_modules/lodash.defaults": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
- "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ=="
- },
- "node_modules/lodash.difference": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz",
- "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA=="
- },
- "node_modules/lodash.flatten": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
- "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g=="
- },
- "node_modules/lodash.isplainobject": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
- "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="
- },
- "node_modules/lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
- },
- "node_modules/lodash.truncate": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
- "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
- "dev": true
- },
- "node_modules/lodash.union": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz",
- "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw=="
- },
- "node_modules/loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "dependencies": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- },
- "bin": {
- "loose-envify": "cli.js"
- }
- },
- "node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/make-cancellable-promise": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/make-cancellable-promise/-/make-cancellable-promise-1.3.1.tgz",
- "integrity": "sha512-DWOzWdO3xhY5ESjVR+wVFy03rpt0ZccS4bunccNwngoX6rllKlMZm6S9ZnJ5nMuDDweqDMjtaO0g6tZeh+cCUA==",
- "funding": {
- "url": "https://github.com/wojtekmaj/make-cancellable-promise?sponsor=1"
- }
- },
- "node_modules/make-event-props": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/make-event-props/-/make-event-props-1.6.1.tgz",
- "integrity": "sha512-JhvWq/iz1BvlmnPvLJjXv+xnMPJZuychrDC68V+yCGQJn5chcA8rLGKo5EP1XwIKVrigSXKLmbeXAGkf36wdCQ==",
- "funding": {
- "url": "https://github.com/wojtekmaj/make-event-props?sponsor=1"
- }
- },
- "node_modules/merge-class-names": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/merge-class-names/-/merge-class-names-1.4.2.tgz",
- "integrity": "sha512-bOl98VzwCGi25Gcn3xKxnR5p/WrhWFQB59MS/aGENcmUc6iSm96yrFDF0XSNurX9qN4LbJm0R9kfvsQ17i8zCw==",
- "funding": {
- "url": "https://github.com/wojtekmaj/merge-class-names?sponsor=1"
- }
- },
- "node_modules/merge-refs": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/merge-refs/-/merge-refs-1.2.1.tgz",
- "integrity": "sha512-pRPz39HQz2xzHdXAGvtJ9S8aEpNgpUjzb5yPC3ytozodmsHg+9nqgRs7/YOmn9fM/TLzntAC8AdGTidKxOq9TQ==",
- "dependencies": {
- "@types/react": "*"
- },
- "funding": {
- "url": "https://github.com/wojtekmaj/merge-refs?sponsor=1"
- }
- },
- "node_modules/merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
- "dependencies": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "peer": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "peer": true,
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mimic-fn": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
- "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
- "node_modules/nanoid": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
- "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true
- },
- "node_modules/natural-compare-lite": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
- "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
- "dev": true
- },
- "node_modules/neo-async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
- "peer": true
- },
- "node_modules/next": {
- "version": "13.5.4",
- "resolved": "https://registry.npmjs.org/next/-/next-13.5.4.tgz",
- "integrity": "sha512-+93un5S779gho8y9ASQhb/bTkQF17FNQOtXLKAj3lsNgltEcF0C5PMLLncDmH+8X1EnJH1kbqAERa29nRXqhjA==",
- "dependencies": {
- "@next/env": "13.5.4",
- "@swc/helpers": "0.5.2",
- "busboy": "1.6.0",
- "caniuse-lite": "^1.0.30001406",
- "postcss": "8.4.31",
- "styled-jsx": "5.1.1",
- "watchpack": "2.4.0"
- },
- "bin": {
- "next": "dist/bin/next"
- },
- "engines": {
- "node": ">=16.14.0"
- },
- "optionalDependencies": {
- "@next/swc-darwin-arm64": "13.5.4",
- "@next/swc-darwin-x64": "13.5.4",
- "@next/swc-linux-arm64-gnu": "13.5.4",
- "@next/swc-linux-arm64-musl": "13.5.4",
- "@next/swc-linux-x64-gnu": "13.5.4",
- "@next/swc-linux-x64-musl": "13.5.4",
- "@next/swc-win32-arm64-msvc": "13.5.4",
- "@next/swc-win32-ia32-msvc": "13.5.4",
- "@next/swc-win32-x64-msvc": "13.5.4"
- },
- "peerDependencies": {
- "@opentelemetry/api": "^1.1.0",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "sass": "^1.3.0"
- },
- "peerDependenciesMeta": {
- "@opentelemetry/api": {
- "optional": true
- },
- "sass": {
- "optional": true
- }
- }
- },
- "node_modules/node-releases": {
- "version": "2.0.12",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz",
- "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==",
- "peer": true
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/npm-run-path": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz",
- "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==",
- "dev": true,
- "dependencies": {
- "path-key": "^4.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/npm-run-path/node_modules/path-key": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
- "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-inspect": {
- "version": "1.12.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
- "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.assign": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
- "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "has-symbols": "^1.0.3",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object.entries": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz",
- "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.fromentries": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz",
- "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object.hasown": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz",
- "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object.values": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz",
- "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/onetime": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
- "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
- "dev": true,
- "dependencies": {
- "mimic-fn": "^4.0.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/open": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz",
- "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==",
- "dev": true,
- "dependencies": {
- "default-browser": "^4.0.0",
- "define-lazy-prop": "^3.0.0",
- "is-inside-container": "^1.0.0",
- "is-wsl": "^2.2.0"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/optionator": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
- "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
- "dev": true,
- "dependencies": {
- "@aashutoshrathi/word-wrap": "^1.2.3",
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "dependencies": {
- "callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pdfjs-dist": {
- "version": "2.16.105",
- "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.16.105.tgz",
- "integrity": "sha512-J4dn41spsAwUxCpEoVf6GVoz908IAA3mYiLmNxg8J9kfRXc2jxpbUepcP0ocp0alVNLFthTAM8DZ1RaHh8sU0A==",
- "dev": true,
- "dependencies": {
- "dommatrix": "^1.0.3",
- "web-streams-polyfill": "^3.2.1"
- },
- "peerDependencies": {
- "worker-loader": "^3.0.8"
- },
- "peerDependenciesMeta": {
- "worker-loader": {
- "optional": true
- }
- }
- },
- "node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/polished": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz",
- "integrity": "sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==",
- "dependencies": {
- "@babel/runtime": "^7.17.8"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/postcss": {
- "version": "8.4.31",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
- "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "nanoid": "^3.3.6",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
- },
- "node_modules/prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/prettier": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
- "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
- "dev": true,
- "bin": {
- "prettier": "bin-prettier.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
- "node_modules/process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
- },
- "node_modules/progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/prop-types": {
- "version": "15.8.1",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
- "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
- "dependencies": {
- "loose-envify": "^1.4.0",
- "object-assign": "^4.1.1",
- "react-is": "^16.13.1"
- }
- },
- "node_modules/prop-types/node_modules/react-is": {
- "version": "16.13.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
- },
- "node_modules/punycode": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
- "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "peer": true,
- "dependencies": {
- "safe-buffer": "^5.1.0"
- }
- },
- "node_modules/react": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
- "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
- "dependencies": {
- "loose-envify": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/react-dom": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
- "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
- "dependencies": {
- "loose-envify": "^1.1.0",
- "scheduler": "^0.23.0"
- },
- "peerDependencies": {
- "react": "^18.2.0"
- }
- },
- "node_modules/react-hook-form": {
- "version": "7.45.1",
- "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.45.1.tgz",
- "integrity": "sha512-6dWoFJwycbuFfw/iKMcl+RdAOAOHDiF11KWYhNDRN/OkUt+Di5qsZHwA0OwsVnu9y135gkHpTw9DJA+WzCeR9w==",
- "engines": {
- "node": ">=12.22.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/react-hook-form"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17 || ^18"
- }
- },
- "node_modules/react-icons": {
- "version": "4.10.1",
- "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.10.1.tgz",
- "integrity": "sha512-/ngzDP/77tlCfqthiiGNZeYFACw85fUjZtLbedmJ5DTlNDIwETxhwBzdOJ21zj4iJdvc0J3y7yOsX3PpxAJzrw==",
- "peerDependencies": {
- "react": "*"
- }
- },
- "node_modules/react-is": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
- "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
- "peer": true
- },
- "node_modules/react-pdf": {
- "version": "5.7.2",
- "resolved": "https://registry.npmjs.org/react-pdf/-/react-pdf-5.7.2.tgz",
- "integrity": "sha512-hdDwvf007V0i2rPCqQVS1fa70CXut17SN3laJYlRHzuqcu8sLLjEoeXihty6c0Ev5g1mw31b8OT8EwRw1s8C4g==",
- "dependencies": {
- "@babel/runtime": "^7.0.0",
- "file-loader": "^6.0.0",
- "make-cancellable-promise": "^1.0.0",
- "make-event-props": "^1.1.0",
- "merge-class-names": "^1.1.1",
- "merge-refs": "^1.0.0",
- "pdfjs-dist": "2.12.313",
- "prop-types": "^15.6.2",
- "tiny-invariant": "^1.0.0",
- "tiny-warning": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/wojtekmaj/react-pdf?sponsor=1"
- },
- "peerDependencies": {
- "react": "^16.3.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.3.0 || ^17.0.0 || ^18.0.0"
- }
- },
- "node_modules/react-pdf/node_modules/pdfjs-dist": {
- "version": "2.12.313",
- "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.12.313.tgz",
- "integrity": "sha512-1x6iXO4Qnv6Eb+YFdN5JdUzt4pAkxSp3aLAYPX93eQCyg/m7QFzXVWJHJVtoW48CI8HCXju4dSkhQZwoheL5mA==",
- "peerDependencies": {
- "worker-loader": "^3.0.8"
- },
- "peerDependenciesMeta": {
- "worker-loader": {
- "optional": true
- }
- }
- },
- "node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/readdir-glob": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz",
- "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==",
- "dependencies": {
- "minimatch": "^5.1.0"
- }
- },
- "node_modules/readdir-glob/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/readdir-glob/node_modules/minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/regenerator-runtime": {
- "version": "0.13.11",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
- "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
- },
- "node_modules/regexp.prototype.flags": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz",
- "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "functions-have-names": "^1.2.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/regexpp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
- "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- }
- },
- "node_modules/require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/resolve": {
- "version": "1.22.2",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
- "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==",
- "dev": true,
- "dependencies": {
- "is-core-module": "^2.11.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/resolve-pkg-maps": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
- "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
- "dev": true,
- "funding": {
- "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
- }
- },
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true,
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/run-applescript": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz",
- "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==",
- "dev": true,
- "dependencies": {
- "execa": "^5.0.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/run-applescript/node_modules/execa": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
- "dev": true,
- "dependencies": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
- }
- },
- "node_modules/run-applescript/node_modules/human-signals": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
- "dev": true,
- "engines": {
- "node": ">=10.17.0"
- }
- },
- "node_modules/run-applescript/node_modules/is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/run-applescript/node_modules/mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/run-applescript/node_modules/npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "dev": true,
- "dependencies": {
- "path-key": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/run-applescript/node_modules/onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
- "dependencies": {
- "mimic-fn": "^2.1.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/run-applescript/node_modules/strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/safe-regex-test": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
- "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
- "is-regex": "^1.1.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/scheduler": {
- "version": "0.23.0",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
- "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
- "dependencies": {
- "loose-envify": "^1.1.0"
- }
- },
- "node_modules/schema-utils": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
- "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/serialize-javascript": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz",
- "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==",
- "peer": true,
- "dependencies": {
- "randombytes": "^2.1.0"
- }
- },
- "node_modules/shallowequal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
- "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
- },
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/slice-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
- "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "astral-regex": "^2.0.0",
- "is-fullwidth-code-point": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/slice-ansi?sponsor=1"
- }
- },
- "node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "peer": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "peer": true,
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
- "dev": true
- },
- "node_modules/streamsearch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
- "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
- "node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/string-width/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "node_modules/string.prototype.matchall": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz",
- "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "get-intrinsic": "^1.1.3",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.3",
- "regexp.prototype.flags": "^1.4.3",
- "side-channel": "^1.0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trim": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz",
- "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trimend": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz",
- "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trimstart": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz",
- "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/strip-final-newline": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
- "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/styled-components": {
- "version": "5.3.11",
- "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.11.tgz",
- "integrity": "sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==",
- "dependencies": {
- "@babel/helper-module-imports": "^7.0.0",
- "@babel/traverse": "^7.4.5",
- "@emotion/is-prop-valid": "^1.1.0",
- "@emotion/stylis": "^0.8.4",
- "@emotion/unitless": "^0.7.4",
- "babel-plugin-styled-components": ">= 1.12.0",
- "css-to-react-native": "^3.0.0",
- "hoist-non-react-statics": "^3.0.0",
- "shallowequal": "^1.1.0",
- "supports-color": "^5.5.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/styled-components"
- },
- "peerDependencies": {
- "react": ">= 16.8.0",
- "react-dom": ">= 16.8.0",
- "react-is": ">= 16.8.0"
- }
- },
- "node_modules/styled-components/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/styled-components/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/styled-jsx": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz",
- "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==",
- "dependencies": {
- "client-only": "0.0.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- },
- "peerDependencies": {
- "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0"
- },
- "peerDependenciesMeta": {
- "@babel/core": {
- "optional": true
- },
- "babel-plugin-macros": {
- "optional": true
- }
- }
- },
- "node_modules/styled-reset": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/styled-reset/-/styled-reset-4.5.1.tgz",
- "integrity": "sha512-6EvFWZRwaFRFxiPYMwmnzOe33rDkw5r9jIU0eEi49bkt6VSrvjeMp2ZOw/YFbw5SVs81llIY+5fzHtR2/VBZfQ==",
- "engines": {
- "node": ">=18.0.0"
- },
- "peerDependencies": {
- "styled-components": ">=4.0.0 || >=5.0.0 || >=6.0.0"
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/swiftlatex": {
- "version": "1.0.0",
- "resolved": "https://github.com/ducaale/SwiftLaTeX/releases/download/v1.0.0-experimental-9902734/swiftlatex-1.0.0-experimental-9902734.tgz",
- "integrity": "sha512-g3vNM9oZsTgwa9Se2SjZ1DaRR3IbE36yOnceLmQWZGI4lTnmAfXNWd0fvSrRdaxG4tl/Xw27iAQ3e17DR19/eA==",
- "license": "AGPL-3.0",
- "dependencies": {
- "comlink": "^4.3.1"
- }
- },
- "node_modules/synckit": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz",
- "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==",
- "dev": true,
- "dependencies": {
- "@pkgr/utils": "^2.3.1",
- "tslib": "^2.5.0"
- },
- "engines": {
- "node": "^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/unts"
- }
- },
- "node_modules/table": {
- "version": "6.8.1",
- "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz",
- "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==",
- "dev": true,
- "dependencies": {
- "ajv": "^8.0.1",
- "lodash.truncate": "^4.4.2",
- "slice-ansi": "^4.0.0",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/table/node_modules/ajv": {
- "version": "8.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
- "dev": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/table/node_modules/json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
- },
- "node_modules/tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tar-stream": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
- "dependencies": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/terser": {
- "version": "5.18.2",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.2.tgz",
- "integrity": "sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w==",
- "peer": true,
- "dependencies": {
- "@jridgewell/source-map": "^0.3.3",
- "acorn": "^8.8.2",
- "commander": "^2.20.0",
- "source-map-support": "~0.5.20"
- },
- "bin": {
- "terser": "bin/terser"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/terser-webpack-plugin": {
- "version": "5.3.9",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz",
- "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==",
- "peer": true,
- "dependencies": {
- "@jridgewell/trace-mapping": "^0.3.17",
- "jest-worker": "^27.4.5",
- "schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.1",
- "terser": "^5.16.8"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.1.0"
- },
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "esbuild": {
- "optional": true
- },
- "uglify-js": {
- "optional": true
- }
- }
- },
- "node_modules/terser/node_modules/acorn": {
- "version": "8.9.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz",
- "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==",
- "peer": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
- "dev": true
- },
- "node_modules/tiny-invariant": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz",
- "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw=="
- },
- "node_modules/tiny-warning": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
- "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
- },
- "node_modules/titleize": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz",
- "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/tsconfig-paths": {
- "version": "3.14.2",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz",
- "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==",
- "dev": true,
- "dependencies": {
- "@types/json5": "^0.0.29",
- "json5": "^1.0.2",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- }
- },
- "node_modules/tsconfig-paths/node_modules/json5": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
- "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- }
- },
- "node_modules/tslib": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz",
- "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA=="
- },
- "node_modules/tsutils": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
- "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
- "dev": true,
- "dependencies": {
- "tslib": "^1.8.1"
- },
- "engines": {
- "node": ">= 6"
- },
- "peerDependencies": {
- "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
- }
- },
- "node_modules/tsutils/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- },
- "node_modules/type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
- "dependencies": {
- "prelude-ls": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/typed-array-length": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
- "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "is-typed-array": "^1.1.9"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/typescript": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.3.tgz",
- "integrity": "sha512-eVYaEHALSt+s9LbvgEv4Ef+Tdq7hBiIZgii12xXJnukryt3pMgJf6aKhoCZ3FWQsu6sydEnkg11fYXLzhLBjeQ==",
- "dev": true,
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
- "node_modules/unbox-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
- "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-bigints": "^1.0.2",
- "has-symbols": "^1.0.3",
- "which-boxed-primitive": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/untildify": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz",
- "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/update-browserslist-db": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
- "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "peer": true,
- "dependencies": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
- },
- "bin": {
- "update-browserslist-db": "cli.js"
- },
- "peerDependencies": {
- "browserslist": ">= 4.21.0"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
- },
- "node_modules/v8-compile-cache": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
- "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
- "dev": true
- },
- "node_modules/watchpack": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
- "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
- "dependencies": {
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.1.2"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/web-streams-polyfill": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz",
- "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/webpack": {
- "version": "5.88.1",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.1.tgz",
- "integrity": "sha512-FROX3TxQnC/ox4N+3xQoWZzvGXSuscxR32rbzjpXgEzWudJFEJBpdlkkob2ylrv5yzzufD1zph1OoFsLtm6stQ==",
- "peer": true,
- "dependencies": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^1.0.0",
- "@webassemblyjs/ast": "^1.11.5",
- "@webassemblyjs/wasm-edit": "^1.11.5",
- "@webassemblyjs/wasm-parser": "^1.11.5",
- "acorn": "^8.7.1",
- "acorn-import-assertions": "^1.9.0",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.15.0",
- "es-module-lexer": "^1.2.1",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.9",
- "json-parse-even-better-errors": "^2.3.1",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.2.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.3.7",
- "watchpack": "^2.4.0",
- "webpack-sources": "^3.2.3"
- },
- "bin": {
- "webpack": "bin/webpack.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependenciesMeta": {
- "webpack-cli": {
- "optional": true
- }
- }
- },
- "node_modules/webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
- "peer": true,
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/webpack/node_modules/acorn": {
- "version": "8.9.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz",
- "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==",
- "peer": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/webpack/node_modules/acorn-import-assertions": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
- "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
- "peer": true,
- "peerDependencies": {
- "acorn": "^8"
- }
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/which-boxed-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
- "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
- "dev": true,
- "dependencies": {
- "is-bigint": "^1.0.1",
- "is-boolean-object": "^1.1.0",
- "is-number-object": "^1.0.4",
- "is-string": "^1.0.5",
- "is-symbol": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/which-typed-array": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
- "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
- "dev": true,
- "dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0",
- "is-typed-array": "^1.1.10"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
- },
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
- "node_modules/zip-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz",
- "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==",
- "dependencies": {
- "archiver-utils": "^2.1.0",
- "compress-commons": "^4.1.0",
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": ">= 10"
- }
- }
- }
-}
+{
+ "name": "resumake.io",
+ "version": "3.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "resumake.io",
+ "version": "3.0.0",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@reduxjs/toolkit": "^2.0.1",
+ "archiver": "^5.3.1",
+ "axios": "^1.6.5",
+ "bootstrap": "^5.3.2",
+ "common-tags": "^1.8.2",
+ "jotai": "^1.7.0",
+ "next": "^13.5.4",
+ "polished": "^4.2.2",
+ "react": "^18.2.0",
+ "react-bootstrap": "^2.10.0",
+ "react-dom": "^18.2.0",
+ "react-hook-form": "^7.31.3",
+ "react-icons": "^4.4.0",
+ "react-pdf": "^5.7.2",
+ "react-redux": "^9.1.0",
+ "styled-components": "^5.3.3",
+ "styled-reset": "^4.4.1",
+ "swiftlatex": "https://github.com/ducaale/SwiftLaTeX/releases/download/v1.0.0-experimental-9902734/swiftlatex-1.0.0-experimental-9902734.tgz"
+ },
+ "devDependencies": {
+ "@types/archiver": "^5.3.1",
+ "@types/common-tags": "^1.8.1",
+ "@types/node": "16.11.12",
+ "@types/react": "17.0.37",
+ "@types/react-pdf": "^5.0.9",
+ "@types/styled-components": "^5.1.17",
+ "@typescript-eslint/eslint-plugin": "^5.6.0",
+ "@typescript-eslint/parser": "^5.6.0",
+ "eslint": "^7.32.0",
+ "eslint-config-next": "^13.4.7",
+ "eslint-plugin-import": "^2.25.3",
+ "eslint-plugin-react": "^7.27.1",
+ "eslint-plugin-react-hooks": "^4.3.0",
+ "prettier": "2.7.1",
+ "typescript": "4.5.3"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/@aashutoshrathi/word-wrap": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
+ "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
+ "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
+ "peer": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/highlight": "^7.10.4"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz",
+ "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==",
+ "peer": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.23.7",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz",
+ "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==",
+ "peer": true,
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.23.5",
+ "@babel/generator": "^7.23.6",
+ "@babel/helper-compilation-targets": "^7.23.6",
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helpers": "^7.23.7",
+ "@babel/parser": "^7.23.6",
+ "@babel/template": "^7.22.15",
+ "@babel/traverse": "^7.23.7",
+ "@babel/types": "^7.23.6",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/core/node_modules/@babel/code-frame": {
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
+ "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
+ "peer": true,
+ "dependencies": {
+ "@babel/highlight": "^7.23.4",
+ "chalk": "^2.4.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "peer": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/core/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "peer": true,
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/core/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "peer": true,
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/core/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+ "peer": true
+ },
+ "node_modules/@babel/core/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "peer": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/@babel/core/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "peer": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/core/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "peer": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/core/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "peer": true,
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz",
+ "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
+ "dependencies": {
+ "@babel/types": "^7.23.6",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-annotate-as-pure": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz",
+ "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==",
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
+ "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
+ "peer": true,
+ "dependencies": {
+ "@babel/compat-data": "^7.23.5",
+ "@babel/helper-validator-option": "^7.23.5",
+ "browserslist": "^4.22.2",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "peer": true,
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "peer": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "peer": true
+ },
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
+ "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+ "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
+ "dependencies": {
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.23.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
+ "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
+ "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
+ "dependencies": {
+ "@babel/types": "^7.22.15"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
+ "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
+ "peer": true,
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-module-imports": "^7.22.15",
+ "@babel/helper-simple-access": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/helper-validator-identifier": "^7.22.20"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz",
+ "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-simple-access": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
+ "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
+ "peer": true,
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.22.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
+ "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
+ "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+ "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
+ "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
+ "peer": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.23.8",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz",
+ "integrity": "sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==",
+ "peer": true,
+ "dependencies": {
+ "@babel/template": "^7.22.15",
+ "@babel/traverse": "^7.23.7",
+ "@babel/types": "^7.23.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
+ "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "chalk": "^2.4.2",
+ "js-tokens": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ },
+ "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz",
+ "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==",
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-jsx": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz",
+ "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/runtime": {
+ "version": "7.23.8",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz",
+ "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==",
+ "dependencies": {
+ "regenerator-runtime": "^0.14.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
+ "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
+ "dependencies": {
+ "@babel/code-frame": "^7.22.13",
+ "@babel/parser": "^7.22.15",
+ "@babel/types": "^7.22.15"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/template/node_modules/@babel/code-frame": {
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
+ "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
+ "dependencies": {
+ "@babel/highlight": "^7.23.4",
+ "chalk": "^2.4.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/template/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/template/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/template/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/template/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ },
+ "node_modules/@babel/template/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/@babel/template/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/template/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.23.7",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz",
+ "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==",
+ "dependencies": {
+ "@babel/code-frame": "^7.23.5",
+ "@babel/generator": "^7.23.6",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/parser": "^7.23.6",
+ "@babel/types": "^7.23.6",
+ "debug": "^4.3.1",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/@babel/code-frame": {
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
+ "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
+ "dependencies": {
+ "@babel/highlight": "^7.23.4",
+ "chalk": "^2.4.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ },
+ "node_modules/@babel/traverse/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz",
+ "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.23.4",
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@emotion/is-prop-valid": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz",
+ "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==",
+ "dependencies": {
+ "@emotion/memoize": "^0.8.1"
+ }
+ },
+ "node_modules/@emotion/memoize": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz",
+ "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA=="
+ },
+ "node_modules/@emotion/stylis": {
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz",
+ "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ=="
+ },
+ "node_modules/@emotion/unitless": {
+ "version": "0.7.5",
+ "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz",
+ "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="
+ },
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.10.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
+ "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz",
+ "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.1.1",
+ "espree": "^7.3.0",
+ "globals": "^13.9.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^3.13.1",
+ "minimatch": "^3.0.4",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
+ "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
+ "dev": true,
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^1.2.0",
+ "debug": "^4.1.1",
+ "minimatch": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
+ "node_modules/@humanwhocodes/object-schema": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+ "dev": true
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+ "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
+ "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/source-map": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz",
+ "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==",
+ "peer": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.21",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.21.tgz",
+ "integrity": "sha512-SRfKmRe1KvYnxjEMtxEr+J4HIeMX5YBg/qhRHpxEIGjhX1rshcHlnFUE9K0GazhVKWM7B+nARSkV8LuvJdJ5/g==",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@next/env": {
+ "version": "13.5.6",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-13.5.6.tgz",
+ "integrity": "sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw=="
+ },
+ "node_modules/@next/eslint-plugin-next": {
+ "version": "13.5.6",
+ "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.5.6.tgz",
+ "integrity": "sha512-ng7pU/DDsxPgT6ZPvuprxrkeew3XaRf4LAT4FabaEO/hAbvVx4P7wqnqdbTdDn1kgTvsI4tpIgT4Awn/m0bGbg==",
+ "dev": true,
+ "dependencies": {
+ "glob": "7.1.7"
+ }
+ },
+ "node_modules/@next/eslint-plugin-next/node_modules/glob": {
+ "version": "7.1.7",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
+ "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@next/swc-darwin-arm64": {
+ "version": "13.5.6",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.6.tgz",
+ "integrity": "sha512-5nvXMzKtZfvcu4BhtV0KH1oGv4XEW+B+jOfmBdpFI3C7FrB/MfujRpWYSBBO64+qbW8pkZiSyQv9eiwnn5VIQA==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-darwin-x64": {
+ "version": "13.5.6",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.6.tgz",
+ "integrity": "sha512-6cgBfxg98oOCSr4BckWjLLgiVwlL3vlLj8hXg2b+nDgm4bC/qVXXLfpLB9FHdoDu4057hzywbxKvmYGmi7yUzA==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-arm64-gnu": {
+ "version": "13.5.6",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.6.tgz",
+ "integrity": "sha512-txagBbj1e1w47YQjcKgSU4rRVQ7uF29YpnlHV5xuVUsgCUf2FmyfJ3CPjZUvpIeXCJAoMCFAoGnbtX86BK7+sg==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-arm64-musl": {
+ "version": "13.5.6",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.6.tgz",
+ "integrity": "sha512-cGd+H8amifT86ZldVJtAKDxUqeFyLWW+v2NlBULnLAdWsiuuN8TuhVBt8ZNpCqcAuoruoSWynvMWixTFcroq+Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-x64-gnu": {
+ "version": "13.5.6",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.6.tgz",
+ "integrity": "sha512-Mc2b4xiIWKXIhBy2NBTwOxGD3nHLmq4keFk+d4/WL5fMsB8XdJRdtUlL87SqVCTSaf1BRuQQf1HvXZcy+rq3Nw==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-x64-musl": {
+ "version": "13.5.6",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.6.tgz",
+ "integrity": "sha512-CFHvP9Qz98NruJiUnCe61O6GveKKHpJLloXbDSWRhqhkJdZD2zU5hG+gtVJR//tyW897izuHpM6Gtf6+sNgJPQ==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-arm64-msvc": {
+ "version": "13.5.6",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.6.tgz",
+ "integrity": "sha512-aFv1ejfkbS7PUa1qVPwzDHjQWQtknzAZWGTKYIAaS4NMtBlk3VyA6AYn593pqNanlicewqyl2jUhQAaFV/qXsg==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-ia32-msvc": {
+ "version": "13.5.6",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.6.tgz",
+ "integrity": "sha512-XqqpHgEIlBHvzwG8sp/JXMFkLAfGLqkbVsyN+/Ih1mR8INb6YCc2x/Mbwi6hsAgUnqQztz8cvEbHJUbSl7RHDg==",
+ "cpu": [
+ "ia32"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-x64-msvc": {
+ "version": "13.5.6",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.6.tgz",
+ "integrity": "sha512-Cqfe1YmOS7k+5mGu92nl5ULkzpKuxJrP3+4AEuPmrpFZ3BHxTY3TnHmU1On3bFmFFs6FbTcdF58CCUProGpIGQ==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@popperjs/core": {
+ "version": "2.11.8",
+ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
+ "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/popperjs"
+ }
+ },
+ "node_modules/@react-aria/ssr": {
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.1.tgz",
+ "integrity": "sha512-NqzkLFP8ZVI4GSorS0AYljC13QW2sc8bDqJOkBvkAt3M8gbcAXJWVRGtZBCRscki9RZF+rNlnPdg0G0jYkhJcg==",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ },
+ "engines": {
+ "node": ">= 12"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@reduxjs/toolkit": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.0.1.tgz",
+ "integrity": "sha512-fxIjrR9934cmS8YXIGd9e7s1XRsEU++aFc9DVNMFMRTM5Vtsg2DCRMj21eslGtDt43IUf9bJL3h5bwUlZleibA==",
+ "dependencies": {
+ "immer": "^10.0.3",
+ "redux": "^5.0.0",
+ "redux-thunk": "^3.1.0",
+ "reselect": "^5.0.1"
+ },
+ "peerDependencies": {
+ "react": "^16.9.0 || ^17.0.0 || ^18",
+ "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ },
+ "react-redux": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@restart/hooks": {
+ "version": "0.4.15",
+ "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.15.tgz",
+ "integrity": "sha512-cZFXYTxbpzYcieq/mBwSyXgqnGMHoBVh3J7MU0CCoIB4NRZxV9/TuwTBAaLMqpNhC3zTPMCgkQ5Ey07L02Xmcw==",
+ "dependencies": {
+ "dequal": "^2.0.3"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0"
+ }
+ },
+ "node_modules/@restart/ui": {
+ "version": "1.6.6",
+ "resolved": "https://registry.npmjs.org/@restart/ui/-/ui-1.6.6.tgz",
+ "integrity": "sha512-eC3puKuWE1SRYbojWHXnvCNHGgf3uzHCb6JOhnF4OXPibOIPEkR1sqDSkL643ydigxwh+ruCa1CmYHlzk7ikKA==",
+ "dependencies": {
+ "@babel/runtime": "^7.21.0",
+ "@popperjs/core": "^2.11.6",
+ "@react-aria/ssr": "^3.5.0",
+ "@restart/hooks": "^0.4.9",
+ "@types/warning": "^3.0.0",
+ "dequal": "^2.0.3",
+ "dom-helpers": "^5.2.0",
+ "uncontrollable": "^8.0.1",
+ "warning": "^4.0.3"
+ },
+ "peerDependencies": {
+ "react": ">=16.14.0",
+ "react-dom": ">=16.14.0"
+ }
+ },
+ "node_modules/@restart/ui/node_modules/uncontrollable": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-8.0.4.tgz",
+ "integrity": "sha512-ulRWYWHvscPFc0QQXvyJjY6LIXU56f0h8pQFvhxiKk5V1fcI8gp9Ht9leVAhrVjzqMw0BgjspBINx9r6oyJUvQ==",
+ "peerDependencies": {
+ "react": ">=16.14.0"
+ }
+ },
+ "node_modules/@rushstack/eslint-patch": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.7.0.tgz",
+ "integrity": "sha512-Jh4t/593gxs0lJZ/z3NnasKlplXT2f+4y/LZYuaKZW5KAaiVFL/fThhs+17EbUd53jUVJ0QudYCBGbN/psvaqg==",
+ "dev": true
+ },
+ "node_modules/@swc/helpers": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz",
+ "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@types/archiver": {
+ "version": "5.3.4",
+ "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.4.tgz",
+ "integrity": "sha512-Lj7fLBIMwYFgViVVZHEdExZC3lVYsl+QL0VmdNdIzGZH544jHveYWij6qdnBgJQDnR7pMKliN9z2cPZFEbhyPw==",
+ "dev": true,
+ "dependencies": {
+ "@types/readdir-glob": "*"
+ }
+ },
+ "node_modules/@types/common-tags": {
+ "version": "1.8.4",
+ "resolved": "https://registry.npmjs.org/@types/common-tags/-/common-tags-1.8.4.tgz",
+ "integrity": "sha512-S+1hLDJPjWNDhcGxsxEbepzaxWqURP/o+3cP4aa2w7yBXgdcmKGQtZzP8JbyfOd0m+33nh+8+kvxYE2UJtBDkg==",
+ "dev": true
+ },
+ "node_modules/@types/eslint": {
+ "version": "8.56.2",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz",
+ "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==",
+ "peer": true,
+ "dependencies": {
+ "@types/estree": "*",
+ "@types/json-schema": "*"
+ }
+ },
+ "node_modules/@types/eslint-scope": {
+ "version": "3.7.7",
+ "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
+ "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
+ "peer": true,
+ "dependencies": {
+ "@types/eslint": "*",
+ "@types/estree": "*"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+ "peer": true
+ },
+ "node_modules/@types/hoist-non-react-statics": {
+ "version": "3.3.5",
+ "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz",
+ "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==",
+ "dev": true,
+ "dependencies": {
+ "@types/react": "*",
+ "hoist-non-react-statics": "^3.3.0"
+ }
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="
+ },
+ "node_modules/@types/json5": {
+ "version": "0.0.29",
+ "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
+ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
+ "dev": true
+ },
+ "node_modules/@types/node": {
+ "version": "16.11.12",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.12.tgz",
+ "integrity": "sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw=="
+ },
+ "node_modules/@types/prop-types": {
+ "version": "15.7.11",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz",
+ "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng=="
+ },
+ "node_modules/@types/react": {
+ "version": "17.0.37",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.37.tgz",
+ "integrity": "sha512-2FS1oTqBGcH/s0E+CjrCCR9+JMpsu9b69RTFO+40ua43ZqP5MmQ4iUde/dMjWR909KxZwmOQIFq6AV6NjEG5xg==",
+ "dependencies": {
+ "@types/prop-types": "*",
+ "@types/scheduler": "*",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@types/react-pdf": {
+ "version": "5.7.4",
+ "resolved": "https://registry.npmjs.org/@types/react-pdf/-/react-pdf-5.7.4.tgz",
+ "integrity": "sha512-Im/HY4QhkhYcG+FJoGCy0WoGvdgYcpm+89W1lK5K9KBEQCy1YqTxhmWey5UkdnIPymmEDyeVJXdK0lPjtcvMyA==",
+ "dev": true,
+ "dependencies": {
+ "@types/react": "*",
+ "pdfjs-dist": "^2.10.377"
+ }
+ },
+ "node_modules/@types/react-transition-group": {
+ "version": "4.4.10",
+ "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz",
+ "integrity": "sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==",
+ "dependencies": {
+ "@types/react": "*"
+ }
+ },
+ "node_modules/@types/readdir-glob": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.5.tgz",
+ "integrity": "sha512-raiuEPUYqXu+nvtY2Pe8s8FEmZ3x5yAH4VkLdihcPdalvsHltomrRC9BzuStrJ9yk06470hS0Crw0f1pXqD+Hg==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/scheduler": {
+ "version": "0.16.8",
+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz",
+ "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A=="
+ },
+ "node_modules/@types/semver": {
+ "version": "7.5.6",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz",
+ "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
+ "dev": true
+ },
+ "node_modules/@types/styled-components": {
+ "version": "5.1.34",
+ "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.34.tgz",
+ "integrity": "sha512-mmiVvwpYklFIv9E8qfxuPyIt/OuyIrn6gMOAMOFUO3WJfSrSE+sGUoa4PiZj77Ut7bKZpaa6o1fBKS/4TOEvnA==",
+ "dev": true,
+ "dependencies": {
+ "@types/hoist-non-react-statics": "*",
+ "@types/react": "*",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@types/use-sync-external-store": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz",
+ "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA=="
+ },
+ "node_modules/@types/warning": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.3.tgz",
+ "integrity": "sha512-D1XC7WK8K+zZEveUPY+cf4+kgauk8N4eHr/XIHXGlGYkHLud6hK9lYfZk1ry1TNh798cZUCgb6MqGEG8DkJt6Q=="
+ },
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz",
+ "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.4.0",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/type-utils": "5.62.0",
+ "@typescript-eslint/utils": "5.62.0",
+ "debug": "^4.3.4",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.0",
+ "natural-compare-lite": "^1.4.0",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^5.0.0",
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz",
+ "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
+ "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz",
+ "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "@typescript-eslint/utils": "5.62.0",
+ "debug": "^4.3.4",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
+ "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
+ "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/utils": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
+ "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@types/json-schema": "^7.0.9",
+ "@types/semver": "^7.3.12",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "eslint-scope": "^5.1.1",
+ "semver": "^7.3.7"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
+ "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@webassemblyjs/ast": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz",
+ "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==",
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/helper-numbers": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
+ "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
+ "peer": true
+ },
+ "node_modules/@webassemblyjs/helper-api-error": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
+ "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
+ "peer": true
+ },
+ "node_modules/@webassemblyjs/helper-buffer": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz",
+ "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==",
+ "peer": true
+ },
+ "node_modules/@webassemblyjs/helper-numbers": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
+ "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/floating-point-hex-parser": "1.11.6",
+ "@webassemblyjs/helper-api-error": "1.11.6",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
+ "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
+ "peer": true
+ },
+ "node_modules/@webassemblyjs/helper-wasm-section": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz",
+ "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==",
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-buffer": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/ieee754": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
+ "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
+ "peer": true,
+ "dependencies": {
+ "@xtuc/ieee754": "^1.2.0"
+ }
+ },
+ "node_modules/@webassemblyjs/leb128": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
+ "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
+ "peer": true,
+ "dependencies": {
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/utf8": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
+ "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
+ "peer": true
+ },
+ "node_modules/@webassemblyjs/wasm-edit": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz",
+ "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==",
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-buffer": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/helper-wasm-section": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.11.6",
+ "@webassemblyjs/wasm-opt": "1.11.6",
+ "@webassemblyjs/wasm-parser": "1.11.6",
+ "@webassemblyjs/wast-printer": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-gen": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz",
+ "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==",
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/ieee754": "1.11.6",
+ "@webassemblyjs/leb128": "1.11.6",
+ "@webassemblyjs/utf8": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-opt": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz",
+ "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==",
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-buffer": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.11.6",
+ "@webassemblyjs/wasm-parser": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-parser": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz",
+ "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==",
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-api-error": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/ieee754": "1.11.6",
+ "@webassemblyjs/leb128": "1.11.6",
+ "@webassemblyjs/utf8": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/wast-printer": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz",
+ "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==",
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.6",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@xtuc/ieee754": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+ "peer": true
+ },
+ "node_modules/@xtuc/long": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+ "peer": true
+ },
+ "node_modules/acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ajv-keywords": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+ "peerDependencies": {
+ "ajv": "^6.9.1"
+ }
+ },
+ "node_modules/ansi-colors": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
+ "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/archiver": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz",
+ "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==",
+ "dependencies": {
+ "archiver-utils": "^2.1.0",
+ "async": "^3.2.4",
+ "buffer-crc32": "^0.2.1",
+ "readable-stream": "^3.6.0",
+ "readdir-glob": "^1.1.2",
+ "tar-stream": "^2.2.0",
+ "zip-stream": "^4.1.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/archiver-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz",
+ "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==",
+ "dependencies": {
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.2.0",
+ "lazystream": "^1.0.0",
+ "lodash.defaults": "^4.2.0",
+ "lodash.difference": "^4.5.0",
+ "lodash.flatten": "^4.4.0",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.union": "^4.6.0",
+ "normalize-path": "^3.0.0",
+ "readable-stream": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/archiver-utils/node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ },
+ "node_modules/archiver-utils/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/archiver-utils/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/archiver-utils/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/aria-query": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
+ "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
+ "dev": true,
+ "dependencies": {
+ "dequal": "^2.0.3"
+ }
+ },
+ "node_modules/array-buffer-byte-length": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
+ "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "is-array-buffer": "^3.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array-includes": {
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz",
+ "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "get-intrinsic": "^1.2.1",
+ "is-string": "^1.0.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/array.prototype.findlastindex": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz",
+ "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "es-shim-unscopables": "^1.0.0",
+ "get-intrinsic": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.flat": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz",
+ "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "es-shim-unscopables": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.flatmap": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz",
+ "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "es-shim-unscopables": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.tosorted": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz",
+ "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "es-shim-unscopables": "^1.0.0",
+ "get-intrinsic": "^1.2.1"
+ }
+ },
+ "node_modules/arraybuffer.prototype.slice": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz",
+ "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==",
+ "dev": true,
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.0",
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "get-intrinsic": "^1.2.1",
+ "is-array-buffer": "^3.0.2",
+ "is-shared-array-buffer": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/ast-types-flow": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz",
+ "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==",
+ "dev": true
+ },
+ "node_modules/astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/async": {
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
+ "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg=="
+ },
+ "node_modules/asynciterator.prototype": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz",
+ "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==",
+ "dev": true,
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ }
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "node_modules/available-typed-arrays": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
+ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/axe-core": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz",
+ "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/axios": {
+ "version": "1.6.5",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz",
+ "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==",
+ "dependencies": {
+ "follow-redirects": "^1.15.4",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "node_modules/axobject-query": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz",
+ "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==",
+ "dev": true,
+ "dependencies": {
+ "dequal": "^2.0.3"
+ }
+ },
+ "node_modules/babel-plugin-styled-components": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz",
+ "integrity": "sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-module-imports": "^7.22.5",
+ "@babel/plugin-syntax-jsx": "^7.22.5",
+ "lodash": "^4.17.21",
+ "picomatch": "^2.3.1"
+ },
+ "peerDependencies": {
+ "styled-components": ">= 2"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/big.js": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/bl": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+ "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+ "dependencies": {
+ "buffer": "^5.5.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ }
+ },
+ "node_modules/bootstrap": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.2.tgz",
+ "integrity": "sha512-D32nmNWiQHo94BKHLmOrdjlL05q1c8oxbtBphQFb9Z5to6eGRDCm0QgeaZ4zFBHzfg2++rqa2JkqCcxDy0sH0g==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/twbs"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/bootstrap"
+ }
+ ],
+ "peerDependencies": {
+ "@popperjs/core": "^2.11.8"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.22.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz",
+ "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "peer": true,
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001565",
+ "electron-to-chromium": "^1.4.601",
+ "node-releases": "^2.0.14",
+ "update-browserslist-db": "^1.0.13"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "node_modules/buffer-crc32": {
+ "version": "0.2.13",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "peer": true
+ },
+ "node_modules/busboy": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
+ "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
+ "dependencies": {
+ "streamsearch": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=10.16.0"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
+ "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.1",
+ "set-function-length": "^1.1.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camelize": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz",
+ "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001579",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz",
+ "integrity": "sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ]
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chrome-trace-event": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
+ "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
+ "peer": true,
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/classnames": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz",
+ "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow=="
+ },
+ "node_modules/client-only": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
+ "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/comlink": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/comlink/-/comlink-4.4.1.tgz",
+ "integrity": "sha512-+1dlx0aY5Jo1vHy/tSsIGpSkN4tS9rZSW8FIhG0JH/crs9wwweswIo/POr451r7bZww3hFbPAKnTpimzL/mm4Q=="
+ },
+ "node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "peer": true
+ },
+ "node_modules/common-tags": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz",
+ "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/compress-commons": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz",
+ "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==",
+ "dependencies": {
+ "buffer-crc32": "^0.2.13",
+ "crc32-stream": "^4.0.2",
+ "normalize-path": "^3.0.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "peer": true
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+ },
+ "node_modules/crc-32": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
+ "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
+ "bin": {
+ "crc32": "bin/crc32.njs"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/crc32-stream": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz",
+ "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==",
+ "dependencies": {
+ "crc-32": "^1.2.0",
+ "readable-stream": "^3.4.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/css-color-keywords": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz",
+ "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/css-to-react-native": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz",
+ "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==",
+ "dependencies": {
+ "camelize": "^1.0.0",
+ "css-color-keywords": "^1.0.0",
+ "postcss-value-parser": "^4.0.2"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
+ },
+ "node_modules/damerau-levenshtein": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
+ "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==",
+ "dev": true
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true
+ },
+ "node_modules/define-data-property": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
+ "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.2.1",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/define-properties": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/dequal": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/dom-helpers": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz",
+ "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==",
+ "dependencies": {
+ "@babel/runtime": "^7.8.7",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/dommatrix": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/dommatrix/-/dommatrix-1.0.3.tgz",
+ "integrity": "sha512-l32Xp/TLgWb8ReqbVJAFIvXmY7go4nTxxlWiAFyhoQw9RKEOHBZNnyGvJWqDVSPmq3Y9HlM4npqF/T6VMOXhww==",
+ "deprecated": "dommatrix is no longer maintained. Please use @thednp/dommatrix.",
+ "dev": true
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.4.639",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.639.tgz",
+ "integrity": "sha512-CkKf3ZUVZchr+zDpAlNLEEy2NJJ9T64ULWaDgy3THXXlPVPkLu3VOs9Bac44nebVtdwl2geSj6AxTtGDOxoXhg==",
+ "peer": true
+ },
+ "node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "dev": true
+ },
+ "node_modules/emojis-list": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dependencies": {
+ "once": "^1.4.0"
+ }
+ },
+ "node_modules/enhanced-resolve": {
+ "version": "5.15.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
+ "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==",
+ "dependencies": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/enquirer": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz",
+ "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-colors": "^4.1.1",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/es-abstract": {
+ "version": "1.22.3",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz",
+ "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==",
+ "dev": true,
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.0",
+ "arraybuffer.prototype.slice": "^1.0.2",
+ "available-typed-arrays": "^1.0.5",
+ "call-bind": "^1.0.5",
+ "es-set-tostringtag": "^2.0.1",
+ "es-to-primitive": "^1.2.1",
+ "function.prototype.name": "^1.1.6",
+ "get-intrinsic": "^1.2.2",
+ "get-symbol-description": "^1.0.0",
+ "globalthis": "^1.0.3",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0",
+ "internal-slot": "^1.0.5",
+ "is-array-buffer": "^3.0.2",
+ "is-callable": "^1.2.7",
+ "is-negative-zero": "^2.0.2",
+ "is-regex": "^1.1.4",
+ "is-shared-array-buffer": "^1.0.2",
+ "is-string": "^1.0.7",
+ "is-typed-array": "^1.1.12",
+ "is-weakref": "^1.0.2",
+ "object-inspect": "^1.13.1",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.4",
+ "regexp.prototype.flags": "^1.5.1",
+ "safe-array-concat": "^1.0.1",
+ "safe-regex-test": "^1.0.0",
+ "string.prototype.trim": "^1.2.8",
+ "string.prototype.trimend": "^1.0.7",
+ "string.prototype.trimstart": "^1.0.7",
+ "typed-array-buffer": "^1.0.0",
+ "typed-array-byte-length": "^1.0.0",
+ "typed-array-byte-offset": "^1.0.0",
+ "typed-array-length": "^1.0.4",
+ "unbox-primitive": "^1.0.2",
+ "which-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-iterator-helpers": {
+ "version": "1.0.15",
+ "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz",
+ "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==",
+ "dev": true,
+ "dependencies": {
+ "asynciterator.prototype": "^1.0.0",
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.1",
+ "es-set-tostringtag": "^2.0.1",
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.2.1",
+ "globalthis": "^1.0.3",
+ "has-property-descriptors": "^1.0.0",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "internal-slot": "^1.0.5",
+ "iterator.prototype": "^1.1.2",
+ "safe-array-concat": "^1.0.1"
+ }
+ },
+ "node_modules/es-module-lexer": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz",
+ "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==",
+ "peer": true
+ },
+ "node_modules/es-set-tostringtag": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz",
+ "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.2.2",
+ "has-tostringtag": "^1.0.0",
+ "hasown": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-shim-unscopables": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz",
+ "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==",
+ "dev": true,
+ "dependencies": {
+ "hasown": "^2.0.0"
+ }
+ },
+ "node_modules/es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "dependencies": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "peer": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "7.32.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz",
+ "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "7.12.11",
+ "@eslint/eslintrc": "^0.4.3",
+ "@humanwhocodes/config-array": "^0.5.0",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.0.1",
+ "doctrine": "^3.0.0",
+ "enquirer": "^2.3.5",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^5.1.1",
+ "eslint-utils": "^2.1.0",
+ "eslint-visitor-keys": "^2.0.0",
+ "espree": "^7.3.1",
+ "esquery": "^1.4.0",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^5.1.2",
+ "globals": "^13.6.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^3.13.1",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.0.4",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "progress": "^2.0.0",
+ "regexpp": "^3.1.0",
+ "semver": "^7.2.1",
+ "strip-ansi": "^6.0.0",
+ "strip-json-comments": "^3.1.0",
+ "table": "^6.0.9",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-config-next": {
+ "version": "13.5.6",
+ "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.5.6.tgz",
+ "integrity": "sha512-o8pQsUHTo9aHqJ2YiZDym5gQAMRf7O2HndHo/JZeY7TDD+W4hk6Ma8Vw54RHiBeb7OWWO5dPirQB+Is/aVQ7Kg==",
+ "dev": true,
+ "dependencies": {
+ "@next/eslint-plugin-next": "13.5.6",
+ "@rushstack/eslint-patch": "^1.3.3",
+ "@typescript-eslint/parser": "^5.4.2 || ^6.0.0",
+ "eslint-import-resolver-node": "^0.3.6",
+ "eslint-import-resolver-typescript": "^3.5.2",
+ "eslint-plugin-import": "^2.28.1",
+ "eslint-plugin-jsx-a11y": "^6.7.1",
+ "eslint-plugin-react": "^7.33.2",
+ "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705"
+ },
+ "peerDependencies": {
+ "eslint": "^7.23.0 || ^8.0.0",
+ "typescript": ">=3.3.1"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-import-resolver-node": {
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
+ "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^3.2.7",
+ "is-core-module": "^2.13.0",
+ "resolve": "^1.22.4"
+ }
+ },
+ "node_modules/eslint-import-resolver-node/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/eslint-import-resolver-typescript": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz",
+ "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.3.4",
+ "enhanced-resolve": "^5.12.0",
+ "eslint-module-utils": "^2.7.4",
+ "fast-glob": "^3.3.1",
+ "get-tsconfig": "^4.5.0",
+ "is-core-module": "^2.11.0",
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts"
+ },
+ "peerDependencies": {
+ "eslint": "*",
+ "eslint-plugin-import": "*"
+ }
+ },
+ "node_modules/eslint-module-utils": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz",
+ "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^3.2.7"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependenciesMeta": {
+ "eslint": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-module-utils/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/eslint-plugin-import": {
+ "version": "2.29.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz",
+ "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==",
+ "dev": true,
+ "dependencies": {
+ "array-includes": "^3.1.7",
+ "array.prototype.findlastindex": "^1.2.3",
+ "array.prototype.flat": "^1.3.2",
+ "array.prototype.flatmap": "^1.3.2",
+ "debug": "^3.2.7",
+ "doctrine": "^2.1.0",
+ "eslint-import-resolver-node": "^0.3.9",
+ "eslint-module-utils": "^2.8.0",
+ "hasown": "^2.0.0",
+ "is-core-module": "^2.13.1",
+ "is-glob": "^4.0.3",
+ "minimatch": "^3.1.2",
+ "object.fromentries": "^2.0.7",
+ "object.groupby": "^1.0.1",
+ "object.values": "^1.1.7",
+ "semver": "^6.3.1",
+ "tsconfig-paths": "^3.15.0"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependencies": {
+ "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8"
+ }
+ },
+ "node_modules/eslint-plugin-import/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/eslint-plugin-import/node_modules/doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "dev": true,
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/eslint-plugin-import/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/eslint-plugin-jsx-a11y": {
+ "version": "6.8.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz",
+ "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.23.2",
+ "aria-query": "^5.3.0",
+ "array-includes": "^3.1.7",
+ "array.prototype.flatmap": "^1.3.2",
+ "ast-types-flow": "^0.0.8",
+ "axe-core": "=4.7.0",
+ "axobject-query": "^3.2.1",
+ "damerau-levenshtein": "^1.0.8",
+ "emoji-regex": "^9.2.2",
+ "es-iterator-helpers": "^1.0.15",
+ "hasown": "^2.0.0",
+ "jsx-ast-utils": "^3.3.5",
+ "language-tags": "^1.0.9",
+ "minimatch": "^3.1.2",
+ "object.entries": "^1.1.7",
+ "object.fromentries": "^2.0.7"
+ },
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependencies": {
+ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
+ }
+ },
+ "node_modules/eslint-plugin-react": {
+ "version": "7.33.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz",
+ "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==",
+ "dev": true,
+ "dependencies": {
+ "array-includes": "^3.1.6",
+ "array.prototype.flatmap": "^1.3.1",
+ "array.prototype.tosorted": "^1.1.1",
+ "doctrine": "^2.1.0",
+ "es-iterator-helpers": "^1.0.12",
+ "estraverse": "^5.3.0",
+ "jsx-ast-utils": "^2.4.1 || ^3.0.0",
+ "minimatch": "^3.1.2",
+ "object.entries": "^1.1.6",
+ "object.fromentries": "^2.0.6",
+ "object.hasown": "^1.1.2",
+ "object.values": "^1.1.6",
+ "prop-types": "^15.8.1",
+ "resolve": "^2.0.0-next.4",
+ "semver": "^6.3.1",
+ "string.prototype.matchall": "^4.0.8"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependencies": {
+ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
+ }
+ },
+ "node_modules/eslint-plugin-react-hooks": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz",
+ "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
+ }
+ },
+ "node_modules/eslint-plugin-react/node_modules/doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "dev": true,
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/eslint-plugin-react/node_modules/resolve": {
+ "version": "2.0.0-next.5",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz",
+ "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==",
+ "dev": true,
+ "dependencies": {
+ "is-core-module": "^2.13.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/eslint-plugin-react/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/eslint-scope/node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/eslint-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+ "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ }
+ },
+ "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint/node_modules/ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/espree": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
+ "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^7.4.0",
+ "acorn-jsx": "^5.3.1",
+ "eslint-visitor-keys": "^1.3.0"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/espree/node_modules/eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true,
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+ "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/events": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "peer": true,
+ "engines": {
+ "node": ">=0.8.x"
+ }
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+ "dev": true
+ },
+ "node_modules/fastq": {
+ "version": "1.16.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz",
+ "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==",
+ "dev": true,
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "dev": true,
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/file-loader": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
+ "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
+ "dependencies": {
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0 || ^5.0.0"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
+ "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
+ "dev": true,
+ "dependencies": {
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.3",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.2.9",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
+ "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
+ "dev": true
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.5",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz",
+ "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/for-each": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
+ "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+ "dev": true,
+ "dependencies": {
+ "is-callable": "^1.1.3"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fs-constants": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/function.prototype.name": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
+ "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "functions-have-names": "^1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==",
+ "dev": true
+ },
+ "node_modules/functions-have-names": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
+ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "peer": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
+ "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.2",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-symbol-description": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
+ "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-tsconfig": {
+ "version": "4.7.2",
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz",
+ "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==",
+ "dev": true,
+ "dependencies": {
+ "resolve-pkg-maps": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/glob-to-regexp": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
+ },
+ "node_modules/globals": {
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globalthis": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
+ "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
+ "dev": true,
+ "dependencies": {
+ "define-properties": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dev": true,
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.1.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
+ },
+ "node_modules/graphemer": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
+ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
+ "dev": true
+ },
+ "node_modules/has-bigints": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
+ "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz",
+ "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.2.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
+ "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-tostringtag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
+ "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
+ "dev": true,
+ "dependencies": {
+ "has-symbols": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
+ "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/hoist-non-react-statics": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "dependencies": {
+ "react-is": "^16.7.0"
+ }
+ },
+ "node_modules/hoist-non-react-statics/node_modules/react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/ignore": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
+ "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/immer": {
+ "version": "10.0.3",
+ "resolved": "https://registry.npmjs.org/immer/-/immer-10.0.3.tgz",
+ "integrity": "sha512-pwupu3eWfouuaowscykeckFmVTpqbzW+rXFCX8rQLkZzM9ftBmU/++Ra+o+L27mz03zJTlyV4UUr+fdKNffo4A==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/immer"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/internal-slot": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz",
+ "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.2.2",
+ "hasown": "^2.0.0",
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "node_modules/is-array-buffer": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz",
+ "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.0",
+ "is-typed-array": "^1.1.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-async-function": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz",
+ "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==",
+ "dev": true,
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-bigint": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
+ "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
+ "dev": true,
+ "dependencies": {
+ "has-bigints": "^1.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-boolean-object": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
+ "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-callable": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
+ "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
+ "dev": true,
+ "dependencies": {
+ "hasown": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-date-object": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
+ "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
+ "dev": true,
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-finalizationregistry": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz",
+ "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-generator-function": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
+ "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
+ "dev": true,
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-map": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz",
+ "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-negative-zero": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
+ "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-number-object": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
+ "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
+ "dev": true,
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-regex": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+ "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-set": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
+ "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-shared-array-buffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
+ "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-string": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
+ "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
+ "dev": true,
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-symbol": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
+ "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
+ "dev": true,
+ "dependencies": {
+ "has-symbols": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typed-array": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
+ "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
+ "dev": true,
+ "dependencies": {
+ "which-typed-array": "^1.1.11"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakmap": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
+ "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakref": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
+ "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakset": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
+ "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+ "dev": true
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/iterator.prototype": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz",
+ "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==",
+ "dev": true,
+ "dependencies": {
+ "define-properties": "^1.2.1",
+ "get-intrinsic": "^1.2.1",
+ "has-symbols": "^1.0.3",
+ "reflect.getprototypeof": "^1.0.4",
+ "set-function-name": "^2.0.1"
+ }
+ },
+ "node_modules/jest-worker": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+ "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
+ "peer": true,
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
+ "node_modules/jest-worker/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "peer": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/jotai": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/jotai/-/jotai-1.13.1.tgz",
+ "integrity": "sha512-RUmH1S4vLsG3V6fbGlKzGJnLrDcC/HNb5gH2AeA9DzuJknoVxSGvvg8OBB7lke+gDc4oXmdVsaKn/xDUhWZ0vw==",
+ "engines": {
+ "node": ">=12.20.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "*",
+ "@babel/template": "*",
+ "jotai-devtools": "*",
+ "jotai-immer": "*",
+ "jotai-optics": "*",
+ "jotai-redux": "*",
+ "jotai-tanstack-query": "*",
+ "jotai-urql": "*",
+ "jotai-valtio": "*",
+ "jotai-xstate": "*",
+ "jotai-zustand": "*",
+ "react": ">=16.8"
+ },
+ "peerDependenciesMeta": {
+ "@babel/core": {
+ "optional": true
+ },
+ "@babel/template": {
+ "optional": true
+ },
+ "jotai-devtools": {
+ "optional": true
+ },
+ "jotai-immer": {
+ "optional": true
+ },
+ "jotai-optics": {
+ "optional": true
+ },
+ "jotai-redux": {
+ "optional": true
+ },
+ "jotai-tanstack-query": {
+ "optional": true
+ },
+ "jotai-urql": {
+ "optional": true
+ },
+ "jotai-valtio": {
+ "optional": true
+ },
+ "jotai-xstate": {
+ "optional": true
+ },
+ "jotai-zustand": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "peer": true
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsx-ast-utils": {
+ "version": "3.3.5",
+ "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz",
+ "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==",
+ "dev": true,
+ "dependencies": {
+ "array-includes": "^3.1.6",
+ "array.prototype.flat": "^1.3.1",
+ "object.assign": "^4.1.4",
+ "object.values": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dev": true,
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "node_modules/language-subtag-registry": {
+ "version": "0.3.22",
+ "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz",
+ "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==",
+ "dev": true
+ },
+ "node_modules/language-tags": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz",
+ "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==",
+ "dev": true,
+ "dependencies": {
+ "language-subtag-registry": "^0.3.20"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/lazystream": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
+ "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==",
+ "dependencies": {
+ "readable-stream": "^2.0.5"
+ },
+ "engines": {
+ "node": ">= 0.6.3"
+ }
+ },
+ "node_modules/lazystream/node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ },
+ "node_modules/lazystream/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/lazystream/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/lazystream/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/loader-runner": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
+ "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
+ "peer": true,
+ "engines": {
+ "node": ">=6.11.5"
+ }
+ },
+ "node_modules/loader-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
+ "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=8.9.0"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
+ "node_modules/lodash.defaults": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+ "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ=="
+ },
+ "node_modules/lodash.difference": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz",
+ "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA=="
+ },
+ "node_modules/lodash.flatten": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
+ "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g=="
+ },
+ "node_modules/lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true
+ },
+ "node_modules/lodash.truncate": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
+ "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
+ "dev": true
+ },
+ "node_modules/lodash.union": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz",
+ "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw=="
+ },
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/make-cancellable-promise": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/make-cancellable-promise/-/make-cancellable-promise-1.3.2.tgz",
+ "integrity": "sha512-GCXh3bq/WuMbS+Ky4JBPW1hYTOU+znU+Q5m9Pu+pI8EoUqIHk9+tviOKC6/qhHh8C4/As3tzJ69IF32kdz85ww==",
+ "funding": {
+ "url": "https://github.com/wojtekmaj/make-cancellable-promise?sponsor=1"
+ }
+ },
+ "node_modules/make-event-props": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/make-event-props/-/make-event-props-1.6.2.tgz",
+ "integrity": "sha512-iDwf7mA03WPiR8QxvcVHmVWEPfMY1RZXerDVNCRYW7dUr2ppH3J58Rwb39/WG39yTZdRSxr3x+2v22tvI0VEvA==",
+ "funding": {
+ "url": "https://github.com/wojtekmaj/make-event-props?sponsor=1"
+ }
+ },
+ "node_modules/merge-class-names": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/merge-class-names/-/merge-class-names-1.4.2.tgz",
+ "integrity": "sha512-bOl98VzwCGi25Gcn3xKxnR5p/WrhWFQB59MS/aGENcmUc6iSm96yrFDF0XSNurX9qN4LbJm0R9kfvsQ17i8zCw==",
+ "funding": {
+ "url": "https://github.com/wojtekmaj/merge-class-names?sponsor=1"
+ }
+ },
+ "node_modules/merge-refs": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/merge-refs/-/merge-refs-1.2.2.tgz",
+ "integrity": "sha512-RwcT7GsQR3KbuLw1rRuodq4Nt547BKEBkliZ0qqsrpyNne9bGTFtsFIsIpx82huWhcl3kOlOlH4H0xkPk/DqVw==",
+ "funding": {
+ "url": "https://github.com/wojtekmaj/merge-refs?sponsor=1"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "peer": true
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true
+ },
+ "node_modules/natural-compare-lite": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
+ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
+ "dev": true
+ },
+ "node_modules/neo-async": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
+ "peer": true
+ },
+ "node_modules/next": {
+ "version": "13.5.6",
+ "resolved": "https://registry.npmjs.org/next/-/next-13.5.6.tgz",
+ "integrity": "sha512-Y2wTcTbO4WwEsVb4A8VSnOsG1I9ok+h74q0ZdxkwM3EODqrs4pasq7O0iUxbcS9VtWMicG7f3+HAj0r1+NtKSw==",
+ "dependencies": {
+ "@next/env": "13.5.6",
+ "@swc/helpers": "0.5.2",
+ "busboy": "1.6.0",
+ "caniuse-lite": "^1.0.30001406",
+ "postcss": "8.4.31",
+ "styled-jsx": "5.1.1",
+ "watchpack": "2.4.0"
+ },
+ "bin": {
+ "next": "dist/bin/next"
+ },
+ "engines": {
+ "node": ">=16.14.0"
+ },
+ "optionalDependencies": {
+ "@next/swc-darwin-arm64": "13.5.6",
+ "@next/swc-darwin-x64": "13.5.6",
+ "@next/swc-linux-arm64-gnu": "13.5.6",
+ "@next/swc-linux-arm64-musl": "13.5.6",
+ "@next/swc-linux-x64-gnu": "13.5.6",
+ "@next/swc-linux-x64-musl": "13.5.6",
+ "@next/swc-win32-arm64-msvc": "13.5.6",
+ "@next/swc-win32-ia32-msvc": "13.5.6",
+ "@next/swc-win32-x64-msvc": "13.5.6"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": "^1.1.0",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "sass": "^1.3.0"
+ },
+ "peerDependenciesMeta": {
+ "@opentelemetry/api": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
+ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
+ "peer": true
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
+ "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.assign": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
+ "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "has-symbols": "^1.0.3",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.entries": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz",
+ "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.fromentries": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz",
+ "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.groupby": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz",
+ "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "get-intrinsic": "^1.2.1"
+ }
+ },
+ "node_modules/object.hasown": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz",
+ "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==",
+ "dev": true,
+ "dependencies": {
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.values": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz",
+ "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
+ "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
+ "dev": true,
+ "dependencies": {
+ "@aashutoshrathi/word-wrap": "^1.2.3",
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pdfjs-dist": {
+ "version": "2.16.105",
+ "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.16.105.tgz",
+ "integrity": "sha512-J4dn41spsAwUxCpEoVf6GVoz908IAA3mYiLmNxg8J9kfRXc2jxpbUepcP0ocp0alVNLFthTAM8DZ1RaHh8sU0A==",
+ "dev": true,
+ "dependencies": {
+ "dommatrix": "^1.0.3",
+ "web-streams-polyfill": "^3.2.1"
+ },
+ "peerDependencies": {
+ "worker-loader": "^3.0.8"
+ },
+ "peerDependenciesMeta": {
+ "worker-loader": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/polished": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz",
+ "integrity": "sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.17.8"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.4.31",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
+ "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "nanoid": "^3.3.6",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/prettier": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
+ "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ },
+ "node_modules/progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/prop-types": {
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+ "dependencies": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "node_modules/prop-types-extra": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz",
+ "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==",
+ "dependencies": {
+ "react-is": "^16.3.2",
+ "warning": "^4.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=0.14.0"
+ }
+ },
+ "node_modules/prop-types-extra/node_modules/react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ },
+ "node_modules/prop-types/node_modules/react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ },
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ },
+ "node_modules/punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "peer": true,
+ "dependencies": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "node_modules/react": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
+ "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-bootstrap": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.10.0.tgz",
+ "integrity": "sha512-87gRP69VAfeU2yKgp8RI3HvzhPNrnYIV2QNranYXataz3ef+k7OhvKGGdxQLQfUsQ2RTmlY66tn4pdFrZ94hNg==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.5",
+ "@restart/hooks": "^0.4.9",
+ "@restart/ui": "^1.6.6",
+ "@types/react-transition-group": "^4.4.6",
+ "classnames": "^2.3.2",
+ "dom-helpers": "^5.2.1",
+ "invariant": "^2.2.4",
+ "prop-types": "^15.8.1",
+ "prop-types-extra": "^1.1.0",
+ "react-transition-group": "^4.4.5",
+ "uncontrollable": "^7.2.1",
+ "warning": "^4.0.3"
+ },
+ "peerDependencies": {
+ "@types/react": ">=16.14.8",
+ "react": ">=16.14.0",
+ "react-dom": ">=16.14.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-dom": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
+ "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "scheduler": "^0.23.0"
+ },
+ "peerDependencies": {
+ "react": "^18.2.0"
+ }
+ },
+ "node_modules/react-hook-form": {
+ "version": "7.49.3",
+ "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.49.3.tgz",
+ "integrity": "sha512-foD6r3juidAT1cOZzpmD/gOKt7fRsDhXXZ0y28+Al1CHgX+AY1qIN9VSIIItXRq1dN68QrRwl1ORFlwjBaAqeQ==",
+ "engines": {
+ "node": ">=18",
+ "pnpm": "8"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/react-hook-form"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17 || ^18"
+ }
+ },
+ "node_modules/react-icons": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz",
+ "integrity": "sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==",
+ "peerDependencies": {
+ "react": "*"
+ }
+ },
+ "node_modules/react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+ "peer": true
+ },
+ "node_modules/react-lifecycles-compat": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
+ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
+ },
+ "node_modules/react-pdf": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/react-pdf/-/react-pdf-5.7.2.tgz",
+ "integrity": "sha512-hdDwvf007V0i2rPCqQVS1fa70CXut17SN3laJYlRHzuqcu8sLLjEoeXihty6c0Ev5g1mw31b8OT8EwRw1s8C4g==",
+ "dependencies": {
+ "@babel/runtime": "^7.0.0",
+ "file-loader": "^6.0.0",
+ "make-cancellable-promise": "^1.0.0",
+ "make-event-props": "^1.1.0",
+ "merge-class-names": "^1.1.1",
+ "merge-refs": "^1.0.0",
+ "pdfjs-dist": "2.12.313",
+ "prop-types": "^15.6.2",
+ "tiny-invariant": "^1.0.0",
+ "tiny-warning": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/wojtekmaj/react-pdf?sponsor=1"
+ },
+ "peerDependencies": {
+ "react": "^16.3.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.3.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/react-pdf/node_modules/pdfjs-dist": {
+ "version": "2.12.313",
+ "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.12.313.tgz",
+ "integrity": "sha512-1x6iXO4Qnv6Eb+YFdN5JdUzt4pAkxSp3aLAYPX93eQCyg/m7QFzXVWJHJVtoW48CI8HCXju4dSkhQZwoheL5mA==",
+ "peerDependencies": {
+ "worker-loader": "^3.0.8"
+ },
+ "peerDependenciesMeta": {
+ "worker-loader": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-redux": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.1.0.tgz",
+ "integrity": "sha512-6qoDzIO+gbrza8h3hjMA9aq4nwVFCKFtY2iLxCtVT38Swyy2C/dJCGBXHeHLtx6qlg/8qzc2MrhOeduf5K32wQ==",
+ "dependencies": {
+ "@types/use-sync-external-store": "^0.0.3",
+ "use-sync-external-store": "^1.0.0"
+ },
+ "peerDependencies": {
+ "@types/react": "^18.2.25",
+ "react": "^18.0",
+ "react-native": ">=0.69",
+ "redux": "^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "react-native": {
+ "optional": true
+ },
+ "redux": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-transition-group": {
+ "version": "4.4.5",
+ "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz",
+ "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==",
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "dom-helpers": "^5.0.1",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.6.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.6.0",
+ "react-dom": ">=16.6.0"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/readdir-glob": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz",
+ "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==",
+ "dependencies": {
+ "minimatch": "^5.1.0"
+ }
+ },
+ "node_modules/readdir-glob/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/readdir-glob/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/redux": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz",
+ "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w=="
+ },
+ "node_modules/redux-thunk": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz",
+ "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==",
+ "peerDependencies": {
+ "redux": "^5.0.0"
+ }
+ },
+ "node_modules/reflect.getprototypeof": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz",
+ "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "get-intrinsic": "^1.2.1",
+ "globalthis": "^1.0.3",
+ "which-builtin-type": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regenerator-runtime": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz",
+ "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "set-function-name": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regexpp": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
+ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ }
+ },
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/reselect": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.0.tgz",
+ "integrity": "sha512-aw7jcGLDpSgNDyWBQLv2cedml85qd95/iszJjN988zX1t7AVRJi19d9kto5+W7oCfQ94gyo40dVbT6g2k4/kXg=="
+ },
+ "node_modules/resolve": {
+ "version": "1.22.8",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "dev": true,
+ "dependencies": {
+ "is-core-module": "^2.13.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/resolve-pkg-maps": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
+ "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/safe-array-concat": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz",
+ "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "get-intrinsic": "^1.2.2",
+ "has-symbols": "^1.0.3",
+ "isarray": "^2.0.5"
+ },
+ "engines": {
+ "node": ">=0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/safe-regex-test": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz",
+ "integrity": "sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "get-intrinsic": "^1.2.2",
+ "is-regex": "^1.1.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/scheduler": {
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
+ "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ }
+ },
+ "node_modules/schema-utils": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+ "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/serialize-javascript": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+ "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
+ "peer": true,
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/set-function-length": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz",
+ "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.2",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/set-function-name": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz",
+ "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/shallowequal": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
+ "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "peer": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-support": {
+ "version": "0.5.21",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+ "peer": true,
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true
+ },
+ "node_modules/streamsearch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
+ "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/string.prototype.matchall": {
+ "version": "4.0.10",
+ "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz",
+ "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "get-intrinsic": "^1.2.1",
+ "has-symbols": "^1.0.3",
+ "internal-slot": "^1.0.5",
+ "regexp.prototype.flags": "^1.5.0",
+ "set-function-name": "^2.0.0",
+ "side-channel": "^1.0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trim": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz",
+ "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimend": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz",
+ "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimstart": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz",
+ "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/styled-components": {
+ "version": "5.3.11",
+ "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.11.tgz",
+ "integrity": "sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/traverse": "^7.4.5",
+ "@emotion/is-prop-valid": "^1.1.0",
+ "@emotion/stylis": "^0.8.4",
+ "@emotion/unitless": "^0.7.4",
+ "babel-plugin-styled-components": ">= 1.12.0",
+ "css-to-react-native": "^3.0.0",
+ "hoist-non-react-statics": "^3.0.0",
+ "shallowequal": "^1.1.0",
+ "supports-color": "^5.5.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/styled-components"
+ },
+ "peerDependencies": {
+ "react": ">= 16.8.0",
+ "react-dom": ">= 16.8.0",
+ "react-is": ">= 16.8.0"
+ }
+ },
+ "node_modules/styled-components/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/styled-components/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/styled-jsx": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz",
+ "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==",
+ "dependencies": {
+ "client-only": "0.0.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "peerDependencies": {
+ "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0"
+ },
+ "peerDependenciesMeta": {
+ "@babel/core": {
+ "optional": true
+ },
+ "babel-plugin-macros": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/styled-reset": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/styled-reset/-/styled-reset-4.5.2.tgz",
+ "integrity": "sha512-dbAaaVEhweBs2FGfqGBdW6oMcMK8238C2X5KCxBhUQJX92m/QyUfzRADOXhdXiXNkIPELtMCd72YY9eCdORfIw==",
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "styled-components": ">=4.0.0 || >=5.0.0 || >=6.0.0"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/swiftlatex": {
+ "version": "1.0.0",
+ "resolved": "https://github.com/ducaale/SwiftLaTeX/releases/download/v1.0.0-experimental-9902734/swiftlatex-1.0.0-experimental-9902734.tgz",
+ "integrity": "sha512-g3vNM9oZsTgwa9Se2SjZ1DaRR3IbE36yOnceLmQWZGI4lTnmAfXNWd0fvSrRdaxG4tl/Xw27iAQ3e17DR19/eA==",
+ "license": "AGPL-3.0",
+ "dependencies": {
+ "comlink": "^4.3.1"
+ }
+ },
+ "node_modules/table": {
+ "version": "6.8.1",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz",
+ "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^8.0.1",
+ "lodash.truncate": "^4.4.2",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/table/node_modules/ajv": {
+ "version": "8.12.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+ "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/table/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ },
+ "node_modules/tapable": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "dependencies": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/terser": {
+ "version": "5.27.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz",
+ "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==",
+ "peer": true,
+ "dependencies": {
+ "@jridgewell/source-map": "^0.3.3",
+ "acorn": "^8.8.2",
+ "commander": "^2.20.0",
+ "source-map-support": "~0.5.20"
+ },
+ "bin": {
+ "terser": "bin/terser"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/terser-webpack-plugin": {
+ "version": "5.3.10",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
+ "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
+ "peer": true,
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.20",
+ "jest-worker": "^27.4.5",
+ "schema-utils": "^3.1.1",
+ "serialize-javascript": "^6.0.1",
+ "terser": "^5.26.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.1.0"
+ },
+ "peerDependenciesMeta": {
+ "@swc/core": {
+ "optional": true
+ },
+ "esbuild": {
+ "optional": true
+ },
+ "uglify-js": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/terser/node_modules/acorn": {
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+ "peer": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+ "dev": true
+ },
+ "node_modules/tiny-invariant": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz",
+ "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw=="
+ },
+ "node_modules/tiny-warning": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
+ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
+ },
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/tsconfig-paths": {
+ "version": "3.15.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
+ "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==",
+ "dev": true,
+ "dependencies": {
+ "@types/json5": "^0.0.29",
+ "json5": "^1.0.2",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "node_modules/tsconfig-paths/node_modules/json5": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
+ "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
+ "dev": true,
+ "dependencies": {
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "json5": "lib/cli.js"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
+ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ },
+ "node_modules/tsutils": {
+ "version": "3.21.0",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+ "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.8.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ },
+ "peerDependencies": {
+ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+ }
+ },
+ "node_modules/tsutils/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/typed-array-buffer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz",
+ "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.1",
+ "is-typed-array": "^1.1.10"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/typed-array-byte-length": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz",
+ "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "has-proto": "^1.0.1",
+ "is-typed-array": "^1.1.10"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-byte-offset": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz",
+ "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==",
+ "dev": true,
+ "dependencies": {
+ "available-typed-arrays": "^1.0.5",
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "has-proto": "^1.0.1",
+ "is-typed-array": "^1.1.10"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-length": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
+ "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "is-typed-array": "^1.1.9"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "4.5.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.3.tgz",
+ "integrity": "sha512-eVYaEHALSt+s9LbvgEv4Ef+Tdq7hBiIZgii12xXJnukryt3pMgJf6aKhoCZ3FWQsu6sydEnkg11fYXLzhLBjeQ==",
+ "dev": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=4.2.0"
+ }
+ },
+ "node_modules/unbox-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
+ "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-bigints": "^1.0.2",
+ "has-symbols": "^1.0.3",
+ "which-boxed-primitive": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/uncontrollable": {
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz",
+ "integrity": "sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.6.3",
+ "@types/react": ">=16.9.11",
+ "invariant": "^2.2.4",
+ "react-lifecycles-compat": "^3.0.4"
+ },
+ "peerDependencies": {
+ "react": ">=15.0.0"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
+ "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "peer": true,
+ "dependencies": {
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/use-sync-external-store": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
+ "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ },
+ "node_modules/v8-compile-cache": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz",
+ "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==",
+ "dev": true
+ },
+ "node_modules/warning": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+ "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "node_modules/watchpack": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
+ "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
+ "dependencies": {
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.1.2"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/web-streams-polyfill": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.2.tgz",
+ "integrity": "sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/webpack": {
+ "version": "5.89.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
+ "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
+ "peer": true,
+ "dependencies": {
+ "@types/eslint-scope": "^3.7.3",
+ "@types/estree": "^1.0.0",
+ "@webassemblyjs/ast": "^1.11.5",
+ "@webassemblyjs/wasm-edit": "^1.11.5",
+ "@webassemblyjs/wasm-parser": "^1.11.5",
+ "acorn": "^8.7.1",
+ "acorn-import-assertions": "^1.9.0",
+ "browserslist": "^4.14.5",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^5.15.0",
+ "es-module-lexer": "^1.2.1",
+ "eslint-scope": "5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.9",
+ "json-parse-even-better-errors": "^2.3.1",
+ "loader-runner": "^4.2.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.2.0",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.3.7",
+ "watchpack": "^2.4.0",
+ "webpack-sources": "^3.2.3"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webpack-sources": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
+ "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+ "peer": true,
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/webpack/node_modules/acorn": {
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+ "peer": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/webpack/node_modules/acorn-import-assertions": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
+ "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
+ "peer": true,
+ "peerDependencies": {
+ "acorn": "^8"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/which-boxed-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
+ "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
+ "dev": true,
+ "dependencies": {
+ "is-bigint": "^1.0.1",
+ "is-boolean-object": "^1.1.0",
+ "is-number-object": "^1.0.4",
+ "is-string": "^1.0.5",
+ "is-symbol": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-builtin-type": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz",
+ "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==",
+ "dev": true,
+ "dependencies": {
+ "function.prototype.name": "^1.1.5",
+ "has-tostringtag": "^1.0.0",
+ "is-async-function": "^2.0.0",
+ "is-date-object": "^1.0.5",
+ "is-finalizationregistry": "^1.0.2",
+ "is-generator-function": "^1.0.10",
+ "is-regex": "^1.1.4",
+ "is-weakref": "^1.0.2",
+ "isarray": "^2.0.5",
+ "which-boxed-primitive": "^1.0.2",
+ "which-collection": "^1.0.1",
+ "which-typed-array": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-collection": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
+ "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
+ "dev": true,
+ "dependencies": {
+ "is-map": "^2.0.1",
+ "is-set": "^2.0.1",
+ "is-weakmap": "^2.0.1",
+ "is-weakset": "^2.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-typed-array": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz",
+ "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==",
+ "dev": true,
+ "dependencies": {
+ "available-typed-arrays": "^1.0.5",
+ "call-bind": "^1.0.4",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
+ "node_modules/zip-stream": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz",
+ "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==",
+ "dependencies": {
+ "archiver-utils": "^3.0.4",
+ "compress-commons": "^4.1.2",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/zip-stream/node_modules/archiver-utils": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz",
+ "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==",
+ "dependencies": {
+ "glob": "^7.2.3",
+ "graceful-fs": "^4.2.0",
+ "lazystream": "^1.0.0",
+ "lodash.defaults": "^4.2.0",
+ "lodash.difference": "^4.5.0",
+ "lodash.flatten": "^4.4.0",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.union": "^4.6.0",
+ "normalize-path": "^3.0.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
index e2610204..a8d8d727 100644
--- a/package.json
+++ b/package.json
@@ -1,95 +1,100 @@
-{
- "private": true,
- "name": "resumake.io",
- "version": "3.0.0",
- "engines": {
- "node": ">=20"
- },
- "scripts": {
- "dev": "next dev",
- "start": "next start",
- "build": "next build",
- "lint": "next lint",
- "format": "prettier --write src",
- "format:check": "prettier --check src",
- "postinstall": "cp node_modules/swiftlatex/dist/swift*.js node_modules/swiftlatex/dist/*.wasm public"
- },
- "dependencies": {
- "archiver": "^5.3.1",
- "common-tags": "^1.8.2",
- "jotai": "^1.7.0",
- "next": "^13.5.4",
- "polished": "^4.2.2",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "react-hook-form": "^7.31.3",
- "react-icons": "^4.4.0",
- "react-pdf": "^5.7.2",
- "styled-components": "^5.3.3",
- "styled-reset": "^4.4.1",
- "swiftlatex": "https://github.com/ducaale/SwiftLaTeX/releases/download/v1.0.0-experimental-9902734/swiftlatex-1.0.0-experimental-9902734.tgz"
- },
- "devDependencies": {
- "@types/archiver": "^5.3.1",
- "@types/common-tags": "^1.8.1",
- "@types/node": "16.11.12",
- "@types/react": "17.0.37",
- "@types/react-pdf": "^5.0.9",
- "@types/styled-components": "^5.1.17",
- "@typescript-eslint/eslint-plugin": "^5.6.0",
- "@typescript-eslint/parser": "^5.6.0",
- "eslint": "^7.32.0",
- "eslint-config-next": "^13.4.7",
- "eslint-plugin-import": "^2.25.3",
- "eslint-plugin-react": "^7.27.1",
- "eslint-plugin-react-hooks": "^4.3.0",
- "prettier": "2.7.1",
- "typescript": "4.5.3"
- },
- "prettier": {
- "semi": false,
- "singleQuote": true,
- "trailingComma": "none"
- },
- "eslintConfig": {
- "extends": [
- "plugin:react/recommended",
- "plugin:@typescript-eslint/recommended",
- "plugin:@next/next/recommended"
- ],
- "plugins": [
- "@typescript-eslint",
- "react-hooks"
- ],
- "parser": "@typescript-eslint/parser",
- "parserOptions": {
- "ecmaVersion": 2018,
- "sourceType": "module"
- },
- "settings": {
- "react": {
- "pragma": "React",
- "version": "detect"
- }
- },
- "rules": {
- "no-console": "warn",
- "react-hooks/rules-of-hooks": "error",
- "react-hooks/exhaustive-deps": "error",
- "react/prop-types": "off",
- "react/react-in-jsx-scope": "off",
- "react/display-name": "off",
- "@typescript-eslint/no-empty-function": "off",
- "@typescript-eslint/explicit-module-boundary-types": "off",
- "@typescript-eslint/no-empty-interface": "off",
- "@typescript-eslint/ban-types": "off",
- "@typescript-eslint/no-unused-vars": [
- "error",
- {
- "args": "none"
- }
- ],
- "@typescript-eslint/no-inferrable-types": "off"
- }
- }
-}
+{
+ "private": true,
+ "name": "resumake.io",
+ "version": "3.0.0",
+ "engines": {
+ "node": ">=20"
+ },
+ "scripts": {
+ "dev": "next dev",
+ "start": "next start",
+ "build": "next build",
+ "lint": "next lint",
+ "format": "prettier --write src",
+ "format:check": "prettier --check src",
+ "postinstall": "cp node_modules/swiftlatex/dist/swift*.js node_modules/swiftlatex/dist/*.wasm public"
+ },
+ "dependencies": {
+ "@reduxjs/toolkit": "^2.0.1",
+ "archiver": "^5.3.1",
+ "axios": "^1.6.5",
+ "bootstrap": "^5.3.2",
+ "common-tags": "^1.8.2",
+ "jotai": "^1.7.0",
+ "next": "^13.5.4",
+ "polished": "^4.2.2",
+ "react": "^18.2.0",
+ "react-bootstrap": "^2.10.0",
+ "react-dom": "^18.2.0",
+ "react-hook-form": "^7.31.3",
+ "react-icons": "^4.4.0",
+ "react-pdf": "^5.7.2",
+ "react-redux": "^9.1.0",
+ "styled-components": "^5.3.3",
+ "styled-reset": "^4.4.1",
+ "swiftlatex": "https://github.com/ducaale/SwiftLaTeX/releases/download/v1.0.0-experimental-9902734/swiftlatex-1.0.0-experimental-9902734.tgz"
+ },
+ "devDependencies": {
+ "@types/archiver": "^5.3.1",
+ "@types/common-tags": "^1.8.1",
+ "@types/node": "16.11.12",
+ "@types/react": "17.0.37",
+ "@types/react-pdf": "^5.0.9",
+ "@types/styled-components": "^5.1.17",
+ "@typescript-eslint/eslint-plugin": "^5.6.0",
+ "@typescript-eslint/parser": "^5.6.0",
+ "eslint": "^7.32.0",
+ "eslint-config-next": "^13.4.7",
+ "eslint-plugin-import": "^2.25.3",
+ "eslint-plugin-react": "^7.27.1",
+ "eslint-plugin-react-hooks": "^4.3.0",
+ "prettier": "2.7.1",
+ "typescript": "4.5.3"
+ },
+ "prettier": {
+ "semi": false,
+ "singleQuote": true,
+ "trailingComma": "none"
+ },
+ "eslintConfig": {
+ "extends": [
+ "plugin:react/recommended",
+ "plugin:@typescript-eslint/recommended",
+ "plugin:@next/next/recommended"
+ ],
+ "plugins": [
+ "@typescript-eslint",
+ "react-hooks"
+ ],
+ "parser": "@typescript-eslint/parser",
+ "parserOptions": {
+ "ecmaVersion": 2018,
+ "sourceType": "module"
+ },
+ "settings": {
+ "react": {
+ "pragma": "React",
+ "version": "detect"
+ }
+ },
+ "rules": {
+ "no-console": "warn",
+ "react-hooks/rules-of-hooks": "error",
+ "react-hooks/exhaustive-deps": "error",
+ "react/prop-types": "off",
+ "react/react-in-jsx-scope": "off",
+ "react/display-name": "off",
+ "@typescript-eslint/no-empty-function": "off",
+ "@typescript-eslint/explicit-module-boundary-types": "off",
+ "@typescript-eslint/no-empty-interface": "off",
+ "@typescript-eslint/ban-types": "off",
+ "@typescript-eslint/no-unused-vars": [
+ "error",
+ {
+ "args": "none"
+ }
+ ],
+ "@typescript-eslint/no-inferrable-types": "off"
+ }
+ }
+}
diff --git a/public/swiftlatexdvipdfm.js b/public/swiftlatexdvipdfm.js
new file mode 100644
index 00000000..a8aa0f7b
--- /dev/null
+++ b/public/swiftlatexdvipdfm.js
@@ -0,0 +1,6 @@
+!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r(require("fs"),require("path")):"function"==typeof define&&define.amd?define(["fs","path"],r):((e="undefined"!=typeof globalThis?globalThis:e||self)["native/dvipdfm"]=e["native/dvipdfm"]||{},e["native/dvipdfm"]["wasm/swiftlatexdvipdfm"]=e["native/dvipdfm"]["wasm/swiftlatexdvipdfm"]||{},e["native/dvipdfm"]["wasm/swiftlatexdvipdfm"].js=r(e.require$$1,e.require$$2))}(this,(function(e,r){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=t(e),o=t(r);function a(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function i(e){if(e.__esModule)return e;var r=e.default;if("function"==typeof r){var t=function e(){return this instanceof e?Reflect.construct(r,arguments,this.constructor):r.apply(this,arguments)};t.prototype=r.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(e).forEach((function(r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})})),t}var s={exports:{}};
+/**
+ * @license
+ * Copyright 2019 Google LLC
+ * SPDX-License-Identifier: Apache-2.0
+ */const l=Symbol("Comlink.proxy"),u=Symbol("Comlink.endpoint"),c=Symbol("Comlink.releaseProxy"),d=Symbol("Comlink.finalizer"),f=Symbol("Comlink.thrown"),m=e=>"object"==typeof e&&null!==e||"function"==typeof e,p=new Map([["proxy",{canHandle:e=>m(e)&&e[l],serialize(e){const{port1:r,port2:t}=new MessageChannel;return h(e,r),[t,[t]]},deserialize:e=>(e.start(),v(e))}],["throw",{canHandle:e=>m(e)&&f in e,serialize({value:e}){let r;return r=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[r,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function h(e,r=globalThis,t=["*"]){r.addEventListener("message",(function n(o){if(!o||!o.data)return;if(!function(e,r){for(const t of e){if(r===t||"*"===t)return!0;if(t instanceof RegExp&&t.test(r))return!0}return!1}(t,o.origin))return void console.warn(`Invalid origin '${o.origin}' for comlink proxy`);const{id:a,type:i,path:s}=Object.assign({path:[]},o.data),l=(o.data.argumentList||[]).map(A);let u;try{const r=s.slice(0,-1).reduce(((e,r)=>e[r]),e),t=s.reduce(((e,r)=>e[r]),e);switch(i){case"GET":u=t;break;case"SET":r[s.slice(-1)[0]]=A(o.data.value),u=!0;break;case"APPLY":u=t.apply(r,l);break;case"CONSTRUCT":u=F(new t(...l));break;case"ENDPOINT":{const{port1:r,port2:t}=new MessageChannel;h(e,t),u=D(r,[r])}break;case"RELEASE":u=void 0;break;default:return}}catch(e){u={value:e,[f]:0}}Promise.resolve(u).catch((e=>({value:e,[f]:0}))).then((t=>{const[o,s]=P(t);r.postMessage(Object.assign(Object.assign({},o),{id:a}),s),"RELEASE"===i&&(r.removeEventListener("message",n),w(r),d in e&&"function"==typeof e[d]&&e[d]())})).catch((e=>{const[t,n]=P({value:new TypeError("Unserializable return value"),[f]:0});r.postMessage(Object.assign(Object.assign({},t),{id:a}),n)}))})),r.start&&r.start()}function w(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function v(e,r){return k(e,[],r)}function g(e){if(e)throw new Error("Proxy has been released and is not useable")}function y(e){return M(e,{type:"RELEASE"}).then((()=>{w(e)}))}const E=new WeakMap,b="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const r=(E.get(e)||0)-1;E.set(e,r),0===r&&y(e)}));function k(e,r=[],t=function(){}){let n=!1;const o=new Proxy(t,{get(t,a){if(g(n),a===c)return()=>{!function(e){b&&b.unregister(e)}(o),y(e),n=!0};if("then"===a){if(0===r.length)return{then:()=>o};const t=M(e,{type:"GET",path:r.map((e=>e.toString()))}).then(A);return t.then.bind(t)}return k(e,[...r,a])},set(t,o,a){g(n);const[i,s]=P(a);return M(e,{type:"SET",path:[...r,o].map((e=>e.toString())),value:i},s).then(A)},apply(t,o,a){g(n);const i=r[r.length-1];if(i===u)return M(e,{type:"ENDPOINT"}).then(A);if("bind"===i)return k(e,r.slice(0,-1));const[s,l]=_(a);return M(e,{type:"APPLY",path:r.map((e=>e.toString())),argumentList:s},l).then(A)},construct(t,o){g(n);const[a,i]=_(o);return M(e,{type:"CONSTRUCT",path:r.map((e=>e.toString())),argumentList:a},i).then(A)}});return function(e,r){const t=(E.get(r)||0)+1;E.set(r,t),b&&b.register(e,r,e)}(o,e),o}function _(e){const r=e.map(P);return[r.map((e=>e[0])),(t=r.map((e=>e[1])),Array.prototype.concat.apply([],t))];var t}const S=new WeakMap;function D(e,r){return S.set(e,r),e}function F(e){return Object.assign(e,{[l]:!0})}function P(e){for(const[r,t]of p)if(t.canHandle(e)){const[n,o]=t.serialize(e);return[{type:"HANDLER",name:r,value:n},o]}return[{type:"RAW",value:e},S.get(e)||[]]}function A(e){switch(e.type){case"HANDLER":return p.get(e.name).deserialize(e.value);case"RAW":return e.value}}function M(e,r,t){return new Promise((n=>{const o=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");e.addEventListener("message",(function r(t){t.data&&t.data.id&&t.data.id===o&&(e.removeEventListener("message",r),n(t.data))})),e.start&&e.start(),e.postMessage(Object.assign({id:o},r),t)}))}var x=i(Object.freeze({__proto__:null,createEndpoint:u,expose:h,finalizer:d,proxy:F,proxyMarker:l,releaseProxy:c,transfer:D,transferHandlers:p,windowEndpoint:function(e,r=globalThis,t="*"){return{postMessage:(r,n)=>e.postMessage(r,t,n),addEventListener:r.addEventListener.bind(r),removeEventListener:r.removeEventListener.bind(r)}},wrap:v}));return function(e){var r=void 0!==r?r:{};const t=x,a="/tex",i="/work";self.memlog="",self.initmem=void 0,self.mainfile="main.tex",self.texlive_endpoint=void 0,self.extension=void 0;r={print(e){self.memlog+=e+"\n"},printErr(e){self.memlog+=e+"\n",console.log(e)},preRun(){ge.mkdir(a),ge.mkdir(i)},postRun(){var e,r;self.postMessage("wasm_initialized"),self.initmem=(e=S.buffer,(r=new Uint8Array(e.byteLength)).set(new Uint8Array(e)),r)},onAbort(){self.memlog+="Engine crashed",console.error("full log",self.memlog)}};function s(e){let r=Oe(e.length);return M.set(new Uint8Array(e),r),r}function l(){self.memlog="",self.initmem&&new Uint8Array(S.buffer).set(self.initmem),function(){for(var e=0;e{throw r},v="object"==typeof window,g="function"==typeof importScripts,y="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,E="";if(y){var b=n.default,k=o.default;E=g?k.dirname(E)+"/":__dirname+"/",f=(e,r)=>(e=V(e)?new URL(e):k.normalize(e),b.readFileSync(e,r?void 0:"utf8")),p=e=>{var r=f(e,!0);return r.buffer||(r=new Uint8Array(r)),r},m=(e,r,t,n=!0)=>{e=V(e)?new URL(e):k.normalize(e),b.readFile(e,n?void 0:"utf8",((e,o)=>{e?t(e):r(n?o.buffer:o)}))},!r.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),e.exports=r,process.on("uncaughtException",(e=>{if(!("unwind"===e||e instanceof Q||e.context instanceof Q))throw e})),w=(e,r)=>{throw process.exitCode=e,r},r.inspect=()=>"[Emscripten Module object]"}else(v||g)&&(g?E=self.location.href:"undefined"!=typeof document&&document.currentScript&&(E=document.currentScript.src),E=0!==E.indexOf("blob:")?E.substr(0,E.replace(/[?#].*/,"").lastIndexOf("/")+1):"",f=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},g&&(p=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),m=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)});var _,S,D=r.print||console.log.bind(console),F=r.printErr||console.error.bind(console);Object.assign(r,h),h=null,r.arguments&&r.arguments,r.thisProgram&&r.thisProgram,r.quit&&(w=r.quit),r.wasmBinary&&(_=r.wasmBinary),"object"!=typeof WebAssembly&&$("no native wasm support detected");var P,A,M,R,T,z,C=!1;function j(){var e=S.buffer;r.HEAP8=A=new Int8Array(e),r.HEAP16=R=new Int16Array(e),r.HEAPU8=M=new Uint8Array(e),r.HEAPU16=new Uint16Array(e),r.HEAP32=T=new Int32Array(e),r.HEAPU32=z=new Uint32Array(e),r.HEAPF32=new Float32Array(e),r.HEAPF64=new Float64Array(e)}var L=[],N=[],O=[],U=[];var B=0,H=null;function I(e){B++,r.monitorRunDependencies&&r.monitorRunDependencies(B)}function q(e){if(B--,r.monitorRunDependencies&&r.monitorRunDependencies(B),0==B&&H){var t=H;H=null,t()}}function $(e){throw r.onAbort&&r.onAbort(e),F(e="Aborted("+e+")"),C=!0,P=1,e+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(e)}var W,X,G,K,Y=e=>e.startsWith("data:application/octet-stream;base64,"),V=e=>e.startsWith("file://");function J(e){if(e==W&&_)return new Uint8Array(_);if(p)return p(e);throw"both async and sync fetching of the wasm failed"}function Z(e,r,t){return function(e){if(!_&&(v||g)){if("function"==typeof fetch&&!V(e))return fetch(e,{credentials:"same-origin"}).then((r=>{if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()})).catch((()=>J(e)));if(m)return new Promise(((r,t)=>{m(e,(e=>r(new Uint8Array(e))),t)}))}return Promise.resolve().then((()=>J(e)))}(e).then((e=>WebAssembly.instantiate(e,r))).then((e=>e)).then(t,(e=>{F(`failed to asynchronously prepare wasm: ${e}`),$(e)}))}function Q(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}Y(W="swiftlatexdvipdfm.wasm")||(X=W,W=r.locateFile?r.locateFile(X,E):E+X);var ee=e=>{for(;e.length>0;)e.shift()(r)},re=r.noExitRuntime||!0,te="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,ne=(e,r,t)=>{for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&te)return te.decode(e.subarray(r,o));for(var a="";r>10,56320|1023&u)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a},oe=(e,r)=>e?ne(M,e,r):"",ae={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=ae.isAbs(e),t="/"===e.substr(-1);return(e=ae.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=ae.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=ae.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ae.normalize(e.join("/"))},join2:(e,r)=>ae.normalize(e+"/"+r)},ie=e=>(ie=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(y)try{var e=require("crypto");if(e.randomFillSync)return r=>e.randomFillSync(r);var r=e.randomBytes;return e=>(e.set(r(e.byteLength)),e)}catch(e){}$("initRandomDevice")})())(e),se={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:ge.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=ae.isAbs(n)}return(r?"/":"")+(e=ae.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=se.resolve(e).substr(1),r=se.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s{for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r},ce=(e,r,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i);if(s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)break;r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-o};function de(e,r,t){var n=t>0?t:ue(e)+1,o=new Array(n),a=ce(e,o,0,o.length);return r&&(o.length=a),o}var fe={ttys:[],init(){},shutdown(){},register(e,r){fe.ttys[e]={input:[],output:[],ops:r},ge.registerDevice(e,fe.stream_ops)},stream_ops:{open(e){var r=fe.ttys[e.node.rdev];if(!r)throw new ge.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new ge.ErrnoError(60);for(var a=0,i=0;i(()=>{if(!le.length){var e=null;if(y){var r=Buffer.alloc(256),t=0,n=process.stdin.fd;try{t=b.readSync(n,r)}catch(e){if(!e.toString().includes("EOF"))throw e;t=0}e=t>0?r.slice(0,t).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;le=de(e,!0)}return le.shift()})(),put_char(e,r){null===r||10===r?(D(ne(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(D(ne(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(F(ne(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(F(ne(e.output,0)),e.output=[])}}},me=e=>{$()},pe={ops_table:null,mount:e=>pe.createNode(null,"/",16895,0),createNode(e,r,t,n){if(ge.isBlkdev(t)||ge.isFIFO(t))throw new ge.ErrnoError(63);pe.ops_table||(pe.ops_table={dir:{node:{getattr:pe.node_ops.getattr,setattr:pe.node_ops.setattr,lookup:pe.node_ops.lookup,mknod:pe.node_ops.mknod,rename:pe.node_ops.rename,unlink:pe.node_ops.unlink,rmdir:pe.node_ops.rmdir,readdir:pe.node_ops.readdir,symlink:pe.node_ops.symlink},stream:{llseek:pe.stream_ops.llseek}},file:{node:{getattr:pe.node_ops.getattr,setattr:pe.node_ops.setattr},stream:{llseek:pe.stream_ops.llseek,read:pe.stream_ops.read,write:pe.stream_ops.write,allocate:pe.stream_ops.allocate,mmap:pe.stream_ops.mmap,msync:pe.stream_ops.msync}},link:{node:{getattr:pe.node_ops.getattr,setattr:pe.node_ops.setattr,readlink:pe.node_ops.readlink},stream:{}},chrdev:{node:{getattr:pe.node_ops.getattr,setattr:pe.node_ops.setattr},stream:ge.chrdev_stream_ops}});var o=ge.createNode(e,r,t,n);return ge.isDir(o.mode)?(o.node_ops=pe.ops_table.dir.node,o.stream_ops=pe.ops_table.dir.stream,o.contents={}):ge.isFile(o.mode)?(o.node_ops=pe.ops_table.file.node,o.stream_ops=pe.ops_table.file.stream,o.usedBytes=0,o.contents=null):ge.isLink(o.mode)?(o.node_ops=pe.ops_table.link.node,o.stream_ops=pe.ops_table.link.stream):ge.isChrdev(o.mode)&&(o.node_ops=pe.ops_table.chrdev.node,o.stream_ops=pe.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=ge.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,ge.isDir(e.mode)?r.size=4096:ge.isFile(e.mode)?r.size=e.usedBytes:ge.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&pe.resizeFileStorage(e,r.size)},lookup(e,r){throw ge.genericErrors[44]},mknod:(e,r,t,n)=>pe.createNode(e,r,t,n),rename(e,r,t){if(ge.isDir(e.mode)){var n;try{n=ge.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new ge.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=ge.lookupNode(e,r);for(var n in t.contents)throw new ge.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t in e.contents)e.contents.hasOwnProperty(t)&&r.push(t);return r},symlink(e,r,t){var n=pe.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!ge.isLink(e.mode))throw new ge.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s0||t+r(pe.stream_ops.write(e,r,0,n,t,!1),0)}},he=(e,r,t,n)=>{var o=n?"":`al ${e}`;m(e,(t=>{var n;n=`Loading data file "${e}" failed (no arrayBuffer).`,t||$(n),r(new Uint8Array(t)),o&&q()}),(r=>{if(!t)throw`Loading data file "${e}" failed.`;t()})),o&&I()},we=r.preloadPlugins||[],ve=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},ge={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e,r={}){if(!(e=se.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new ge.ErrnoError(32);for(var t=e.split("/").filter((e=>!!e)),n=ge.root,o="/",a=0;a40)throw new ge.ErrnoError(32)}}return{path:o,node:n}},getPath(e){for(var r;;){if(ge.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n>>0)%ge.nameTable.length},hashAddNode(e){var r=ge.hashName(e.parent.id,e.name);e.name_next=ge.nameTable[r],ge.nameTable[r]=e},hashRemoveNode(e){var r=ge.hashName(e.parent.id,e.name);if(ge.nameTable[r]===e)ge.nameTable[r]=e.name_next;else for(var t=ge.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=ge.mayLookup(e);if(t)throw new ge.ErrnoError(t,e);for(var n=ge.hashName(e.id,r),o=ge.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return ge.lookup(e,r)},createNode(e,r,t,n){var o=new ge.FSNode(e,r,t,n);return ge.hashAddNode(o),o},destroyNode(e){ge.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>ge.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){var r=ge.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{ge.lookupNode(e,r);return 20}catch(e){}return ge.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=ge.lookupNode(e,r)}catch(e){return e.errno}var o=ge.nodePermissions(e,"wx");if(o)return o;if(t){if(!ge.isDir(n.mode))return 54;if(ge.isRoot(n)||ge.getPath(n)===ge.cwd())return 10}else if(ge.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?ge.isLink(e.mode)?32:ge.isDir(e.mode)&&("r"!==ge.flagsToPermissionString(r)||512&r)?31:ge.nodePermissions(e,ge.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=ge.MAX_OPEN_FDS;e++)if(!ge.streams[e])return e;throw new ge.ErrnoError(33)},getStreamChecked(e){var r=ge.getStream(e);if(!r)throw new ge.ErrnoError(8);return r},getStream:e=>ge.streams[e],createStream:(e,r=-1)=>(ge.FSStream||(ge.FSStream=function(){this.shared={}},ge.FSStream.prototype={},Object.defineProperties(ge.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new ge.FSStream,e),-1==r&&(r=ge.nextfd()),e.fd=r,ge.streams[r]=e,e),closeStream(e){ge.streams[e]=null},chrdev_stream_ops:{open(e){var r=ge.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new ge.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){ge.devices[e]={stream_ops:r}},getDevice:e=>ge.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),ge.syncFSRequests++,ge.syncFSRequests>1&&F(`warning: ${ge.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=ge.getMounts(ge.root.mount),n=0;function o(e){return ge.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach((r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)}))},mount(e,r,t){var n,o="/"===t,a=!t;if(o&&ge.root)throw new ge.ErrnoError(10);if(!o&&!a){var i=ge.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,ge.isMountpoint(n))throw new ge.ErrnoError(10);if(!ge.isDir(n.mode))throw new ge.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},l=e.mount(s);return l.mount=s,s.root=l,o?ge.root=l:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),l},unmount(e){var r=ge.lookupPath(e,{follow_mount:!1});if(!ge.isMountpoint(r.node))throw new ge.ErrnoError(28);var t=r.node,n=t.mounted,o=ge.getMounts(n);Object.keys(ge.nameTable).forEach((e=>{for(var r=ge.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&ge.destroyNode(r),r=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=ge.lookupPath(e,{parent:!0}).node,o=ae.basename(e);if(!o||"."===o||".."===o)throw new ge.ErrnoError(28);var a=ge.mayCreate(n,o);if(a)throw new ge.ErrnoError(a);if(!n.node_ops.mknod)throw new ge.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,ge.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,ge.mknod(e,r,0)),mkdirTree(e,r){for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,ge.mknod(e,r,t)),symlink(e,r){if(!se.resolve(e))throw new ge.ErrnoError(44);var t=ge.lookupPath(r,{parent:!0}).node;if(!t)throw new ge.ErrnoError(44);var n=ae.basename(r),o=ge.mayCreate(t,n);if(o)throw new ge.ErrnoError(o);if(!t.node_ops.symlink)throw new ge.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,o=ae.dirname(e),a=ae.dirname(r),i=ae.basename(e),s=ae.basename(r);if(t=ge.lookupPath(e,{parent:!0}).node,n=ge.lookupPath(r,{parent:!0}).node,!t||!n)throw new ge.ErrnoError(44);if(t.mount!==n.mount)throw new ge.ErrnoError(75);var l,u=ge.lookupNode(t,i),c=se.relative(e,a);if("."!==c.charAt(0))throw new ge.ErrnoError(28);if("."!==(c=se.relative(r,o)).charAt(0))throw new ge.ErrnoError(55);try{l=ge.lookupNode(n,s)}catch(e){}if(u!==l){var d=ge.isDir(u.mode),f=ge.mayDelete(t,i,d);if(f)throw new ge.ErrnoError(f);if(f=l?ge.mayDelete(n,s,d):ge.mayCreate(n,s))throw new ge.ErrnoError(f);if(!t.node_ops.rename)throw new ge.ErrnoError(63);if(ge.isMountpoint(u)||l&&ge.isMountpoint(l))throw new ge.ErrnoError(10);if(n!==t&&(f=ge.nodePermissions(t,"w")))throw new ge.ErrnoError(f);ge.hashRemoveNode(u);try{t.node_ops.rename(u,n,s)}catch(e){throw e}finally{ge.hashAddNode(u)}}},rmdir(e){var r=ge.lookupPath(e,{parent:!0}).node,t=ae.basename(e),n=ge.lookupNode(r,t),o=ge.mayDelete(r,t,!0);if(o)throw new ge.ErrnoError(o);if(!r.node_ops.rmdir)throw new ge.ErrnoError(63);if(ge.isMountpoint(n))throw new ge.ErrnoError(10);r.node_ops.rmdir(r,t),ge.destroyNode(n)},readdir(e){var r=ge.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new ge.ErrnoError(54);return r.node_ops.readdir(r)},unlink(e){var r=ge.lookupPath(e,{parent:!0}).node;if(!r)throw new ge.ErrnoError(44);var t=ae.basename(e),n=ge.lookupNode(r,t),o=ge.mayDelete(r,t,!1);if(o)throw new ge.ErrnoError(o);if(!r.node_ops.unlink)throw new ge.ErrnoError(63);if(ge.isMountpoint(n))throw new ge.ErrnoError(10);r.node_ops.unlink(r,t),ge.destroyNode(n)},readlink(e){var r=ge.lookupPath(e).node;if(!r)throw new ge.ErrnoError(44);if(!r.node_ops.readlink)throw new ge.ErrnoError(28);return se.resolve(ge.getPath(r.parent),r.node_ops.readlink(r))},stat(e,r){var t=ge.lookupPath(e,{follow:!r}).node;if(!t)throw new ge.ErrnoError(44);if(!t.node_ops.getattr)throw new ge.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>ge.stat(e,!0),chmod(e,r,t){var n;"string"==typeof e?n=ge.lookupPath(e,{follow:!t}).node:n=e;if(!n.node_ops.setattr)throw new ge.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod(e,r){ge.chmod(e,r,!0)},fchmod(e,r){var t=ge.getStreamChecked(e);ge.chmod(t.node,r)},chown(e,r,t,n){var o;"string"==typeof e?o=ge.lookupPath(e,{follow:!n}).node:o=e;if(!o.node_ops.setattr)throw new ge.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(e,r,t){ge.chown(e,r,t,!0)},fchown(e,r,t){var n=ge.getStreamChecked(e);ge.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new ge.ErrnoError(28);var t;"string"==typeof e?t=ge.lookupPath(e,{follow:!0}).node:t=e;if(!t.node_ops.setattr)throw new ge.ErrnoError(63);if(ge.isDir(t.mode))throw new ge.ErrnoError(31);if(!ge.isFile(t.mode))throw new ge.ErrnoError(28);var n=ge.nodePermissions(t,"w");if(n)throw new ge.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=ge.getStreamChecked(e);if(0==(2097155&t.flags))throw new ge.ErrnoError(28);ge.truncate(t.node,r)},utime(e,r,t){var n=ge.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open(e,t,n){if(""===e)throw new ge.ErrnoError(44);var o;if(n=void 0===n?438:n,n=64&(t="string"==typeof t?(e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r})(t):t)?4095&n|32768:0,"object"==typeof e)o=e;else{e=ae.normalize(e);try{o=ge.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var a=!1;if(64&t)if(o){if(128&t)throw new ge.ErrnoError(20)}else o=ge.mknod(e,n,0),a=!0;if(!o)throw new ge.ErrnoError(44);if(ge.isChrdev(o.mode)&&(t&=-513),65536&t&&!ge.isDir(o.mode))throw new ge.ErrnoError(54);if(!a){var i=ge.mayOpen(o,t);if(i)throw new ge.ErrnoError(i)}512&t&&!a&&ge.truncate(o,0),t&=-131713;var s=ge.createStream({node:o,path:ge.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!r.logReadFiles||1&t||(ge.readFiles||(ge.readFiles={}),e in ge.readFiles||(ge.readFiles[e]=1)),s},close(e){if(ge.isClosed(e))throw new ge.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{ge.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(ge.isClosed(e))throw new ge.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ge.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new ge.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,o){if(n<0||o<0)throw new ge.ErrnoError(28);if(ge.isClosed(e))throw new ge.ErrnoError(8);if(1==(2097155&e.flags))throw new ge.ErrnoError(8);if(ge.isDir(e.node.mode))throw new ge.ErrnoError(31);if(!e.stream_ops.read)throw new ge.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new ge.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write(e,r,t,n,o,a){if(n<0||o<0)throw new ge.ErrnoError(28);if(ge.isClosed(e))throw new ge.ErrnoError(8);if(0==(2097155&e.flags))throw new ge.ErrnoError(8);if(ge.isDir(e.node.mode))throw new ge.ErrnoError(31);if(!e.stream_ops.write)throw new ge.ErrnoError(28);e.seekable&&1024&e.flags&&ge.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new ge.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},allocate(e,r,t){if(ge.isClosed(e))throw new ge.ErrnoError(8);if(r<0||t<=0)throw new ge.ErrnoError(28);if(0==(2097155&e.flags))throw new ge.ErrnoError(8);if(!ge.isFile(e.node.mode)&&!ge.isDir(e.node.mode))throw new ge.ErrnoError(43);if(!e.stream_ops.allocate)throw new ge.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,o){if(0!=(2&n)&&0==(2&o)&&2!=(2097155&e.flags))throw new ge.ErrnoError(2);if(1==(2097155&e.flags))throw new ge.ErrnoError(2);if(!e.stream_ops.mmap)throw new ge.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new ge.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,n=ge.open(e,r.flags),o=ge.stat(e).size,a=new Uint8Array(o);return ge.read(n,a,0,o,0),"utf8"===r.encoding?t=ne(a,0):"binary"===r.encoding&&(t=a),ge.close(n),t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=ge.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(ue(r)+1),a=ce(r,o,0,o.length);ge.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");ge.write(n,r,0,r.byteLength,void 0,t.canOwn)}ge.close(n)},cwd:()=>ge.currentPath,chdir(e){var r=ge.lookupPath(e,{follow:!0});if(null===r.node)throw new ge.ErrnoError(44);if(!ge.isDir(r.node.mode))throw new ge.ErrnoError(54);var t=ge.nodePermissions(r.node,"x");if(t)throw new ge.ErrnoError(t);ge.currentPath=r.path},createDefaultDirectories(){ge.mkdir("/tmp"),ge.mkdir("/home"),ge.mkdir("/home/web_user")},createDefaultDevices(){ge.mkdir("/dev"),ge.registerDevice(ge.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),ge.mkdev("/dev/null",ge.makedev(1,3)),fe.register(ge.makedev(5,0),fe.default_tty_ops),fe.register(ge.makedev(6,0),fe.default_tty1_ops),ge.mkdev("/dev/tty",ge.makedev(5,0)),ge.mkdev("/dev/tty1",ge.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(r=ie(e).byteLength),e[--r]);ge.createDevice("/dev","random",t),ge.createDevice("/dev","urandom",t),ge.mkdir("/dev/shm"),ge.mkdir("/dev/shm/tmp")},createSpecialDirectories(){ge.mkdir("/proc");var e=ge.mkdir("/proc/self");ge.mkdir("/proc/self/fd"),ge.mount({mount(){var r=ge.createNode(e,"fd",16895,73);return r.node_ops={lookup(e,r){var t=+r,n=ge.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},r}},{},"/proc/self/fd")},createStandardStreams(){r.stdin?ge.createDevice("/dev","stdin",r.stdin):ge.symlink("/dev/tty","/dev/stdin"),r.stdout?ge.createDevice("/dev","stdout",null,r.stdout):ge.symlink("/dev/tty","/dev/stdout"),r.stderr?ge.createDevice("/dev","stderr",null,r.stderr):ge.symlink("/dev/tty1","/dev/stderr"),ge.open("/dev/stdin",0),ge.open("/dev/stdout",1),ge.open("/dev/stderr",1)},ensureErrnoError(){ge.ErrnoError||(ge.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},ge.ErrnoError.prototype=new Error,ge.ErrnoError.prototype.constructor=ge.ErrnoError,[44].forEach((e=>{ge.genericErrors[e]=new ge.ErrnoError(e),ge.genericErrors[e].stack=""})))},staticInit(){ge.ensureErrnoError(),ge.nameTable=new Array(4096),ge.mount(pe,{},"/"),ge.createDefaultDirectories(),ge.createDefaultDevices(),ge.createSpecialDirectories(),ge.filesystems={MEMFS:pe}},init(e,t,n){ge.init.initialized=!0,ge.ensureErrnoError(),r.stdin=e||r.stdin,r.stdout=t||r.stdout,r.stderr=n||r.stderr,ge.createStandardStreams()},quit(){ge.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+t+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),o=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,a=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,i=1048576;o||(i=n);var s=this;s.setDataGetter((e=>{var r=e*i,o=(e+1)*i-1;if(o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+e+"-"+r),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):de(o.responseText||"",!0)})(r,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!a&&n||(i=n=1,n=this.getter(0).length,i=n,D("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!g)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i=new a;Object.defineProperties(i,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:i}}else s={isDevice:!1,url:t};var l=ge.createFile(e,r,s,n,o);s.contents?l.contents=s.contents:s.url&&(l.contents=null,l.url=s.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var u={};function c(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s{var r=l.stream_ops[e];u[e]=function(){return ge.forceLoadFile(l),r.apply(null,arguments)}})),u.read=(e,r,t,n,o)=>(ge.forceLoadFile(l),c(e,r,t,n,o)),u.mmap=(e,r,t,n,o)=>{ge.forceLoadFile(l);var a=me();if(!a)throw new ge.ErrnoError(48);return c(e,A,a,r,t),{ptr:a,allocated:!0}},l.stream_ops=u,l}},ye={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(ae.isAbs(r))return r;var n;-100===e?n=ge.cwd():n=ye.getStreamFromFD(e).path;if(0==r.length){if(!t)throw new ge.ErrnoError(44);return n}return ae.join2(n,r)},doStat(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&ae.normalize(r)!==ae.normalize(ge.getPath(e.node)))return-54;throw e}T[t>>2]=n.dev,T[t+4>>2]=n.mode,z[t+8>>2]=n.nlink,T[t+12>>2]=n.uid,T[t+16>>2]=n.gid,T[t+20>>2]=n.rdev,K=[n.size>>>0,(G=n.size,+Math.abs(G)>=1?G>0?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],T[t+24>>2]=K[0],T[t+28>>2]=K[1],T[t+32>>2]=4096,T[t+36>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return K=[Math.floor(o/1e3)>>>0,(G=Math.floor(o/1e3),+Math.abs(G)>=1?G>0?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],T[t+40>>2]=K[0],T[t+44>>2]=K[1],z[t+48>>2]=o%1e3*1e3,K=[Math.floor(a/1e3)>>>0,(G=Math.floor(a/1e3),+Math.abs(G)>=1?G>0?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],T[t+56>>2]=K[0],T[t+60>>2]=K[1],z[t+64>>2]=a%1e3*1e3,K=[Math.floor(i/1e3)>>>0,(G=Math.floor(i/1e3),+Math.abs(G)>=1?G>0?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],T[t+72>>2]=K[0],T[t+76>>2]=K[1],z[t+80>>2]=i%1e3*1e3,K=[n.ino>>>0,(G=n.ino,+Math.abs(G)>=1?G>0?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],T[t+88>>2]=K[0],T[t+92>>2]=K[1],0},doMsync(e,r,t,n,o){if(!ge.isFile(r.node.mode))throw new ge.ErrnoError(43);if(2&n)return 0;var a=M.slice(e,e+t);ge.msync(r,a,o,t,n)},varargs:void 0,get(){var e=T[+ye.varargs>>2];return ye.varargs+=4,e},getp:()=>ye.get(),getStr:e=>oe(e),getStreamFromFD:e=>ge.getStreamChecked(e)};var Ee=(e,r)=>r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN;var be=(e,r,t)=>ce(e,M,r,t),ke=e=>{var r=ue(e)+1,t=Oe(r);return t&&be(e,t,r),t},_e=e=>{var r=(e-S.buffer.byteLength+65535)/65536;try{return S.grow(r),j(),1}catch(e){}};var Se,De=e=>{P=e,re||(r.onExit&&r.onExit(e),C=!0),w(e,new Q(e))},Fe=(e,r)=>{P=e,De(e)},Pe=e=>{if(e instanceof Q||"unwind"==e)return P;w(1,e)},Ae=[],Me=e=>{var r=Ae[e];return r||(e>=Ae.length&&(Ae.length=e+1),Ae[e]=r=Se.get(e)),r},xe=e=>r["_"+e],Re=(e,r,t,n,o)=>{var a={string:e=>{var r=0;return null!=e&&0!==e&&(r=(e=>{var r=ue(e)+1,t=Xe(r);return be(e,t,r),t})(e)),r},array:e=>{var r,t,n=Xe(e.length);return r=e,t=n,A.set(r,t),n}};var i=xe(e),s=[],l=0;if(n)for(var u=0;u{var o=!t||t.every((e=>"number"===e||"boolean"===e));return"string"!==r&&o&&!n?xe(e):function(){return Re(e,r,t,arguments)}},ze=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=ge.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n},Ce=365,je=146;Object.defineProperties(ze.prototype,{read:{get:function(){return(this.mode&Ce)===Ce},set:function(e){e?this.mode|=Ce:this.mode&=-366}},write:{get:function(){return(this.mode&je)===je},set:function(e){e?this.mode|=je:this.mode&=-147}},isFolder:{get:function(){return ge.isDir(this.mode)}},isDevice:{get:function(){return ge.isChrdev(this.mode)}}}),ge.FSNode=ze,ge.createPreloadedFile=(e,r,t,n,o,a,i,s,l,u)=>{var c=r?se.resolve(ae.join2(e,r)):e;function d(t){function d(t){u&&u(),s||((e,r,t,n,o,a)=>{ge.createDataFile(e,r,t,n,o,a)})(e,r,t,n,o,l),a&&a(),q()}((e,r,t,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return we.forEach((a=>{o||a.canHandle(r)&&(a.handle(e,r,t,n),o=!0)})),o})(t,c,d,(()=>{i&&i(),q()}))||d(t)}I(),"string"==typeof t?he(t,(e=>d(e)),i):d(t)},ge.staticInit();var Le={a:(e,r,t,n)=>{$(`Assertion failed: ${oe(e)}, at: `+[r?oe(r):"unknown filename",t,n?oe(n):"unknown function"])},i:function(e,r,t,n){try{if(r=ye.getStr(r),r=ye.calculateAt(e,r),-8&t)return-28;var o=ge.lookupPath(r,{follow:!0}).node;if(!o)return-44;var a="";return 4&t&&(a+="r"),2&t&&(a+="w"),1&t&&(a+="x"),a&&ge.nodePermissions(o,a)?-2:0}catch(e){if(void 0===ge||"ErrnoError"!==e.name)throw e;return-e.errno}},d:function(e,r,t){ye.varargs=t;try{var n=ye.getStreamFromFD(e);switch(r){case 0:if((o=ye.get())<0)return-28;for(;ge.streams[o];)o++;return ge.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=ye.get();return n.flags|=o,0;case 5:o=ye.getp();return R[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return a=28,T[Ie()>>2]=a,-1}}catch(e){if(void 0===ge||"ErrnoError"!==e.name)throw e;return-e.errno}var a},v:function(e,r){try{var t=ye.getStreamFromFD(e);return ye.doStat(ge.stat,t.path,r)}catch(e){if(void 0===ge||"ErrnoError"!==e.name)throw e;return-e.errno}},x:function(e,r,t){ye.varargs=t;try{var n=ye.getStreamFromFD(e);switch(r){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var o=n.tty.ops.ioctl_tcgets(n),a=ye.getp();T[a>>2]=o.c_iflag||0,T[a+4>>2]=o.c_oflag||0,T[a+8>>2]=o.c_cflag||0,T[a+12>>2]=o.c_lflag||0;for(var i=0;i<32;i++)A[a+i+17>>0]=o.c_cc[i]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){a=ye.getp();var s=T[a>>2],l=T[a+4>>2],u=T[a+8>>2],c=T[a+12>>2],d=[];for(i=0;i<32;i++)d.push(A[a+i+17>>0]);return n.tty.ops.ioctl_tcsets(n.tty,r,{c_iflag:s,c_oflag:l,c_cflag:u,c_lflag:c,c_cc:d})}return 0;case 21519:if(!n.tty)return-59;a=ye.getp();return T[a>>2]=0,0;case 21520:return n.tty?-28:-59;case 21531:a=ye.getp();return ge.ioctl(n,r,a);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var f=n.tty.ops.ioctl_tiocgwinsz(n.tty);a=ye.getp();R[a>>1]=f[0],R[a+2>>1]=f[1]}return 0;default:return-28}}catch(e){if(void 0===ge||"ErrnoError"!==e.name)throw e;return-e.errno}},t:function(e,r,t,n){try{r=ye.getStr(r);var o=256&n,a=4096&n;return n&=-6401,r=ye.calculateAt(e,r,a),ye.doStat(o?ge.lstat:ge.stat,r,t)}catch(e){if(void 0===ge||"ErrnoError"!==e.name)throw e;return-e.errno}},f:function(e,r,t,n){ye.varargs=n;try{r=ye.getStr(r),r=ye.calculateAt(e,r);var o=n?ye.get():0;return ge.open(r,t,o).fd}catch(e){if(void 0===ge||"ErrnoError"!==e.name)throw e;return-e.errno}},r:function(e){try{return e=ye.getStr(e),ge.rmdir(e),0}catch(e){if(void 0===ge||"ErrnoError"!==e.name)throw e;return-e.errno}},u:function(e,r){try{return e=ye.getStr(e),ye.doStat(ge.stat,e,r)}catch(e){if(void 0===ge||"ErrnoError"!==e.name)throw e;return-e.errno}},s:function(e,r,t){try{return r=ye.getStr(r),r=ye.calculateAt(e,r),0===t?ge.unlink(r):512===t?ge.rmdir(r):$("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===ge||"ErrnoError"!==e.name)throw e;return-e.errno}},o:()=>{throw 1/0},l:function(e,r,t){var n=Ee(e,r),o=new Date(1e3*n);T[t>>2]=o.getUTCSeconds(),T[t+4>>2]=o.getUTCMinutes(),T[t+8>>2]=o.getUTCHours(),T[t+12>>2]=o.getUTCDate(),T[t+16>>2]=o.getUTCMonth(),T[t+20>>2]=o.getUTCFullYear()-1900,T[t+24>>2]=o.getUTCDay();var a=Date.UTC(o.getUTCFullYear(),0,1,0,0,0,0),i=(o.getTime()-a)/864e5|0;T[t+28>>2]=i},q:(e,r,t)=>{var n=(new Date).getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),i=o.getTimezoneOffset(),s=a.getTimezoneOffset(),l=Math.max(i,s);function u(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}z[e>>2]=60*l,T[r>>2]=Number(i!=s);var c=u(o),d=u(a),f=ke(c),m=ke(d);s>2]=f,z[t+4>>2]=m):(z[t>>2]=m,z[t+4>>2]=f)},j:()=>{$("")},g:()=>Date.now(),h:(e,r,t)=>M.copyWithin(e,r,r+t),p:e=>{var r=M.length,t=2147483648;if((e>>>=0)>t)return!1;for(var n,o,a=1;a<=4;a*=2){var i=r*(1+.2/a);i=Math.min(i,e+100663296);var s=Math.min(t,(n=Math.max(e,i))+((o=65536)-n%o)%o);if(_e(s))return!0}return!1},b:function(e){try{var r=ye.getStreamFromFD(e);return ge.close(r),0}catch(e){if(void 0===ge||"ErrnoError"!==e.name)throw e;return e.errno}},w:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a>2],s=z[r+4>>2];r+=8;var l=ge.read(e,A,i,s,n);if(l<0)return-1;if(o+=l,l>2]=o,0}catch(e){if(void 0===ge||"ErrnoError"!==e.name)throw e;return e.errno}},m:function(e,r,t,n,o){var a=Ee(r,t);try{if(isNaN(a))return 61;var i=ye.getStreamFromFD(e);return ge.llseek(i,a,n),K=[i.position>>>0,(G=i.position,+Math.abs(G)>=1?G>0?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],T[o>>2]=K[0],T[o+4>>2]=K[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===ge||"ErrnoError"!==e.name)throw e;return e.errno}},c:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a>2],s=z[r+4>>2];r+=8;var l=ge.write(e,A,i,s,n);if(l<0)return-1;o+=l,void 0!==n&&(n+=l)}return o})(ye.getStreamFromFD(e),r,t);return z[n>>2]=o,0}catch(e){if(void 0===ge||"ErrnoError"!==e.name)throw e;return e.errno}},e:function(e,r,t){var n=$e();try{return Me(e)(r,t)}catch(e){if(We(n),e!==e+0)throw e;qe(1,0)}},n:function(e,r,t,n,o,a,i,s,l,u,c,d){var f=$e();try{return Ge(e,r,t,n,o,a,i,s,l,u,c,d)}catch(e){if(We(f),e!==e+0)throw e;qe(1,0)}},k:function(e,r,t){var n=$e();try{Me(e)(r,t)}catch(e){if(We(n),e!==e+0)throw e;qe(1,0)}},y:function(e,r,t){return function(e,r){let t=oe(e);if(t.startsWith("/tex/")&&(t=t.substr(5)),t.includes("/"))return 0;const n=r+"/"+t;if(n in c)return 0;if(n in d)return s(de(d[n]));const o=self.texlive_endpoint+n;let i=new XMLHttpRequest;i.open("GET",o,!1),i.timeout=15e4,i.responseType="arraybuffer",console.log("Start downloading texlive file "+o);try{i.send()}catch(e){return console.log("TexLive Download Failed "+o),0}if(200===i.status){let e=i.response;const r=i.getResponseHeader("fileid"),t=a+"/"+r;return ge.writeFile(t,new Uint8Array(e)),d[n]=t,s(de(t))}return 301===i.status?(console.log("TexLive File not exists "+o),c[n]=1,0):0}(e,r)}},Ne=function(){var e,t,n,o={a:Le};function a(e,r){var t;return Ne=e.exports,S=Ne.z,j(),Se=Ne.C,t=Ne.A,N.unshift(t),q(),Ne}if(I(),r.instantiateWasm)try{return r.instantiateWasm(o,a)}catch(e){return F(`Module.instantiateWasm callback failed with error: ${e}`),!1}return e=W,t=o,n=function(e){a(e.instance)},_||"function"!=typeof WebAssembly.instantiateStreaming||Y(e)||V(e)||y||"function"!=typeof fetch?Z(e,t,n):fetch(e,{credentials:"same-origin"}).then((r=>WebAssembly.instantiateStreaming(r,t).then(n,(function(r){return F(`wasm streaming compile failed: ${r}`),F("falling back to ArrayBuffer instantiation"),Z(e,t,n)})))),{}}(),Oe=e=>(Oe=Ne.B)(e),Ue=r._compilePDF=()=>(Ue=r._compilePDF=Ne.D)();r._setMainEntry=e=>(r._setMainEntry=Ne.E)(e);var Be,He=r._main=(e,t)=>(He=r._main=Ne.F)(e,t),Ie=()=>(Ie=Ne.G)(),qe=(e,r)=>(qe=Ne.H)(e,r),$e=()=>($e=Ne.I)(),We=e=>(We=Ne.J)(e),Xe=e=>(Xe=Ne.K)(e),Ge=r.dynCall_iiiiiiiiiij=(e,t,n,o,a,i,s,l,u,c,d,f)=>(Ge=r.dynCall_iiiiiiiiiij=Ne.L)(e,t,n,o,a,i,s,l,u,c,d,f);function Ke(){function e(){Be||(Be=!0,r.calledRun=!0,C||(r.noFSInit||ge.init.initialized||ge.init(),ge.ignorePermissions=!1,ee(N),ee(O),r.onRuntimeInitialized&&r.onRuntimeInitialized(),Ye&&function(){var e=He;try{var r=e(0,0);return Fe(r,!0),r}catch(e){return Pe(e)}}(),function(){if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;)e=r.postRun.shift(),U.unshift(e);var e;ee(U)}()))}B>0||(!function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)e=r.preRun.shift(),L.unshift(e);var e;ee(L)}(),B>0||(r.setStatus?(r.setStatus("Running..."),setTimeout((function(){setTimeout((function(){r.setStatus("")}),1),e()}),1)):e()))}if(r.cwrap=Te,H=function e(){Be||Ke(),Be||(H=e)},r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();var Ye=!0;r.noInitialRun&&(Ye=!1),Ke()}(s),a(s.exports)}));
diff --git a/public/swiftlatexdvipdfm.wasm b/public/swiftlatexdvipdfm.wasm
new file mode 100644
index 00000000..32e5ae90
Binary files /dev/null and b/public/swiftlatexdvipdfm.wasm differ
diff --git a/public/swiftlatexpdftex.js b/public/swiftlatexpdftex.js
new file mode 100644
index 00000000..8c171cba
--- /dev/null
+++ b/public/swiftlatexpdftex.js
@@ -0,0 +1,6 @@
+!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r(require("fs"),require("path")):"function"==typeof define&&define.amd?define(["fs","path"],r):((e="undefined"!=typeof globalThis?globalThis:e||self)["native/pdftex"]=e["native/pdftex"]||{},e["native/pdftex"]["wasm/swiftlatexpdftex"]=e["native/pdftex"]["wasm/swiftlatexpdftex"]||{},e["native/pdftex"]["wasm/swiftlatexpdftex"].js=r(e.require$$1,e.require$$2))}(this,(function(e,r){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=t(e),o=t(r);function a(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function i(e){if(e.__esModule)return e;var r=e.default;if("function"==typeof r){var t=function e(){return this instanceof e?Reflect.construct(r,arguments,this.constructor):r.apply(this,arguments)};t.prototype=r.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(e).forEach((function(r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})})),t}var s={exports:{}};
+/**
+ * @license
+ * Copyright 2019 Google LLC
+ * SPDX-License-Identifier: Apache-2.0
+ */const l=Symbol("Comlink.proxy"),u=Symbol("Comlink.endpoint"),c=Symbol("Comlink.releaseProxy"),f=Symbol("Comlink.finalizer"),d=Symbol("Comlink.thrown"),m=e=>"object"==typeof e&&null!==e||"function"==typeof e,p=new Map([["proxy",{canHandle:e=>m(e)&&e[l],serialize(e){const{port1:r,port2:t}=new MessageChannel;return h(e,r),[t,[t]]},deserialize:e=>(e.start(),v(e))}],["throw",{canHandle:e=>m(e)&&d in e,serialize({value:e}){let r;return r=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[r,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function h(e,r=globalThis,t=["*"]){r.addEventListener("message",(function n(o){if(!o||!o.data)return;if(!function(e,r){for(const t of e){if(r===t||"*"===t)return!0;if(t instanceof RegExp&&t.test(r))return!0}return!1}(t,o.origin))return void console.warn(`Invalid origin '${o.origin}' for comlink proxy`);const{id:a,type:i,path:s}=Object.assign({path:[]},o.data),l=(o.data.argumentList||[]).map(A);let u;try{const r=s.slice(0,-1).reduce(((e,r)=>e[r]),e),t=s.reduce(((e,r)=>e[r]),e);switch(i){case"GET":u=t;break;case"SET":r[s.slice(-1)[0]]=A(o.data.value),u=!0;break;case"APPLY":u=t.apply(r,l);break;case"CONSTRUCT":u=F(new t(...l));break;case"ENDPOINT":{const{port1:r,port2:t}=new MessageChannel;h(e,t),u=D(r,[r])}break;case"RELEASE":u=void 0;break;default:return}}catch(e){u={value:e,[d]:0}}Promise.resolve(u).catch((e=>({value:e,[d]:0}))).then((t=>{const[o,s]=M(t);r.postMessage(Object.assign(Object.assign({},o),{id:a}),s),"RELEASE"===i&&(r.removeEventListener("message",n),w(r),f in e&&"function"==typeof e[f]&&e[f]())})).catch((e=>{const[t,n]=M({value:new TypeError("Unserializable return value"),[d]:0});r.postMessage(Object.assign(Object.assign({},t),{id:a}),n)}))})),r.start&&r.start()}function w(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function v(e,r){return b(e,[],r)}function g(e){if(e)throw new Error("Proxy has been released and is not useable")}function y(e){return x(e,{type:"RELEASE"}).then((()=>{w(e)}))}const E=new WeakMap,_="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const r=(E.get(e)||0)-1;E.set(e,r),0===r&&y(e)}));function b(e,r=[],t=function(){}){let n=!1;const o=new Proxy(t,{get(t,a){if(g(n),a===c)return()=>{!function(e){_&&_.unregister(e)}(o),y(e),n=!0};if("then"===a){if(0===r.length)return{then:()=>o};const t=x(e,{type:"GET",path:r.map((e=>e.toString()))}).then(A);return t.then.bind(t)}return b(e,[...r,a])},set(t,o,a){g(n);const[i,s]=M(a);return x(e,{type:"SET",path:[...r,o].map((e=>e.toString())),value:i},s).then(A)},apply(t,o,a){g(n);const i=r[r.length-1];if(i===u)return x(e,{type:"ENDPOINT"}).then(A);if("bind"===i)return b(e,r.slice(0,-1));const[s,l]=k(a);return x(e,{type:"APPLY",path:r.map((e=>e.toString())),argumentList:s},l).then(A)},construct(t,o){g(n);const[a,i]=k(o);return x(e,{type:"CONSTRUCT",path:r.map((e=>e.toString())),argumentList:a},i).then(A)}});return function(e,r){const t=(E.get(r)||0)+1;E.set(r,t),_&&_.register(e,r,e)}(o,e),o}function k(e){const r=e.map(M);return[r.map((e=>e[0])),(t=r.map((e=>e[1])),Array.prototype.concat.apply([],t))];var t}const S=new WeakMap;function D(e,r){return S.set(e,r),e}function F(e){return Object.assign(e,{[l]:!0})}function M(e){for(const[r,t]of p)if(t.canHandle(e)){const[n,o]=t.serialize(e);return[{type:"HANDLER",name:r,value:n},o]}return[{type:"RAW",value:e},S.get(e)||[]]}function A(e){switch(e.type){case"HANDLER":return p.get(e.name).deserialize(e.value);case"RAW":return e.value}}function x(e,r,t){return new Promise((n=>{const o=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");e.addEventListener("message",(function r(t){t.data&&t.data.id&&t.data.id===o&&(e.removeEventListener("message",r),n(t.data))})),e.start&&e.start(),e.postMessage(Object.assign({id:o},r),t)}))}var P=i(Object.freeze({__proto__:null,createEndpoint:u,expose:h,finalizer:f,proxy:F,proxyMarker:l,releaseProxy:c,transfer:D,transferHandlers:p,windowEndpoint:function(e,r=globalThis,t="*"){return{postMessage:(r,n)=>e.postMessage(r,t,n),addEventListener:r.addEventListener.bind(r),removeEventListener:r.removeEventListener.bind(r)}},wrap:v}));return function(e){var r=void 0!==r?r:{};const t=P,a="/tex",i="/work";self.memlog="",self.initmem=void 0,self.mainfile="main.tex",self.texlive_endpoint=void 0,self.extension=void 0;r={print(e){self.memlog+=e+"\n"},printErr(e){self.memlog+=e+"\n",console.log(e)},preRun(){Ee.mkdir(a),Ee.mkdir(i)},postRun(){var e,r;self.postMessage("wasm_initialized"),self.initmem=(e=F.buffer,(r=new Uint8Array(e.byteLength)).set(new Uint8Array(e)),r)},onAbort(){self.memlog+="Engine crashed",console.error("full log",self.memlog)}};function s(e){let r=Ke(e.length);return T.set(new Uint8Array(e),r),r}function l(){self.memlog="",self.initmem&&new Uint8Array(F.buffer).set(self.initmem),function(){for(var e=0;e{throw r},y="object"==typeof window,E="function"==typeof importScripts,_="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,b="";if(_){var k=n.default,S=o.default;b=E?S.dirname(b)+"/":__dirname+"/",d=(e,r)=>(e=Z(e)?new URL(e):S.normalize(e),k.readFileSync(e,r?void 0:"utf8")),p=e=>{var r=d(e,!0);return r.buffer||(r=new Uint8Array(r)),r},m=(e,r,t,n=!0)=>{e=Z(e)?new URL(e):S.normalize(e),k.readFile(e,n?void 0:"utf8",((e,o)=>{e?t(e):r(n?o.buffer:o)}))},!r.thisProgram&&process.argv.length>1&&(v=process.argv[1].replace(/\\/g,"/")),w=process.argv.slice(2),e.exports=r,process.on("uncaughtException",(e=>{if(!("unwind"===e||e instanceof re||e.context instanceof re))throw e})),g=(e,r)=>{throw process.exitCode=e,r},r.inspect=()=>"[Emscripten Module object]"}else(y||E)&&(E?b=self.location.href:"undefined"!=typeof document&&document.currentScript&&(b=document.currentScript.src),b=0!==b.indexOf("blob:")?b.substr(0,b.replace(/[?#].*/,"").lastIndexOf("/")+1):"",d=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},E&&(p=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),m=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)});var D,F,M=r.print||console.log.bind(console),A=r.printErr||console.error.bind(console);Object.assign(r,h),h=null,r.arguments&&(w=r.arguments),r.thisProgram&&(v=r.thisProgram),r.quit&&(g=r.quit),r.wasmBinary&&(D=r.wasmBinary),"object"!=typeof WebAssembly&&W("no native wasm support detected");var x,R,T,z,O,L,j=!1;function C(){var e=F.buffer;r.HEAP8=R=new Int8Array(e),r.HEAP16=z=new Int16Array(e),r.HEAPU8=T=new Uint8Array(e),r.HEAPU16=new Uint16Array(e),r.HEAP32=O=new Int32Array(e),r.HEAPU32=L=new Uint32Array(e),r.HEAPF32=new Float32Array(e),r.HEAPF64=new Float64Array(e)}var N=[],H=[],B=[],U=[];var I=0,Y=null;function q(e){I++,r.monitorRunDependencies&&r.monitorRunDependencies(I)}function $(e){if(I--,r.monitorRunDependencies&&r.monitorRunDependencies(I),0==I&&Y){var t=Y;Y=null,t()}}function W(e){throw r.onAbort&&r.onAbort(e),A(e="Aborted("+e+")"),j=!0,x=1,e+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(e)}var X,G,V,K,J=e=>e.startsWith("data:application/octet-stream;base64,"),Z=e=>e.startsWith("file://");function Q(e){if(e==X&&D)return new Uint8Array(D);if(p)return p(e);throw"both async and sync fetching of the wasm failed"}function ee(e,r,t){return function(e){if(!D&&(y||E)){if("function"==typeof fetch&&!Z(e))return fetch(e,{credentials:"same-origin"}).then((r=>{if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()})).catch((()=>Q(e)));if(m)return new Promise(((r,t)=>{m(e,(e=>r(new Uint8Array(e))),t)}))}return Promise.resolve().then((()=>Q(e)))}(e).then((e=>WebAssembly.instantiate(e,r))).then((e=>e)).then(t,(e=>{A(`failed to asynchronously prepare wasm: ${e}`),W(e)}))}function re(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}J(X="swiftlatexpdftex.wasm")||(G=X,X=r.locateFile?r.locateFile(G,b):b+G);var te=e=>{for(;e.length>0;)e.shift()(r)},ne=r.noExitRuntime||!0,oe="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,ae=(e,r,t)=>{for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&oe)return oe.decode(e.subarray(r,o));for(var a="";r>10,56320|1023&u)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a},ie=(e,r)=>e?ae(T,e,r):"",se={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=se.isAbs(e),t="/"===e.substr(-1);return(e=se.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=se.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=se.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return se.normalize(e.join("/"))},join2:(e,r)=>se.normalize(e+"/"+r)},le=e=>(le=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(_)try{var e=require("crypto");if(e.randomFillSync)return r=>e.randomFillSync(r);var r=e.randomBytes;return e=>(e.set(r(e.byteLength)),e)}catch(e){}W("initRandomDevice")})())(e),ue={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:Ee.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=se.isAbs(n)}return(r?"/":"")+(e=se.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=ue.resolve(e).substr(1),r=ue.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s{for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r},de=(e,r,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i);if(s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)break;r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-o};function me(e,r,t){var n=t>0?t:fe(e)+1,o=new Array(n),a=de(e,o,0,o.length);return r&&(o.length=a),o}var pe={ttys:[],init(){},shutdown(){},register(e,r){pe.ttys[e]={input:[],output:[],ops:r},Ee.registerDevice(e,pe.stream_ops)},stream_ops:{open(e){var r=pe.ttys[e.node.rdev];if(!r)throw new Ee.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new Ee.ErrnoError(60);for(var a=0,i=0;i(()=>{if(!ce.length){var e=null;if(_){var r=Buffer.alloc(256),t=0,n=process.stdin.fd;try{t=k.readSync(n,r)}catch(e){if(!e.toString().includes("EOF"))throw e;t=0}e=t>0?r.slice(0,t).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;ce=me(e,!0)}return ce.shift()})(),put_char(e,r){null===r||10===r?(M(ae(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(M(ae(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(A(ae(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(A(ae(e.output,0)),e.output=[])}}},he=e=>{W()},we={ops_table:null,mount:e=>we.createNode(null,"/",16895,0),createNode(e,r,t,n){if(Ee.isBlkdev(t)||Ee.isFIFO(t))throw new Ee.ErrnoError(63);we.ops_table||(we.ops_table={dir:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,lookup:we.node_ops.lookup,mknod:we.node_ops.mknod,rename:we.node_ops.rename,unlink:we.node_ops.unlink,rmdir:we.node_ops.rmdir,readdir:we.node_ops.readdir,symlink:we.node_ops.symlink},stream:{llseek:we.stream_ops.llseek}},file:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:{llseek:we.stream_ops.llseek,read:we.stream_ops.read,write:we.stream_ops.write,allocate:we.stream_ops.allocate,mmap:we.stream_ops.mmap,msync:we.stream_ops.msync}},link:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,readlink:we.node_ops.readlink},stream:{}},chrdev:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:Ee.chrdev_stream_ops}});var o=Ee.createNode(e,r,t,n);return Ee.isDir(o.mode)?(o.node_ops=we.ops_table.dir.node,o.stream_ops=we.ops_table.dir.stream,o.contents={}):Ee.isFile(o.mode)?(o.node_ops=we.ops_table.file.node,o.stream_ops=we.ops_table.file.stream,o.usedBytes=0,o.contents=null):Ee.isLink(o.mode)?(o.node_ops=we.ops_table.link.node,o.stream_ops=we.ops_table.link.stream):Ee.isChrdev(o.mode)&&(o.node_ops=we.ops_table.chrdev.node,o.stream_ops=we.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=Ee.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,Ee.isDir(e.mode)?r.size=4096:Ee.isFile(e.mode)?r.size=e.usedBytes:Ee.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&we.resizeFileStorage(e,r.size)},lookup(e,r){throw Ee.genericErrors[44]},mknod:(e,r,t,n)=>we.createNode(e,r,t,n),rename(e,r,t){if(Ee.isDir(e.mode)){var n;try{n=Ee.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new Ee.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=Ee.lookupNode(e,r);for(var n in t.contents)throw new Ee.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t in e.contents)e.contents.hasOwnProperty(t)&&r.push(t);return r},symlink(e,r,t){var n=we.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!Ee.isLink(e.mode))throw new Ee.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s0||t+r(we.stream_ops.write(e,r,0,n,t,!1),0)}},ve=(e,r,t,n)=>{var o=n?"":`al ${e}`;m(e,(t=>{var n;n=`Loading data file "${e}" failed (no arrayBuffer).`,t||W(n),r(new Uint8Array(t)),o&&$()}),(r=>{if(!t)throw`Loading data file "${e}" failed.`;t()})),o&&q()},ge=r.preloadPlugins||[],ye=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},Ee={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e,r={}){if(!(e=ue.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new Ee.ErrnoError(32);for(var t=e.split("/").filter((e=>!!e)),n=Ee.root,o="/",a=0;a40)throw new Ee.ErrnoError(32)}}return{path:o,node:n}},getPath(e){for(var r;;){if(Ee.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n>>0)%Ee.nameTable.length},hashAddNode(e){var r=Ee.hashName(e.parent.id,e.name);e.name_next=Ee.nameTable[r],Ee.nameTable[r]=e},hashRemoveNode(e){var r=Ee.hashName(e.parent.id,e.name);if(Ee.nameTable[r]===e)Ee.nameTable[r]=e.name_next;else for(var t=Ee.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=Ee.mayLookup(e);if(t)throw new Ee.ErrnoError(t,e);for(var n=Ee.hashName(e.id,r),o=Ee.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return Ee.lookup(e,r)},createNode(e,r,t,n){var o=new Ee.FSNode(e,r,t,n);return Ee.hashAddNode(o),o},destroyNode(e){Ee.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>Ee.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){var r=Ee.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{Ee.lookupNode(e,r);return 20}catch(e){}return Ee.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=Ee.lookupNode(e,r)}catch(e){return e.errno}var o=Ee.nodePermissions(e,"wx");if(o)return o;if(t){if(!Ee.isDir(n.mode))return 54;if(Ee.isRoot(n)||Ee.getPath(n)===Ee.cwd())return 10}else if(Ee.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?Ee.isLink(e.mode)?32:Ee.isDir(e.mode)&&("r"!==Ee.flagsToPermissionString(r)||512&r)?31:Ee.nodePermissions(e,Ee.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Ee.MAX_OPEN_FDS;e++)if(!Ee.streams[e])return e;throw new Ee.ErrnoError(33)},getStreamChecked(e){var r=Ee.getStream(e);if(!r)throw new Ee.ErrnoError(8);return r},getStream:e=>Ee.streams[e],createStream:(e,r=-1)=>(Ee.FSStream||(Ee.FSStream=function(){this.shared={}},Ee.FSStream.prototype={},Object.defineProperties(Ee.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Ee.FSStream,e),-1==r&&(r=Ee.nextfd()),e.fd=r,Ee.streams[r]=e,e),closeStream(e){Ee.streams[e]=null},chrdev_stream_ops:{open(e){var r=Ee.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new Ee.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){Ee.devices[e]={stream_ops:r}},getDevice:e=>Ee.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),Ee.syncFSRequests++,Ee.syncFSRequests>1&&A(`warning: ${Ee.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=Ee.getMounts(Ee.root.mount),n=0;function o(e){return Ee.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach((r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)}))},mount(e,r,t){var n,o="/"===t,a=!t;if(o&&Ee.root)throw new Ee.ErrnoError(10);if(!o&&!a){var i=Ee.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,Ee.isMountpoint(n))throw new Ee.ErrnoError(10);if(!Ee.isDir(n.mode))throw new Ee.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},l=e.mount(s);return l.mount=s,s.root=l,o?Ee.root=l:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),l},unmount(e){var r=Ee.lookupPath(e,{follow_mount:!1});if(!Ee.isMountpoint(r.node))throw new Ee.ErrnoError(28);var t=r.node,n=t.mounted,o=Ee.getMounts(n);Object.keys(Ee.nameTable).forEach((e=>{for(var r=Ee.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&Ee.destroyNode(r),r=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=Ee.lookupPath(e,{parent:!0}).node,o=se.basename(e);if(!o||"."===o||".."===o)throw new Ee.ErrnoError(28);var a=Ee.mayCreate(n,o);if(a)throw new Ee.ErrnoError(a);if(!n.node_ops.mknod)throw new Ee.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,Ee.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,Ee.mknod(e,r,0)),mkdirTree(e,r){for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,Ee.mknod(e,r,t)),symlink(e,r){if(!ue.resolve(e))throw new Ee.ErrnoError(44);var t=Ee.lookupPath(r,{parent:!0}).node;if(!t)throw new Ee.ErrnoError(44);var n=se.basename(r),o=Ee.mayCreate(t,n);if(o)throw new Ee.ErrnoError(o);if(!t.node_ops.symlink)throw new Ee.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,o=se.dirname(e),a=se.dirname(r),i=se.basename(e),s=se.basename(r);if(t=Ee.lookupPath(e,{parent:!0}).node,n=Ee.lookupPath(r,{parent:!0}).node,!t||!n)throw new Ee.ErrnoError(44);if(t.mount!==n.mount)throw new Ee.ErrnoError(75);var l,u=Ee.lookupNode(t,i),c=ue.relative(e,a);if("."!==c.charAt(0))throw new Ee.ErrnoError(28);if("."!==(c=ue.relative(r,o)).charAt(0))throw new Ee.ErrnoError(55);try{l=Ee.lookupNode(n,s)}catch(e){}if(u!==l){var f=Ee.isDir(u.mode),d=Ee.mayDelete(t,i,f);if(d)throw new Ee.ErrnoError(d);if(d=l?Ee.mayDelete(n,s,f):Ee.mayCreate(n,s))throw new Ee.ErrnoError(d);if(!t.node_ops.rename)throw new Ee.ErrnoError(63);if(Ee.isMountpoint(u)||l&&Ee.isMountpoint(l))throw new Ee.ErrnoError(10);if(n!==t&&(d=Ee.nodePermissions(t,"w")))throw new Ee.ErrnoError(d);Ee.hashRemoveNode(u);try{t.node_ops.rename(u,n,s)}catch(e){throw e}finally{Ee.hashAddNode(u)}}},rmdir(e){var r=Ee.lookupPath(e,{parent:!0}).node,t=se.basename(e),n=Ee.lookupNode(r,t),o=Ee.mayDelete(r,t,!0);if(o)throw new Ee.ErrnoError(o);if(!r.node_ops.rmdir)throw new Ee.ErrnoError(63);if(Ee.isMountpoint(n))throw new Ee.ErrnoError(10);r.node_ops.rmdir(r,t),Ee.destroyNode(n)},readdir(e){var r=Ee.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new Ee.ErrnoError(54);return r.node_ops.readdir(r)},unlink(e){var r=Ee.lookupPath(e,{parent:!0}).node;if(!r)throw new Ee.ErrnoError(44);var t=se.basename(e),n=Ee.lookupNode(r,t),o=Ee.mayDelete(r,t,!1);if(o)throw new Ee.ErrnoError(o);if(!r.node_ops.unlink)throw new Ee.ErrnoError(63);if(Ee.isMountpoint(n))throw new Ee.ErrnoError(10);r.node_ops.unlink(r,t),Ee.destroyNode(n)},readlink(e){var r=Ee.lookupPath(e).node;if(!r)throw new Ee.ErrnoError(44);if(!r.node_ops.readlink)throw new Ee.ErrnoError(28);return ue.resolve(Ee.getPath(r.parent),r.node_ops.readlink(r))},stat(e,r){var t=Ee.lookupPath(e,{follow:!r}).node;if(!t)throw new Ee.ErrnoError(44);if(!t.node_ops.getattr)throw new Ee.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>Ee.stat(e,!0),chmod(e,r,t){var n;"string"==typeof e?n=Ee.lookupPath(e,{follow:!t}).node:n=e;if(!n.node_ops.setattr)throw new Ee.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod(e,r){Ee.chmod(e,r,!0)},fchmod(e,r){var t=Ee.getStreamChecked(e);Ee.chmod(t.node,r)},chown(e,r,t,n){var o;"string"==typeof e?o=Ee.lookupPath(e,{follow:!n}).node:o=e;if(!o.node_ops.setattr)throw new Ee.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(e,r,t){Ee.chown(e,r,t,!0)},fchown(e,r,t){var n=Ee.getStreamChecked(e);Ee.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new Ee.ErrnoError(28);var t;"string"==typeof e?t=Ee.lookupPath(e,{follow:!0}).node:t=e;if(!t.node_ops.setattr)throw new Ee.ErrnoError(63);if(Ee.isDir(t.mode))throw new Ee.ErrnoError(31);if(!Ee.isFile(t.mode))throw new Ee.ErrnoError(28);var n=Ee.nodePermissions(t,"w");if(n)throw new Ee.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=Ee.getStreamChecked(e);if(0==(2097155&t.flags))throw new Ee.ErrnoError(28);Ee.truncate(t.node,r)},utime(e,r,t){var n=Ee.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open(e,t,n){if(""===e)throw new Ee.ErrnoError(44);var o;if(n=void 0===n?438:n,n=64&(t="string"==typeof t?(e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r})(t):t)?4095&n|32768:0,"object"==typeof e)o=e;else{e=se.normalize(e);try{o=Ee.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var a=!1;if(64&t)if(o){if(128&t)throw new Ee.ErrnoError(20)}else o=Ee.mknod(e,n,0),a=!0;if(!o)throw new Ee.ErrnoError(44);if(Ee.isChrdev(o.mode)&&(t&=-513),65536&t&&!Ee.isDir(o.mode))throw new Ee.ErrnoError(54);if(!a){var i=Ee.mayOpen(o,t);if(i)throw new Ee.ErrnoError(i)}512&t&&!a&&Ee.truncate(o,0),t&=-131713;var s=Ee.createStream({node:o,path:Ee.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!r.logReadFiles||1&t||(Ee.readFiles||(Ee.readFiles={}),e in Ee.readFiles||(Ee.readFiles[e]=1)),s},close(e){if(Ee.isClosed(e))throw new Ee.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Ee.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(Ee.isClosed(e))throw new Ee.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Ee.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Ee.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,o){if(n<0||o<0)throw new Ee.ErrnoError(28);if(Ee.isClosed(e))throw new Ee.ErrnoError(8);if(1==(2097155&e.flags))throw new Ee.ErrnoError(8);if(Ee.isDir(e.node.mode))throw new Ee.ErrnoError(31);if(!e.stream_ops.read)throw new Ee.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new Ee.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write(e,r,t,n,o,a){if(n<0||o<0)throw new Ee.ErrnoError(28);if(Ee.isClosed(e))throw new Ee.ErrnoError(8);if(0==(2097155&e.flags))throw new Ee.ErrnoError(8);if(Ee.isDir(e.node.mode))throw new Ee.ErrnoError(31);if(!e.stream_ops.write)throw new Ee.ErrnoError(28);e.seekable&&1024&e.flags&&Ee.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new Ee.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},allocate(e,r,t){if(Ee.isClosed(e))throw new Ee.ErrnoError(8);if(r<0||t<=0)throw new Ee.ErrnoError(28);if(0==(2097155&e.flags))throw new Ee.ErrnoError(8);if(!Ee.isFile(e.node.mode)&&!Ee.isDir(e.node.mode))throw new Ee.ErrnoError(43);if(!e.stream_ops.allocate)throw new Ee.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,o){if(0!=(2&n)&&0==(2&o)&&2!=(2097155&e.flags))throw new Ee.ErrnoError(2);if(1==(2097155&e.flags))throw new Ee.ErrnoError(2);if(!e.stream_ops.mmap)throw new Ee.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new Ee.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,n=Ee.open(e,r.flags),o=Ee.stat(e).size,a=new Uint8Array(o);return Ee.read(n,a,0,o,0),"utf8"===r.encoding?t=ae(a,0):"binary"===r.encoding&&(t=a),Ee.close(n),t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=Ee.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(fe(r)+1),a=de(r,o,0,o.length);Ee.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");Ee.write(n,r,0,r.byteLength,void 0,t.canOwn)}Ee.close(n)},cwd:()=>Ee.currentPath,chdir(e){var r=Ee.lookupPath(e,{follow:!0});if(null===r.node)throw new Ee.ErrnoError(44);if(!Ee.isDir(r.node.mode))throw new Ee.ErrnoError(54);var t=Ee.nodePermissions(r.node,"x");if(t)throw new Ee.ErrnoError(t);Ee.currentPath=r.path},createDefaultDirectories(){Ee.mkdir("/tmp"),Ee.mkdir("/home"),Ee.mkdir("/home/web_user")},createDefaultDevices(){Ee.mkdir("/dev"),Ee.registerDevice(Ee.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),Ee.mkdev("/dev/null",Ee.makedev(1,3)),pe.register(Ee.makedev(5,0),pe.default_tty_ops),pe.register(Ee.makedev(6,0),pe.default_tty1_ops),Ee.mkdev("/dev/tty",Ee.makedev(5,0)),Ee.mkdev("/dev/tty1",Ee.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(r=le(e).byteLength),e[--r]);Ee.createDevice("/dev","random",t),Ee.createDevice("/dev","urandom",t),Ee.mkdir("/dev/shm"),Ee.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Ee.mkdir("/proc");var e=Ee.mkdir("/proc/self");Ee.mkdir("/proc/self/fd"),Ee.mount({mount(){var r=Ee.createNode(e,"fd",16895,73);return r.node_ops={lookup(e,r){var t=+r,n=Ee.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},r}},{},"/proc/self/fd")},createStandardStreams(){r.stdin?Ee.createDevice("/dev","stdin",r.stdin):Ee.symlink("/dev/tty","/dev/stdin"),r.stdout?Ee.createDevice("/dev","stdout",null,r.stdout):Ee.symlink("/dev/tty","/dev/stdout"),r.stderr?Ee.createDevice("/dev","stderr",null,r.stderr):Ee.symlink("/dev/tty1","/dev/stderr"),Ee.open("/dev/stdin",0),Ee.open("/dev/stdout",1),Ee.open("/dev/stderr",1)},ensureErrnoError(){Ee.ErrnoError||(Ee.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Ee.ErrnoError.prototype=new Error,Ee.ErrnoError.prototype.constructor=Ee.ErrnoError,[44].forEach((e=>{Ee.genericErrors[e]=new Ee.ErrnoError(e),Ee.genericErrors[e].stack=""})))},staticInit(){Ee.ensureErrnoError(),Ee.nameTable=new Array(4096),Ee.mount(we,{},"/"),Ee.createDefaultDirectories(),Ee.createDefaultDevices(),Ee.createSpecialDirectories(),Ee.filesystems={MEMFS:we}},init(e,t,n){Ee.init.initialized=!0,Ee.ensureErrnoError(),r.stdin=e||r.stdin,r.stdout=t||r.stdout,r.stderr=n||r.stderr,Ee.createStandardStreams()},quit(){Ee.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+t+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),o=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,a=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,i=1048576;o||(i=n);var s=this;s.setDataGetter((e=>{var r=e*i,o=(e+1)*i-1;if(o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+e+"-"+r),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):me(o.responseText||"",!0)})(r,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!a&&n||(i=n=1,n=this.getter(0).length,i=n,M("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!E)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i=new a;Object.defineProperties(i,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:i}}else s={isDevice:!1,url:t};var l=Ee.createFile(e,r,s,n,o);s.contents?l.contents=s.contents:s.url&&(l.contents=null,l.url=s.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var u={};function c(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s{var r=l.stream_ops[e];u[e]=function(){return Ee.forceLoadFile(l),r.apply(null,arguments)}})),u.read=(e,r,t,n,o)=>(Ee.forceLoadFile(l),c(e,r,t,n,o)),u.mmap=(e,r,t,n,o)=>{Ee.forceLoadFile(l);var a=he();if(!a)throw new Ee.ErrnoError(48);return c(e,R,a,r,t),{ptr:a,allocated:!0}},l.stream_ops=u,l}},_e={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(se.isAbs(r))return r;var n;-100===e?n=Ee.cwd():n=_e.getStreamFromFD(e).path;if(0==r.length){if(!t)throw new Ee.ErrnoError(44);return n}return se.join2(n,r)},doStat(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&se.normalize(r)!==se.normalize(Ee.getPath(e.node)))return-54;throw e}O[t>>2]=n.dev,O[t+4>>2]=n.mode,L[t+8>>2]=n.nlink,O[t+12>>2]=n.uid,O[t+16>>2]=n.gid,O[t+20>>2]=n.rdev,K=[n.size>>>0,(V=n.size,+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],O[t+24>>2]=K[0],O[t+28>>2]=K[1],O[t+32>>2]=4096,O[t+36>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return K=[Math.floor(o/1e3)>>>0,(V=Math.floor(o/1e3),+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],O[t+40>>2]=K[0],O[t+44>>2]=K[1],L[t+48>>2]=o%1e3*1e3,K=[Math.floor(a/1e3)>>>0,(V=Math.floor(a/1e3),+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],O[t+56>>2]=K[0],O[t+60>>2]=K[1],L[t+64>>2]=a%1e3*1e3,K=[Math.floor(i/1e3)>>>0,(V=Math.floor(i/1e3),+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],O[t+72>>2]=K[0],O[t+76>>2]=K[1],L[t+80>>2]=i%1e3*1e3,K=[n.ino>>>0,(V=n.ino,+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],O[t+88>>2]=K[0],O[t+92>>2]=K[1],0},doMsync(e,r,t,n,o){if(!Ee.isFile(r.node.mode))throw new Ee.ErrnoError(43);if(2&n)return 0;var a=T.slice(e,e+t);Ee.msync(r,a,o,t,n)},varargs:void 0,get(){var e=O[+_e.varargs>>2];return _e.varargs+=4,e},getp:()=>_e.get(),getStr:e=>ie(e),getStreamFromFD:e=>Ee.getStreamChecked(e)};var be=(e,r,t)=>de(e,T,r,t);var ke=e=>e%4==0&&(e%100!=0||e%400==0),Se=[0,31,60,91,121,152,182,213,244,274,305,335],De=[0,31,59,90,120,151,181,212,243,273,304,334],Fe=(e,r)=>r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN;var Me=e=>{var r=fe(e)+1,t=Ke(r);return t&&be(e,t,r),t},Ae=e=>{var r=(e-F.buffer.byteLength+65535)/65536;try{return F.grow(r),C(),1}catch(e){}},xe={},Pe=()=>{if(!Pe.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:v||"./this.program"};for(var r in xe)void 0===xe[r]?delete e[r]:e[r]=xe[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);Pe.strings=t}return Pe.strings},Re=e=>{x=e,ne||(r.onExit&&r.onExit(e),j=!0),g(e,new re(e))},Te=(e,r)=>{x=e,Re(e)},ze=Te;var Oe,Le=[31,29,31,30,31,30,31,31,30,31,30,31],je=[31,28,31,30,31,30,31,31,30,31,30,31],Ce=(e,r)=>{R.set(e,r)},Ne=e=>{if(e instanceof re||"unwind"==e)return x;g(1,e)},He=e=>{var r=fe(e)+1,t=ar(r);return be(e,t,r),t},Be=[],Ue=e=>{var r=Be[e];return r||(e>=Be.length&&(Be.length=e+1),Be[e]=r=Oe.get(e)),r},Ie=e=>r["_"+e],Ye=(e,r,t,n,o)=>{var a={string:e=>{var r=0;return null!=e&&0!==e&&(r=He(e)),r},array:e=>{var r=ar(e.length);return Ce(e,r),r}};var i=Ie(e),s=[],l=0;if(n)for(var u=0;u{var o=!t||t.every((e=>"number"===e||"boolean"===e));return"string"!==r&&o&&!n?Ie(e):function(){return Ye(e,r,t,arguments)}},$e=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Ee.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n},We=365,Xe=146;Object.defineProperties($e.prototype,{read:{get:function(){return(this.mode&We)===We},set:function(e){e?this.mode|=We:this.mode&=-366}},write:{get:function(){return(this.mode&Xe)===Xe},set:function(e){e?this.mode|=Xe:this.mode&=-147}},isFolder:{get:function(){return Ee.isDir(this.mode)}},isDevice:{get:function(){return Ee.isChrdev(this.mode)}}}),Ee.FSNode=$e,Ee.createPreloadedFile=(e,r,t,n,o,a,i,s,l,u)=>{var c=r?ue.resolve(se.join2(e,r)):e;function f(t){function f(t){u&&u(),s||((e,r,t,n,o,a)=>{Ee.createDataFile(e,r,t,n,o,a)})(e,r,t,n,o,l),a&&a(),$()}((e,r,t,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return ge.forEach((a=>{o||a.canHandle(r)&&(a.handle(e,r,t,n),o=!0)})),o})(t,c,f,(()=>{i&&i(),$()}))||f(t)}q(),"string"==typeof t?ve(t,(e=>f(e)),i):f(t)},Ee.staticInit();var Ge={a:(e,r,t,n)=>{W(`Assertion failed: ${ie(e)}, at: `+[r?ie(r):"unknown filename",t,n?ie(n):"unknown function"])},F:function(e,r,t,n){try{if(r=_e.getStr(r),r=_e.calculateAt(e,r),-8&t)return-28;var o=Ee.lookupPath(r,{follow:!0}).node;if(!o)return-44;var a="";return 4&t&&(a+="r"),2&t&&(a+="w"),1&t&&(a+="x"),a&&Ee.nodePermissions(o,a)?-2:0}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return-e.errno}},p:function(e,r,t){_e.varargs=t;try{var n=_e.getStreamFromFD(e);switch(r){case 0:if((o=_e.get())<0)return-28;for(;Ee.streams[o];)o++;return Ee.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=_e.get();return n.flags|=o,0;case 5:o=_e.getp();return z[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return a=28,O[rr()>>2]=a,-1}}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return-e.errno}var a},C:function(e,r){try{if(0===r)return-28;var t=Ee.cwd(),n=fe(t)+1;return r>2]=o.c_iflag||0,O[a+4>>2]=o.c_oflag||0,O[a+8>>2]=o.c_cflag||0,O[a+12>>2]=o.c_lflag||0;for(var i=0;i<32;i++)R[a+i+17>>0]=o.c_cc[i]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){a=_e.getp();var s=O[a>>2],l=O[a+4>>2],u=O[a+8>>2],c=O[a+12>>2],f=[];for(i=0;i<32;i++)f.push(R[a+i+17>>0]);return n.tty.ops.ioctl_tcsets(n.tty,r,{c_iflag:s,c_oflag:l,c_cflag:u,c_lflag:c,c_cc:f})}return 0;case 21519:if(!n.tty)return-59;a=_e.getp();return O[a>>2]=0,0;case 21520:return n.tty?-28:-59;case 21531:a=_e.getp();return Ee.ioctl(n,r,a);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var d=n.tty.ops.ioctl_tiocgwinsz(n.tty);a=_e.getp();z[a>>1]=d[0],z[a+2>>1]=d[1]}return 0;default:return-28}}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return-e.errno}},D:function(e,r,t,n){_e.varargs=n;try{r=_e.getStr(r),r=_e.calculateAt(e,r);var o=n?_e.get():0;return Ee.open(r,t,o).fd}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return-e.errno}},y:function(e){try{return e=_e.getStr(e),Ee.rmdir(e),0}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return-e.errno}},x:function(e,r){try{return e=_e.getStr(e),_e.doStat(Ee.stat,e,r)}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return-e.errno}},z:function(e,r,t){try{return r=_e.getStr(r),r=_e.calculateAt(e,r),0===t?Ee.unlink(r):512===t?Ee.rmdir(r):W("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return-e.errno}},u:()=>{throw 1/0},s:function(e,r,t){var n=Fe(e,r),o=new Date(1e3*n);O[t>>2]=o.getSeconds(),O[t+4>>2]=o.getMinutes(),O[t+8>>2]=o.getHours(),O[t+12>>2]=o.getDate(),O[t+16>>2]=o.getMonth(),O[t+20>>2]=o.getFullYear()-1900,O[t+24>>2]=o.getDay();var a=0|(e=>(ke(e.getFullYear())?Se:De)[e.getMonth()]+e.getDate()-1)(o);O[t+28>>2]=a,O[t+36>>2]=-60*o.getTimezoneOffset();var i=new Date(o.getFullYear(),0,1),s=new Date(o.getFullYear(),6,1).getTimezoneOffset(),l=i.getTimezoneOffset(),u=0|(s!=l&&o.getTimezoneOffset()==Math.min(l,s));O[t+32>>2]=u},w:(e,r,t)=>{var n=(new Date).getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),i=o.getTimezoneOffset(),s=a.getTimezoneOffset(),l=Math.max(i,s);function u(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}L[e>>2]=60*l,O[r>>2]=Number(i!=s);var c=u(o),f=u(a),d=Me(c),m=Me(f);s>2]=d,L[t+4>>2]=m):(L[t>>2]=m,L[t+4>>2]=d)},f:()=>{W("")},m:()=>Date.now(),E:(e,r,t)=>T.copyWithin(e,r,r+t),v:e=>{var r=T.length,t=2147483648;if((e>>>=0)>t)return!1;for(var n,o,a=1;a<=4;a*=2){var i=r*(1+.2/a);i=Math.min(i,e+100663296);var s=Math.min(t,(n=Math.max(e,i))+((o=65536)-n%o)%o);if(Ae(s))return!0}return!1},A:(e,r)=>{var t=0;return Pe().forEach(((n,o)=>{var a=r+t;L[e+4*o>>2]=a,((e,r)=>{for(var t=0;t>0]=e.charCodeAt(t);R[r>>0]=0})(n,a),t+=n.length+1})),0},B:(e,r)=>{var t=Pe();L[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),L[r>>2]=n,0},l:ze,o:function(e){try{var r=_e.getStreamFromFD(e);return Ee.close(r),0}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return e.errno}},G:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a>2],s=L[r+4>>2];r+=8;var l=Ee.read(e,R,i,s,n);if(l<0)return-1;if(o+=l,l>2]=o,0}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return e.errno}},t:function(e,r,t,n,o){var a=Fe(r,t);try{if(isNaN(a))return 61;var i=_e.getStreamFromFD(e);return Ee.llseek(i,a,n),K=[i.position>>>0,(V=i.position,+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],O[o>>2]=K[0],O[o+4>>2]=K[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return e.errno}},n:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a>2],s=L[r+4>>2];r+=8;var l=Ee.write(e,R,i,s,n);if(l<0)return-1;o+=l,void 0!==n&&(n+=l)}return o})(_e.getStreamFromFD(e),r,t);return L[n>>2]=o,0}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return e.errno}},I:function(e){var r=nr();try{return Ue(e)()}catch(e){if(or(r),e!==e+0)throw e;tr(1,0)}},i:function(e,r){var t=nr();try{return Ue(e)(r)}catch(e){if(or(t),e!==e+0)throw e;tr(1,0)}},d:function(e,r,t){var n=nr();try{return Ue(e)(r,t)}catch(e){if(or(n),e!==e+0)throw e;tr(1,0)}},j:function(e,r,t,n){var o=nr();try{return Ue(e)(r,t,n)}catch(e){if(or(o),e!==e+0)throw e;tr(1,0)}},b:function(e,r,t,n,o){var a=nr();try{return Ue(e)(r,t,n,o)}catch(e){if(or(a),e!==e+0)throw e;tr(1,0)}},c:function(e,r,t,n,o,a){var i=nr();try{return Ue(e)(r,t,n,o,a)}catch(e){if(or(i),e!==e+0)throw e;tr(1,0)}},e:function(e){var r=nr();try{Ue(e)()}catch(e){if(or(r),e!==e+0)throw e;tr(1,0)}},h:function(e,r){var t=nr();try{Ue(e)(r)}catch(e){if(or(t),e!==e+0)throw e;tr(1,0)}},g:function(e,r,t){var n=nr();try{Ue(e)(r,t)}catch(e){if(or(n),e!==e+0)throw e;tr(1,0)}},r:function(e,r,t){return function(e,r){let t=ie(e);if(t.startsWith("/tex/")&&(t=t.substr(5)),t.includes("/"))return 0;const n=r+"/"+t;if(n in c)return 0;if(n in f)return s(me(f[n]));const o=self.texlive_endpoint+n;let i=new XMLHttpRequest;i.open("GET",o,!1),i.timeout=15e4,i.responseType="arraybuffer",console.log("Start downloading texlive file "+o);try{i.send()}catch(e){return console.log("TexLive Download Failed "+o),0}if(200===i.status){let e=i.response;const r=i.getResponseHeader("fileid"),t=a+"/"+r;return Ee.writeFile(t,new Uint8Array(e)),f[n]=t,s(me(t))}return 301===i.status?(console.log("TexLive File not exists "+o),c[n]=1,0):0}(e,r)},q:function(e,r){return kpse_find_pk_impl(e,r)},k:(e,r,t,n)=>{var o=L[n+40>>2],a={tm_sec:O[n>>2],tm_min:O[n+4>>2],tm_hour:O[n+8>>2],tm_mday:O[n+12>>2],tm_mon:O[n+16>>2],tm_year:O[n+20>>2],tm_wday:O[n+24>>2],tm_yday:O[n+28>>2],tm_isdst:O[n+32>>2],tm_gmtoff:O[n+36>>2],tm_zone:o?ie(o):""},i=ie(t),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var l in s)i=i.replace(new RegExp(l,"g"),s[l]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function f(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length0?1:0}var n;return 0===(n=t(e.getFullYear()-r.getFullYear()))&&0===(n=t(e.getMonth()-r.getMonth()))&&(n=t(e.getDate()-r.getDate())),n}function p(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function h(e){var r=((e,r)=>{for(var t=new Date(e.getTime());r>0;){var n=ke(t.getFullYear()),o=t.getMonth(),a=(n?Le:je)[o];if(!(r>a-t.getDate()))return t.setDate(t.getDate()+r),t;r-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t})(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),o=p(t),a=p(n);return m(o,r)<=0?m(a,r)<=0?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var w={"%a":e=>u[e.tm_wday].substring(0,3),"%A":e=>u[e.tm_wday],"%b":e=>c[e.tm_mon].substring(0,3),"%B":e=>c[e.tm_mon],"%C":e=>d((e.tm_year+1900)/100|0,2),"%d":e=>d(e.tm_mday,2),"%e":e=>f(e.tm_mday,2," "),"%g":e=>h(e).toString().substring(2),"%G":e=>h(e),"%H":e=>d(e.tm_hour,2),"%I":e=>{var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),d(r,2)},"%j":e=>d(e.tm_mday+((e,r)=>{for(var t=0,n=0;n<=r;t+=e[n++]);return t})(ke(e.tm_year+1900)?Le:je,e.tm_mon-1),3),"%m":e=>d(e.tm_mon+1,2),"%M":e=>d(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>d(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var r=e.tm_yday+7-e.tm_wday;return d(Math.floor(r/7),2)},"%V":e=>{var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&ke(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&ke(e.tm_year%400-1))&&r++}return d(r,2)},"%w":e=>e.tm_wday,"%W":e=>{var r=e.tm_yday+7-(e.tm_wday+6)%7;return d(Math.floor(r/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var r=e.tm_gmtoff,t=r>=0;return r=(r=Math.abs(r)/60)/60*100+r%60,(t?"+":"-")+String("0000"+r).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var l in i=i.replace(/%%/g,"\0\0"),w)i.includes(l)&&(i=i.replace(new RegExp(l,"g"),w[l](a)));var v=me(i=i.replace(/\0\0/g,"%"),!1);return v.length>r?0:(Ce(v,e),v.length-1)}},Ve=function(){var e,t,n,o={a:Ge};function a(e,r){var t;return Ve=e.exports,F=Ve.J,C(),Oe=Ve.R,t=Ve.K,H.unshift(t),$(),Ve}if(q(),r.instantiateWasm)try{return r.instantiateWasm(o,a)}catch(e){return A(`Module.instantiateWasm callback failed with error: ${e}`),!1}return e=X,t=o,n=function(e){a(e.instance)},D||"function"!=typeof WebAssembly.instantiateStreaming||J(e)||Z(e)||_||"function"!=typeof fetch?ee(e,t,n):fetch(e,{credentials:"same-origin"}).then((r=>WebAssembly.instantiateStreaming(r,t).then(n,(function(r){return A(`wasm streaming compile failed: ${r}`),A("falling back to ArrayBuffer instantiation"),ee(e,t,n)})))),{}}(),Ke=e=>(Ke=Ve.L)(e),Je=r._compileLaTeX=()=>(Je=r._compileLaTeX=Ve.M)();r._compileFormat=()=>(r._compileFormat=Ve.N)();var Ze=r._compileBibtex=()=>(Ze=r._compileBibtex=Ve.O)();r._setMainEntry=e=>(r._setMainEntry=Ve.P)(e);var Qe,er=r._main=(e,t)=>(er=r._main=Ve.Q)(e,t),rr=()=>(rr=Ve.S)(),tr=(e,r)=>(tr=Ve.T)(e,r),nr=()=>(nr=Ve.U)(),or=e=>(or=Ve.V)(e),ar=e=>(ar=Ve.W)(e);function ir(e=w){function t(){Qe||(Qe=!0,r.calledRun=!0,j||(r.noFSInit||Ee.init.initialized||Ee.init(),Ee.ignorePermissions=!1,te(H),te(B),r.onRuntimeInitialized&&r.onRuntimeInitialized(),sr&&function(e=[]){var r=er;e.unshift(v);var t=e.length,n=ar(4*(t+1)),o=n;e.forEach((e=>{L[o>>2]=He(e),o+=4})),L[o>>2]=0;try{var a=r(t,n);return Te(a,!0),a}catch(e){return Ne(e)}}(e),function(){if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;)e=r.postRun.shift(),U.unshift(e);var e;te(U)}()))}I>0||(!function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)e=r.preRun.shift(),N.unshift(e);var e;te(N)}(),I>0||(r.setStatus?(r.setStatus("Running..."),setTimeout((function(){setTimeout((function(){r.setStatus("")}),1),t()}),1)):t()))}if(r.cwrap=qe,Y=function e(){Qe||ir(),Qe||(Y=e)},r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();var sr=!0;r.noInitialRun&&(sr=!1),ir()}(s),a(s.exports)}));
diff --git a/public/swiftlatexpdftex.wasm b/public/swiftlatexpdftex.wasm
new file mode 100644
index 00000000..ad8ca365
Binary files /dev/null and b/public/swiftlatexpdftex.wasm differ
diff --git a/public/swiftlatexxetex.js b/public/swiftlatexxetex.js
new file mode 100644
index 00000000..0cf0f7b8
--- /dev/null
+++ b/public/swiftlatexxetex.js
@@ -0,0 +1,6 @@
+!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r(require("fs"),require("path")):"function"==typeof define&&define.amd?define(["fs","path"],r):((e="undefined"!=typeof globalThis?globalThis:e||self)["native/xetex"]=e["native/xetex"]||{},e["native/xetex"]["wasm/swiftlatexxetex"]=e["native/xetex"]["wasm/swiftlatexxetex"]||{},e["native/xetex"]["wasm/swiftlatexxetex"].js=r(e.require$$1,e.require$$2))}(this,(function(e,r){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=t(e),o=t(r);function a(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function i(e){if(e.__esModule)return e;var r=e.default;if("function"==typeof r){var t=function e(){return this instanceof e?Reflect.construct(r,arguments,this.constructor):r.apply(this,arguments)};t.prototype=r.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(e).forEach((function(r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})})),t}var s={exports:{}};
+/**
+ * @license
+ * Copyright 2019 Google LLC
+ * SPDX-License-Identifier: Apache-2.0
+ */const l=Symbol("Comlink.proxy"),u=Symbol("Comlink.endpoint"),c=Symbol("Comlink.releaseProxy"),f=Symbol("Comlink.finalizer"),d=Symbol("Comlink.thrown"),m=e=>"object"==typeof e&&null!==e||"function"==typeof e,p=new Map([["proxy",{canHandle:e=>m(e)&&e[l],serialize(e){const{port1:r,port2:t}=new MessageChannel;return h(e,r),[t,[t]]},deserialize:e=>(e.start(),v(e))}],["throw",{canHandle:e=>m(e)&&d in e,serialize({value:e}){let r;return r=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[r,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function h(e,r=globalThis,t=["*"]){r.addEventListener("message",(function n(o){if(!o||!o.data)return;if(!function(e,r){for(const t of e){if(r===t||"*"===t)return!0;if(t instanceof RegExp&&t.test(r))return!0}return!1}(t,o.origin))return void console.warn(`Invalid origin '${o.origin}' for comlink proxy`);const{id:a,type:i,path:s}=Object.assign({path:[]},o.data),l=(o.data.argumentList||[]).map(x);let u;try{const r=s.slice(0,-1).reduce(((e,r)=>e[r]),e),t=s.reduce(((e,r)=>e[r]),e);switch(i){case"GET":u=t;break;case"SET":r[s.slice(-1)[0]]=x(o.data.value),u=!0;break;case"APPLY":u=t.apply(r,l);break;case"CONSTRUCT":u=F(new t(...l));break;case"ENDPOINT":{const{port1:r,port2:t}=new MessageChannel;h(e,t),u=D(r,[r])}break;case"RELEASE":u=void 0;break;default:return}}catch(e){u={value:e,[d]:0}}Promise.resolve(u).catch((e=>({value:e,[d]:0}))).then((t=>{const[o,s]=M(t);r.postMessage(Object.assign(Object.assign({},o),{id:a}),s),"RELEASE"===i&&(r.removeEventListener("message",n),w(r),f in e&&"function"==typeof e[f]&&e[f]())})).catch((e=>{const[t,n]=M({value:new TypeError("Unserializable return value"),[d]:0});r.postMessage(Object.assign(Object.assign({},t),{id:a}),n)}))})),r.start&&r.start()}function w(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function v(e,r){return b(e,[],r)}function g(e){if(e)throw new Error("Proxy has been released and is not useable")}function y(e){return A(e,{type:"RELEASE"}).then((()=>{w(e)}))}const E=new WeakMap,_="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const r=(E.get(e)||0)-1;E.set(e,r),0===r&&y(e)}));function b(e,r=[],t=function(){}){let n=!1;const o=new Proxy(t,{get(t,a){if(g(n),a===c)return()=>{!function(e){_&&_.unregister(e)}(o),y(e),n=!0};if("then"===a){if(0===r.length)return{then:()=>o};const t=A(e,{type:"GET",path:r.map((e=>e.toString()))}).then(x);return t.then.bind(t)}return b(e,[...r,a])},set(t,o,a){g(n);const[i,s]=M(a);return A(e,{type:"SET",path:[...r,o].map((e=>e.toString())),value:i},s).then(x)},apply(t,o,a){g(n);const i=r[r.length-1];if(i===u)return A(e,{type:"ENDPOINT"}).then(x);if("bind"===i)return b(e,r.slice(0,-1));const[s,l]=k(a);return A(e,{type:"APPLY",path:r.map((e=>e.toString())),argumentList:s},l).then(x)},construct(t,o){g(n);const[a,i]=k(o);return A(e,{type:"CONSTRUCT",path:r.map((e=>e.toString())),argumentList:a},i).then(x)}});return function(e,r){const t=(E.get(r)||0)+1;E.set(r,t),_&&_.register(e,r,e)}(o,e),o}function k(e){const r=e.map(M);return[r.map((e=>e[0])),(t=r.map((e=>e[1])),Array.prototype.concat.apply([],t))];var t}const S=new WeakMap;function D(e,r){return S.set(e,r),e}function F(e){return Object.assign(e,{[l]:!0})}function M(e){for(const[r,t]of p)if(t.canHandle(e)){const[n,o]=t.serialize(e);return[{type:"HANDLER",name:r,value:n},o]}return[{type:"RAW",value:e},S.get(e)||[]]}function x(e){switch(e.type){case"HANDLER":return p.get(e.name).deserialize(e.value);case"RAW":return e.value}}function A(e,r,t){return new Promise((n=>{const o=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");e.addEventListener("message",(function r(t){t.data&&t.data.id&&t.data.id===o&&(e.removeEventListener("message",r),n(t.data))})),e.start&&e.start(),e.postMessage(Object.assign({id:o},r),t)}))}var P=i(Object.freeze({__proto__:null,createEndpoint:u,expose:h,finalizer:f,proxy:F,proxyMarker:l,releaseProxy:c,transfer:D,transferHandlers:p,windowEndpoint:function(e,r=globalThis,t="*"){return{postMessage:(r,n)=>e.postMessage(r,t,n),addEventListener:r.addEventListener.bind(r),removeEventListener:r.removeEventListener.bind(r)}},wrap:v}));return function(e){var r=void 0!==r?r:{};const t=P,a="/tex",i="/work";self.memlog="",self.initmem=void 0,self.mainfile="main.tex",self.texlive_endpoint=void 0,self.extension=void 0;r={print(e){self.memlog+=e+"\n"},printErr(e){self.memlog+=e+"\n",console.log(e)},preRun(){Ee.mkdir(a),Ee.mkdir(i)},postRun(){var e,r;self.postMessage("wasm_initialized"),self.initmem=(e=F.buffer,(r=new Uint8Array(e.byteLength)).set(new Uint8Array(e)),r)},onAbort(){self.memlog+="Engine crashed",console.error("full log",self.memlog)}};function s(e){let r=Je(e.length);return T.set(new Uint8Array(e),r),r}function l(){self.memlog="",self.initmem&&new Uint8Array(F.buffer).set(self.initmem),function(){for(var e=0;e{throw r},y="object"==typeof window,E="function"==typeof importScripts,_="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,b="";if(_){var k=n.default,S=o.default;b=E?S.dirname(b)+"/":__dirname+"/",d=(e,r)=>(e=Z(e)?new URL(e):S.normalize(e),k.readFileSync(e,r?void 0:"utf8")),p=e=>{var r=d(e,!0);return r.buffer||(r=new Uint8Array(r)),r},m=(e,r,t,n=!0)=>{e=Z(e)?new URL(e):S.normalize(e),k.readFile(e,n?void 0:"utf8",((e,o)=>{e?t(e):r(n?o.buffer:o)}))},!r.thisProgram&&process.argv.length>1&&(v=process.argv[1].replace(/\\/g,"/")),w=process.argv.slice(2),e.exports=r,process.on("uncaughtException",(e=>{if(!("unwind"===e||e instanceof re||e.context instanceof re))throw e})),g=(e,r)=>{throw process.exitCode=e,r},r.inspect=()=>"[Emscripten Module object]"}else(y||E)&&(E?b=self.location.href:"undefined"!=typeof document&&document.currentScript&&(b=document.currentScript.src),b=0!==b.indexOf("blob:")?b.substr(0,b.replace(/[?#].*/,"").lastIndexOf("/")+1):"",d=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},E&&(p=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),m=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)});var D,F,M=r.print||console.log.bind(console),x=r.printErr||console.error.bind(console);Object.assign(r,h),h=null,r.arguments&&(w=r.arguments),r.thisProgram&&(v=r.thisProgram),r.quit&&(g=r.quit),r.wasmBinary&&(D=r.wasmBinary),"object"!=typeof WebAssembly&&W("no native wasm support detected");var A,R,T,z,O,L,j=!1;function N(){var e=F.buffer;r.HEAP8=R=new Int8Array(e),r.HEAP16=z=new Int16Array(e),r.HEAPU8=T=new Uint8Array(e),r.HEAPU16=new Uint16Array(e),r.HEAP32=O=new Int32Array(e),r.HEAPU32=L=new Uint32Array(e),r.HEAPF32=new Float32Array(e),r.HEAPF64=new Float64Array(e)}var C=[],H=[],B=[],U=[];var I=0,Y=null;function q(e){I++,r.monitorRunDependencies&&r.monitorRunDependencies(I)}function $(e){if(I--,r.monitorRunDependencies&&r.monitorRunDependencies(I),0==I&&Y){var t=Y;Y=null,t()}}function W(e){throw r.onAbort&&r.onAbort(e),x(e="Aborted("+e+")"),j=!0,A=1,e+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(e)}var X,G,V,K,J=e=>e.startsWith("data:application/octet-stream;base64,"),Z=e=>e.startsWith("file://");function Q(e){if(e==X&&D)return new Uint8Array(D);if(p)return p(e);throw"both async and sync fetching of the wasm failed"}function ee(e,r,t){return function(e){if(!D&&(y||E)){if("function"==typeof fetch&&!Z(e))return fetch(e,{credentials:"same-origin"}).then((r=>{if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()})).catch((()=>Q(e)));if(m)return new Promise(((r,t)=>{m(e,(e=>r(new Uint8Array(e))),t)}))}return Promise.resolve().then((()=>Q(e)))}(e).then((e=>WebAssembly.instantiate(e,r))).then((e=>e)).then(t,(e=>{x(`failed to asynchronously prepare wasm: ${e}`),W(e)}))}function re(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}J(X="swiftlatexxetex.wasm")||(G=X,X=r.locateFile?r.locateFile(G,b):b+G);var te=e=>{for(;e.length>0;)e.shift()(r)},ne=r.noExitRuntime||!0,oe="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,ae=(e,r,t)=>{for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&oe)return oe.decode(e.subarray(r,o));for(var a="";r>10,56320|1023&u)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a},ie=(e,r)=>e?ae(T,e,r):"",se={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=se.isAbs(e),t="/"===e.substr(-1);return(e=se.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=se.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=se.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return se.normalize(e.join("/"))},join2:(e,r)=>se.normalize(e+"/"+r)},le=e=>(le=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(_)try{var e=require("crypto");if(e.randomFillSync)return r=>e.randomFillSync(r);var r=e.randomBytes;return e=>(e.set(r(e.byteLength)),e)}catch(e){}W("initRandomDevice")})())(e),ue={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:Ee.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=se.isAbs(n)}return(r?"/":"")+(e=se.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=ue.resolve(e).substr(1),r=ue.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s{for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r},de=(e,r,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i);if(s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)break;r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-o};function me(e,r,t){var n=t>0?t:fe(e)+1,o=new Array(n),a=de(e,o,0,o.length);return r&&(o.length=a),o}var pe={ttys:[],init(){},shutdown(){},register(e,r){pe.ttys[e]={input:[],output:[],ops:r},Ee.registerDevice(e,pe.stream_ops)},stream_ops:{open(e){var r=pe.ttys[e.node.rdev];if(!r)throw new Ee.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new Ee.ErrnoError(60);for(var a=0,i=0;i(()=>{if(!ce.length){var e=null;if(_){var r=Buffer.alloc(256),t=0,n=process.stdin.fd;try{t=k.readSync(n,r)}catch(e){if(!e.toString().includes("EOF"))throw e;t=0}e=t>0?r.slice(0,t).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;ce=me(e,!0)}return ce.shift()})(),put_char(e,r){null===r||10===r?(M(ae(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(M(ae(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(x(ae(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(x(ae(e.output,0)),e.output=[])}}},he=e=>{e=((e,r)=>Math.ceil(e/r)*r)(e,65536);var r=nr(65536,e);return r?((e,r)=>(T.fill(0,e,e+r),e))(r,e):0},we={ops_table:null,mount:e=>we.createNode(null,"/",16895,0),createNode(e,r,t,n){if(Ee.isBlkdev(t)||Ee.isFIFO(t))throw new Ee.ErrnoError(63);we.ops_table||(we.ops_table={dir:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,lookup:we.node_ops.lookup,mknod:we.node_ops.mknod,rename:we.node_ops.rename,unlink:we.node_ops.unlink,rmdir:we.node_ops.rmdir,readdir:we.node_ops.readdir,symlink:we.node_ops.symlink},stream:{llseek:we.stream_ops.llseek}},file:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:{llseek:we.stream_ops.llseek,read:we.stream_ops.read,write:we.stream_ops.write,allocate:we.stream_ops.allocate,mmap:we.stream_ops.mmap,msync:we.stream_ops.msync}},link:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,readlink:we.node_ops.readlink},stream:{}},chrdev:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:Ee.chrdev_stream_ops}});var o=Ee.createNode(e,r,t,n);return Ee.isDir(o.mode)?(o.node_ops=we.ops_table.dir.node,o.stream_ops=we.ops_table.dir.stream,o.contents={}):Ee.isFile(o.mode)?(o.node_ops=we.ops_table.file.node,o.stream_ops=we.ops_table.file.stream,o.usedBytes=0,o.contents=null):Ee.isLink(o.mode)?(o.node_ops=we.ops_table.link.node,o.stream_ops=we.ops_table.link.stream):Ee.isChrdev(o.mode)&&(o.node_ops=we.ops_table.chrdev.node,o.stream_ops=we.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=Ee.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,Ee.isDir(e.mode)?r.size=4096:Ee.isFile(e.mode)?r.size=e.usedBytes:Ee.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&we.resizeFileStorage(e,r.size)},lookup(e,r){throw Ee.genericErrors[44]},mknod:(e,r,t,n)=>we.createNode(e,r,t,n),rename(e,r,t){if(Ee.isDir(e.mode)){var n;try{n=Ee.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new Ee.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=Ee.lookupNode(e,r);for(var n in t.contents)throw new Ee.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t in e.contents)e.contents.hasOwnProperty(t)&&r.push(t);return r},symlink(e,r,t){var n=we.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!Ee.isLink(e.mode))throw new Ee.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s0||t+r(we.stream_ops.write(e,r,0,n,t,!1),0)}},ve=(e,r,t,n)=>{var o=n?"":`al ${e}`;m(e,(t=>{var n;n=`Loading data file "${e}" failed (no arrayBuffer).`,t||W(n),r(new Uint8Array(t)),o&&$()}),(r=>{if(!t)throw`Loading data file "${e}" failed.`;t()})),o&&q()},ge=r.preloadPlugins||[],ye=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},Ee={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e,r={}){if(!(e=ue.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new Ee.ErrnoError(32);for(var t=e.split("/").filter((e=>!!e)),n=Ee.root,o="/",a=0;a40)throw new Ee.ErrnoError(32)}}return{path:o,node:n}},getPath(e){for(var r;;){if(Ee.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n>>0)%Ee.nameTable.length},hashAddNode(e){var r=Ee.hashName(e.parent.id,e.name);e.name_next=Ee.nameTable[r],Ee.nameTable[r]=e},hashRemoveNode(e){var r=Ee.hashName(e.parent.id,e.name);if(Ee.nameTable[r]===e)Ee.nameTable[r]=e.name_next;else for(var t=Ee.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=Ee.mayLookup(e);if(t)throw new Ee.ErrnoError(t,e);for(var n=Ee.hashName(e.id,r),o=Ee.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return Ee.lookup(e,r)},createNode(e,r,t,n){var o=new Ee.FSNode(e,r,t,n);return Ee.hashAddNode(o),o},destroyNode(e){Ee.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>Ee.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){var r=Ee.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{Ee.lookupNode(e,r);return 20}catch(e){}return Ee.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=Ee.lookupNode(e,r)}catch(e){return e.errno}var o=Ee.nodePermissions(e,"wx");if(o)return o;if(t){if(!Ee.isDir(n.mode))return 54;if(Ee.isRoot(n)||Ee.getPath(n)===Ee.cwd())return 10}else if(Ee.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?Ee.isLink(e.mode)?32:Ee.isDir(e.mode)&&("r"!==Ee.flagsToPermissionString(r)||512&r)?31:Ee.nodePermissions(e,Ee.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Ee.MAX_OPEN_FDS;e++)if(!Ee.streams[e])return e;throw new Ee.ErrnoError(33)},getStreamChecked(e){var r=Ee.getStream(e);if(!r)throw new Ee.ErrnoError(8);return r},getStream:e=>Ee.streams[e],createStream:(e,r=-1)=>(Ee.FSStream||(Ee.FSStream=function(){this.shared={}},Ee.FSStream.prototype={},Object.defineProperties(Ee.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Ee.FSStream,e),-1==r&&(r=Ee.nextfd()),e.fd=r,Ee.streams[r]=e,e),closeStream(e){Ee.streams[e]=null},chrdev_stream_ops:{open(e){var r=Ee.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new Ee.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){Ee.devices[e]={stream_ops:r}},getDevice:e=>Ee.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),Ee.syncFSRequests++,Ee.syncFSRequests>1&&x(`warning: ${Ee.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=Ee.getMounts(Ee.root.mount),n=0;function o(e){return Ee.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach((r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)}))},mount(e,r,t){var n,o="/"===t,a=!t;if(o&&Ee.root)throw new Ee.ErrnoError(10);if(!o&&!a){var i=Ee.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,Ee.isMountpoint(n))throw new Ee.ErrnoError(10);if(!Ee.isDir(n.mode))throw new Ee.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},l=e.mount(s);return l.mount=s,s.root=l,o?Ee.root=l:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),l},unmount(e){var r=Ee.lookupPath(e,{follow_mount:!1});if(!Ee.isMountpoint(r.node))throw new Ee.ErrnoError(28);var t=r.node,n=t.mounted,o=Ee.getMounts(n);Object.keys(Ee.nameTable).forEach((e=>{for(var r=Ee.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&Ee.destroyNode(r),r=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=Ee.lookupPath(e,{parent:!0}).node,o=se.basename(e);if(!o||"."===o||".."===o)throw new Ee.ErrnoError(28);var a=Ee.mayCreate(n,o);if(a)throw new Ee.ErrnoError(a);if(!n.node_ops.mknod)throw new Ee.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,Ee.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,Ee.mknod(e,r,0)),mkdirTree(e,r){for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,Ee.mknod(e,r,t)),symlink(e,r){if(!ue.resolve(e))throw new Ee.ErrnoError(44);var t=Ee.lookupPath(r,{parent:!0}).node;if(!t)throw new Ee.ErrnoError(44);var n=se.basename(r),o=Ee.mayCreate(t,n);if(o)throw new Ee.ErrnoError(o);if(!t.node_ops.symlink)throw new Ee.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,o=se.dirname(e),a=se.dirname(r),i=se.basename(e),s=se.basename(r);if(t=Ee.lookupPath(e,{parent:!0}).node,n=Ee.lookupPath(r,{parent:!0}).node,!t||!n)throw new Ee.ErrnoError(44);if(t.mount!==n.mount)throw new Ee.ErrnoError(75);var l,u=Ee.lookupNode(t,i),c=ue.relative(e,a);if("."!==c.charAt(0))throw new Ee.ErrnoError(28);if("."!==(c=ue.relative(r,o)).charAt(0))throw new Ee.ErrnoError(55);try{l=Ee.lookupNode(n,s)}catch(e){}if(u!==l){var f=Ee.isDir(u.mode),d=Ee.mayDelete(t,i,f);if(d)throw new Ee.ErrnoError(d);if(d=l?Ee.mayDelete(n,s,f):Ee.mayCreate(n,s))throw new Ee.ErrnoError(d);if(!t.node_ops.rename)throw new Ee.ErrnoError(63);if(Ee.isMountpoint(u)||l&&Ee.isMountpoint(l))throw new Ee.ErrnoError(10);if(n!==t&&(d=Ee.nodePermissions(t,"w")))throw new Ee.ErrnoError(d);Ee.hashRemoveNode(u);try{t.node_ops.rename(u,n,s)}catch(e){throw e}finally{Ee.hashAddNode(u)}}},rmdir(e){var r=Ee.lookupPath(e,{parent:!0}).node,t=se.basename(e),n=Ee.lookupNode(r,t),o=Ee.mayDelete(r,t,!0);if(o)throw new Ee.ErrnoError(o);if(!r.node_ops.rmdir)throw new Ee.ErrnoError(63);if(Ee.isMountpoint(n))throw new Ee.ErrnoError(10);r.node_ops.rmdir(r,t),Ee.destroyNode(n)},readdir(e){var r=Ee.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new Ee.ErrnoError(54);return r.node_ops.readdir(r)},unlink(e){var r=Ee.lookupPath(e,{parent:!0}).node;if(!r)throw new Ee.ErrnoError(44);var t=se.basename(e),n=Ee.lookupNode(r,t),o=Ee.mayDelete(r,t,!1);if(o)throw new Ee.ErrnoError(o);if(!r.node_ops.unlink)throw new Ee.ErrnoError(63);if(Ee.isMountpoint(n))throw new Ee.ErrnoError(10);r.node_ops.unlink(r,t),Ee.destroyNode(n)},readlink(e){var r=Ee.lookupPath(e).node;if(!r)throw new Ee.ErrnoError(44);if(!r.node_ops.readlink)throw new Ee.ErrnoError(28);return ue.resolve(Ee.getPath(r.parent),r.node_ops.readlink(r))},stat(e,r){var t=Ee.lookupPath(e,{follow:!r}).node;if(!t)throw new Ee.ErrnoError(44);if(!t.node_ops.getattr)throw new Ee.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>Ee.stat(e,!0),chmod(e,r,t){var n;"string"==typeof e?n=Ee.lookupPath(e,{follow:!t}).node:n=e;if(!n.node_ops.setattr)throw new Ee.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod(e,r){Ee.chmod(e,r,!0)},fchmod(e,r){var t=Ee.getStreamChecked(e);Ee.chmod(t.node,r)},chown(e,r,t,n){var o;"string"==typeof e?o=Ee.lookupPath(e,{follow:!n}).node:o=e;if(!o.node_ops.setattr)throw new Ee.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(e,r,t){Ee.chown(e,r,t,!0)},fchown(e,r,t){var n=Ee.getStreamChecked(e);Ee.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new Ee.ErrnoError(28);var t;"string"==typeof e?t=Ee.lookupPath(e,{follow:!0}).node:t=e;if(!t.node_ops.setattr)throw new Ee.ErrnoError(63);if(Ee.isDir(t.mode))throw new Ee.ErrnoError(31);if(!Ee.isFile(t.mode))throw new Ee.ErrnoError(28);var n=Ee.nodePermissions(t,"w");if(n)throw new Ee.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=Ee.getStreamChecked(e);if(0==(2097155&t.flags))throw new Ee.ErrnoError(28);Ee.truncate(t.node,r)},utime(e,r,t){var n=Ee.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open(e,t,n){if(""===e)throw new Ee.ErrnoError(44);var o;if(n=void 0===n?438:n,n=64&(t="string"==typeof t?(e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r})(t):t)?4095&n|32768:0,"object"==typeof e)o=e;else{e=se.normalize(e);try{o=Ee.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var a=!1;if(64&t)if(o){if(128&t)throw new Ee.ErrnoError(20)}else o=Ee.mknod(e,n,0),a=!0;if(!o)throw new Ee.ErrnoError(44);if(Ee.isChrdev(o.mode)&&(t&=-513),65536&t&&!Ee.isDir(o.mode))throw new Ee.ErrnoError(54);if(!a){var i=Ee.mayOpen(o,t);if(i)throw new Ee.ErrnoError(i)}512&t&&!a&&Ee.truncate(o,0),t&=-131713;var s=Ee.createStream({node:o,path:Ee.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!r.logReadFiles||1&t||(Ee.readFiles||(Ee.readFiles={}),e in Ee.readFiles||(Ee.readFiles[e]=1)),s},close(e){if(Ee.isClosed(e))throw new Ee.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Ee.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(Ee.isClosed(e))throw new Ee.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Ee.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Ee.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,o){if(n<0||o<0)throw new Ee.ErrnoError(28);if(Ee.isClosed(e))throw new Ee.ErrnoError(8);if(1==(2097155&e.flags))throw new Ee.ErrnoError(8);if(Ee.isDir(e.node.mode))throw new Ee.ErrnoError(31);if(!e.stream_ops.read)throw new Ee.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new Ee.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write(e,r,t,n,o,a){if(n<0||o<0)throw new Ee.ErrnoError(28);if(Ee.isClosed(e))throw new Ee.ErrnoError(8);if(0==(2097155&e.flags))throw new Ee.ErrnoError(8);if(Ee.isDir(e.node.mode))throw new Ee.ErrnoError(31);if(!e.stream_ops.write)throw new Ee.ErrnoError(28);e.seekable&&1024&e.flags&&Ee.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new Ee.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},allocate(e,r,t){if(Ee.isClosed(e))throw new Ee.ErrnoError(8);if(r<0||t<=0)throw new Ee.ErrnoError(28);if(0==(2097155&e.flags))throw new Ee.ErrnoError(8);if(!Ee.isFile(e.node.mode)&&!Ee.isDir(e.node.mode))throw new Ee.ErrnoError(43);if(!e.stream_ops.allocate)throw new Ee.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,o){if(0!=(2&n)&&0==(2&o)&&2!=(2097155&e.flags))throw new Ee.ErrnoError(2);if(1==(2097155&e.flags))throw new Ee.ErrnoError(2);if(!e.stream_ops.mmap)throw new Ee.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new Ee.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,n=Ee.open(e,r.flags),o=Ee.stat(e).size,a=new Uint8Array(o);return Ee.read(n,a,0,o,0),"utf8"===r.encoding?t=ae(a,0):"binary"===r.encoding&&(t=a),Ee.close(n),t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=Ee.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(fe(r)+1),a=de(r,o,0,o.length);Ee.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");Ee.write(n,r,0,r.byteLength,void 0,t.canOwn)}Ee.close(n)},cwd:()=>Ee.currentPath,chdir(e){var r=Ee.lookupPath(e,{follow:!0});if(null===r.node)throw new Ee.ErrnoError(44);if(!Ee.isDir(r.node.mode))throw new Ee.ErrnoError(54);var t=Ee.nodePermissions(r.node,"x");if(t)throw new Ee.ErrnoError(t);Ee.currentPath=r.path},createDefaultDirectories(){Ee.mkdir("/tmp"),Ee.mkdir("/home"),Ee.mkdir("/home/web_user")},createDefaultDevices(){Ee.mkdir("/dev"),Ee.registerDevice(Ee.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),Ee.mkdev("/dev/null",Ee.makedev(1,3)),pe.register(Ee.makedev(5,0),pe.default_tty_ops),pe.register(Ee.makedev(6,0),pe.default_tty1_ops),Ee.mkdev("/dev/tty",Ee.makedev(5,0)),Ee.mkdev("/dev/tty1",Ee.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(r=le(e).byteLength),e[--r]);Ee.createDevice("/dev","random",t),Ee.createDevice("/dev","urandom",t),Ee.mkdir("/dev/shm"),Ee.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Ee.mkdir("/proc");var e=Ee.mkdir("/proc/self");Ee.mkdir("/proc/self/fd"),Ee.mount({mount(){var r=Ee.createNode(e,"fd",16895,73);return r.node_ops={lookup(e,r){var t=+r,n=Ee.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},r}},{},"/proc/self/fd")},createStandardStreams(){r.stdin?Ee.createDevice("/dev","stdin",r.stdin):Ee.symlink("/dev/tty","/dev/stdin"),r.stdout?Ee.createDevice("/dev","stdout",null,r.stdout):Ee.symlink("/dev/tty","/dev/stdout"),r.stderr?Ee.createDevice("/dev","stderr",null,r.stderr):Ee.symlink("/dev/tty1","/dev/stderr"),Ee.open("/dev/stdin",0),Ee.open("/dev/stdout",1),Ee.open("/dev/stderr",1)},ensureErrnoError(){Ee.ErrnoError||(Ee.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Ee.ErrnoError.prototype=new Error,Ee.ErrnoError.prototype.constructor=Ee.ErrnoError,[44].forEach((e=>{Ee.genericErrors[e]=new Ee.ErrnoError(e),Ee.genericErrors[e].stack=""})))},staticInit(){Ee.ensureErrnoError(),Ee.nameTable=new Array(4096),Ee.mount(we,{},"/"),Ee.createDefaultDirectories(),Ee.createDefaultDevices(),Ee.createSpecialDirectories(),Ee.filesystems={MEMFS:we}},init(e,t,n){Ee.init.initialized=!0,Ee.ensureErrnoError(),r.stdin=e||r.stdin,r.stdout=t||r.stdout,r.stderr=n||r.stderr,Ee.createStandardStreams()},quit(){Ee.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+t+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),o=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,a=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,i=1048576;o||(i=n);var s=this;s.setDataGetter((e=>{var r=e*i,o=(e+1)*i-1;if(o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+e+"-"+r),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):me(o.responseText||"",!0)})(r,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!a&&n||(i=n=1,n=this.getter(0).length,i=n,M("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!E)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i=new a;Object.defineProperties(i,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:i}}else s={isDevice:!1,url:t};var l=Ee.createFile(e,r,s,n,o);s.contents?l.contents=s.contents:s.url&&(l.contents=null,l.url=s.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var u={};function c(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s{var r=l.stream_ops[e];u[e]=function(){return Ee.forceLoadFile(l),r.apply(null,arguments)}})),u.read=(e,r,t,n,o)=>(Ee.forceLoadFile(l),c(e,r,t,n,o)),u.mmap=(e,r,t,n,o)=>{Ee.forceLoadFile(l);var a=he(r);if(!a)throw new Ee.ErrnoError(48);return c(e,R,a,r,t),{ptr:a,allocated:!0}},l.stream_ops=u,l}},_e={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(se.isAbs(r))return r;var n;-100===e?n=Ee.cwd():n=_e.getStreamFromFD(e).path;if(0==r.length){if(!t)throw new Ee.ErrnoError(44);return n}return se.join2(n,r)},doStat(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&se.normalize(r)!==se.normalize(Ee.getPath(e.node)))return-54;throw e}O[t>>2]=n.dev,O[t+4>>2]=n.mode,L[t+8>>2]=n.nlink,O[t+12>>2]=n.uid,O[t+16>>2]=n.gid,O[t+20>>2]=n.rdev,K=[n.size>>>0,(V=n.size,+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],O[t+24>>2]=K[0],O[t+28>>2]=K[1],O[t+32>>2]=4096,O[t+36>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return K=[Math.floor(o/1e3)>>>0,(V=Math.floor(o/1e3),+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],O[t+40>>2]=K[0],O[t+44>>2]=K[1],L[t+48>>2]=o%1e3*1e3,K=[Math.floor(a/1e3)>>>0,(V=Math.floor(a/1e3),+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],O[t+56>>2]=K[0],O[t+60>>2]=K[1],L[t+64>>2]=a%1e3*1e3,K=[Math.floor(i/1e3)>>>0,(V=Math.floor(i/1e3),+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],O[t+72>>2]=K[0],O[t+76>>2]=K[1],L[t+80>>2]=i%1e3*1e3,K=[n.ino>>>0,(V=n.ino,+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],O[t+88>>2]=K[0],O[t+92>>2]=K[1],0},doMsync(e,r,t,n,o){if(!Ee.isFile(r.node.mode))throw new Ee.ErrnoError(43);if(2&n)return 0;var a=T.slice(e,e+t);Ee.msync(r,a,o,t,n)},varargs:void 0,get(){var e=O[+_e.varargs>>2];return _e.varargs+=4,e},getp:()=>_e.get(),getStr:e=>ie(e),getStreamFromFD:e=>Ee.getStreamChecked(e)};var be=(e,r,t)=>de(e,T,r,t);var ke=e=>e%4==0&&(e%100!=0||e%400==0),Se=[0,31,60,91,121,152,182,213,244,274,305,335],De=[0,31,59,90,120,151,181,212,243,273,304,334],Fe=(e,r)=>r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN;var Me=e=>{var r=fe(e)+1,t=Je(r);return t&&be(e,t,r),t},xe=e=>{var r=(e-F.buffer.byteLength+65535)/65536;try{return F.grow(r),N(),1}catch(e){}},Ae={},Pe=()=>{if(!Pe.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:v||"./this.program"};for(var r in Ae)void 0===Ae[r]?delete e[r]:e[r]=Ae[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);Pe.strings=t}return Pe.strings},Re=e=>{A=e,ne||(r.onExit&&r.onExit(e),j=!0),g(e,new re(e))},Te=(e,r)=>{A=e,Re(e)},ze=Te;var Oe,Le=[31,29,31,30,31,30,31,31,30,31,30,31],je=[31,28,31,30,31,30,31,31,30,31,30,31],Ne=(e,r)=>{R.set(e,r)},Ce=(e,r,t,n)=>{var o=L[n+40>>2],a={tm_sec:O[n>>2],tm_min:O[n+4>>2],tm_hour:O[n+8>>2],tm_mday:O[n+12>>2],tm_mon:O[n+16>>2],tm_year:O[n+20>>2],tm_wday:O[n+24>>2],tm_yday:O[n+28>>2],tm_isdst:O[n+32>>2],tm_gmtoff:O[n+36>>2],tm_zone:o?ie(o):""},i=ie(t),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var l in s)i=i.replace(new RegExp(l,"g"),s[l]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function f(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length0?1:0}var n;return 0===(n=t(e.getFullYear()-r.getFullYear()))&&0===(n=t(e.getMonth()-r.getMonth()))&&(n=t(e.getDate()-r.getDate())),n}function p(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function h(e){var r=((e,r)=>{for(var t=new Date(e.getTime());r>0;){var n=ke(t.getFullYear()),o=t.getMonth(),a=(n?Le:je)[o];if(!(r>a-t.getDate()))return t.setDate(t.getDate()+r),t;r-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t})(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),o=p(t),a=p(n);return m(o,r)<=0?m(a,r)<=0?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var w={"%a":e=>u[e.tm_wday].substring(0,3),"%A":e=>u[e.tm_wday],"%b":e=>c[e.tm_mon].substring(0,3),"%B":e=>c[e.tm_mon],"%C":e=>d((e.tm_year+1900)/100|0,2),"%d":e=>d(e.tm_mday,2),"%e":e=>f(e.tm_mday,2," "),"%g":e=>h(e).toString().substring(2),"%G":e=>h(e),"%H":e=>d(e.tm_hour,2),"%I":e=>{var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),d(r,2)},"%j":e=>d(e.tm_mday+((e,r)=>{for(var t=0,n=0;n<=r;t+=e[n++]);return t})(ke(e.tm_year+1900)?Le:je,e.tm_mon-1),3),"%m":e=>d(e.tm_mon+1,2),"%M":e=>d(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>d(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var r=e.tm_yday+7-e.tm_wday;return d(Math.floor(r/7),2)},"%V":e=>{var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&ke(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&ke(e.tm_year%400-1))&&r++}return d(r,2)},"%w":e=>e.tm_wday,"%W":e=>{var r=e.tm_yday+7-(e.tm_wday+6)%7;return d(Math.floor(r/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var r=e.tm_gmtoff,t=r>=0;return r=(r=Math.abs(r)/60)/60*100+r%60,(t?"+":"-")+String("0000"+r).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var l in i=i.replace(/%%/g,"\0\0"),w)i.includes(l)&&(i=i.replace(new RegExp(l,"g"),w[l](a)));var v=me(i=i.replace(/\0\0/g,"%"),!1);return v.length>r?0:(Ne(v,e),v.length-1)},He=e=>{if(e instanceof re||"unwind"==e)return A;g(1,e)},Be=e=>{var r=fe(e)+1,t=sr(r);return be(e,t,r),t},Ue=[],Ie=e=>{var r=Ue[e];return r||(e>=Ue.length&&(Ue.length=e+1),Ue[e]=r=Oe.get(e)),r},Ye=e=>r["_"+e],qe=(e,r,t,n,o)=>{var a={string:e=>{var r=0;return null!=e&&0!==e&&(r=Be(e)),r},array:e=>{var r=sr(e.length);return Ne(e,r),r}};var i=Ye(e),s=[],l=0;if(n)for(var u=0;u{var o=!t||t.every((e=>"number"===e||"boolean"===e));return"string"!==r&&o&&!n?Ye(e):function(){return qe(e,r,t,arguments)}},We=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Ee.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n},Xe=365,Ge=146;Object.defineProperties(We.prototype,{read:{get:function(){return(this.mode&Xe)===Xe},set:function(e){e?this.mode|=Xe:this.mode&=-366}},write:{get:function(){return(this.mode&Ge)===Ge},set:function(e){e?this.mode|=Ge:this.mode&=-147}},isFolder:{get:function(){return Ee.isDir(this.mode)}},isDevice:{get:function(){return Ee.isChrdev(this.mode)}}}),Ee.FSNode=We,Ee.createPreloadedFile=(e,r,t,n,o,a,i,s,l,u)=>{var c=r?ue.resolve(se.join2(e,r)):e;function f(t){function f(t){u&&u(),s||((e,r,t,n,o,a)=>{Ee.createDataFile(e,r,t,n,o,a)})(e,r,t,n,o,l),a&&a(),$()}((e,r,t,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return ge.forEach((a=>{o||a.canHandle(r)&&(a.handle(e,r,t,n),o=!0)})),o})(t,c,f,(()=>{i&&i(),$()}))||f(t)}q(),"string"==typeof t?ve(t,(e=>f(e)),i):f(t)},Ee.staticInit();var Ve={j:(e,r,t,n)=>{W(`Assertion failed: ${ie(e)}, at: `+[r?ie(r):"unknown filename",t,n?ie(n):"unknown function"])},F:function(e,r,t,n){try{if(r=_e.getStr(r),r=_e.calculateAt(e,r),-8&t)return-28;var o=Ee.lookupPath(r,{follow:!0}).node;if(!o)return-44;var a="";return 4&t&&(a+="r"),2&t&&(a+="w"),1&t&&(a+="x"),a&&Ee.nodePermissions(o,a)?-2:0}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return-e.errno}},q:function(e,r,t){_e.varargs=t;try{var n=_e.getStreamFromFD(e);switch(r){case 0:if((o=_e.get())<0)return-28;for(;Ee.streams[o];)o++;return Ee.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=_e.get();return n.flags|=o,0;case 5:o=_e.getp();return z[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return a=28,O[tr()>>2]=a,-1}}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return-e.errno}var a},C:function(e,r){try{if(0===r)return-28;var t=Ee.cwd(),n=fe(t)+1;return r>2]=o.c_iflag||0,O[a+4>>2]=o.c_oflag||0,O[a+8>>2]=o.c_cflag||0,O[a+12>>2]=o.c_lflag||0;for(var i=0;i<32;i++)R[a+i+17>>0]=o.c_cc[i]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){a=_e.getp();var s=O[a>>2],l=O[a+4>>2],u=O[a+8>>2],c=O[a+12>>2],f=[];for(i=0;i<32;i++)f.push(R[a+i+17>>0]);return n.tty.ops.ioctl_tcsets(n.tty,r,{c_iflag:s,c_oflag:l,c_cflag:u,c_lflag:c,c_cc:f})}return 0;case 21519:if(!n.tty)return-59;a=_e.getp();return O[a>>2]=0,0;case 21520:return n.tty?-28:-59;case 21531:a=_e.getp();return Ee.ioctl(n,r,a);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var d=n.tty.ops.ioctl_tiocgwinsz(n.tty);a=_e.getp();z[a>>1]=d[0],z[a+2>>1]=d[1]}return 0;default:return-28}}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return-e.errno}},n:function(e,r,t,n){_e.varargs=n;try{r=_e.getStr(r),r=_e.calculateAt(e,r);var o=n?_e.get():0;return Ee.open(r,t,o).fd}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return-e.errno}},D:function(e,r){try{return e=_e.getStr(e),_e.doStat(Ee.stat,e,r)}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return-e.errno}},w:()=>{throw 1/0},t:function(e,r,t){var n=Fe(e,r),o=new Date(1e3*n);O[t>>2]=o.getSeconds(),O[t+4>>2]=o.getMinutes(),O[t+8>>2]=o.getHours(),O[t+12>>2]=o.getDate(),O[t+16>>2]=o.getMonth(),O[t+20>>2]=o.getFullYear()-1900,O[t+24>>2]=o.getDay();var a=0|(e=>(ke(e.getFullYear())?Se:De)[e.getMonth()]+e.getDate()-1)(o);O[t+28>>2]=a,O[t+36>>2]=-60*o.getTimezoneOffset();var i=new Date(o.getFullYear(),0,1),s=new Date(o.getFullYear(),6,1).getTimezoneOffset(),l=i.getTimezoneOffset(),u=0|(s!=l&&o.getTimezoneOffset()==Math.min(l,s));O[t+32>>2]=u},r:function(e,r,t,n,o,a,i,s){var l=Fe(o,a);try{if(isNaN(l))return 61;var u=_e.getStreamFromFD(n),c=Ee.mmap(u,e,l,r,t),f=c.ptr;return O[i>>2]=c.allocated,L[s>>2]=f,0}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return-e.errno}},s:function(e,r,t,n,o,a,i){var s=Fe(a,i);try{if(isNaN(s))return 61;var l=_e.getStreamFromFD(o);2&t&&_e.doMsync(e,l,r,n,s),Ee.munmap(l)}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return-e.errno}},y:(e,r,t)=>{var n=(new Date).getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),i=o.getTimezoneOffset(),s=a.getTimezoneOffset(),l=Math.max(i,s);function u(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}L[e>>2]=60*l,O[r>>2]=Number(i!=s);var c=u(o),f=u(a),d=Me(c),m=Me(f);s>2]=d,L[t+4>>2]=m):(L[t>>2]=m,L[t+4>>2]=d)},d:()=>{W("")},o:()=>Date.now(),z:()=>2147483648,E:(e,r,t)=>T.copyWithin(e,r,r+t),x:e=>{var r=T.length,t=2147483648;if((e>>>=0)>t)return!1;for(var n,o,a=1;a<=4;a*=2){var i=r*(1+.2/a);i=Math.min(i,e+100663296);var s=Math.min(t,(n=Math.max(e,i))+((o=65536)-n%o)%o);if(xe(s))return!0}return!1},A:(e,r)=>{var t=0;return Pe().forEach(((n,o)=>{var a=r+t;L[e+4*o>>2]=a,((e,r)=>{for(var t=0;t>0]=e.charCodeAt(t);R[r>>0]=0})(n,a),t+=n.length+1})),0},B:(e,r)=>{var t=Pe();L[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),L[r>>2]=n,0},g:ze,m:function(e){try{var r=_e.getStreamFromFD(e);return Ee.close(r),0}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return e.errno}},G:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a>2],s=L[r+4>>2];r+=8;var l=Ee.read(e,R,i,s,n);if(l<0)return-1;if(o+=l,l>2]=o,0}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return e.errno}},u:function(e,r,t,n,o){var a=Fe(r,t);try{if(isNaN(a))return 61;var i=_e.getStreamFromFD(e);return Ee.llseek(i,a,n),K=[i.position>>>0,(V=i.position,+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],O[o>>2]=K[0],O[o+4>>2]=K[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return e.errno}},p:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a>2],s=L[r+4>>2];r+=8;var l=Ee.write(e,R,i,s,n);if(l<0)return-1;o+=l,void 0!==n&&(n+=l)}return o})(_e.getStreamFromFD(e),r,t);return L[n>>2]=o,0}catch(e){if(void 0===Ee||"ErrnoError"!==e.name)throw e;return e.errno}},i:function(e,r){var t=ar();try{return Ie(e)(r)}catch(e){if(ir(t),e!==e+0)throw e;or(1,0)}},c:function(e,r,t){var n=ar();try{return Ie(e)(r,t)}catch(e){if(ir(n),e!==e+0)throw e;or(1,0)}},k:function(e,r,t,n){var o=ar();try{return Ie(e)(r,t,n)}catch(e){if(ir(o),e!==e+0)throw e;or(1,0)}},a:function(e,r,t,n,o){var a=ar();try{return Ie(e)(r,t,n,o)}catch(e){if(ir(a),e!==e+0)throw e;or(1,0)}},b:function(e,r,t,n,o,a){var i=ar();try{return Ie(e)(r,t,n,o,a)}catch(e){if(ir(i),e!==e+0)throw e;or(1,0)}},e:function(e){var r=ar();try{Ie(e)()}catch(e){if(ir(r),e!==e+0)throw e;or(1,0)}},f:function(e,r){var t=ar();try{Ie(e)(r)}catch(e){if(ir(t),e!==e+0)throw e;or(1,0)}},h:function(e,r,t){var n=ar();try{Ie(e)(r,t)}catch(e){if(ir(n),e!==e+0)throw e;or(1,0)}},I:function(e,r,t){return function(e,r){let t=ie(e);if(t.startsWith("/tex/")&&(t=t.substr(5)),t.includes("/"))return 0;const n=r+"/"+t;if(n in c)return 0;if(n in f)return s(me(f[n]));const o=self.texlive_endpoint+n;let i=new XMLHttpRequest;i.open("GET",o,!1),i.timeout=15e4,i.responseType="arraybuffer",console.log("Start downloading texlive file "+o);try{i.send()}catch(e){return console.log("TexLive Download Failed "+o),0}if(200===i.status){let e=i.response;const r=i.getResponseHeader("fileid"),t=a+"/"+r;return Ee.writeFile(t,new Uint8Array(e)),f[n]=t,s(me(t))}return 301===i.status?(console.log("TexLive File not exists "+o),c[n]=1,0):0}(e,r)},l:Ce,v:(e,r,t,n,o)=>Ce(e,r,t,n)},Ke=function(){var e,t,n,o={a:Ve};function a(e,r){var t;return Ke=e.exports,F=Ke.J,N(),Oe=Ke.R,t=Ke.K,H.unshift(t),$(),Ke}if(q(),r.instantiateWasm)try{return r.instantiateWasm(o,a)}catch(e){return x(`Module.instantiateWasm callback failed with error: ${e}`),!1}return e=X,t=o,n=function(e){a(e.instance)},D||"function"!=typeof WebAssembly.instantiateStreaming||J(e)||Z(e)||_||"function"!=typeof fetch?ee(e,t,n):fetch(e,{credentials:"same-origin"}).then((r=>WebAssembly.instantiateStreaming(r,t).then(n,(function(r){return x(`wasm streaming compile failed: ${r}`),x("falling back to ArrayBuffer instantiation"),ee(e,t,n)})))),{}}(),Je=e=>(Je=Ke.L)(e),Ze=r._compileLaTeX=()=>(Ze=r._compileLaTeX=Ke.M)();r._compileFormat=()=>(r._compileFormat=Ke.N)();var Qe=r._compileBibtex=()=>(Qe=r._compileBibtex=Ke.O)();r._setMainEntry=e=>(r._setMainEntry=Ke.P)(e);var er,rr=r._main=(e,t)=>(rr=r._main=Ke.Q)(e,t),tr=()=>(tr=Ke.S)(),nr=(e,r)=>(nr=Ke.T)(e,r),or=(e,r)=>(or=Ke.U)(e,r),ar=()=>(ar=Ke.V)(),ir=e=>(ir=Ke.W)(e),sr=e=>(sr=Ke.X)(e);function lr(e=w){function t(){er||(er=!0,r.calledRun=!0,j||(r.noFSInit||Ee.init.initialized||Ee.init(),Ee.ignorePermissions=!1,te(H),te(B),r.onRuntimeInitialized&&r.onRuntimeInitialized(),ur&&function(e=[]){var r=rr;e.unshift(v);var t=e.length,n=sr(4*(t+1)),o=n;e.forEach((e=>{L[o>>2]=Be(e),o+=4})),L[o>>2]=0;try{var a=r(t,n);return Te(a,!0),a}catch(e){return He(e)}}(e),function(){if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;)e=r.postRun.shift(),U.unshift(e);var e;te(U)}()))}I>0||(!function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)e=r.preRun.shift(),C.unshift(e);var e;te(C)}(),I>0||(r.setStatus?(r.setStatus("Running..."),setTimeout((function(){setTimeout((function(){r.setStatus("")}),1),t()}),1)):t()))}if(r.cwrap=$e,Y=function e(){er||lr(),er||(Y=e)},r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();var ur=!0;r.noInitialRun&&(ur=!1),lr()}(s),a(s.exports)}));
diff --git a/public/swiftlatexxetex.wasm b/public/swiftlatexxetex.wasm
new file mode 100644
index 00000000..72710f07
Binary files /dev/null and b/public/swiftlatexxetex.wasm differ
diff --git a/public/templates/template2/awesome-cv.cls b/public/templates/template2/awesome-cv.cls
index e864a273..ee908e66 100755
--- a/public/templates/template2/awesome-cv.cls
+++ b/public/templates/template2/awesome-cv.cls
@@ -1,680 +1,680 @@
-%% Start of file `awesome-cv.cls'.
-% Awesome CV Class File
-%
-% This class has been downloaded from:
-% https://github.com/posquit0/Awesome-CV
-%
-% Author:
-% Claud D. Park
-% http://www.posquit0.com
-%
-% Notes:
-% 1) This class file defines the structure and layout of the template file (cv.tex, resume.tex).
-% 2) It has been written in such a way that under most circumstances you
-% should not need to edit it.
-%
-% Class license:
-% LPPL v1.3c (http://www.latex-project.org/lppl)
-%
-
-
-%-------------------------------------------------------------------------------
-% Identification
-%-------------------------------------------------------------------------------
-\ProvidesClass{awesome-cv}[2015/12/14 v1.3 Awesome Curriculum Vitae Class]
-\NeedsTeXFormat{LaTeX2e}
-
-
-%-------------------------------------------------------------------------------
-% Class options
-%
-% (need to be done before the external package loading, for example because
-% we need \paperwidth, \paperheight and \@ptsize to be defined before loading
-% geometry and fancyhdr)
-%-------------------------------------------------------------------------------
-% Options for draft or final
-\DeclareOption{draft}{\setlength\overfullrule{5pt}}
-\DeclareOption{final}{\setlength\overfullrule{0pt}}
-% Inherit options of article
-\DeclareOption*{
- \PassOptionsToClass{\CurrentOption}{article}
-}
-\ProcessOptions\relax
-\LoadClass{article}
-
-
-%-------------------------------------------------------------------------------
-% 3rd party packages
-%-------------------------------------------------------------------------------
-% Needed to make fixed length table
-\RequirePackage{array}
-% Needed to handle list environment
-\RequirePackage{enumitem}
-% Needed to handle text alignment
-\RequirePackage{ragged2e}
-% Needed to configure page layout
-\RequirePackage{geometry}
-% Needed to make header & footer effeciently
-\RequirePackage{fancyhdr}
-% Needed to manage colors
-\RequirePackage{xcolor}
-% Needed to use \ifxetex-\else-\fi statement
-\RequirePackage{ifxetex}
-% Needed to use \if-\then-\else statement
-\RequirePackage{xifthen}
-% Needed to use a toolbox of programming tools
-\RequirePackage{etoolbox}
-% Needed to change line spacing in specific environment
-\RequirePackage{setspace}
-% Needed to manage fonts
-\ifxetex
- \RequirePackage[quiet]{fontspec}
- % To support LaTeX quoting style
- \defaultfontfeatures{Ligatures=TeX}
-\else
- \RequirePackage[T1]{fontenc}
- % Replace by the encoding you are using
- \RequirePackage[utf8]{inputenc}
-\fi
-% Needed to manage math fonts
-\RequirePackage{unicode-math}
-% Needed to use icons from font-awesome
-% (https://github.com/posquit0/latex-fontawesome)
-\RequirePackage{fontawesome}
-% Needed to deal a paragraphs
-\RequirePackage{parskip}
-% Needed to deal hyperlink
-\RequirePackage{hyperref}
-\hypersetup{
- pdftitle={},
- pdfauthor={},
- pdfsubject={},
- pdfkeywords={},
- colorlinks=false,
- allbordercolors=white
-}
-
-
-%-------------------------------------------------------------------------------
-% Configuration for directory locations
-%-------------------------------------------------------------------------------
-% Configure a directory location for fonts(default: 'fonts/')
-\newcommand*{\fontdir}[1][fonts/]{\def\@fontdir{#1}}
-\fontdir
-
-
-%-------------------------------------------------------------------------------
-% Configuration for layout
-%-------------------------------------------------------------------------------
-%% Page Layout
-% Configure page margins with geometry
-\geometry{left=2.0cm, top=1.5cm, right=2.0cm, bottom=2.0cm, footskip=.5cm}
-
-%% Header & Footer
-% Set offset to each header and offset
-\fancyhfoffset{0em}
-% Remove head rule
-\renewcommand{\headrulewidth}{0pt}
-% Clear all header & footer fields
-\fancyhf{}
-% Enable if you want to make header or footer using fancyhdr
-\pagestyle{fancy}
-
-
-%-------------------------------------------------------------------------------
-% Configuration for colors
-%-------------------------------------------------------------------------------
-% Gray-scale colors
-\definecolor{white}{HTML}{FFFFFF}
-\definecolor{black}{HTML}{000000}
-\definecolor{darkgray}{HTML}{333333}
-\definecolor{gray}{HTML}{5D5D5D}
-\definecolor{lightgray}{HTML}{999999}
-% Basic colors
-\definecolor{green}{HTML}{C2E15F}
-\definecolor{orange}{HTML}{FDA333}
-\definecolor{purple}{HTML}{D3A4F9}
-\definecolor{red}{HTML}{FB4485}
-\definecolor{blue}{HTML}{6CE0F1}
-% Text colors
-\definecolor{darktext}{HTML}{414141}
-\colorlet{text}{darkgray}
-\colorlet{graytext}{gray}
-\colorlet{lighttext}{lightgray}
-% Awesome colors
-\definecolor{awesome-emerald}{HTML}{00A388}
-\definecolor{awesome-skyblue}{HTML}{0395DE}
-\definecolor{awesome-red}{HTML}{000000}
-\definecolor{awesome-pink}{HTML}{EF4089}
-\definecolor{awesome-orange}{HTML}{FF6138}
-\definecolor{awesome-nephritis}{HTML}{27AE60}
-\definecolor{awesome-concrete}{HTML}{95A5A6}
-\definecolor{awesome-darknight}{HTML}{131A28}
-\colorlet{awesome}{awesome-red}
-
-% Awesome section color
-\newcounter{colorCounter}
-\def\@sectioncolor#1#2#3{%
- {%
- \color{%
- \ifcase\value{colorCounter}%
- awesome\or%
- awesome\or%
- awesome\or%
- awesome\or%
- awesome\else%
- awesome\fi%
- } #1#2#3%
- }%
- \stepcounter{colorCounter}%
-}
-
-
-%-------------------------------------------------------------------------------
-% Configuration for fonts
-%-------------------------------------------------------------------------------
-% Set font for header (default is Roboto)
-\newfontfamily\headerfont[
- Path=\@fontdir,
- UprightFont=*-Regular,
- ItalicFont=*-Italic,
- BoldFont=*-Bold,
- BoldItalicFont=*-BoldItalic,
-]{Roboto}
-
-\newfontfamily\headerfontlight[
- Path=\@fontdir,
- UprightFont=*-Thin,
- ItalicFont=*-ThinItalic,
- BoldFont=*-Medium,
- BoldItalicFont=*-MediumItalic,
-]{Roboto}
-
-% Set font for footer (default is Source Sans Pro)
-\newfontfamily\footerfont[
- Path=\@fontdir,
- UprightFont=*-Regular,
- ItalicFont=*-It,
- BoldFont=*-Bold
-]{SourceSansPro}
-
-% Set font for body (default is Source Sans Pro)
-\newfontfamily\bodyfont[
- Path=\@fontdir,
- UprightFont=*-Regular,
- ItalicFont=*-It,
- BoldFont=*-Bold,
- BoldItalicFont=*-BoldIt
-]{SourceSansPro}
-
-\newfontfamily\bodyfontlight[
- Path=\@fontdir,
- UprightFont=*-Light,
- ItalicFont=*-LightIt,
- BoldFont=*-Semibold,
- BoldItalicFont=*-SemiboldIt
-]{SourceSansPro}
-
-
-%-------------------------------------------------------------------------------
-% Configuration for styles
-%-------------------------------------------------------------------------------
-% Configure styles for each CV elements
-% For fundamental structures
-\newcommand*{\headerfirstnamestyle}[1]{{\fontsize{32pt}{1em}\headerfontlight\color{graytext} #1}}
-\newcommand*{\headerlastnamestyle}[1]{{\fontsize{32pt}{1em}\headerfont\bfseries\color{text} #1}}
-\newcommand*{\headerpositionstyle}[1]{{\fontsize{7.6pt}{1em}\bodyfont\scshape\color{awesome} #1}}
-\newcommand*{\headeraddressstyle}[1]{{\fontsize{8pt}{1em}\headerfont\itshape\color{lighttext} #1}}
-\newcommand*{\headersocialstyle}[1]{{\fontsize{6.8pt}{1em}\headerfont\color{text} #1}}
-\newcommand*{\headerquotestyle}[1]{{\fontsize{9pt}{1em}\bodyfont\itshape\color{darktext} #1}}
-\newcommand*{\footerstyle}[1]{{\fontsize{8pt}{1em}\footerfont\scshape\color{lighttext} #1}}
-\newcommand*{\sectionstyle}[1]{{\fontsize{16pt}{1em}\bodyfont\bfseries\color{text}\@sectioncolor #1}}
-\newcommand*{\subsectionstyle}[1]{{\fontsize{12pt}{1em}\bodyfont\scshape\textcolor{text}{#1}}}
-
-% For elements of entry
-\newcommand*{\entrytitlestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
-\newcommand*{\entrypositionstyle}[1]{{\fontsize{8pt}{1em}\bodyfont\scshape\color{graytext} #1}}
-\newcommand*{\entrydatestyle}[1]{{\fontsize{8pt}{1em}\bodyfontlight\slshape\color{graytext} #1}}
-\newcommand*{\entrylocationstyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\slshape\color{awesome} #1}}
-\newcommand*{\descriptionstyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\upshape\color{text} #1}}
-\newcommand*{\skill}[1]{{\fontsize{9pt}{1em}\bodyfontlight\upshape\color{text} \textnormal{#1}}}
-
-% For elements of subentry
-\newcommand*{\subentrytitlestyle}[1]{{\fontsize{8pt}{1em}\bodyfont\mdseries\color{graytext} #1}}
-\newcommand*{\subentrypositionstyle}[1]{{\fontsize{7pt}{1em}\bodyfont\scshape\color{graytext} #1}}
-\newcommand*{\subentrydatestyle}[1]{{\fontsize{7pt}{1em}\bodyfontlight\slshape\color{graytext} #1}}
-\newcommand*{\subentrylocationstyle}[1]{{\fontsize{7pt}{1em}\bodyfontlight\slshape\color{awesome} #1}}
-\newcommand*{\subdescriptionstyle}[1]{{\fontsize{8pt}{1em}\bodyfontlight\upshape\color{text} #1}}
-
-% For elements of honor
-\newcommand*{\honortitlestyle}[1]{{\fontsize{9pt}{1em}\bodyfont\color{graytext} #1}}
-\newcommand*{\honorpositionstyle}[1]{{\fontsize{9pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
-\newcommand*{\honordatestyle}[1]{{\fontsize{9pt}{1em}\bodyfont\color{graytext} #1}}
-\newcommand*{\honorlocationstyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\slshape\color{awesome} #1}}
-
-% For elements of skill
-\newcommand*{\skilltypestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
-\newcommand*{\skillsetstyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\color{text} #1}}
-
-% For elements of the cover letter
-\newcommand*{\paragraphstyle}[1]{{\fontsize{14pt}{1em}\bodyfont\bfseries\color{text}\@sectioncolor #1}}
-\newcommand*{\recipientaddressstyle}[1]{{\fontsize{9pt}{1em}\bodyfont\scshape\color{graytext} #1}}
-\newcommand*{\recipienttitlestyle}[1]{{\fontsize{11pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
-\newcommand*{\lettertitlestyle}[1]{{\fontsize{10pt}{1em}\bodyfontlight\bfseries\color{darktext} \underline{#1}}}
-\newcommand*{\letterdatestyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\slshape\color{graytext} #1}}
-\newcommand*{\lettertextstyle}{\fontsize{10pt}{1.4em}\bodyfontlight\upshape\color{graytext}}
-\newcommand*{\letternamestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
-\newcommand*{\letterenclosurestyle}[1]{{\fontsize{10pt}{1em}\bodyfontlight\slshape\color{lighttext} #1}}
-
-
-%-------------------------------------------------------------------------------
-% Commands for personal information
-%-------------------------------------------------------------------------------
-% Define writer's name
-% Usage: \name{}{}
-% Usage: \firstname{}
-% Usage: \lastname{}
-% Usage: \familyname{}
-\newcommand*{\name}[2]{\def\@firstname{#1}\def\@lastname{#2}}
-\newcommand*{\firstname}[1]{\def\@firstname{#1}}
-\newcommand*{\lastname}[1]{\def\@lastname{#1}}
-\newcommand*{\familyname}[1]{\def\@lastname{#1}}
-\def\@familyname{\@lastname}
-
-% Define writer's address
-% Usage: \address{}
-\newcommand*{\address}[1]{\def\@address{#1}}
-
-% Define writer's position
-% Usage: \name{}
-\newcommand*{\position}[1]{\def\@position{#1}}
-
-% Defines writer's mobile (optional)
-% Usage: \mobile{}
-\newcommand*{\mobile}[1]{\def\@mobile{#1}}
-
-% Defines writer's email (optional)
-% Usage: \email{}
-\newcommand*{\email}[1]{\def\@email{#1}}
-
-% Defines writer's link (optional)
-% Usage: \link{}
-\newcommand*{\link}[1]{\def\@link{#1}}
-
-% Defines writer's github (optional)
-% Usage: \github{}
-\newcommand*{\github}[1]{\def\@github{#1}}
-
-% Defines writer's github (optional)
-% Usage: \github{}
-\newcommand*{\location}[1]{\def\@location{#1}}
-
-% Defines writer's linked-in (optional)
-% Usage: \linkedin{}
-\newcommand*{\linkedin}[1]{\def\@linkedin{#1}}
-
-% Defines writer's stackoverflow profile (optional)
-% Usage: \stackoverflow{}{}
-% e.g.https://stackoverflow.com/users/123456/sam-smith
-% would be \stackoverflow{123456}{sam-smith}
-\newcommand*{\stackoverflow}[2]{\def\@stackoverflowid{#1}\def\@stackoverflowname{#2}}
-
-% Defines writer's skype (optional)
-% Usage: \skype{}
-\newcommand*{\skype}[1]{\def\@skype{#1}}
-
-% Defines writer's twitter (optional)
-% Usage: \twitter{}
-\newcommand*{\twitter}[1]{\def\@twitter{#1}}
-
-% Defines writer's quote (optional)
-% Usage: \quote{}
-\renewcommand*{\quote}[1]{\def\@quote{#1}}
-
-% Defines recipient's information (cover letter only)
-% Usage: \recipient{}{}
-% Usage: \recipientname{}
-% Usage: \recipientaddress{}
-\newcommand*{\recipient}[2]{\def\@recipientname{#1}\def\@recipientaddress{#2}}
-\newcommand*{\recipientname}[1]{\def\@recipientname{#1}}
-\newcommand*{\recipientaddress}[1]{\def\@recipientaddress{#1}}
-
-% Defines the title for letter (cover letter only, optional)
-% Usage: \lettertitle{}
-\newcommand*{\lettertitle}[1]{\def\@lettertitle{#1}}
-
-% Defines the date for letter (cover letter only)
-% Usage: \letterdate{}
-\newcommand*{\letterdate}[1]{\def\@letterdate{#1}}
-
-% Defines a message of opening for letter (cover letter only)
-% Usage: \letteropening{}
-\newcommand*{\letteropening}[1]{\def\@letteropening{#1}}
-
-% Defines a message of closing for letter (cover letter only)
-% Usage: \letterclosing{}
-\newcommand*{\letterclosing}[1]{\def\@letterclosing{#1}}
-
-% Defines an enclosure for letter (cover letter only, optional)
-% Usage: \letterenclosure[]{}
-\newcommand*{\letterenclname}[1][Enclosure]{\def\@letterenclname{#1}}
-\newcommand*{\letterenclosure}[2][]{
- % if an optional argument is provided, use it to redefine \enclname
- \ifthenelse{\equal{#1}{}}{}{\def\@letterenclname{#1}}
- \def\@letterenclosure{#2}
-}
-
-
-%-------------------------------------------------------------------------------
-% Commands for extra
-%-------------------------------------------------------------------------------
-% Define separator for social informations in header
-% Usage: \headersocialsep{}
-% Default: \quad\textbar\quad
-\newcommand*{\headersocialsep}[1][\quad\textbar\quad]{\def\@headersocialsep{#1}}
-\headersocialsep
-
-
-%-------------------------------------------------------------------------------
-% Commands for utilities
-%-------------------------------------------------------------------------------
-% Use to align an element of tabular table
-\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
-\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
-\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
-
-% Use to draw horizontal line with specific tickness
-\def\vhrulefill#1{\leavevmode\leaders\hrule\@height#1\hfill \kern\z@}
-
-% Use to execute conditional statements by checking empty string
-\newcommand*{\ifempty}[3]{\ifthenelse{\isempty{#1}}{#2}{#3}}
-
-
-%-------------------------------------------------------------------------------
-% Commands for elements of CV structure
-%-------------------------------------------------------------------------------
-% Define a header for CV
-% Usage: \makecvheader
-\newcommand*{\makecvheader}{
- \begin{center}
- \headerfirstnamestyle{
- \@firstname
- } \headerlastnamestyle{
- \@lastname
- }
- \\
- \vspace{0.4mm}
- \ifthenelse{\isundefined{\@position}}{}{\headerpositionstyle{\@position\\}}
- \vspace{0.4mm}
- \ifthenelse{\isundefined{\@address}}{}{\headeraddressstyle{\@address\\}}
- \vspace{-0.5mm}
- \headersocialstyle{
- \newbool{isstart}
- \setbool{isstart}{true}
- \ifthenelse{\isundefined{\@mobile}}
- {}
- {
- \faMobile\ \@mobile
- \setbool{isstart}{false}
- }
- \ifthenelse{\isundefined{\@email}}
- {}
- {
- \ifbool{isstart}
- {
- \setbool{isstart}{false}
- }
- {\@headersocialsep}
- \href{mailto:\@email}{\faEnvelope\ \@email}
- }
- \ifthenelse{\isundefined{\@link}}
- {}
- {
- \ifbool{isstart}
- {
- \setbool{isstart}{false}
- }
- {\@headersocialsep}
- \href{http://\@link}{\faLink\ \@link}
- }
- \ifthenelse{\isundefined{\@github}}
- {}
- {
- \ifbool{isstart}
- {
- \setbool{isstart}{false}
- }
- {\@headersocialsep}
- \href{https://github.com/\@github}{\faGithubSquare\ \@github}
- }
- \ifthenelse{\isundefined{\@stackoverflowid}}
- {}
- {
- \ifbool{isstart}
- {
- \setbool{isstart}{false}
- }
- {\@headersocialsep}
- \href{https://stackoverflow.com/users/\@stackoverflowid}{\faStackOverflow\ \@stackoverflowname}
- }
- \ifthenelse{\isundefined{\@linkedin}}
- {}
- {
- \ifbool{isstart}
- {
- \setbool{isstart}{false}
- }
- {\@headersocialsep}
- \href{https://www.linkedin.com/in/\@linkedin}{\faLinkedinSquare\ \@linkedin}
- }
- \ifthenelse{\isundefined{\@location}}
- {}
- {
- \ifbool{isstart}
- {
- \setbool{isstart}{false}
- }
- {\@headersocialsep}
- {}{\faMapMarker\ \@location}
- }
- \ifthenelse{\isundefined{\@twitter}}
- {}
- {
- \ifbool{isstart}
- {
- \setbool{isstart}{false}
- }
- {\@headersocialsep}
- \href{https://twitter.com/\@twitter}{\faTwitter\ \@twitter}
- }
- \ifthenelse{\isundefined{\@skype}}
- {}
- {
- \ifbool{isstart}
- {
- \setbool{isstart}{false}
- }
- {\@headersocialsep}
- \faSkype\ \@skype
- }
- } \\
- \ifthenelse{\isundefined{\@quote}}
- {}
- {\vspace{6.0mm}\headerquotestyle{\@quote\\}\vspace{5.0mm}}
- \end{center}
-}
-
-% Define a footer for CV
-% Usage: \makecvfooter{}{}{}
-\newcommand*{\makecvfooter}[3]{
- \fancyfoot{}
- \fancyfoot[L]{
- \footerstyle{#1}
- }
- \fancyfoot[C]{
- \footerstyle{#2}
- }
- \fancyfoot[R]{
- \footerstyle{#3}
- }
-}
-
-% Define a section for CV
-% Usage: \cvsection{}
-\newcommand{\cvsection}[1]{
- \par\addvspace{1.5ex}
- \phantomsection{}
- \sectionstyle{#1}
- \color{gray}\vhrulefill{0.9pt}
- \par\nobreak\addvspace{1ex}
-}
-
-% Define a subsection for CV
-% Usage: \cvsubsection{}
-\newcommand{\cvsubsection}[1]{
- \phantomsection{}
- \subsectionstyle{#1}
-}
-
-% Define an environment for cventry
-\newenvironment{cventries}{
- \begin{center}
-}{
- \end{center}
-}
-% Define an entry of cv information
-% Usage: \cventry{}{}{}{}{}
-\newcommand*{\cventry}[5]{
- \setlength\tabcolsep{0pt}
- \setlength{\extrarowheight}{0pt}
- \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{12.5cm} R{4.5cm}}
- \ifempty{#2#3}
- {\entrypositionstyle{#1} & \entrydatestyle{#4} \\}
- {\entrytitlestyle{#2} & \entrylocationstyle{#3} \\
- \entrypositionstyle{#1} & \entrydatestyle{#4} \\}
- \multicolumn{2}{L{17cm}}{\descriptionstyle{#5}} \\
- \end{tabular*}
-}
-
-% Define an environment for cvsubentry
-\newenvironment{cvsubentries}{
- \begin{center}
-}{
- \end{center}
-}
-% Define a subentry of cv information
-% Usage: \cvsubentry{}{}{}{}
-\newcommand*{\cvsubentry}[4]{
- \setlength\tabcolsep{0pt}
- \setlength{\extrarowheight}{0pt}
- \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{12.5cm} R{4.5cm}}
- \setlength\leftskip{0.2cm}
- \subentrytitlestyle{#2} & \ifthenelse{\equal{#1}{}}
- {\subentrydatestyle{#3}}{}
- \ifthenelse{\equal{#1}{}}
- {}
- {\subentrypositionstyle{#1} & \subentrydatestyle{#3} \\}
- \ifthenelse{\equal{#4}{}}
- {}
- {\multicolumn{2}{L{17.0cm}}{\subdescriptionstyle{#4}} \\}
- \end{tabular*}
-}
-
-% Define an environment for cvhonor
-\newenvironment{cvhonors}{
- \begin{center}
- \setlength\tabcolsep{0pt}
- \setlength{\extrarowheight}{0pt}
- \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} C{1.5cm} L{13.0cm} R{2.5cm}}
-}{
- \end{tabular*}
- \end{center}
-}
-% Define a line of cv information(honor, award or something else)
-% Usage: \cvhonor{}{}{}{}
-\newcommand*{\cvhonor}[4]{
- \honordatestyle{#4} & \honorpositionstyle{#1}, \honortitlestyle{#2} & \honorlocationstyle{#3}
- \\
-}
-
-% Define an environment for cvskill
-\newenvironment{cvskills}{
- \begin{center}
- \setlength\tabcolsep{1ex}
- \setlength{\extrarowheight}{0pt}
- \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} r L{15.2cm}}
-}{
- \end{tabular*}
- \end{center}
-}
-% Define a line of cv information(skill)
-% Usage: \cvskill{}{}
-\newcommand*{\cvskill}[2]{
- \skilltypestyle{#1} & \skillsetstyle{#2}
- \\
-}
-
-% Define an environment for cvitems(for cventry)
-\newenvironment{cvitems}{
- \vspace{-4mm}
- \begin{justify}
- \begin{itemize}[leftmargin=2ex, nosep, noitemsep]
- \setlength{\parskip}{0pt}
- \renewcommand{\labelitemi}{\bullet}
-}{
- \end{itemize}
- \end{justify}
- \vspace{-2mm}
-}
-
-
-%-------------------------------------------------------------------------------
-% Commands for elements of Cover Letter
-%-------------------------------------------------------------------------------
-% Define an environment for cvletter
-\newenvironment{cvletter}{
- \lettertextstyle
-}{
-}
-
-% Define a paragraph for cvletter
-% Usage: \cvparagraph{}
-\newcommand{\cvparagraph}[1]{
- \par\addvspace{2.5ex}
- \phantomsection{}
- \paragraphstyle{#1}
- \color{gray}\vhrulefill{0.9pt}
- \par\nobreak\addvspace{0.4ex}
-}
-
-% Define a title of the cover letter
-% Usage: \makelettertitle
-\newcommand*{\makelettertitle}{
- \vspace{8.4mm}
- \setlength\tabcolsep{0pt}
- \setlength{\extrarowheight}{0pt}
- \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{12.5cm} R{4.5cm}}
- \recipienttitlestyle{\@recipientname} & \letterdatestyle{\@letterdate}
- \end{tabular*}
- \begin{singlespace}
- \recipientaddressstyle{\@recipientaddress} \\\\
- \end{singlespace}
- \ifthenelse{\isundefined{\@lettertitle}}
- {}
- {\lettertitlestyle{\@lettertitle} \\}
- \lettertextstyle{\@letteropening}
-}
-
-% Define a closing of the cover letter
-% Usage: \makeletterclosing
-\newcommand*{\makeletterclosing}{
- \vspace{3.4mm}
- \lettertextstyle{\@letterclosing} \\\\
- \letternamestyle{\@firstname \@lastname}
- \ifthenelse{\isundefined{\@letterenclosure}}
- {\\}
- {
- \\\\\\
- \letterenclosurestyle{\@letterenclname: \@letterenclosure} \\
- }
-}
+%% Start of file `awesome-cv.cls'.
+% Awesome CV Class File
+%
+% This class has been downloaded from:
+% https://github.com/posquit0/Awesome-CV
+%
+% Author:
+% Claud D. Park
+% http://www.posquit0.com
+%
+% Notes:
+% 1) This class file defines the structure and layout of the template file (cv.tex, resume.tex).
+% 2) It has been written in such a way that under most circumstances you
+% should not need to edit it.
+%
+% Class license:
+% LPPL v1.3c (http://www.latex-project.org/lppl)
+%
+
+
+%-------------------------------------------------------------------------------
+% Identification
+%-------------------------------------------------------------------------------
+\ProvidesClass{awesome-cv}[2015/12/14 v1.3 Awesome Curriculum Vitae Class]
+\NeedsTeXFormat{LaTeX2e}
+
+
+%-------------------------------------------------------------------------------
+% Class options
+%
+% (need to be done before the external package loading, for example because
+% we need \paperwidth, \paperheight and \@ptsize to be defined before loading
+% geometry and fancyhdr)
+%-------------------------------------------------------------------------------
+% Options for draft or final
+\DeclareOption{draft}{\setlength\overfullrule{5pt}}
+\DeclareOption{final}{\setlength\overfullrule{0pt}}
+% Inherit options of article
+\DeclareOption*{
+ \PassOptionsToClass{\CurrentOption}{article}
+}
+\ProcessOptions\relax
+\LoadClass{article}
+
+
+%-------------------------------------------------------------------------------
+% 3rd party packages
+%-------------------------------------------------------------------------------
+% Needed to make fixed length table
+\RequirePackage{array}
+% Needed to handle list environment
+\RequirePackage{enumitem}
+% Needed to handle text alignment
+\RequirePackage{ragged2e}
+% Needed to configure page layout
+\RequirePackage{geometry}
+% Needed to make header & footer effeciently
+\RequirePackage{fancyhdr}
+% Needed to manage colors
+\RequirePackage{xcolor}
+% Needed to use \ifxetex-\else-\fi statement
+\RequirePackage{ifxetex}
+% Needed to use \if-\then-\else statement
+\RequirePackage{xifthen}
+% Needed to use a toolbox of programming tools
+\RequirePackage{etoolbox}
+% Needed to change line spacing in specific environment
+\RequirePackage{setspace}
+% Needed to manage fonts
+\ifxetex
+ \RequirePackage[quiet]{fontspec}
+ % To support LaTeX quoting style
+ \defaultfontfeatures{Ligatures=TeX}
+\else
+ \RequirePackage[T1]{fontenc}
+ % Replace by the encoding you are using
+ \RequirePackage[utf8]{inputenc}
+\fi
+% Needed to manage math fonts
+\RequirePackage{unicode-math}
+% Needed to use icons from font-awesome
+% (https://github.com/posquit0/latex-fontawesome)
+\RequirePackage{fontawesome}
+% Needed to deal a paragraphs
+\RequirePackage{parskip}
+% Needed to deal hyperlink
+\RequirePackage{hyperref}
+\hypersetup{
+ pdftitle={},
+ pdfauthor={},
+ pdfsubject={},
+ pdfkeywords={},
+ colorlinks=false,
+ allbordercolors=white
+}
+
+
+%-------------------------------------------------------------------------------
+% Configuration for directory locations
+%-------------------------------------------------------------------------------
+% Configure a directory location for fonts(default: 'fonts/')
+\newcommand*{\fontdir}[1][fonts/]{\def\@fontdir{#1}}
+\fontdir
+
+
+%-------------------------------------------------------------------------------
+% Configuration for layout
+%-------------------------------------------------------------------------------
+%% Page Layout
+% Configure page margins with geometry
+\geometry{left=2.0cm, top=1.5cm, right=2.0cm, bottom=2.0cm, footskip=.5cm}
+
+%% Header & Footer
+% Set offset to each header and offset
+\fancyhfoffset{0em}
+% Remove head rule
+\renewcommand{\headrulewidth}{0pt}
+% Clear all header & footer fields
+\fancyhf{}
+% Enable if you want to make header or footer using fancyhdr
+\pagestyle{fancy}
+
+
+%-------------------------------------------------------------------------------
+% Configuration for colors
+%-------------------------------------------------------------------------------
+% Gray-scale colors
+\definecolor{white}{HTML}{FFFFFF}
+\definecolor{black}{HTML}{000000}
+\definecolor{darkgray}{HTML}{333333}
+\definecolor{gray}{HTML}{5D5D5D}
+\definecolor{lightgray}{HTML}{999999}
+% Basic colors
+\definecolor{green}{HTML}{C2E15F}
+\definecolor{orange}{HTML}{FDA333}
+\definecolor{purple}{HTML}{D3A4F9}
+\definecolor{red}{HTML}{FB4485}
+\definecolor{blue}{HTML}{6CE0F1}
+% Text colors
+\definecolor{darktext}{HTML}{414141}
+\colorlet{text}{darkgray}
+\colorlet{graytext}{gray}
+\colorlet{lighttext}{lightgray}
+% Awesome colors
+\definecolor{awesome-emerald}{HTML}{00A388}
+\definecolor{awesome-skyblue}{HTML}{0395DE}
+\definecolor{awesome-red}{HTML}{000000}
+\definecolor{awesome-pink}{HTML}{EF4089}
+\definecolor{awesome-orange}{HTML}{FF6138}
+\definecolor{awesome-nephritis}{HTML}{27AE60}
+\definecolor{awesome-concrete}{HTML}{95A5A6}
+\definecolor{awesome-darknight}{HTML}{131A28}
+\colorlet{awesome}{awesome-red}
+
+% Awesome section color
+\newcounter{colorCounter}
+\def\@sectioncolor#1#2#3{%
+ {%
+ \color{%
+ \ifcase\value{colorCounter}%
+ awesome\or%
+ awesome\or%
+ awesome\or%
+ awesome\or%
+ awesome\else%
+ awesome\fi%
+ } #1#2#3%
+ }%
+ \stepcounter{colorCounter}%
+}
+
+
+%-------------------------------------------------------------------------------
+% Configuration for fonts
+%-------------------------------------------------------------------------------
+% Set font for header (default is Roboto)
+\newfontfamily\headerfont[
+ Path=\@fontdir,
+ UprightFont=*-Regular,
+ ItalicFont=*-Italic,
+ BoldFont=*-Bold,
+ BoldItalicFont=*-BoldItalic,
+]{Roboto}
+
+\newfontfamily\headerfontlight[
+ Path=\@fontdir,
+ UprightFont=*-Thin,
+ ItalicFont=*-ThinItalic,
+ BoldFont=*-Medium,
+ BoldItalicFont=*-MediumItalic,
+]{Roboto}
+
+% Set font for footer (default is Source Sans Pro)
+\newfontfamily\footerfont[
+ Path=\@fontdir,
+ UprightFont=*-Regular,
+ ItalicFont=*-It,
+ BoldFont=*-Bold
+]{SourceSansPro}
+
+% Set font for body (default is Source Sans Pro)
+\newfontfamily\bodyfont[
+ Path=\@fontdir,
+ UprightFont=*-Regular,
+ ItalicFont=*-It,
+ BoldFont=*-Bold,
+ BoldItalicFont=*-BoldIt
+]{SourceSansPro}
+
+\newfontfamily\bodyfontlight[
+ Path=\@fontdir,
+ UprightFont=*-Light,
+ ItalicFont=*-LightIt,
+ BoldFont=*-Semibold,
+ BoldItalicFont=*-SemiboldIt
+]{SourceSansPro}
+
+
+%-------------------------------------------------------------------------------
+% Configuration for styles
+%-------------------------------------------------------------------------------
+% Configure styles for each CV elements
+% For fundamental structures
+\newcommand*{\headerfirstnamestyle}[1]{{\fontsize{32pt}{1em}\headerfontlight\color{graytext} #1}}
+\newcommand*{\headerlastnamestyle}[1]{{\fontsize{32pt}{1em}\headerfont\bfseries\color{text} #1}}
+\newcommand*{\headerpositionstyle}[1]{{\fontsize{7.6pt}{1em}\bodyfont\scshape\color{awesome} #1}}
+\newcommand*{\headeraddressstyle}[1]{{\fontsize{8pt}{1em}\headerfont\itshape\color{lighttext} #1}}
+\newcommand*{\headersocialstyle}[1]{{\fontsize{6.8pt}{1em}\headerfont\color{text} #1}}
+\newcommand*{\headerquotestyle}[1]{{\fontsize{9pt}{1em}\bodyfont\itshape\color{darktext} #1}}
+\newcommand*{\footerstyle}[1]{{\fontsize{8pt}{1em}\footerfont\scshape\color{lighttext} #1}}
+\newcommand*{\sectionstyle}[1]{{\fontsize{16pt}{1em}\bodyfont\bfseries\color{text}\@sectioncolor #1}}
+\newcommand*{\subsectionstyle}[1]{{\fontsize{12pt}{1em}\bodyfont\scshape\textcolor{text}{#1}}}
+
+% For elements of entry
+\newcommand*{\entrytitlestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
+\newcommand*{\entrypositionstyle}[1]{{\fontsize{8pt}{1em}\bodyfont\scshape\color{graytext} #1}}
+\newcommand*{\entrydatestyle}[1]{{\fontsize{8pt}{1em}\bodyfontlight\slshape\color{graytext} #1}}
+\newcommand*{\entrylocationstyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\slshape\color{awesome} #1}}
+\newcommand*{\descriptionstyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\upshape\color{text} #1}}
+\newcommand*{\skill}[1]{{\fontsize{9pt}{1em}\bodyfontlight\upshape\color{text} \textnormal{#1}}}
+
+% For elements of subentry
+\newcommand*{\subentrytitlestyle}[1]{{\fontsize{8pt}{1em}\bodyfont\mdseries\color{graytext} #1}}
+\newcommand*{\subentrypositionstyle}[1]{{\fontsize{7pt}{1em}\bodyfont\scshape\color{graytext} #1}}
+\newcommand*{\subentrydatestyle}[1]{{\fontsize{7pt}{1em}\bodyfontlight\slshape\color{graytext} #1}}
+\newcommand*{\subentrylocationstyle}[1]{{\fontsize{7pt}{1em}\bodyfontlight\slshape\color{awesome} #1}}
+\newcommand*{\subdescriptionstyle}[1]{{\fontsize{8pt}{1em}\bodyfontlight\upshape\color{text} #1}}
+
+% For elements of honor
+\newcommand*{\honortitlestyle}[1]{{\fontsize{9pt}{1em}\bodyfont\color{graytext} #1}}
+\newcommand*{\honorpositionstyle}[1]{{\fontsize{9pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
+\newcommand*{\honordatestyle}[1]{{\fontsize{9pt}{1em}\bodyfont\color{graytext} #1}}
+\newcommand*{\honorlocationstyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\slshape\color{awesome} #1}}
+
+% For elements of skill
+\newcommand*{\skilltypestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
+\newcommand*{\skillsetstyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\color{text} #1}}
+
+% For elements of the cover letter
+\newcommand*{\paragraphstyle}[1]{{\fontsize{14pt}{1em}\bodyfont\bfseries\color{text}\@sectioncolor #1}}
+\newcommand*{\recipientaddressstyle}[1]{{\fontsize{9pt}{1em}\bodyfont\scshape\color{graytext} #1}}
+\newcommand*{\recipienttitlestyle}[1]{{\fontsize{11pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
+\newcommand*{\lettertitlestyle}[1]{{\fontsize{10pt}{1em}\bodyfontlight\bfseries\color{darktext} \underline{#1}}}
+\newcommand*{\letterdatestyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\slshape\color{graytext} #1}}
+\newcommand*{\lettertextstyle}{\fontsize{10pt}{1.4em}\bodyfontlight\upshape\color{graytext}}
+\newcommand*{\letternamestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
+\newcommand*{\letterenclosurestyle}[1]{{\fontsize{10pt}{1em}\bodyfontlight\slshape\color{lighttext} #1}}
+
+
+%-------------------------------------------------------------------------------
+% Commands for personal information
+%-------------------------------------------------------------------------------
+% Define writer's name
+% Usage: \name{}{}
+% Usage: \firstname{}
+% Usage: \lastname{}
+% Usage: \familyname{}
+\newcommand*{\name}[2]{\def\@firstname{#1}\def\@lastname{#2}}
+\newcommand*{\firstname}[1]{\def\@firstname{#1}}
+\newcommand*{\lastname}[1]{\def\@lastname{#1}}
+\newcommand*{\familyname}[1]{\def\@lastname{#1}}
+\def\@familyname{\@lastname}
+
+% Define writer's address
+% Usage: \address{}
+\newcommand*{\address}[1]{\def\@address{#1}}
+
+% Define writer's position
+% Usage: \name{}
+\newcommand*{\position}[1]{\def\@position{#1}}
+
+% Defines writer's mobile (optional)
+% Usage: \mobile{}
+\newcommand*{\mobile}[1]{\def\@mobile{#1}}
+
+% Defines writer's email (optional)
+% Usage: \email{}
+\newcommand*{\email}[1]{\def\@email{#1}}
+
+% Defines writer's link (optional)
+% Usage: \link{}
+\newcommand*{\link}[1]{\def\@link{#1}}
+
+% Defines writer's github (optional)
+% Usage: \github{}
+\newcommand*{\github}[1]{\def\@github{#1}}
+
+% Defines writer's github (optional)
+% Usage: \github{}
+\newcommand*{\location}[1]{\def\@location{#1}}
+
+% Defines writer's linked-in (optional)
+% Usage: \linkedin{}
+\newcommand*{\linkedin}[1]{\def\@linkedin{#1}}
+
+% Defines writer's stackoverflow profile (optional)
+% Usage: \stackoverflow{}{}
+% e.g.https://stackoverflow.com/users/123456/sam-smith
+% would be \stackoverflow{123456}{sam-smith}
+\newcommand*{\stackoverflow}[2]{\def\@stackoverflowid{#1}\def\@stackoverflowname{#2}}
+
+% Defines writer's skype (optional)
+% Usage: \skype{}
+\newcommand*{\skype}[1]{\def\@skype{#1}}
+
+% Defines writer's twitter (optional)
+% Usage: \twitter{}
+\newcommand*{\twitter}[1]{\def\@twitter{#1}}
+
+% Defines writer's quote (optional)
+% Usage: \quote{}
+\renewcommand*{\quote}[1]{\def\@quote{#1}}
+
+% Defines recipient's information (cover letter only)
+% Usage: \recipient{}{}
+% Usage: \recipientname{}
+% Usage: \recipientaddress{}
+\newcommand*{\recipient}[2]{\def\@recipientname{#1}\def\@recipientaddress{#2}}
+\newcommand*{\recipientname}[1]{\def\@recipientname{#1}}
+\newcommand*{\recipientaddress}[1]{\def\@recipientaddress{#1}}
+
+% Defines the title for letter (cover letter only, optional)
+% Usage: \lettertitle{}
+\newcommand*{\lettertitle}[1]{\def\@lettertitle{#1}}
+
+% Defines the date for letter (cover letter only)
+% Usage: \letterdate{}
+\newcommand*{\letterdate}[1]{\def\@letterdate{#1}}
+
+% Defines a message of opening for letter (cover letter only)
+% Usage: \letteropening{}
+\newcommand*{\letteropening}[1]{\def\@letteropening{#1}}
+
+% Defines a message of closing for letter (cover letter only)
+% Usage: \letterclosing{}
+\newcommand*{\letterclosing}[1]{\def\@letterclosing{#1}}
+
+% Defines an enclosure for letter (cover letter only, optional)
+% Usage: \letterenclosure[]{}
+\newcommand*{\letterenclname}[1][Enclosure]{\def\@letterenclname{#1}}
+\newcommand*{\letterenclosure}[2][]{
+ % if an optional argument is provided, use it to redefine \enclname
+ \ifthenelse{\equal{#1}{}}{}{\def\@letterenclname{#1}}
+ \def\@letterenclosure{#2}
+}
+
+
+%-------------------------------------------------------------------------------
+% Commands for extra
+%-------------------------------------------------------------------------------
+% Define separator for social informations in header
+% Usage: \headersocialsep{}
+% Default: \quad\textbar\quad
+\newcommand*{\headersocialsep}[1][\quad\textbar\quad]{\def\@headersocialsep{#1}}
+\headersocialsep
+
+
+%-------------------------------------------------------------------------------
+% Commands for utilities
+%-------------------------------------------------------------------------------
+% Use to align an element of tabular table
+\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
+\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
+\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
+
+% Use to draw horizontal line with specific tickness
+\def\vhrulefill#1{\leavevmode\leaders\hrule\@height#1\hfill \kern\z@}
+
+% Use to execute conditional statements by checking empty string
+\newcommand*{\ifempty}[3]{\ifthenelse{\isempty{#1}}{#2}{#3}}
+
+
+%-------------------------------------------------------------------------------
+% Commands for elements of CV structure
+%-------------------------------------------------------------------------------
+% Define a header for CV
+% Usage: \makecvheader
+\newcommand*{\makecvheader}{
+ \begin{center}
+ \headerfirstnamestyle{
+ \@firstname
+ } \headerlastnamestyle{
+ \@lastname
+ }
+ \\
+ \vspace{0.4mm}
+ \ifthenelse{\isundefined{\@position}}{}{\headerpositionstyle{\@position\\}}
+ \vspace{0.4mm}
+ \ifthenelse{\isundefined{\@address}}{}{\headeraddressstyle{\@address\\}}
+ \vspace{-0.5mm}
+ \headersocialstyle{
+ \newbool{isstart}
+ \setbool{isstart}{true}
+ \ifthenelse{\isundefined{\@mobile}}
+ {}
+ {
+ \faMobile\ \@mobile
+ \setbool{isstart}{false}
+ }
+ \ifthenelse{\isundefined{\@email}}
+ {}
+ {
+ \ifbool{isstart}
+ {
+ \setbool{isstart}{false}
+ }
+ {\@headersocialsep}
+ \href{mailto:\@email}{\faEnvelope\ \@email}
+ }
+ \ifthenelse{\isundefined{\@link}}
+ {}
+ {
+ \ifbool{isstart}
+ {
+ \setbool{isstart}{false}
+ }
+ {\@headersocialsep}
+ \href{http://\@link}{\faLink\ \@link}
+ }
+ \ifthenelse{\isundefined{\@github}}
+ {}
+ {
+ \ifbool{isstart}
+ {
+ \setbool{isstart}{false}
+ }
+ {\@headersocialsep}
+ \href{https://github.com/\@github}{\faGithubSquare\ \@github}
+ }
+ \ifthenelse{\isundefined{\@stackoverflowid}}
+ {}
+ {
+ \ifbool{isstart}
+ {
+ \setbool{isstart}{false}
+ }
+ {\@headersocialsep}
+ \href{https://stackoverflow.com/users/\@stackoverflowid}{\faStackOverflow\ \@stackoverflowname}
+ }
+ \ifthenelse{\isundefined{\@linkedin}}
+ {}
+ {
+ \ifbool{isstart}
+ {
+ \setbool{isstart}{false}
+ }
+ {\@headersocialsep}
+ \href{https://www.linkedin.com/in/\@linkedin}{\faLinkedinSquare\ \@linkedin}
+ }
+ \ifthenelse{\isundefined{\@location}}
+ {}
+ {
+ \ifbool{isstart}
+ {
+ \setbool{isstart}{false}
+ }
+ {\@headersocialsep}
+ {}{\faMapMarker\ \@location}
+ }
+ \ifthenelse{\isundefined{\@twitter}}
+ {}
+ {
+ \ifbool{isstart}
+ {
+ \setbool{isstart}{false}
+ }
+ {\@headersocialsep}
+ \href{https://twitter.com/\@twitter}{\faTwitter\ \@twitter}
+ }
+ \ifthenelse{\isundefined{\@skype}}
+ {}
+ {
+ \ifbool{isstart}
+ {
+ \setbool{isstart}{false}
+ }
+ {\@headersocialsep}
+ \faSkype\ \@skype
+ }
+ } \\
+ \ifthenelse{\isundefined{\@quote}}
+ {}
+ {\vspace{6.0mm}\headerquotestyle{\@quote\\}\vspace{5.0mm}}
+ \end{center}
+}
+
+% Define a footer for CV
+% Usage: \makecvfooter{}{}{}
+\newcommand*{\makecvfooter}[3]{
+ \fancyfoot{}
+ \fancyfoot[L]{
+ \footerstyle{#1}
+ }
+ \fancyfoot[C]{
+ \footerstyle{#2}
+ }
+ \fancyfoot[R]{
+ \footerstyle{#3}
+ }
+}
+
+% Define a section for CV
+% Usage: \cvsection{}
+\newcommand{\cvsection}[1]{
+ \par\addvspace{1.5ex}
+ \phantomsection{}
+ \sectionstyle{#1}
+ \color{gray}\vhrulefill{0.9pt}
+ \par\nobreak\addvspace{1ex}
+}
+
+% Define a subsection for CV
+% Usage: \cvsubsection{}
+\newcommand{\cvsubsection}[1]{
+ \phantomsection{}
+ \subsectionstyle{#1}
+}
+
+% Define an environment for cventry
+\newenvironment{cventries}{
+ \begin{center}
+}{
+ \end{center}
+}
+% Define an entry of cv information
+% Usage: \cventry{}{}{}{}{}
+\newcommand*{\cventry}[5]{
+ \setlength\tabcolsep{0pt}
+ \setlength{\extrarowheight}{0pt}
+ \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{12.5cm} R{4.5cm}}
+ \ifempty{#2#3}
+ {\entrypositionstyle{#1} & \entrydatestyle{#4} \\}
+ {\entrytitlestyle{#2} & \entrylocationstyle{#3} \\
+ \entrypositionstyle{#1} & \entrydatestyle{#4} \\}
+ \multicolumn{2}{L{17cm}}{\descriptionstyle{#5}} \\
+ \end{tabular*}
+}
+
+% Define an environment for cvsubentry
+\newenvironment{cvsubentries}{
+ \begin{center}
+}{
+ \end{center}
+}
+% Define a subentry of cv information
+% Usage: \cvsubentry{}{}{}{}
+\newcommand*{\cvsubentry}[4]{
+ \setlength\tabcolsep{0pt}
+ \setlength{\extrarowheight}{0pt}
+ \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{12.5cm} R{4.5cm}}
+ \setlength\leftskip{0.2cm}
+ \subentrytitlestyle{#2} & \ifthenelse{\equal{#1}{}}
+ {\subentrydatestyle{#3}}{}
+ \ifthenelse{\equal{#1}{}}
+ {}
+ {\subentrypositionstyle{#1} & \subentrydatestyle{#3} \\}
+ \ifthenelse{\equal{#4}{}}
+ {}
+ {\multicolumn{2}{L{17.0cm}}{\subdescriptionstyle{#4}} \\}
+ \end{tabular*}
+}
+
+% Define an environment for cvhonor
+\newenvironment{cvhonors}{
+ \begin{center}
+ \setlength\tabcolsep{0pt}
+ \setlength{\extrarowheight}{0pt}
+ \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} C{1.5cm} L{13.0cm} R{2.5cm}}
+}{
+ \end{tabular*}
+ \end{center}
+}
+% Define a line of cv information(honor, award or something else)
+% Usage: \cvhonor{}{}{}{}
+\newcommand*{\cvhonor}[4]{
+ \honordatestyle{#4} & \honorpositionstyle{#1}, \honortitlestyle{#2} & \honorlocationstyle{#3}
+ \\
+}
+
+% Define an environment for cvskill
+\newenvironment{cvskills}{
+ \begin{center}
+ \setlength\tabcolsep{1ex}
+ \setlength{\extrarowheight}{0pt}
+ \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} r L{15.2cm}}
+}{
+ \end{tabular*}
+ \end{center}
+}
+% Define a line of cv information(skill)
+% Usage: \cvskill{}{}
+\newcommand*{\cvskill}[2]{
+ \skilltypestyle{#1} & \skillsetstyle{#2}
+ \\
+}
+
+% Define an environment for cvitems(for cventry)
+\newenvironment{cvitems}{
+ \vspace{-4mm}
+ \begin{justify}
+ \begin{itemize}[leftmargin=2ex, nosep, noitemsep]
+ \setlength{\parskip}{0pt}
+ \renewcommand{\labelitemi}{\bullet}
+}{
+ \end{itemize}
+ \end{justify}
+ \vspace{-2mm}
+}
+
+
+%-------------------------------------------------------------------------------
+% Commands for elements of Cover Letter
+%-------------------------------------------------------------------------------
+% Define an environment for cvletter
+\newenvironment{cvletter}{
+ \lettertextstyle
+}{
+}
+
+% Define a paragraph for cvletter
+% Usage: \cvparagraph{}
+\newcommand{\cvparagraph}[1]{
+ \par\addvspace{2.5ex}
+ \phantomsection{}
+ \paragraphstyle{#1}
+ \color{gray}\vhrulefill{0.9pt}
+ \par\nobreak\addvspace{0.4ex}
+}
+
+% Define a title of the cover letter
+% Usage: \makelettertitle
+\newcommand*{\makelettertitle}{
+ \vspace{8.4mm}
+ \setlength\tabcolsep{0pt}
+ \setlength{\extrarowheight}{0pt}
+ \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{12.5cm} R{4.5cm}}
+ \recipienttitlestyle{\@recipientname} & \letterdatestyle{\@letterdate}
+ \end{tabular*}
+ \begin{singlespace}
+ \recipientaddressstyle{\@recipientaddress} \\\\
+ \end{singlespace}
+ \ifthenelse{\isundefined{\@lettertitle}}
+ {}
+ {\lettertitlestyle{\@lettertitle} \\}
+ \lettertextstyle{\@letteropening}
+}
+
+% Define a closing of the cover letter
+% Usage: \makeletterclosing
+\newcommand*{\makeletterclosing}{
+ \vspace{3.4mm}
+ \lettertextstyle{\@letterclosing} \\\\
+ \letternamestyle{\@firstname \@lastname}
+ \ifthenelse{\isundefined{\@letterenclosure}}
+ {\\}
+ {
+ \\\\\\
+ \letterenclosurestyle{\@letterenclname: \@letterenclosure} \\
+ }
+}
diff --git a/public/templates/template2/fontawesome.sty b/public/templates/template2/fontawesome.sty
index ca60f2b5..86e56ef3 100755
--- a/public/templates/template2/fontawesome.sty
+++ b/public/templates/template2/fontawesome.sty
@@ -1,683 +1,683 @@
-%% Copyright 2015 Claud D. Park
-%% It is based on furl's latex-fontawesome project.
-
-% Identify this package.
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{fontawesome}[2015/11/04 v4.4.0 font awesome icons]
-
-% Requirements to use.
-\usepackage{fontspec}
-
-% Define shortcut to load the Font Awesome font.
-\newfontfamily{\FA}[
-Path=fonts/
-]{FontAwesome}
-% Generic command displaying an icon by its name.
-\newcommand*{\faicon}[1]{{
- \FA\csname faicon@#1\endcsname
-}}
-
-\expandafter\def\csname faicon@adjust\endcsname {\symbol{"F042}} \def\faAdjust {{\FA\csname faicon@adjust\endcsname}}
-\expandafter\def\csname faicon@adn\endcsname {\symbol{"F170}} \def\faAdn {{\FA\csname faicon@adn\endcsname}}
-\expandafter\def\csname faicon@align-center\endcsname {\symbol{"F037}} \def\faAlignCenter {{\FA\csname faicon@align-center\endcsname}}
-\expandafter\def\csname faicon@align-justify\endcsname {\symbol{"F039}} \def\faAlignJustify {{\FA\csname faicon@align-justify\endcsname}}
-\expandafter\def\csname faicon@align-left\endcsname {\symbol{"F036}} \def\faAlignLeft {{\FA\csname faicon@align-left\endcsname}}
-\expandafter\def\csname faicon@align-right\endcsname {\symbol{"F038}} \def\faAlignRight {{\FA\csname faicon@align-right\endcsname}}
-\expandafter\def\csname faicon@amazon\endcsname {\symbol{"F270}} \def\faAmazon {{\FA\csname faicon@amazon\endcsname}}
-\expandafter\def\csname faicon@ambulance\endcsname {\symbol{"F0F9}} \def\faAmbulance {{\FA\csname faicon@ambulance\endcsname}}
-\expandafter\def\csname faicon@anchor\endcsname {\symbol{"F13D}} \def\faAnchor {{\FA\csname faicon@anchor\endcsname}}
-\expandafter\def\csname faicon@android\endcsname {\symbol{"F17B}} \def\faAndroid {{\FA\csname faicon@android\endcsname}}
-\expandafter\def\csname faicon@angellist\endcsname {\symbol{"F209}} \def\faAngellist {{\FA\csname faicon@angellist\endcsname}}
-\expandafter\def\csname faicon@angle-double-down\endcsname {\symbol{"F103}} \def\faAngleDoubleDown {{\FA\csname faicon@angle-double-down\endcsname}}
-\expandafter\def\csname faicon@angle-double-left\endcsname {\symbol{"F100}} \def\faAngleDoubleLeft {{\FA\csname faicon@angle-double-left\endcsname}}
-\expandafter\def\csname faicon@angle-double-right\endcsname {\symbol{"F101}} \def\faAngleDoubleRight {{\FA\csname faicon@angle-double-right\endcsname}}
-\expandafter\def\csname faicon@angle-double-up\endcsname {\symbol{"F102}} \def\faAngleDoubleUp {{\FA\csname faicon@angle-double-up\endcsname}}
-\expandafter\def\csname faicon@angle-down\endcsname {\symbol{"F107}} \def\faAngleDown {{\FA\csname faicon@angle-down\endcsname}}
-\expandafter\def\csname faicon@angle-left\endcsname {\symbol{"F104}} \def\faAngleLeft {{\FA\csname faicon@angle-left\endcsname}}
-\expandafter\def\csname faicon@angle-right\endcsname {\symbol{"F105}} \def\faAngleRight {{\FA\csname faicon@angle-right\endcsname}}
-\expandafter\def\csname faicon@angle-up\endcsname {\symbol{"F106}} \def\faAngleUp {{\FA\csname faicon@angle-up\endcsname}}
-\expandafter\def\csname faicon@apple\endcsname {\symbol{"F179}} \def\faApple {{\FA\csname faicon@apple\endcsname}}
-\expandafter\def\csname faicon@archive\endcsname {\symbol{"F187}} \def\faArchive {{\FA\csname faicon@archive\endcsname}}
-\expandafter\def\csname faicon@area-chart\endcsname {\symbol{"F1FE}} \def\faAreaChart {{\FA\csname faicon@area-chart\endcsname}}
-\expandafter\def\csname faicon@arrow-circle-down\endcsname {\symbol{"F0AB}} \def\faArrowCircleDown {{\FA\csname faicon@arrow-circle-down\endcsname}}
-\expandafter\def\csname faicon@arrow-circle-left\endcsname {\symbol{"F0A8}} \def\faArrowCircleLeft {{\FA\csname faicon@arrow-circle-left\endcsname}}
-\expandafter\def\csname faicon@arrow-circle-o-down\endcsname {\symbol{"F01A}} \def\faArrowCircleODown {{\FA\csname faicon@arrow-circle-o-down\endcsname}}
-\expandafter\def\csname faicon@arrow-circle-o-left\endcsname {\symbol{"F190}} \def\faArrowCircleOLeft {{\FA\csname faicon@arrow-circle-o-left\endcsname}}
-\expandafter\def\csname faicon@arrow-circle-o-right\endcsname {\symbol{"F18E}} \def\faArrowCircleORight {{\FA\csname faicon@arrow-circle-o-right\endcsname}}
-\expandafter\def\csname faicon@arrow-circle-o-up\endcsname {\symbol{"F01B}} \def\faArrowCircleOUp {{\FA\csname faicon@arrow-circle-o-up\endcsname}}
-\expandafter\def\csname faicon@arrow-circle-right\endcsname {\symbol{"F0A9}} \def\faArrowCircleRight {{\FA\csname faicon@arrow-circle-right\endcsname}}
-\expandafter\def\csname faicon@arrow-circle-up\endcsname {\symbol{"F0AA}} \def\faArrowCircleUp {{\FA\csname faicon@arrow-circle-up\endcsname}}
-\expandafter\def\csname faicon@arrow-down\endcsname {\symbol{"F063}} \def\faArrowDown {{\FA\csname faicon@arrow-down\endcsname}}
-\expandafter\def\csname faicon@arrow-left\endcsname {\symbol{"F060}} \def\faArrowLeft {{\FA\csname faicon@arrow-left\endcsname}}
-\expandafter\def\csname faicon@arrow-right\endcsname {\symbol{"F061}} \def\faArrowRight {{\FA\csname faicon@arrow-right\endcsname}}
-\expandafter\def\csname faicon@arrow-up\endcsname {\symbol{"F062}} \def\faArrowUp {{\FA\csname faicon@arrow-up\endcsname}}
-\expandafter\def\csname faicon@arrows\endcsname {\symbol{"F047}} \def\faArrows {{\FA\csname faicon@arrows\endcsname}}
-\expandafter\def\csname faicon@arrows-alt\endcsname {\symbol{"F0B2}} \def\faArrowsAlt {{\FA\csname faicon@arrows-alt\endcsname}}
-\expandafter\def\csname faicon@arrows-h\endcsname {\symbol{"F07E}} \def\faArrowsH {{\FA\csname faicon@arrows-h\endcsname}}
-\expandafter\def\csname faicon@arrows-v\endcsname {\symbol{"F07D}} \def\faArrowsV {{\FA\csname faicon@arrows-v\endcsname}}
-\expandafter\def\csname faicon@asterisk\endcsname {\symbol{"F069}} \def\faAsterisk {{\FA\csname faicon@asterisk\endcsname}}
-\expandafter\def\csname faicon@at\endcsname {\symbol{"F1FA}} \def\faAt {{\FA\csname faicon@at\endcsname}}
-\expandafter\def\csname faicon@automobile\endcsname {\symbol{"F1B9}} \def\faAutomobile {{\FA\csname faicon@automobile\endcsname}}
-\expandafter\def\csname faicon@backward\endcsname {\symbol{"F04A}} \def\faBackward {{\FA\csname faicon@backward\endcsname}}
-\expandafter\def\csname faicon@balance-scale\endcsname {\symbol{"F24E}} \def\faBalanceScale {{\FA\csname faicon@balance-scale\endcsname}}
-\expandafter\def\csname faicon@ban\endcsname {\symbol{"F05E}} \def\faBan {{\FA\csname faicon@ban\endcsname}}
-\expandafter\def\csname faicon@bank\endcsname {\symbol{"F19C}} \def\faBank {{\FA\csname faicon@bank\endcsname}}
-\expandafter\def\csname faicon@bar-chart\endcsname {\symbol{"F080}} \def\faBarChart {{\FA\csname faicon@bar-chart\endcsname}}
-\expandafter\def\csname faicon@bar-chart-o\endcsname {\symbol{"F080}} \def\faBarChartO {{\FA\csname faicon@bar-chart-o\endcsname}}
-\expandafter\def\csname faicon@barcode\endcsname {\symbol{"F02A}} \def\faBarcode {{\FA\csname faicon@barcode\endcsname}}
-\expandafter\def\csname faicon@bars\endcsname {\symbol{"F0C9}} \def\faBars {{\FA\csname faicon@bars\endcsname}}
-\expandafter\def\csname faicon@battery-empty\endcsname {\symbol{"F244}} \def\faBatteryEmpty {{\FA\csname faicon@battery-empty\endcsname}}
-\expandafter\def\csname faicon@battery-full\endcsname {\symbol{"F240}} \def\faBatteryFull {{\FA\csname faicon@battery-full\endcsname}}
-\expandafter\def\csname faicon@battery-half\endcsname {\symbol{"F242}} \def\faBatteryHalf {{\FA\csname faicon@battery-half\endcsname}}
-\expandafter\def\csname faicon@battery-quarter\endcsname {\symbol{"F243}} \def\faBatteryQuarter {{\FA\csname faicon@battery-quarter\endcsname}}
-\expandafter\def\csname faicon@battery-three-quarters\endcsname {\symbol{"F241}} \def\faBatteryThreeQuarters {{\FA\csname faicon@battery-three-quarters\endcsname}}
-\expandafter\def\csname faicon@bed\endcsname {\symbol{"F236}} \def\faBed {{\FA\csname faicon@bed\endcsname}}
-\expandafter\def\csname faicon@beer\endcsname {\symbol{"F0FC}} \def\faBeer {{\FA\csname faicon@beer\endcsname}}
-\expandafter\def\csname faicon@behance\endcsname {\symbol{"F1B4}} \def\faBehance {{\FA\csname faicon@behance\endcsname}}
-\expandafter\def\csname faicon@behance-square\endcsname {\symbol{"F1B5}} \def\faBehanceSquare {{\FA\csname faicon@behance-square\endcsname}}
-\expandafter\def\csname faicon@bell\endcsname {\symbol{"F0F3}} \def\faBell {{\FA\csname faicon@bell\endcsname}}
-\expandafter\def\csname faicon@bell-o\endcsname {\symbol{"F0A2}} \def\faBellO {{\FA\csname faicon@bell-o\endcsname}}
-\expandafter\def\csname faicon@bell-slash\endcsname {\symbol{"F1F6}} \def\faBellSlash {{\FA\csname faicon@bell-slash\endcsname}}
-\expandafter\def\csname faicon@bell-slash-o\endcsname {\symbol{"F1F7}} \def\faBellSlashO {{\FA\csname faicon@bell-slash-o\endcsname}}
-\expandafter\def\csname faicon@bicycle\endcsname {\symbol{"F206}} \def\faBicycle {{\FA\csname faicon@bicycle\endcsname}}
-\expandafter\def\csname faicon@binoculars\endcsname {\symbol{"F1E5}} \def\faBinoculars {{\FA\csname faicon@binoculars\endcsname}}
-\expandafter\def\csname faicon@birthday-cake\endcsname {\symbol{"F1FD}} \def\faBirthdayCake {{\FA\csname faicon@birthday-cake\endcsname}}
-\expandafter\def\csname faicon@bitbucket\endcsname {\symbol{"F171}} \def\faBitbucket {{\FA\csname faicon@bitbucket\endcsname}}
-\expandafter\def\csname faicon@bitbucket-square\endcsname {\symbol{"F172}} \def\faBitbucketSquare {{\FA\csname faicon@bitbucket-square\endcsname}}
-\expandafter\def\csname faicon@bitcoin\endcsname {\symbol{"F15A}} \def\faBitcoin {{\FA\csname faicon@bitcoin\endcsname}}
-\expandafter\def\csname faicon@black-tie\endcsname {\symbol{"F27E}} \def\faBlackTie {{\FA\csname faicon@black-tie\endcsname}}
-\expandafter\def\csname faicon@bold\endcsname {\symbol{"F032}} \def\faBold {{\FA\csname faicon@bold\endcsname}}
-\expandafter\def\csname faicon@bolt\endcsname {\symbol{"F0E7}} \def\faBolt {{\FA\csname faicon@bolt\endcsname}}
-\expandafter\def\csname faicon@bomb\endcsname {\symbol{"F1E2}} \def\faBomb {{\FA\csname faicon@bomb\endcsname}}
-\expandafter\def\csname faicon@book\endcsname {\symbol{"F02D}} \def\faBook {{\FA\csname faicon@book\endcsname}}
-\expandafter\def\csname faicon@bookmark\endcsname {\symbol{"F02E}} \def\faBookmark {{\FA\csname faicon@bookmark\endcsname}}
-\expandafter\def\csname faicon@bookmark-o\endcsname {\symbol{"F097}} \def\faBookmarkO {{\FA\csname faicon@bookmark-o\endcsname}}
-\expandafter\def\csname faicon@briefcase\endcsname {\symbol{"F0B1}} \def\faBriefcase {{\FA\csname faicon@briefcase\endcsname}}
-\expandafter\def\csname faicon@btc\endcsname {\symbol{"F15A}} \def\faBtc {{\FA\csname faicon@btc\endcsname}}
-\expandafter\def\csname faicon@bug\endcsname {\symbol{"F188}} \def\faBug {{\FA\csname faicon@bug\endcsname}}
-\expandafter\def\csname faicon@building\endcsname {\symbol{"F1AD}} \def\faBuilding {{\FA\csname faicon@building\endcsname}}
-\expandafter\def\csname faicon@building-o\endcsname {\symbol{"F0F7}} \def\faBuildingO {{\FA\csname faicon@building-o\endcsname}}
-\expandafter\def\csname faicon@bullhorn\endcsname {\symbol{"F0A1}} \def\faBullhorn {{\FA\csname faicon@bullhorn\endcsname}}
-\expandafter\def\csname faicon@bullseye\endcsname {\symbol{"F140}} \def\faBullseye {{\FA\csname faicon@bullseye\endcsname}}
-\expandafter\def\csname faicon@bus\endcsname {\symbol{"F207}} \def\faBus {{\FA\csname faicon@bus\endcsname}}
-\expandafter\def\csname faicon@buysellads\endcsname {\symbol{"F20D}} \def\faBuysellads {{\FA\csname faicon@buysellads\endcsname}}
-\expandafter\def\csname faicon@cab\endcsname {\symbol{"F1BA}} \def\faCab {{\FA\csname faicon@cab\endcsname}}
-\expandafter\def\csname faicon@calculator\endcsname {\symbol{"F1EC}} \def\faCalculator {{\FA\csname faicon@calculator\endcsname}}
-\expandafter\def\csname faicon@calendar\endcsname {\symbol{"F073}} \def\faCalendar {{\FA\csname faicon@calendar\endcsname}}
-\expandafter\def\csname faicon@calendar-check-o\endcsname {\symbol{"F274}} \def\faCalendarCheckO {{\FA\csname faicon@calendar-check-o\endcsname}}
-\expandafter\def\csname faicon@calendar-minus-o\endcsname {\symbol{"F272}} \def\faCalendarMinusO {{\FA\csname faicon@calendar-minus-o\endcsname}}
-\expandafter\def\csname faicon@calendar-o\endcsname {\symbol{"F133}} \def\faCalendarO {{\FA\csname faicon@calendar-o\endcsname}}
-\expandafter\def\csname faicon@calendar-plus-o\endcsname {\symbol{"F271}} \def\faCalendarPlusO {{\FA\csname faicon@calendar-plus-o\endcsname}}
-\expandafter\def\csname faicon@calendar-times-o\endcsname {\symbol{"F273}} \def\faCalendarTimesO {{\FA\csname faicon@calendar-times-o\endcsname}}
-\expandafter\def\csname faicon@camera\endcsname {\symbol{"F030}} \def\faCamera {{\FA\csname faicon@camera\endcsname}}
-\expandafter\def\csname faicon@camera-retro\endcsname {\symbol{"F083}} \def\faCameraRetro {{\FA\csname faicon@camera-retro\endcsname}}
-\expandafter\def\csname faicon@car\endcsname {\symbol{"F1B9}} \def\faCar {{\FA\csname faicon@car\endcsname}}
-\expandafter\def\csname faicon@caret-down\endcsname {\symbol{"F0D7}} \def\faCaretDown {{\FA\csname faicon@caret-down\endcsname}}
-\expandafter\def\csname faicon@caret-left\endcsname {\symbol{"F0D9}} \def\faCaretLeft {{\FA\csname faicon@caret-left\endcsname}}
-\expandafter\def\csname faicon@caret-right\endcsname {\symbol{"F0DA}} \def\faCaretRight {{\FA\csname faicon@caret-right\endcsname}}
-\expandafter\def\csname faicon@caret-square-o-down\endcsname {\symbol{"F150}} \def\faCaretSquareODown {{\FA\csname faicon@caret-square-o-down\endcsname}}
-\expandafter\def\csname faicon@caret-square-o-left\endcsname {\symbol{"F191}} \def\faCaretSquareOLeft {{\FA\csname faicon@caret-square-o-left\endcsname}}
-\expandafter\def\csname faicon@caret-square-o-right\endcsname {\symbol{"F152}} \def\faCaretSquareORight {{\FA\csname faicon@caret-square-o-right\endcsname}}
-\expandafter\def\csname faicon@caret-square-o-up\endcsname {\symbol{"F151}} \def\faCaretSquareOUp {{\FA\csname faicon@caret-square-o-up\endcsname}}
-\expandafter\def\csname faicon@caret-up\endcsname {\symbol{"F0D8}} \def\faCaretUp {{\FA\csname faicon@caret-up\endcsname}}
-\expandafter\def\csname faicon@cart-arrow-down\endcsname {\symbol{"F218}} \def\faCartArrowDown {{\FA\csname faicon@cart-arrow-down\endcsname}}
-\expandafter\def\csname faicon@cart-plus\endcsname {\symbol{"F217}} \def\faCartPlus {{\FA\csname faicon@cart-plus\endcsname}}
-\expandafter\def\csname faicon@cc\endcsname {\symbol{"F20A}} \def\faCc {{\FA\csname faicon@cc\endcsname}}
-\expandafter\def\csname faicon@cc-amex\endcsname {\symbol{"F1F3}} \def\faCcAmex {{\FA\csname faicon@cc-amex\endcsname}}
-\expandafter\def\csname faicon@cc-diners-club\endcsname {\symbol{"F24C}} \def\faCcDinersClub {{\FA\csname faicon@cc-diners-club\endcsname}}
-\expandafter\def\csname faicon@cc-discover\endcsname {\symbol{"F1F2}} \def\faCcDiscover {{\FA\csname faicon@cc-discover\endcsname}}
-\expandafter\def\csname faicon@cc-jcb\endcsname {\symbol{"F24B}} \def\faCcJcb {{\FA\csname faicon@cc-jcb\endcsname}}
-\expandafter\def\csname faicon@cc-mastercard\endcsname {\symbol{"F1F1}} \def\faCcMastercard {{\FA\csname faicon@cc-mastercard\endcsname}}
-\expandafter\def\csname faicon@cc-paypal\endcsname {\symbol{"F1F4}} \def\faCcPaypal {{\FA\csname faicon@cc-paypal\endcsname}}
-\expandafter\def\csname faicon@cc-stripe\endcsname {\symbol{"F1F5}} \def\faCcStripe {{\FA\csname faicon@cc-stripe\endcsname}}
-\expandafter\def\csname faicon@cc-visa\endcsname {\symbol{"F1F0}} \def\faCcVisa {{\FA\csname faicon@cc-visa\endcsname}}
-\expandafter\def\csname faicon@certificate\endcsname {\symbol{"F0A3}} \def\faCertificate {{\FA\csname faicon@certificate\endcsname}}
-\expandafter\def\csname faicon@chain\endcsname {\symbol{"F0C1}} \def\faChain {{\FA\csname faicon@chain\endcsname}}
-\expandafter\def\csname faicon@chain-broken\endcsname {\symbol{"F127}} \def\faChainBroken {{\FA\csname faicon@chain-broken\endcsname}}
-\expandafter\def\csname faicon@check\endcsname {\symbol{"F00C}} \def\faCheck {{\FA\csname faicon@check\endcsname}}
-\expandafter\def\csname faicon@check-circle\endcsname {\symbol{"F058}} \def\faCheckCircle {{\FA\csname faicon@check-circle\endcsname}}
-\expandafter\def\csname faicon@check-circle-o\endcsname {\symbol{"F05D}} \def\faCheckCircleO {{\FA\csname faicon@check-circle-o\endcsname}}
-\expandafter\def\csname faicon@check-square\endcsname {\symbol{"F14A}} \def\faCheckSquare {{\FA\csname faicon@check-square\endcsname}}
-\expandafter\def\csname faicon@check-square-o\endcsname {\symbol{"F046}} \def\faCheckSquareO {{\FA\csname faicon@check-square-o\endcsname}}
-\expandafter\def\csname faicon@chevron-circle-down\endcsname {\symbol{"F13A}} \def\faChevronCircleDown {{\FA\csname faicon@chevron-circle-down\endcsname}}
-\expandafter\def\csname faicon@chevron-circle-left\endcsname {\symbol{"F137}} \def\faChevronCircleLeft {{\FA\csname faicon@chevron-circle-left\endcsname}}
-\expandafter\def\csname faicon@chevron-circle-right\endcsname {\symbol{"F138}} \def\faChevronCircleRight {{\FA\csname faicon@chevron-circle-right\endcsname}}
-\expandafter\def\csname faicon@chevron-circle-up\endcsname {\symbol{"F139}} \def\faChevronCircleUp {{\FA\csname faicon@chevron-circle-up\endcsname}}
-\expandafter\def\csname faicon@chevron-down\endcsname {\symbol{"F078}} \def\faChevronDown {{\FA\csname faicon@chevron-down\endcsname}}
-\expandafter\def\csname faicon@chevron-left\endcsname {\symbol{"F053}} \def\faChevronLeft {{\FA\csname faicon@chevron-left\endcsname}}
-\expandafter\def\csname faicon@chevron-right\endcsname {\symbol{"F054}} \def\faChevronRight {{\FA\csname faicon@chevron-right\endcsname}}
-\expandafter\def\csname faicon@chevron-up\endcsname {\symbol{"F077}} \def\faChevronUp {{\FA\csname faicon@chevron-up\endcsname}}
-\expandafter\def\csname faicon@child\endcsname {\symbol{"F1AE}} \def\faChild {{\FA\csname faicon@child\endcsname}}
-\expandafter\def\csname faicon@chrome\endcsname {\symbol{"F268}} \def\faChrome {{\FA\csname faicon@chrome\endcsname}}
-\expandafter\def\csname faicon@circle\endcsname {\symbol{"F111}} \def\faCircle {{\FA\csname faicon@circle\endcsname}}
-\expandafter\def\csname faicon@circle-o\endcsname {\symbol{"F10C}} \def\faCircleO {{\FA\csname faicon@circle-o\endcsname}}
-\expandafter\def\csname faicon@circle-o-notch\endcsname {\symbol{"F1CE}} \def\faCircleONotch {{\FA\csname faicon@circle-o-notch\endcsname}}
-\expandafter\def\csname faicon@circle-thin\endcsname {\symbol{"F1DB}} \def\faCircleThin {{\FA\csname faicon@circle-thin\endcsname}}
-\expandafter\def\csname faicon@clipboard\endcsname {\symbol{"F0EA}} \def\faClipboard {{\FA\csname faicon@clipboard\endcsname}}
-\expandafter\def\csname faicon@clock-o\endcsname {\symbol{"F017}} \def\faClockO {{\FA\csname faicon@clock-o\endcsname}}
-\expandafter\def\csname faicon@clone\endcsname {\symbol{"F24D}} \def\faClone {{\FA\csname faicon@clone\endcsname}}
-\expandafter\def\csname faicon@close\endcsname {\symbol{"F00D}} \def\faClose {{\FA\csname faicon@close\endcsname}}
-\expandafter\def\csname faicon@cloud\endcsname {\symbol{"F0C2}} \def\faCloud {{\FA\csname faicon@cloud\endcsname}}
-\expandafter\def\csname faicon@cloud-download\endcsname {\symbol{"F0ED}} \def\faCloudDownload {{\FA\csname faicon@cloud-download\endcsname}}
-\expandafter\def\csname faicon@cloud-upload\endcsname {\symbol{"F0EE}} \def\faCloudUpload {{\FA\csname faicon@cloud-upload\endcsname}}
-\expandafter\def\csname faicon@cny\endcsname {\symbol{"F157}} \def\faCny {{\FA\csname faicon@cny\endcsname}}
-\expandafter\def\csname faicon@code\endcsname {\symbol{"F121}} \def\faCode {{\FA\csname faicon@code\endcsname}}
-\expandafter\def\csname faicon@code-fork\endcsname {\symbol{"F126}} \def\faCodeFork {{\FA\csname faicon@code-fork\endcsname}}
-\expandafter\def\csname faicon@codepen\endcsname {\symbol{"F1CB}} \def\faCodepen {{\FA\csname faicon@codepen\endcsname}}
-\expandafter\def\csname faicon@coffee\endcsname {\symbol{"F0F4}} \def\faCoffee {{\FA\csname faicon@coffee\endcsname}}
-\expandafter\def\csname faicon@cog\endcsname {\symbol{"F013}} \def\faCog {{\FA\csname faicon@cog\endcsname}}
-\expandafter\def\csname faicon@cogs\endcsname {\symbol{"F085}} \def\faCogs {{\FA\csname faicon@cogs\endcsname}}
-\expandafter\def\csname faicon@columns\endcsname {\symbol{"F0DB}} \def\faColumns {{\FA\csname faicon@columns\endcsname}}
-\expandafter\def\csname faicon@comment\endcsname {\symbol{"F075}} \def\faComment {{\FA\csname faicon@comment\endcsname}}
-\expandafter\def\csname faicon@comment-o\endcsname {\symbol{"F0E5}} \def\faCommentO {{\FA\csname faicon@comment-o\endcsname}}
-\expandafter\def\csname faicon@commenting\endcsname {\symbol{"F27A}} \def\faCommenting {{\FA\csname faicon@commenting\endcsname}}
-\expandafter\def\csname faicon@commenting-o\endcsname {\symbol{"F27B}} \def\faCommentingO {{\FA\csname faicon@commenting-o\endcsname}}
-\expandafter\def\csname faicon@comments\endcsname {\symbol{"F086}} \def\faComments {{\FA\csname faicon@comments\endcsname}}
-\expandafter\def\csname faicon@comments-o\endcsname {\symbol{"F0E6}} \def\faCommentsO {{\FA\csname faicon@comments-o\endcsname}}
-\expandafter\def\csname faicon@compass\endcsname {\symbol{"F14E}} \def\faCompass {{\FA\csname faicon@compass\endcsname}}
-\expandafter\def\csname faicon@compress\endcsname {\symbol{"F066}} \def\faCompress {{\FA\csname faicon@compress\endcsname}}
-\expandafter\def\csname faicon@connectdevelop\endcsname {\symbol{"F20E}} \def\faConnectdevelop {{\FA\csname faicon@connectdevelop\endcsname}}
-\expandafter\def\csname faicon@contao\endcsname {\symbol{"F26D}} \def\faContao {{\FA\csname faicon@contao\endcsname}}
-\expandafter\def\csname faicon@copy\endcsname {\symbol{"F0C5}} \def\faCopy {{\FA\csname faicon@copy\endcsname}}
-\expandafter\def\csname faicon@copyright\endcsname {\symbol{"F1F9}} \def\faCopyright {{\FA\csname faicon@copyright\endcsname}}
-\expandafter\def\csname faicon@creative-commons\endcsname {\symbol{"F25E}} \def\faCreativeCommons {{\FA\csname faicon@creative-commons\endcsname}}
-\expandafter\def\csname faicon@credit-card\endcsname {\symbol{"F09D}} \def\faCreditCard {{\FA\csname faicon@credit-card\endcsname}}
-\expandafter\def\csname faicon@crop\endcsname {\symbol{"F125}} \def\faCrop {{\FA\csname faicon@crop\endcsname}}
-\expandafter\def\csname faicon@crosshairs\endcsname {\symbol{"F05B}} \def\faCrosshairs {{\FA\csname faicon@crosshairs\endcsname}}
-\expandafter\def\csname faicon@cube\endcsname {\symbol{"F1B2}} \def\faCube {{\FA\csname faicon@cube\endcsname}}
-\expandafter\def\csname faicon@cubes\endcsname {\symbol{"F1B3}} \def\faCubes {{\FA\csname faicon@cubes\endcsname}}
-\expandafter\def\csname faicon@cut\endcsname {\symbol{"F0C4}} \def\faCut {{\FA\csname faicon@cut\endcsname}}
-\expandafter\def\csname faicon@cutlery\endcsname {\symbol{"F0F5}} \def\faCutlery {{\FA\csname faicon@cutlery\endcsname}}
-\expandafter\def\csname faicon@dashboard\endcsname {\symbol{"F0E4}} \def\faDashboard {{\FA\csname faicon@dashboard\endcsname}}
-\expandafter\def\csname faicon@dashcube\endcsname {\symbol{"F210}} \def\faDashcube {{\FA\csname faicon@dashcube\endcsname}}
-\expandafter\def\csname faicon@database\endcsname {\symbol{"F1C0}} \def\faDatabase {{\FA\csname faicon@database\endcsname}}
-\expandafter\def\csname faicon@dedent\endcsname {\symbol{"F03B}} \def\faDedent {{\FA\csname faicon@dedent\endcsname}}
-\expandafter\def\csname faicon@delicious\endcsname {\symbol{"F1A5}} \def\faDelicious {{\FA\csname faicon@delicious\endcsname}}
-\expandafter\def\csname faicon@desktop\endcsname {\symbol{"F108}} \def\faDesktop {{\FA\csname faicon@desktop\endcsname}}
-\expandafter\def\csname faicon@deviantart\endcsname {\symbol{"F1BD}} \def\faDeviantart {{\FA\csname faicon@deviantart\endcsname}}
-\expandafter\def\csname faicon@diamond\endcsname {\symbol{"F219}} \def\faDiamond {{\FA\csname faicon@diamond\endcsname}}
-\expandafter\def\csname faicon@digg\endcsname {\symbol{"F1A6}} \def\faDigg {{\FA\csname faicon@digg\endcsname}}
-\expandafter\def\csname faicon@dollar\endcsname {\symbol{"F155}} \def\faDollar {{\FA\csname faicon@dollar\endcsname}}
-\expandafter\def\csname faicon@dot-circle-o\endcsname {\symbol{"F192}} \def\faDotCircleO {{\FA\csname faicon@dot-circle-o\endcsname}}
-\expandafter\def\csname faicon@download\endcsname {\symbol{"F019}} \def\faDownload {{\FA\csname faicon@download\endcsname}}
-\expandafter\def\csname faicon@dribbble\endcsname {\symbol{"F17D}} \def\faDribbble {{\FA\csname faicon@dribbble\endcsname}}
-\expandafter\def\csname faicon@dropbox\endcsname {\symbol{"F16B}} \def\faDropbox {{\FA\csname faicon@dropbox\endcsname}}
-\expandafter\def\csname faicon@drupal\endcsname {\symbol{"F1A9}} \def\faDrupal {{\FA\csname faicon@drupal\endcsname}}
-\expandafter\def\csname faicon@edit\endcsname {\symbol{"F044}} \def\faEdit {{\FA\csname faicon@edit\endcsname}}
-\expandafter\def\csname faicon@eject\endcsname {\symbol{"F052}} \def\faEject {{\FA\csname faicon@eject\endcsname}}
-\expandafter\def\csname faicon@ellipsis-h\endcsname {\symbol{"F141}} \def\faEllipsisH {{\FA\csname faicon@ellipsis-h\endcsname}}
-\expandafter\def\csname faicon@ellipsis-v\endcsname {\symbol{"F142}} \def\faEllipsisV {{\FA\csname faicon@ellipsis-v\endcsname}}
-\expandafter\def\csname faicon@empire\endcsname {\symbol{"F1D1}} \def\faEmpire {{\FA\csname faicon@empire\endcsname}}
-\expandafter\def\csname faicon@envelope\endcsname {\symbol{"F0E0}} \def\faEnvelope {{\FA\csname faicon@envelope\endcsname}}
-\expandafter\def\csname faicon@envelope-o\endcsname {\symbol{"F003}} \def\faEnvelopeO {{\FA\csname faicon@envelope-o\endcsname}}
-\expandafter\def\csname faicon@envelope-square\endcsname {\symbol{"F199}} \def\faEnvelopeSquare {{\FA\csname faicon@envelope-square\endcsname}}
-\expandafter\def\csname faicon@eraser\endcsname {\symbol{"F12D}} \def\faEraser {{\FA\csname faicon@eraser\endcsname}}
-\expandafter\def\csname faicon@eur\endcsname {\symbol{"F153}} \def\faEur {{\FA\csname faicon@eur\endcsname}}
-\expandafter\def\csname faicon@euro\endcsname {\symbol{"F153}} \def\faEuro {{\FA\csname faicon@euro\endcsname}}
-\expandafter\def\csname faicon@exchange\endcsname {\symbol{"F0EC}} \def\faExchange {{\FA\csname faicon@exchange\endcsname}}
-\expandafter\def\csname faicon@exclamation\endcsname {\symbol{"F12A}} \def\faExclamation {{\FA\csname faicon@exclamation\endcsname}}
-\expandafter\def\csname faicon@exclamation-circle\endcsname {\symbol{"F06A}} \def\faExclamationCircle {{\FA\csname faicon@exclamation-circle\endcsname}}
-\expandafter\def\csname faicon@exclamation-triangle\endcsname {\symbol{"F071}} \def\faExclamationTriangle {{\FA\csname faicon@exclamation-triangle\endcsname}}
-\expandafter\def\csname faicon@expand\endcsname {\symbol{"F065}} \def\faExpand {{\FA\csname faicon@expand\endcsname}}
-\expandafter\def\csname faicon@expeditedssl\endcsname {\symbol{"F23E}} \def\faExpeditedssl {{\FA\csname faicon@expeditedssl\endcsname}}
-\expandafter\def\csname faicon@external-link\endcsname {\symbol{"F08E}} \def\faExternalLink {{\FA\csname faicon@external-link\endcsname}}
-\expandafter\def\csname faicon@external-link-square\endcsname {\symbol{"F14C}} \def\faExternalLinkSquare {{\FA\csname faicon@external-link-square\endcsname}}
-\expandafter\def\csname faicon@eye\endcsname {\symbol{"F06E}} \def\faEye {{\FA\csname faicon@eye\endcsname}}
-\expandafter\def\csname faicon@eye-slash\endcsname {\symbol{"F070}} \def\faEyeSlash {{\FA\csname faicon@eye-slash\endcsname}}
-\expandafter\def\csname faicon@eyedropper\endcsname {\symbol{"F1FB}} \def\faEyedropper {{\FA\csname faicon@eyedropper\endcsname}}
-\expandafter\def\csname faicon@facebook\endcsname {\symbol{"F09A}} \def\faFacebook {{\FA\csname faicon@facebook\endcsname}}
-\expandafter\def\csname faicon@facebook-f\endcsname {\symbol{"F09A}} \def\faFacebookF {{\FA\csname faicon@facebook-f\endcsname}}
-\expandafter\def\csname faicon@facebook-official\endcsname {\symbol{"F230}} \def\faFacebookOfficial {{\FA\csname faicon@facebook-official\endcsname}}
-\expandafter\def\csname faicon@facebook-square\endcsname {\symbol{"F082}} \def\faFacebookSquare {{\FA\csname faicon@facebook-square\endcsname}}
-\expandafter\def\csname faicon@fast-backward\endcsname {\symbol{"F049}} \def\faFastBackward {{\FA\csname faicon@fast-backward\endcsname}}
-\expandafter\def\csname faicon@fast-forward\endcsname {\symbol{"F050}} \def\faFastForward {{\FA\csname faicon@fast-forward\endcsname}}
-\expandafter\def\csname faicon@fax\endcsname {\symbol{"F1AC}} \def\faFax {{\FA\csname faicon@fax\endcsname}}
-\expandafter\def\csname faicon@feed\endcsname {\symbol{"F09E}} \def\faFeed {{\FA\csname faicon@feed\endcsname}}
-\expandafter\def\csname faicon@female\endcsname {\symbol{"F182}} \def\faFemale {{\FA\csname faicon@female\endcsname}}
-\expandafter\def\csname faicon@fighter-jet\endcsname {\symbol{"F0FB}} \def\faFighterJet {{\FA\csname faicon@fighter-jet\endcsname}}
-\expandafter\def\csname faicon@file\endcsname {\symbol{"F15B}} \def\faFile {{\FA\csname faicon@file\endcsname}}
-\expandafter\def\csname faicon@file-archive-o\endcsname {\symbol{"F1C6}} \def\faFileArchiveO {{\FA\csname faicon@file-archive-o\endcsname}}
-\expandafter\def\csname faicon@file-audio-o\endcsname {\symbol{"F1C7}} \def\faFileAudioO {{\FA\csname faicon@file-audio-o\endcsname}}
-\expandafter\def\csname faicon@file-code-o\endcsname {\symbol{"F1C9}} \def\faFileCodeO {{\FA\csname faicon@file-code-o\endcsname}}
-\expandafter\def\csname faicon@file-excel-o\endcsname {\symbol{"F1C3}} \def\faFileExcelO {{\FA\csname faicon@file-excel-o\endcsname}}
-\expandafter\def\csname faicon@file-image-o\endcsname {\symbol{"F1C5}} \def\faFileImageO {{\FA\csname faicon@file-image-o\endcsname}}
-\expandafter\def\csname faicon@file-movie-o\endcsname {\symbol{"F1C8}} \def\faFileMovieO {{\FA\csname faicon@file-movie-o\endcsname}}
-\expandafter\def\csname faicon@file-o\endcsname {\symbol{"F016}} \def\faFileO {{\FA\csname faicon@file-o\endcsname}}
-\expandafter\def\csname faicon@file-pdf-o\endcsname {\symbol{"F1C1}} \def\faFilePdfO {{\FA\csname faicon@file-pdf-o\endcsname}}
-\expandafter\def\csname faicon@file-photo-o\endcsname {\symbol{"F1C5}} \def\faFilePhotoO {{\FA\csname faicon@file-photo-o\endcsname}}
-\expandafter\def\csname faicon@file-picture-o\endcsname {\symbol{"F1C5}} \def\faFilePictureO {{\FA\csname faicon@file-picture-o\endcsname}}
-\expandafter\def\csname faicon@file-powerpoint-o\endcsname {\symbol{"F1C4}} \def\faFilePowerpointO {{\FA\csname faicon@file-powerpoint-o\endcsname}}
-\expandafter\def\csname faicon@file-sound-o\endcsname {\symbol{"F1C7}} \def\faFileSoundO {{\FA\csname faicon@file-sound-o\endcsname}}
-\expandafter\def\csname faicon@file-text\endcsname {\symbol{"F15C}} \def\faFileText {{\FA\csname faicon@file-text\endcsname}}
-\expandafter\def\csname faicon@file-text-o\endcsname {\symbol{"F0F6}} \def\faFileTextO {{\FA\csname faicon@file-text-o\endcsname}}
-\expandafter\def\csname faicon@file-video-o\endcsname {\symbol{"F1C8}} \def\faFileVideoO {{\FA\csname faicon@file-video-o\endcsname}}
-\expandafter\def\csname faicon@file-word-o\endcsname {\symbol{"F1C2}} \def\faFileWordO {{\FA\csname faicon@file-word-o\endcsname}}
-\expandafter\def\csname faicon@file-zip-o\endcsname {\symbol{"F1C6}} \def\faFileZipO {{\FA\csname faicon@file-zip-o\endcsname}}
-\expandafter\def\csname faicon@files-o\endcsname {\symbol{"F0C5}} \def\faFilesO {{\FA\csname faicon@files-o\endcsname}}
-\expandafter\def\csname faicon@film\endcsname {\symbol{"F008}} \def\faFilm {{\FA\csname faicon@film\endcsname}}
-\expandafter\def\csname faicon@filter\endcsname {\symbol{"F0B0}} \def\faFilter {{\FA\csname faicon@filter\endcsname}}
-\expandafter\def\csname faicon@fire\endcsname {\symbol{"F06D}} \def\faFire {{\FA\csname faicon@fire\endcsname}}
-\expandafter\def\csname faicon@fire-extinguisher\endcsname {\symbol{"F134}} \def\faFireExtinguisher {{\FA\csname faicon@fire-extinguisher\endcsname}}
-\expandafter\def\csname faicon@firefox\endcsname {\symbol{"F269}} \def\faFirefox {{\FA\csname faicon@firefox\endcsname}}
-\expandafter\def\csname faicon@flag\endcsname {\symbol{"F024}} \def\faFlag {{\FA\csname faicon@flag\endcsname}}
-\expandafter\def\csname faicon@flag-checkered\endcsname {\symbol{"F11E}} \def\faFlagCheckered {{\FA\csname faicon@flag-checkered\endcsname}}
-\expandafter\def\csname faicon@flag-o\endcsname {\symbol{"F11D}} \def\faFlagO {{\FA\csname faicon@flag-o\endcsname}}
-\expandafter\def\csname faicon@flash\endcsname {\symbol{"F0E7}} \def\faFlash {{\FA\csname faicon@flash\endcsname}}
-\expandafter\def\csname faicon@flask\endcsname {\symbol{"F0C3}} \def\faFlask {{\FA\csname faicon@flask\endcsname}}
-\expandafter\def\csname faicon@flickr\endcsname {\symbol{"F16E}} \def\faFlickr {{\FA\csname faicon@flickr\endcsname}}
-\expandafter\def\csname faicon@floppy-o\endcsname {\symbol{"F0C7}} \def\faFloppyO {{\FA\csname faicon@floppy-o\endcsname}}
-\expandafter\def\csname faicon@folder\endcsname {\symbol{"F07B}} \def\faFolder {{\FA\csname faicon@folder\endcsname}}
-\expandafter\def\csname faicon@folder-o\endcsname {\symbol{"F114}} \def\faFolderO {{\FA\csname faicon@folder-o\endcsname}}
-\expandafter\def\csname faicon@folder-open\endcsname {\symbol{"F07C}} \def\faFolderOpen {{\FA\csname faicon@folder-open\endcsname}}
-\expandafter\def\csname faicon@folder-open-o\endcsname {\symbol{"F115}} \def\faFolderOpenO {{\FA\csname faicon@folder-open-o\endcsname}}
-\expandafter\def\csname faicon@font\endcsname {\symbol{"F031}} \def\faFont {{\FA\csname faicon@font\endcsname}}
-\expandafter\def\csname faicon@fonticons\endcsname {\symbol{"F280}} \def\faFonticons {{\FA\csname faicon@fonticons\endcsname}}
-\expandafter\def\csname faicon@forumbee\endcsname {\symbol{"F211}} \def\faForumbee {{\FA\csname faicon@forumbee\endcsname}}
-\expandafter\def\csname faicon@forward\endcsname {\symbol{"F04E}} \def\faForward {{\FA\csname faicon@forward\endcsname}}
-\expandafter\def\csname faicon@foursquare\endcsname {\symbol{"F180}} \def\faFoursquare {{\FA\csname faicon@foursquare\endcsname}}
-\expandafter\def\csname faicon@frown-o\endcsname {\symbol{"F119}} \def\faFrownO {{\FA\csname faicon@frown-o\endcsname}}
-\expandafter\def\csname faicon@futbol-o\endcsname {\symbol{"F1E3}} \def\faFutbolO {{\FA\csname faicon@futbol-o\endcsname}}
-\expandafter\def\csname faicon@gamepad\endcsname {\symbol{"F11B}} \def\faGamepad {{\FA\csname faicon@gamepad\endcsname}}
-\expandafter\def\csname faicon@gavel\endcsname {\symbol{"F0E3}} \def\faGavel {{\FA\csname faicon@gavel\endcsname}}
-\expandafter\def\csname faicon@gbp\endcsname {\symbol{"F154}} \def\faGbp {{\FA\csname faicon@gbp\endcsname}}
-\expandafter\def\csname faicon@ge\endcsname {\symbol{"F1D1}} \def\faGe {{\FA\csname faicon@ge\endcsname}}
-\expandafter\def\csname faicon@gear\endcsname {\symbol{"F013}} \def\faGear {{\FA\csname faicon@gear\endcsname}}
-\expandafter\def\csname faicon@gears\endcsname {\symbol{"F085}} \def\faGears {{\FA\csname faicon@gears\endcsname}}
-\expandafter\def\csname faicon@genderless\endcsname {\symbol{"F22D}} \def\faGenderless {{\FA\csname faicon@genderless\endcsname}}
-\expandafter\def\csname faicon@get-pocket\endcsname {\symbol{"F265}} \def\faGetPocket {{\FA\csname faicon@get-pocket\endcsname}}
-\expandafter\def\csname faicon@gg\endcsname {\symbol{"F260}} \def\faGg {{\FA\csname faicon@gg\endcsname}}
-\expandafter\def\csname faicon@gg-circle\endcsname {\symbol{"F261}} \def\faGgCircle {{\FA\csname faicon@gg-circle\endcsname}}
-\expandafter\def\csname faicon@gift\endcsname {\symbol{"F06B}} \def\faGift {{\FA\csname faicon@gift\endcsname}}
-\expandafter\def\csname faicon@git\endcsname {\symbol{"F1D3}} \def\faGit {{\FA\csname faicon@git\endcsname}}
-\expandafter\def\csname faicon@git-square\endcsname {\symbol{"F1D2}} \def\faGitSquare {{\FA\csname faicon@git-square\endcsname}}
-\expandafter\def\csname faicon@github\endcsname {\symbol{"F09B}} \def\faGithub {{\FA\csname faicon@github\endcsname}}
-\expandafter\def\csname faicon@github-alt\endcsname {\symbol{"F113}} \def\faGithubAlt {{\FA\csname faicon@github-alt\endcsname}}
-\expandafter\def\csname faicon@github-square\endcsname {\symbol{"F092}} \def\faGithubSquare {{\FA\csname faicon@github-square\endcsname}}
-\expandafter\def\csname faicon@gittip\endcsname {\symbol{"F184}} \def\faGittip {{\FA\csname faicon@gittip\endcsname}}
-\expandafter\def\csname faicon@glass\endcsname {\symbol{"F000}} \def\faGlass {{\FA\csname faicon@glass\endcsname}}
-\expandafter\def\csname faicon@globe\endcsname {\symbol{"F0AC}} \def\faGlobe {{\FA\csname faicon@globe\endcsname}}
-\expandafter\def\csname faicon@google\endcsname {\symbol{"F1A0}} \def\faGoogle {{\FA\csname faicon@google\endcsname}}
-\expandafter\def\csname faicon@google-plus\endcsname {\symbol{"F0D5}} \def\faGooglePlus {{\FA\csname faicon@google-plus\endcsname}}
-\expandafter\def\csname faicon@google-plus-square\endcsname {\symbol{"F0D4}} \def\faGooglePlusSquare {{\FA\csname faicon@google-plus-square\endcsname}}
-\expandafter\def\csname faicon@google-wallet\endcsname {\symbol{"F1EE}} \def\faGoogleWallet {{\FA\csname faicon@google-wallet\endcsname}}
-\expandafter\def\csname faicon@graduation-cap\endcsname {\symbol{"F19D}} \def\faGraduationCap {{\FA\csname faicon@graduation-cap\endcsname}}
-\expandafter\def\csname faicon@gratipay\endcsname {\symbol{"F184}} \def\faGratipay {{\FA\csname faicon@gratipay\endcsname}}
-\expandafter\def\csname faicon@group\endcsname {\symbol{"F0C0}} \def\faGroup {{\FA\csname faicon@group\endcsname}}
-\expandafter\def\csname faicon@h-square\endcsname {\symbol{"F0FD}} \def\faHSquare {{\FA\csname faicon@h-square\endcsname}}
-\expandafter\def\csname faicon@hacker-news\endcsname {\symbol{"F1D4}} \def\faHackerNews {{\FA\csname faicon@hacker-news\endcsname}}
-\expandafter\def\csname faicon@hand-grab-o\endcsname {\symbol{"F255}} \def\faHandGrabO {{\FA\csname faicon@hand-grab-o\endcsname}}
-\expandafter\def\csname faicon@hand-lizard-o\endcsname {\symbol{"F258}} \def\faHandLizardO {{\FA\csname faicon@hand-lizard-o\endcsname}}
-\expandafter\def\csname faicon@hand-o-down\endcsname {\symbol{"F0A7}} \def\faHandODown {{\FA\csname faicon@hand-o-down\endcsname}}
-\expandafter\def\csname faicon@hand-o-left\endcsname {\symbol{"F0A5}} \def\faHandOLeft {{\FA\csname faicon@hand-o-left\endcsname}}
-\expandafter\def\csname faicon@hand-o-right\endcsname {\symbol{"F0A4}} \def\faHandORight {{\FA\csname faicon@hand-o-right\endcsname}}
-\expandafter\def\csname faicon@hand-o-up\endcsname {\symbol{"F0A6}} \def\faHandOUp {{\FA\csname faicon@hand-o-up\endcsname}}
-\expandafter\def\csname faicon@hand-paper-o\endcsname {\symbol{"F256}} \def\faHandPaperO {{\FA\csname faicon@hand-paper-o\endcsname}}
-\expandafter\def\csname faicon@hand-peace-o\endcsname {\symbol{"F25B}} \def\faHandPeaceO {{\FA\csname faicon@hand-peace-o\endcsname}}
-\expandafter\def\csname faicon@hand-pointer-o\endcsname {\symbol{"F25A}} \def\faHandPointerO {{\FA\csname faicon@hand-pointer-o\endcsname}}
-\expandafter\def\csname faicon@hand-rock-o\endcsname {\symbol{"F255}} \def\faHandRockO {{\FA\csname faicon@hand-rock-o\endcsname}}
-\expandafter\def\csname faicon@hand-scissors-o\endcsname {\symbol{"F257}} \def\faHandScissorsO {{\FA\csname faicon@hand-scissors-o\endcsname}}
-\expandafter\def\csname faicon@hand-spock-o\endcsname {\symbol{"F259}} \def\faHandSpockO {{\FA\csname faicon@hand-spock-o\endcsname}}
-\expandafter\def\csname faicon@hand-stop-o\endcsname {\symbol{"F256}} \def\faHandStopO {{\FA\csname faicon@hand-stop-o\endcsname}}
-\expandafter\def\csname faicon@hdd-o\endcsname {\symbol{"F0A0}} \def\faHddO {{\FA\csname faicon@hdd-o\endcsname}}
-\expandafter\def\csname faicon@header\endcsname {\symbol{"F1DC}} \def\faHeader {{\FA\csname faicon@header\endcsname}}
-\expandafter\def\csname faicon@headphones\endcsname {\symbol{"F025}} \def\faHeadphones {{\FA\csname faicon@headphones\endcsname}}
-\expandafter\def\csname faicon@heart\endcsname {\symbol{"F004}} \def\faHeart {{\FA\csname faicon@heart\endcsname}}
-\expandafter\def\csname faicon@heart-o\endcsname {\symbol{"F08A}} \def\faHeartO {{\FA\csname faicon@heart-o\endcsname}}
-\expandafter\def\csname faicon@heartbeat\endcsname {\symbol{"F21E}} \def\faHeartbeat {{\FA\csname faicon@heartbeat\endcsname}}
-\expandafter\def\csname faicon@history\endcsname {\symbol{"F1DA}} \def\faHistory {{\FA\csname faicon@history\endcsname}}
-\expandafter\def\csname faicon@home\endcsname {\symbol{"F015}} \def\faHome {{\FA\csname faicon@home\endcsname}}
-\expandafter\def\csname faicon@hospital-o\endcsname {\symbol{"F0F8}} \def\faHospitalO {{\FA\csname faicon@hospital-o\endcsname}}
-\expandafter\def\csname faicon@hotel\endcsname {\symbol{"F236}} \def\faHotel {{\FA\csname faicon@hotel\endcsname}}
-\expandafter\def\csname faicon@hourglass\endcsname {\symbol{"F254}} \def\faHourglass {{\FA\csname faicon@hourglass\endcsname}}
-\expandafter\def\csname faicon@hourglass-end\endcsname {\symbol{"F253}} \def\faHourglassEnd {{\FA\csname faicon@hourglass-end\endcsname}}
-\expandafter\def\csname faicon@hourglass-half\endcsname {\symbol{"F252}} \def\faHourglassHalf {{\FA\csname faicon@hourglass-half\endcsname}}
-\expandafter\def\csname faicon@hourglass-o\endcsname {\symbol{"F250}} \def\faHourglassO {{\FA\csname faicon@hourglass-o\endcsname}}
-\expandafter\def\csname faicon@hourglass-start\endcsname {\symbol{"F251}} \def\faHourglassStart {{\FA\csname faicon@hourglass-start\endcsname}}
-\expandafter\def\csname faicon@houzz\endcsname {\symbol{"F27C}} \def\faHouzz {{\FA\csname faicon@houzz\endcsname}}
-\expandafter\def\csname faicon@i-cursor\endcsname {\symbol{"F246}} \def\faICursor {{\FA\csname faicon@i-cursor\endcsname}}
-\expandafter\def\csname faicon@ils\endcsname {\symbol{"F20B}} \def\faIls {{\FA\csname faicon@ils\endcsname}}
-\expandafter\def\csname faicon@image\endcsname {\symbol{"F03E}} \def\faImage {{\FA\csname faicon@image\endcsname}}
-\expandafter\def\csname faicon@inbox\endcsname {\symbol{"F01C}} \def\faInbox {{\FA\csname faicon@inbox\endcsname}}
-\expandafter\def\csname faicon@indent\endcsname {\symbol{"F03C}} \def\faIndent {{\FA\csname faicon@indent\endcsname}}
-\expandafter\def\csname faicon@industry\endcsname {\symbol{"F275}} \def\faIndustry {{\FA\csname faicon@industry\endcsname}}
-\expandafter\def\csname faicon@info\endcsname {\symbol{"F129}} \def\faInfo {{\FA\csname faicon@info\endcsname}}
-\expandafter\def\csname faicon@info-circle\endcsname {\symbol{"F05A}} \def\faInfoCircle {{\FA\csname faicon@info-circle\endcsname}}
-\expandafter\def\csname faicon@inr\endcsname {\symbol{"F156}} \def\faInr {{\FA\csname faicon@inr\endcsname}}
-\expandafter\def\csname faicon@instagram\endcsname {\symbol{"F16D}} \def\faInstagram {{\FA\csname faicon@instagram\endcsname}}
-\expandafter\def\csname faicon@institution\endcsname {\symbol{"F19C}} \def\faInstitution {{\FA\csname faicon@institution\endcsname}}
-\expandafter\def\csname faicon@internet-explorer\endcsname {\symbol{"F26B}} \def\faInternetExplorer {{\FA\csname faicon@internet-explorer\endcsname}}
-\expandafter\def\csname faicon@intersex\endcsname {\symbol{"F224}} \def\faIntersex {{\FA\csname faicon@intersex\endcsname}}
-\expandafter\def\csname faicon@ioxhost\endcsname {\symbol{"F208}} \def\faIoxhost {{\FA\csname faicon@ioxhost\endcsname}}
-\expandafter\def\csname faicon@italic\endcsname {\symbol{"F033}} \def\faItalic {{\FA\csname faicon@italic\endcsname}}
-\expandafter\def\csname faicon@joomla\endcsname {\symbol{"F1AA}} \def\faJoomla {{\FA\csname faicon@joomla\endcsname}}
-\expandafter\def\csname faicon@jpy\endcsname {\symbol{"F157}} \def\faJpy {{\FA\csname faicon@jpy\endcsname}}
-\expandafter\def\csname faicon@jsfiddle\endcsname {\symbol{"F1CC}} \def\faJsfiddle {{\FA\csname faicon@jsfiddle\endcsname}}
-\expandafter\def\csname faicon@key\endcsname {\symbol{"F084}} \def\faKey {{\FA\csname faicon@key\endcsname}}
-\expandafter\def\csname faicon@keyboard-o\endcsname {\symbol{"F11C}} \def\faKeyboardO {{\FA\csname faicon@keyboard-o\endcsname}}
-\expandafter\def\csname faicon@krw\endcsname {\symbol{"F159}} \def\faKrw {{\FA\csname faicon@krw\endcsname}}
-\expandafter\def\csname faicon@language\endcsname {\symbol{"F1AB}} \def\faLanguage {{\FA\csname faicon@language\endcsname}}
-\expandafter\def\csname faicon@laptop\endcsname {\symbol{"F109}} \def\faLaptop {{\FA\csname faicon@laptop\endcsname}}
-\expandafter\def\csname faicon@lastfm\endcsname {\symbol{"F202}} \def\faLastfm {{\FA\csname faicon@lastfm\endcsname}}
-\expandafter\def\csname faicon@lastfm-square\endcsname {\symbol{"F203}} \def\faLastfmSquare {{\FA\csname faicon@lastfm-square\endcsname}}
-\expandafter\def\csname faicon@leaf\endcsname {\symbol{"F06C}} \def\faLeaf {{\FA\csname faicon@leaf\endcsname}}
-\expandafter\def\csname faicon@leanpub\endcsname {\symbol{"F212}} \def\faLeanpub {{\FA\csname faicon@leanpub\endcsname}}
-\expandafter\def\csname faicon@legal\endcsname {\symbol{"F0E3}} \def\faLegal {{\FA\csname faicon@legal\endcsname}}
-\expandafter\def\csname faicon@lemon-o\endcsname {\symbol{"F094}} \def\faLemonO {{\FA\csname faicon@lemon-o\endcsname}}
-\expandafter\def\csname faicon@level-down\endcsname {\symbol{"F149}} \def\faLevelDown {{\FA\csname faicon@level-down\endcsname}}
-\expandafter\def\csname faicon@level-up\endcsname {\symbol{"F148}} \def\faLevelUp {{\FA\csname faicon@level-up\endcsname}}
-\expandafter\def\csname faicon@life-bouy\endcsname {\symbol{"F1CD}} \def\faLifeBouy {{\FA\csname faicon@life-bouy\endcsname}}
-\expandafter\def\csname faicon@life-buoy\endcsname {\symbol{"F1CD}} \def\faLifeBuoy {{\FA\csname faicon@life-buoy\endcsname}}
-\expandafter\def\csname faicon@life-ring\endcsname {\symbol{"F1CD}} \def\faLifeRing {{\FA\csname faicon@life-ring\endcsname}}
-\expandafter\def\csname faicon@life-saver\endcsname {\symbol{"F1CD}} \def\faLifeSaver {{\FA\csname faicon@life-saver\endcsname}}
-\expandafter\def\csname faicon@lightbulb-o\endcsname {\symbol{"F0EB}} \def\faLightbulbO {{\FA\csname faicon@lightbulb-o\endcsname}}
-\expandafter\def\csname faicon@line-chart\endcsname {\symbol{"F201}} \def\faLineChart {{\FA\csname faicon@line-chart\endcsname}}
-\expandafter\def\csname faicon@link\endcsname {\symbol{"F0C1}} \def\faLink {{\FA\csname faicon@link\endcsname}}
-\expandafter\def\csname faicon@linkedin\endcsname {\symbol{"F0E1}} \def\faLinkedin {{\FA\csname faicon@linkedin\endcsname}}
-\expandafter\def\csname faicon@linkedin-square\endcsname {\symbol{"F08C}} \def\faLinkedinSquare {{\FA\csname faicon@linkedin-square\endcsname}}
-\expandafter\def\csname faicon@linux\endcsname {\symbol{"F17C}} \def\faLinux {{\FA\csname faicon@linux\endcsname}}
-\expandafter\def\csname faicon@list\endcsname {\symbol{"F03A}} \def\faList {{\FA\csname faicon@list\endcsname}}
-\expandafter\def\csname faicon@list-alt\endcsname {\symbol{"F022}} \def\faListAlt {{\FA\csname faicon@list-alt\endcsname}}
-\expandafter\def\csname faicon@list-ol\endcsname {\symbol{"F0CB}} \def\faListOl {{\FA\csname faicon@list-ol\endcsname}}
-\expandafter\def\csname faicon@list-ul\endcsname {\symbol{"F0CA}} \def\faListUl {{\FA\csname faicon@list-ul\endcsname}}
-\expandafter\def\csname faicon@location-arrow\endcsname {\symbol{"F124}} \def\faLocationArrow {{\FA\csname faicon@location-arrow\endcsname}}
-\expandafter\def\csname faicon@lock\endcsname {\symbol{"F023}} \def\faLock {{\FA\csname faicon@lock\endcsname}}
-\expandafter\def\csname faicon@long-arrow-down\endcsname {\symbol{"F175}} \def\faLongArrowDown {{\FA\csname faicon@long-arrow-down\endcsname}}
-\expandafter\def\csname faicon@long-arrow-left\endcsname {\symbol{"F177}} \def\faLongArrowLeft {{\FA\csname faicon@long-arrow-left\endcsname}}
-\expandafter\def\csname faicon@long-arrow-right\endcsname {\symbol{"F178}} \def\faLongArrowRight {{\FA\csname faicon@long-arrow-right\endcsname}}
-\expandafter\def\csname faicon@long-arrow-up\endcsname {\symbol{"F176}} \def\faLongArrowUp {{\FA\csname faicon@long-arrow-up\endcsname}}
-\expandafter\def\csname faicon@magic\endcsname {\symbol{"F0D0}} \def\faMagic {{\FA\csname faicon@magic\endcsname}}
-\expandafter\def\csname faicon@magnet\endcsname {\symbol{"F076}} \def\faMagnet {{\FA\csname faicon@magnet\endcsname}}
-\expandafter\def\csname faicon@mail-forward\endcsname {\symbol{"F064}} \def\faMailForward {{\FA\csname faicon@mail-forward\endcsname}}
-\expandafter\def\csname faicon@mail-reply\endcsname {\symbol{"F112}} \def\faMailReply {{\FA\csname faicon@mail-reply\endcsname}}
-\expandafter\def\csname faicon@mail-reply-all\endcsname {\symbol{"F122}} \def\faMailReplyAll {{\FA\csname faicon@mail-reply-all\endcsname}}
-\expandafter\def\csname faicon@male\endcsname {\symbol{"F183}} \def\faMale {{\FA\csname faicon@male\endcsname}}
-\expandafter\def\csname faicon@map\endcsname {\symbol{"F279}} \def\faMap {{\FA\csname faicon@map\endcsname}}
-\expandafter\def\csname faicon@map-marker\endcsname {\symbol{"F041}} \def\faMapMarker {{\FA\csname faicon@map-marker\endcsname}}
-\expandafter\def\csname faicon@map-o\endcsname {\symbol{"F278}} \def\faMapO {{\FA\csname faicon@map-o\endcsname}}
-\expandafter\def\csname faicon@map-pin\endcsname {\symbol{"F276}} \def\faMapPin {{\FA\csname faicon@map-pin\endcsname}}
-\expandafter\def\csname faicon@map-signs\endcsname {\symbol{"F277}} \def\faMapSigns {{\FA\csname faicon@map-signs\endcsname}}
-\expandafter\def\csname faicon@mars\endcsname {\symbol{"F222}} \def\faMars {{\FA\csname faicon@mars\endcsname}}
-\expandafter\def\csname faicon@mars-double\endcsname {\symbol{"F227}} \def\faMarsDouble {{\FA\csname faicon@mars-double\endcsname}}
-\expandafter\def\csname faicon@mars-stroke\endcsname {\symbol{"F229}} \def\faMarsStroke {{\FA\csname faicon@mars-stroke\endcsname}}
-\expandafter\def\csname faicon@mars-stroke-h\endcsname {\symbol{"F22B}} \def\faMarsStrokeH {{\FA\csname faicon@mars-stroke-h\endcsname}}
-\expandafter\def\csname faicon@mars-stroke-v\endcsname {\symbol{"F22A}} \def\faMarsStrokeV {{\FA\csname faicon@mars-stroke-v\endcsname}}
-\expandafter\def\csname faicon@maxcdn\endcsname {\symbol{"F136}} \def\faMaxcdn {{\FA\csname faicon@maxcdn\endcsname}}
-\expandafter\def\csname faicon@meanpath\endcsname {\symbol{"F20C}} \def\faMeanpath {{\FA\csname faicon@meanpath\endcsname}}
-\expandafter\def\csname faicon@medium\endcsname {\symbol{"F23A}} \def\faMedium {{\FA\csname faicon@medium\endcsname}}
-\expandafter\def\csname faicon@medkit\endcsname {\symbol{"F0FA}} \def\faMedkit {{\FA\csname faicon@medkit\endcsname}}
-\expandafter\def\csname faicon@meh-o\endcsname {\symbol{"F11A}} \def\faMehO {{\FA\csname faicon@meh-o\endcsname}}
-\expandafter\def\csname faicon@mercury\endcsname {\symbol{"F223}} \def\faMercury {{\FA\csname faicon@mercury\endcsname}}
-\expandafter\def\csname faicon@microphone\endcsname {\symbol{"F130}} \def\faMicrophone {{\FA\csname faicon@microphone\endcsname}}
-\expandafter\def\csname faicon@microphone-slash\endcsname {\symbol{"F131}} \def\faMicrophoneSlash {{\FA\csname faicon@microphone-slash\endcsname}}
-\expandafter\def\csname faicon@minus\endcsname {\symbol{"F068}} \def\faMinus {{\FA\csname faicon@minus\endcsname}}
-\expandafter\def\csname faicon@minus-circle\endcsname {\symbol{"F056}} \def\faMinusCircle {{\FA\csname faicon@minus-circle\endcsname}}
-\expandafter\def\csname faicon@minus-square\endcsname {\symbol{"F146}} \def\faMinusSquare {{\FA\csname faicon@minus-square\endcsname}}
-\expandafter\def\csname faicon@minus-square-o\endcsname {\symbol{"F147}} \def\faMinusSquareO {{\FA\csname faicon@minus-square-o\endcsname}}
-\expandafter\def\csname faicon@mobile\endcsname {\symbol{"F10B}} \def\faMobile {{\FA\csname faicon@mobile\endcsname}}
-\expandafter\def\csname faicon@mobile-phone\endcsname {\symbol{"F10B}} \def\faMobilePhone {{\FA\csname faicon@mobile-phone\endcsname}}
-\expandafter\def\csname faicon@money\endcsname {\symbol{"F0D6}} \def\faMoney {{\FA\csname faicon@money\endcsname}}
-\expandafter\def\csname faicon@moon-o\endcsname {\symbol{"F186}} \def\faMoonO {{\FA\csname faicon@moon-o\endcsname}}
-\expandafter\def\csname faicon@mortar-board\endcsname {\symbol{"F19D}} \def\faMortarBoard {{\FA\csname faicon@mortar-board\endcsname}}
-\expandafter\def\csname faicon@motorcycle\endcsname {\symbol{"F21C}} \def\faMotorcycle {{\FA\csname faicon@motorcycle\endcsname}}
-\expandafter\def\csname faicon@mouse-pointer\endcsname {\symbol{"F245}} \def\faMousePointer {{\FA\csname faicon@mouse-pointer\endcsname}}
-\expandafter\def\csname faicon@music\endcsname {\symbol{"F001}} \def\faMusic {{\FA\csname faicon@music\endcsname}}
-\expandafter\def\csname faicon@navicon\endcsname {\symbol{"F0C9}} \def\faNavicon {{\FA\csname faicon@navicon\endcsname}}
-\expandafter\def\csname faicon@neuter\endcsname {\symbol{"F22C}} \def\faNeuter {{\FA\csname faicon@neuter\endcsname}}
-\expandafter\def\csname faicon@newspaper-o\endcsname {\symbol{"F1EA}} \def\faNewspaperO {{\FA\csname faicon@newspaper-o\endcsname}}
-\expandafter\def\csname faicon@object-group\endcsname {\symbol{"F247}} \def\faObjectGroup {{\FA\csname faicon@object-group\endcsname}}
-\expandafter\def\csname faicon@object-ungroup\endcsname {\symbol{"F248}} \def\faObjectUngroup {{\FA\csname faicon@object-ungroup\endcsname}}
-\expandafter\def\csname faicon@odnoklassniki\endcsname {\symbol{"F263}} \def\faOdnoklassniki {{\FA\csname faicon@odnoklassniki\endcsname}}
-\expandafter\def\csname faicon@odnoklassniki-square\endcsname {\symbol{"F264}} \def\faOdnoklassnikiSquare {{\FA\csname faicon@odnoklassniki-square\endcsname}}
-\expandafter\def\csname faicon@opencart\endcsname {\symbol{"F23D}} \def\faOpencart {{\FA\csname faicon@opencart\endcsname}}
-\expandafter\def\csname faicon@openid\endcsname {\symbol{"F19B}} \def\faOpenid {{\FA\csname faicon@openid\endcsname}}
-\expandafter\def\csname faicon@opera\endcsname {\symbol{"F26A}} \def\faOpera {{\FA\csname faicon@opera\endcsname}}
-\expandafter\def\csname faicon@optin-monster\endcsname {\symbol{"F23C}} \def\faOptinMonster {{\FA\csname faicon@optin-monster\endcsname}}
-\expandafter\def\csname faicon@outdent\endcsname {\symbol{"F03B}} \def\faOutdent {{\FA\csname faicon@outdent\endcsname}}
-\expandafter\def\csname faicon@pagelines\endcsname {\symbol{"F18C}} \def\faPagelines {{\FA\csname faicon@pagelines\endcsname}}
-\expandafter\def\csname faicon@paint-brush\endcsname {\symbol{"F1FC}} \def\faPaintBrush {{\FA\csname faicon@paint-brush\endcsname}}
-\expandafter\def\csname faicon@paper-plane\endcsname {\symbol{"F1D8}} \def\faPaperPlane {{\FA\csname faicon@paper-plane\endcsname}}
-\expandafter\def\csname faicon@paper-plane-o\endcsname {\symbol{"F1D9}} \def\faPaperPlaneO {{\FA\csname faicon@paper-plane-o\endcsname}}
-\expandafter\def\csname faicon@paperclip\endcsname {\symbol{"F0C6}} \def\faPaperclip {{\FA\csname faicon@paperclip\endcsname}}
-\expandafter\def\csname faicon@paragraph\endcsname {\symbol{"F1DD}} \def\faParagraph {{\FA\csname faicon@paragraph\endcsname}}
-\expandafter\def\csname faicon@paste\endcsname {\symbol{"F0EA}} \def\faPaste {{\FA\csname faicon@paste\endcsname}}
-\expandafter\def\csname faicon@pause\endcsname {\symbol{"F04C}} \def\faPause {{\FA\csname faicon@pause\endcsname}}
-\expandafter\def\csname faicon@paw\endcsname {\symbol{"F1B0}} \def\faPaw {{\FA\csname faicon@paw\endcsname}}
-\expandafter\def\csname faicon@paypal\endcsname {\symbol{"F1ED}} \def\faPaypal {{\FA\csname faicon@paypal\endcsname}}
-\expandafter\def\csname faicon@pencil\endcsname {\symbol{"F040}} \def\faPencil {{\FA\csname faicon@pencil\endcsname}}
-\expandafter\def\csname faicon@pencil-square\endcsname {\symbol{"F14B}} \def\faPencilSquare {{\FA\csname faicon@pencil-square\endcsname}}
-\expandafter\def\csname faicon@pencil-square-o\endcsname {\symbol{"F044}} \def\faPencilSquareO {{\FA\csname faicon@pencil-square-o\endcsname}}
-\expandafter\def\csname faicon@phone\endcsname {\symbol{"F095}} \def\faPhone {{\FA\csname faicon@phone\endcsname}}
-\expandafter\def\csname faicon@phone-square\endcsname {\symbol{"F098}} \def\faPhoneSquare {{\FA\csname faicon@phone-square\endcsname}}
-\expandafter\def\csname faicon@photo\endcsname {\symbol{"F03E}} \def\faPhoto {{\FA\csname faicon@photo\endcsname}}
-\expandafter\def\csname faicon@picture-o\endcsname {\symbol{"F03E}} \def\faPictureO {{\FA\csname faicon@picture-o\endcsname}}
-\expandafter\def\csname faicon@pie-chart\endcsname {\symbol{"F200}} \def\faPieChart {{\FA\csname faicon@pie-chart\endcsname}}
-\expandafter\def\csname faicon@pied-piper\endcsname {\symbol{"F1A7}} \def\faPiedPiper {{\FA\csname faicon@pied-piper\endcsname}}
-\expandafter\def\csname faicon@pied-piper-alt\endcsname {\symbol{"F1A8}} \def\faPiedPiperAlt {{\FA\csname faicon@pied-piper-alt\endcsname}}
-\expandafter\def\csname faicon@pinterest\endcsname {\symbol{"F0D2}} \def\faPinterest {{\FA\csname faicon@pinterest\endcsname}}
-\expandafter\def\csname faicon@pinterest-p\endcsname {\symbol{"F231}} \def\faPinterestP {{\FA\csname faicon@pinterest-p\endcsname}}
-\expandafter\def\csname faicon@pinterest-square\endcsname {\symbol{"F0D3}} \def\faPinterestSquare {{\FA\csname faicon@pinterest-square\endcsname}}
-\expandafter\def\csname faicon@plane\endcsname {\symbol{"F072}} \def\faPlane {{\FA\csname faicon@plane\endcsname}}
-\expandafter\def\csname faicon@play\endcsname {\symbol{"F04B}} \def\faPlay {{\FA\csname faicon@play\endcsname}}
-\expandafter\def\csname faicon@play-circle\endcsname {\symbol{"F144}} \def\faPlayCircle {{\FA\csname faicon@play-circle\endcsname}}
-\expandafter\def\csname faicon@play-circle-o\endcsname {\symbol{"F01D}} \def\faPlayCircleO {{\FA\csname faicon@play-circle-o\endcsname}}
-\expandafter\def\csname faicon@plug\endcsname {\symbol{"F1E6}} \def\faPlug {{\FA\csname faicon@plug\endcsname}}
-\expandafter\def\csname faicon@plus\endcsname {\symbol{"F067}} \def\faPlus {{\FA\csname faicon@plus\endcsname}}
-\expandafter\def\csname faicon@plus-circle\endcsname {\symbol{"F055}} \def\faPlusCircle {{\FA\csname faicon@plus-circle\endcsname}}
-\expandafter\def\csname faicon@plus-square\endcsname {\symbol{"F0FE}} \def\faPlusSquare {{\FA\csname faicon@plus-square\endcsname}}
-\expandafter\def\csname faicon@plus-square-o\endcsname {\symbol{"F196}} \def\faPlusSquareO {{\FA\csname faicon@plus-square-o\endcsname}}
-\expandafter\def\csname faicon@power-off\endcsname {\symbol{"F011}} \def\faPowerOff {{\FA\csname faicon@power-off\endcsname}}
-\expandafter\def\csname faicon@print\endcsname {\symbol{"F02F}} \def\faPrint {{\FA\csname faicon@print\endcsname}}
-\expandafter\def\csname faicon@puzzle-piece\endcsname {\symbol{"F12E}} \def\faPuzzlePiece {{\FA\csname faicon@puzzle-piece\endcsname}}
-\expandafter\def\csname faicon@qq\endcsname {\symbol{"F1D6}} \def\faQq {{\FA\csname faicon@qq\endcsname}}
-\expandafter\def\csname faicon@qrcode\endcsname {\symbol{"F029}} \def\faQrcode {{\FA\csname faicon@qrcode\endcsname}}
-\expandafter\def\csname faicon@question\endcsname {\symbol{"F128}} \def\faQuestion {{\FA\csname faicon@question\endcsname}}
-\expandafter\def\csname faicon@question-circle\endcsname {\symbol{"F059}} \def\faQuestionCircle {{\FA\csname faicon@question-circle\endcsname}}
-\expandafter\def\csname faicon@quote-left\endcsname {\symbol{"F10D}} \def\faQuoteLeft {{\FA\csname faicon@quote-left\endcsname}}
-\expandafter\def\csname faicon@quote-right\endcsname {\symbol{"F10E}} \def\faQuoteRight {{\FA\csname faicon@quote-right\endcsname}}
-\expandafter\def\csname faicon@ra\endcsname {\symbol{"F1D0}} \def\faRa {{\FA\csname faicon@ra\endcsname}}
-\expandafter\def\csname faicon@random\endcsname {\symbol{"F074}} \def\faRandom {{\FA\csname faicon@random\endcsname}}
-\expandafter\def\csname faicon@rebel\endcsname {\symbol{"F1D0}} \def\faRebel {{\FA\csname faicon@rebel\endcsname}}
-\expandafter\def\csname faicon@recycle\endcsname {\symbol{"F1B8}} \def\faRecycle {{\FA\csname faicon@recycle\endcsname}}
-\expandafter\def\csname faicon@reddit\endcsname {\symbol{"F1A1}} \def\faReddit {{\FA\csname faicon@reddit\endcsname}}
-\expandafter\def\csname faicon@reddit-square\endcsname {\symbol{"F1A2}} \def\faRedditSquare {{\FA\csname faicon@reddit-square\endcsname}}
-\expandafter\def\csname faicon@refresh\endcsname {\symbol{"F021}} \def\faRefresh {{\FA\csname faicon@refresh\endcsname}}
-\expandafter\def\csname faicon@registered\endcsname {\symbol{"F25D}} \def\faRegistered {{\FA\csname faicon@registered\endcsname}}
-\expandafter\def\csname faicon@remove\endcsname {\symbol{"F00D}} \def\faRemove {{\FA\csname faicon@remove\endcsname}}
-\expandafter\def\csname faicon@renren\endcsname {\symbol{"F18B}} \def\faRenren {{\FA\csname faicon@renren\endcsname}}
-\expandafter\def\csname faicon@reorder\endcsname {\symbol{"F0C9}} \def\faReorder {{\FA\csname faicon@reorder\endcsname}}
-\expandafter\def\csname faicon@repeat\endcsname {\symbol{"F01E}} \def\faRepeat {{\FA\csname faicon@repeat\endcsname}}
-\expandafter\def\csname faicon@reply\endcsname {\symbol{"F112}} \def\faReply {{\FA\csname faicon@reply\endcsname}}
-\expandafter\def\csname faicon@reply-all\endcsname {\symbol{"F122}} \def\faReplyAll {{\FA\csname faicon@reply-all\endcsname}}
-\expandafter\def\csname faicon@retweet\endcsname {\symbol{"F079}} \def\faRetweet {{\FA\csname faicon@retweet\endcsname}}
-\expandafter\def\csname faicon@rmb\endcsname {\symbol{"F157}} \def\faRmb {{\FA\csname faicon@rmb\endcsname}}
-\expandafter\def\csname faicon@road\endcsname {\symbol{"F018}} \def\faRoad {{\FA\csname faicon@road\endcsname}}
-\expandafter\def\csname faicon@rocket\endcsname {\symbol{"F135}} \def\faRocket {{\FA\csname faicon@rocket\endcsname}}
-\expandafter\def\csname faicon@rotate-left\endcsname {\symbol{"F0E2}} \def\faRotateLeft {{\FA\csname faicon@rotate-left\endcsname}}
-\expandafter\def\csname faicon@rotate-right\endcsname {\symbol{"F01E}} \def\faRotateRight {{\FA\csname faicon@rotate-right\endcsname}}
-\expandafter\def\csname faicon@rouble\endcsname {\symbol{"F158}} \def\faRouble {{\FA\csname faicon@rouble\endcsname}}
-\expandafter\def\csname faicon@rss\endcsname {\symbol{"F09E}} \def\faRss {{\FA\csname faicon@rss\endcsname}}
-\expandafter\def\csname faicon@rss-square\endcsname {\symbol{"F143}} \def\faRssSquare {{\FA\csname faicon@rss-square\endcsname}}
-\expandafter\def\csname faicon@rub\endcsname {\symbol{"F158}} \def\faRub {{\FA\csname faicon@rub\endcsname}}
-\expandafter\def\csname faicon@ruble\endcsname {\symbol{"F158}} \def\faRuble {{\FA\csname faicon@ruble\endcsname}}
-\expandafter\def\csname faicon@rupee\endcsname {\symbol{"F156}} \def\faRupee {{\FA\csname faicon@rupee\endcsname}}
-\expandafter\def\csname faicon@safari\endcsname {\symbol{"F267}} \def\faSafari {{\FA\csname faicon@safari\endcsname}}
-\expandafter\def\csname faicon@save\endcsname {\symbol{"F0C7}} \def\faSave {{\FA\csname faicon@save\endcsname}}
-\expandafter\def\csname faicon@scissors\endcsname {\symbol{"F0C4}} \def\faScissors {{\FA\csname faicon@scissors\endcsname}}
-\expandafter\def\csname faicon@search\endcsname {\symbol{"F002}} \def\faSearch {{\FA\csname faicon@search\endcsname}}
-\expandafter\def\csname faicon@search-minus\endcsname {\symbol{"F010}} \def\faSearchMinus {{\FA\csname faicon@search-minus\endcsname}}
-\expandafter\def\csname faicon@search-plus\endcsname {\symbol{"F00E}} \def\faSearchPlus {{\FA\csname faicon@search-plus\endcsname}}
-\expandafter\def\csname faicon@sellsy\endcsname {\symbol{"F213}} \def\faSellsy {{\FA\csname faicon@sellsy\endcsname}}
-\expandafter\def\csname faicon@send\endcsname {\symbol{"F1D8}} \def\faSend {{\FA\csname faicon@send\endcsname}}
-\expandafter\def\csname faicon@send-o\endcsname {\symbol{"F1D9}} \def\faSendO {{\FA\csname faicon@send-o\endcsname}}
-\expandafter\def\csname faicon@server\endcsname {\symbol{"F233}} \def\faServer {{\FA\csname faicon@server\endcsname}}
-\expandafter\def\csname faicon@share\endcsname {\symbol{"F064}} \def\faShare {{\FA\csname faicon@share\endcsname}}
-\expandafter\def\csname faicon@share-alt\endcsname {\symbol{"F1E0}} \def\faShareAlt {{\FA\csname faicon@share-alt\endcsname}}
-\expandafter\def\csname faicon@share-alt-square\endcsname {\symbol{"F1E1}} \def\faShareAltSquare {{\FA\csname faicon@share-alt-square\endcsname}}
-\expandafter\def\csname faicon@share-square\endcsname {\symbol{"F14D}} \def\faShareSquare {{\FA\csname faicon@share-square\endcsname}}
-\expandafter\def\csname faicon@share-square-o\endcsname {\symbol{"F045}} \def\faShareSquareO {{\FA\csname faicon@share-square-o\endcsname}}
-\expandafter\def\csname faicon@shekel\endcsname {\symbol{"F20B}} \def\faShekel {{\FA\csname faicon@shekel\endcsname}}
-\expandafter\def\csname faicon@sheqel\endcsname {\symbol{"F20B}} \def\faSheqel {{\FA\csname faicon@sheqel\endcsname}}
-\expandafter\def\csname faicon@shield\endcsname {\symbol{"F132}} \def\faShield {{\FA\csname faicon@shield\endcsname}}
-\expandafter\def\csname faicon@ship\endcsname {\symbol{"F21A}} \def\faShip {{\FA\csname faicon@ship\endcsname}}
-\expandafter\def\csname faicon@shirtsinbulk\endcsname {\symbol{"F214}} \def\faShirtsinbulk {{\FA\csname faicon@shirtsinbulk\endcsname}}
-\expandafter\def\csname faicon@shopping-cart\endcsname {\symbol{"F07A}} \def\faShoppingCart {{\FA\csname faicon@shopping-cart\endcsname}}
-\expandafter\def\csname faicon@sign-in\endcsname {\symbol{"F090}} \def\faSignIn {{\FA\csname faicon@sign-in\endcsname}}
-\expandafter\def\csname faicon@sign-out\endcsname {\symbol{"F08B}} \def\faSignOut {{\FA\csname faicon@sign-out\endcsname}}
-\expandafter\def\csname faicon@signal\endcsname {\symbol{"F012}} \def\faSignal {{\FA\csname faicon@signal\endcsname}}
-\expandafter\def\csname faicon@simplybuilt\endcsname {\symbol{"F215}} \def\faSimplybuilt {{\FA\csname faicon@simplybuilt\endcsname}}
-\expandafter\def\csname faicon@sitemap\endcsname {\symbol{"F0E8}} \def\faSitemap {{\FA\csname faicon@sitemap\endcsname}}
-\expandafter\def\csname faicon@skyatlas\endcsname {\symbol{"F216}} \def\faSkyatlas {{\FA\csname faicon@skyatlas\endcsname}}
-\expandafter\def\csname faicon@skype\endcsname {\symbol{"F17E}} \def\faSkype {{\FA\csname faicon@skype\endcsname}}
-\expandafter\def\csname faicon@slack\endcsname {\symbol{"F198}} \def\faSlack {{\FA\csname faicon@slack\endcsname}}
-\expandafter\def\csname faicon@sliders\endcsname {\symbol{"F1DE}} \def\faSliders {{\FA\csname faicon@sliders\endcsname}}
-\expandafter\def\csname faicon@slideshare\endcsname {\symbol{"F1E7}} \def\faSlideshare {{\FA\csname faicon@slideshare\endcsname}}
-\expandafter\def\csname faicon@smile-o\endcsname {\symbol{"F118}} \def\faSmileO {{\FA\csname faicon@smile-o\endcsname}}
-\expandafter\def\csname faicon@soccer-ball-o\endcsname {\symbol{"F1E3}} \def\faSoccerBallO {{\FA\csname faicon@soccer-ball-o\endcsname}}
-\expandafter\def\csname faicon@sort\endcsname {\symbol{"F0DC}} \def\faSort {{\FA\csname faicon@sort\endcsname}}
-\expandafter\def\csname faicon@sort-alpha-asc\endcsname {\symbol{"F15D}} \def\faSortAlphaAsc {{\FA\csname faicon@sort-alpha-asc\endcsname}}
-\expandafter\def\csname faicon@sort-alpha-desc\endcsname {\symbol{"F15E}} \def\faSortAlphaDesc {{\FA\csname faicon@sort-alpha-desc\endcsname}}
-\expandafter\def\csname faicon@sort-amount-asc\endcsname {\symbol{"F160}} \def\faSortAmountAsc {{\FA\csname faicon@sort-amount-asc\endcsname}}
-\expandafter\def\csname faicon@sort-amount-desc\endcsname {\symbol{"F161}} \def\faSortAmountDesc {{\FA\csname faicon@sort-amount-desc\endcsname}}
-\expandafter\def\csname faicon@sort-asc\endcsname {\symbol{"F0DE}} \def\faSortAsc {{\FA\csname faicon@sort-asc\endcsname}}
-\expandafter\def\csname faicon@sort-desc\endcsname {\symbol{"F0DD}} \def\faSortDesc {{\FA\csname faicon@sort-desc\endcsname}}
-\expandafter\def\csname faicon@sort-down\endcsname {\symbol{"F0DD}} \def\faSortDown {{\FA\csname faicon@sort-down\endcsname}}
-\expandafter\def\csname faicon@sort-numeric-asc\endcsname {\symbol{"F162}} \def\faSortNumericAsc {{\FA\csname faicon@sort-numeric-asc\endcsname}}
-\expandafter\def\csname faicon@sort-numeric-desc\endcsname {\symbol{"F163}} \def\faSortNumericDesc {{\FA\csname faicon@sort-numeric-desc\endcsname}}
-\expandafter\def\csname faicon@sort-up\endcsname {\symbol{"F0DE}} \def\faSortUp {{\FA\csname faicon@sort-up\endcsname}}
-\expandafter\def\csname faicon@soundcloud\endcsname {\symbol{"F1BE}} \def\faSoundcloud {{\FA\csname faicon@soundcloud\endcsname}}
-\expandafter\def\csname faicon@space-shuttle\endcsname {\symbol{"F197}} \def\faSpaceShuttle {{\FA\csname faicon@space-shuttle\endcsname}}
-\expandafter\def\csname faicon@spinner\endcsname {\symbol{"F110}} \def\faSpinner {{\FA\csname faicon@spinner\endcsname}}
-\expandafter\def\csname faicon@spoon\endcsname {\symbol{"F1B1}} \def\faSpoon {{\FA\csname faicon@spoon\endcsname}}
-\expandafter\def\csname faicon@spotify\endcsname {\symbol{"F1BC}} \def\faSpotify {{\FA\csname faicon@spotify\endcsname}}
-\expandafter\def\csname faicon@square\endcsname {\symbol{"F0C8}} \def\faSquare {{\FA\csname faicon@square\endcsname}}
-\expandafter\def\csname faicon@square-o\endcsname {\symbol{"F096}} \def\faSquareO {{\FA\csname faicon@square-o\endcsname}}
-\expandafter\def\csname faicon@stack-exchange\endcsname {\symbol{"F18D}} \def\faStackExchange {{\FA\csname faicon@stack-exchange\endcsname}}
-\expandafter\def\csname faicon@stack-overflow\endcsname {\symbol{"F16C}} \def\faStackOverflow {{\FA\csname faicon@stack-overflow\endcsname}}
-\expandafter\def\csname faicon@star\endcsname {\symbol{"F005}} \def\faStar {{\FA\csname faicon@star\endcsname}}
-\expandafter\def\csname faicon@star-half\endcsname {\symbol{"F089}} \def\faStarHalf {{\FA\csname faicon@star-half\endcsname}}
-\expandafter\def\csname faicon@star-half-empty\endcsname {\symbol{"F123}} \def\faStarHalfEmpty {{\FA\csname faicon@star-half-empty\endcsname}}
-\expandafter\def\csname faicon@star-half-full\endcsname {\symbol{"F123}} \def\faStarHalfFull {{\FA\csname faicon@star-half-full\endcsname}}
-\expandafter\def\csname faicon@star-half-o\endcsname {\symbol{"F123}} \def\faStarHalfO {{\FA\csname faicon@star-half-o\endcsname}}
-\expandafter\def\csname faicon@star-o\endcsname {\symbol{"F006}} \def\faStarO {{\FA\csname faicon@star-o\endcsname}}
-\expandafter\def\csname faicon@steam\endcsname {\symbol{"F1B6}} \def\faSteam {{\FA\csname faicon@steam\endcsname}}
-\expandafter\def\csname faicon@steam-square\endcsname {\symbol{"F1B7}} \def\faSteamSquare {{\FA\csname faicon@steam-square\endcsname}}
-\expandafter\def\csname faicon@step-backward\endcsname {\symbol{"F048}} \def\faStepBackward {{\FA\csname faicon@step-backward\endcsname}}
-\expandafter\def\csname faicon@step-forward\endcsname {\symbol{"F051}} \def\faStepForward {{\FA\csname faicon@step-forward\endcsname}}
-\expandafter\def\csname faicon@stethoscope\endcsname {\symbol{"F0F1}} \def\faStethoscope {{\FA\csname faicon@stethoscope\endcsname}}
-\expandafter\def\csname faicon@sticky-note\endcsname {\symbol{"F249}} \def\faStickyNote {{\FA\csname faicon@sticky-note\endcsname}}
-\expandafter\def\csname faicon@sticky-note-o\endcsname {\symbol{"F24A}} \def\faStickyNoteO {{\FA\csname faicon@sticky-note-o\endcsname}}
-\expandafter\def\csname faicon@stop\endcsname {\symbol{"F04D}} \def\faStop {{\FA\csname faicon@stop\endcsname}}
-\expandafter\def\csname faicon@street-view\endcsname {\symbol{"F21D}} \def\faStreetView {{\FA\csname faicon@street-view\endcsname}}
-\expandafter\def\csname faicon@strikethrough\endcsname {\symbol{"F0CC}} \def\faStrikethrough {{\FA\csname faicon@strikethrough\endcsname}}
-\expandafter\def\csname faicon@stumbleupon\endcsname {\symbol{"F1A4}} \def\faStumbleupon {{\FA\csname faicon@stumbleupon\endcsname}}
-\expandafter\def\csname faicon@stumbleupon-circle\endcsname {\symbol{"F1A3}} \def\faStumbleuponCircle {{\FA\csname faicon@stumbleupon-circle\endcsname}}
-\expandafter\def\csname faicon@subscript\endcsname {\symbol{"F12C}} \def\faSubscript {{\FA\csname faicon@subscript\endcsname}}
-\expandafter\def\csname faicon@subway\endcsname {\symbol{"F239}} \def\faSubway {{\FA\csname faicon@subway\endcsname}}
-\expandafter\def\csname faicon@suitcase\endcsname {\symbol{"F0F2}} \def\faSuitcase {{\FA\csname faicon@suitcase\endcsname}}
-\expandafter\def\csname faicon@sun-o\endcsname {\symbol{"F185}} \def\faSunO {{\FA\csname faicon@sun-o\endcsname}}
-\expandafter\def\csname faicon@superscript\endcsname {\symbol{"F12B}} \def\faSuperscript {{\FA\csname faicon@superscript\endcsname}}
-\expandafter\def\csname faicon@support\endcsname {\symbol{"F1CD}} \def\faSupport {{\FA\csname faicon@support\endcsname}}
-\expandafter\def\csname faicon@table\endcsname {\symbol{"F0CE}} \def\faTable {{\FA\csname faicon@table\endcsname}}
-\expandafter\def\csname faicon@tablet\endcsname {\symbol{"F10A}} \def\faTablet {{\FA\csname faicon@tablet\endcsname}}
-\expandafter\def\csname faicon@tachometer\endcsname {\symbol{"F0E4}} \def\faTachometer {{\FA\csname faicon@tachometer\endcsname}}
-\expandafter\def\csname faicon@tag\endcsname {\symbol{"F02B}} \def\faTag {{\FA\csname faicon@tag\endcsname}}
-\expandafter\def\csname faicon@tags\endcsname {\symbol{"F02C}} \def\faTags {{\FA\csname faicon@tags\endcsname}}
-\expandafter\def\csname faicon@tasks\endcsname {\symbol{"F0AE}} \def\faTasks {{\FA\csname faicon@tasks\endcsname}}
-\expandafter\def\csname faicon@taxi\endcsname {\symbol{"F1BA}} \def\faTaxi {{\FA\csname faicon@taxi\endcsname}}
-\expandafter\def\csname faicon@television\endcsname {\symbol{"F26C}} \def\faTelevision {{\FA\csname faicon@television\endcsname}}
-\expandafter\def\csname faicon@tencent-weibo\endcsname {\symbol{"F1D5}} \def\faTencentWeibo {{\FA\csname faicon@tencent-weibo\endcsname}}
-\expandafter\def\csname faicon@terminal\endcsname {\symbol{"F120}} \def\faTerminal {{\FA\csname faicon@terminal\endcsname}}
-\expandafter\def\csname faicon@text-height\endcsname {\symbol{"F034}} \def\faTextHeight {{\FA\csname faicon@text-height\endcsname}}
-\expandafter\def\csname faicon@text-width\endcsname {\symbol{"F035}} \def\faTextWidth {{\FA\csname faicon@text-width\endcsname}}
-\expandafter\def\csname faicon@th\endcsname {\symbol{"F00A}} \def\faTh {{\FA\csname faicon@th\endcsname}}
-\expandafter\def\csname faicon@th-large\endcsname {\symbol{"F009}} \def\faThLarge {{\FA\csname faicon@th-large\endcsname}}
-\expandafter\def\csname faicon@th-list\endcsname {\symbol{"F00B}} \def\faThList {{\FA\csname faicon@th-list\endcsname}}
-\expandafter\def\csname faicon@thumb-tack\endcsname {\symbol{"F08D}} \def\faThumbTack {{\FA\csname faicon@thumb-tack\endcsname}}
-\expandafter\def\csname faicon@thumbs-down\endcsname {\symbol{"F165}} \def\faThumbsDown {{\FA\csname faicon@thumbs-down\endcsname}}
-\expandafter\def\csname faicon@thumbs-o-down\endcsname {\symbol{"F088}} \def\faThumbsODown {{\FA\csname faicon@thumbs-o-down\endcsname}}
-\expandafter\def\csname faicon@thumbs-o-up\endcsname {\symbol{"F087}} \def\faThumbsOUp {{\FA\csname faicon@thumbs-o-up\endcsname}}
-\expandafter\def\csname faicon@thumbs-up\endcsname {\symbol{"F164}} \def\faThumbsUp {{\FA\csname faicon@thumbs-up\endcsname}}
-\expandafter\def\csname faicon@ticket\endcsname {\symbol{"F145}} \def\faTicket {{\FA\csname faicon@ticket\endcsname}}
-\expandafter\def\csname faicon@times\endcsname {\symbol{"F00D}} \def\faTimes {{\FA\csname faicon@times\endcsname}}
-\expandafter\def\csname faicon@times-circle\endcsname {\symbol{"F057}} \def\faTimesCircle {{\FA\csname faicon@times-circle\endcsname}}
-\expandafter\def\csname faicon@times-circle-o\endcsname {\symbol{"F05C}} \def\faTimesCircleO {{\FA\csname faicon@times-circle-o\endcsname}}
-\expandafter\def\csname faicon@tint\endcsname {\symbol{"F043}} \def\faTint {{\FA\csname faicon@tint\endcsname}}
-\expandafter\def\csname faicon@toggle-down\endcsname {\symbol{"F150}} \def\faToggleDown {{\FA\csname faicon@toggle-down\endcsname}}
-\expandafter\def\csname faicon@toggle-left\endcsname {\symbol{"F191}} \def\faToggleLeft {{\FA\csname faicon@toggle-left\endcsname}}
-\expandafter\def\csname faicon@toggle-off\endcsname {\symbol{"F204}} \def\faToggleOff {{\FA\csname faicon@toggle-off\endcsname}}
-\expandafter\def\csname faicon@toggle-on\endcsname {\symbol{"F205}} \def\faToggleOn {{\FA\csname faicon@toggle-on\endcsname}}
-\expandafter\def\csname faicon@toggle-right\endcsname {\symbol{"F152}} \def\faToggleRight {{\FA\csname faicon@toggle-right\endcsname}}
-\expandafter\def\csname faicon@toggle-up\endcsname {\symbol{"F151}} \def\faToggleUp {{\FA\csname faicon@toggle-up\endcsname}}
-\expandafter\def\csname faicon@trademark\endcsname {\symbol{"F25C}} \def\faTrademark {{\FA\csname faicon@trademark\endcsname}}
-\expandafter\def\csname faicon@train\endcsname {\symbol{"F238}} \def\faTrain {{\FA\csname faicon@train\endcsname}}
-\expandafter\def\csname faicon@transgender\endcsname {\symbol{"F224}} \def\faTransgender {{\FA\csname faicon@transgender\endcsname}}
-\expandafter\def\csname faicon@transgender-alt\endcsname {\symbol{"F225}} \def\faTransgenderAlt {{\FA\csname faicon@transgender-alt\endcsname}}
-\expandafter\def\csname faicon@trash\endcsname {\symbol{"F1F8}} \def\faTrash {{\FA\csname faicon@trash\endcsname}}
-\expandafter\def\csname faicon@trash-o\endcsname {\symbol{"F014}} \def\faTrashO {{\FA\csname faicon@trash-o\endcsname}}
-\expandafter\def\csname faicon@tree\endcsname {\symbol{"F1BB}} \def\faTree {{\FA\csname faicon@tree\endcsname}}
-\expandafter\def\csname faicon@trello\endcsname {\symbol{"F181}} \def\faTrello {{\FA\csname faicon@trello\endcsname}}
-\expandafter\def\csname faicon@tripadvisor\endcsname {\symbol{"F262}} \def\faTripadvisor {{\FA\csname faicon@tripadvisor\endcsname}}
-\expandafter\def\csname faicon@trophy\endcsname {\symbol{"F091}} \def\faTrophy {{\FA\csname faicon@trophy\endcsname}}
-\expandafter\def\csname faicon@truck\endcsname {\symbol{"F0D1}} \def\faTruck {{\FA\csname faicon@truck\endcsname}}
-\expandafter\def\csname faicon@try\endcsname {\symbol{"F195}} \def\faTry {{\FA\csname faicon@try\endcsname}}
-\expandafter\def\csname faicon@tty\endcsname {\symbol{"F1E4}} \def\faTty {{\FA\csname faicon@tty\endcsname}}
-\expandafter\def\csname faicon@tumblr\endcsname {\symbol{"F173}} \def\faTumblr {{\FA\csname faicon@tumblr\endcsname}}
-\expandafter\def\csname faicon@tumblr-square\endcsname {\symbol{"F174}} \def\faTumblrSquare {{\FA\csname faicon@tumblr-square\endcsname}}
-\expandafter\def\csname faicon@turkish-lira\endcsname {\symbol{"F195}} \def\faTurkishLira {{\FA\csname faicon@turkish-lira\endcsname}}
-\expandafter\def\csname faicon@tv\endcsname {\symbol{"F26C}} \def\faTv {{\FA\csname faicon@tv\endcsname}}
-\expandafter\def\csname faicon@twitch\endcsname {\symbol{"F1E8}} \def\faTwitch {{\FA\csname faicon@twitch\endcsname}}
-\expandafter\def\csname faicon@twitter\endcsname {\symbol{"F099}} \def\faTwitter {{\FA\csname faicon@twitter\endcsname}}
-\expandafter\def\csname faicon@twitter-square\endcsname {\symbol{"F081}} \def\faTwitterSquare {{\FA\csname faicon@twitter-square\endcsname}}
-\expandafter\def\csname faicon@umbrella\endcsname {\symbol{"F0E9}} \def\faUmbrella {{\FA\csname faicon@umbrella\endcsname}}
-\expandafter\def\csname faicon@underline\endcsname {\symbol{"F0CD}} \def\faUnderline {{\FA\csname faicon@underline\endcsname}}
-\expandafter\def\csname faicon@undo\endcsname {\symbol{"F0E2}} \def\faUndo {{\FA\csname faicon@undo\endcsname}}
-\expandafter\def\csname faicon@university\endcsname {\symbol{"F19C}} \def\faUniversity {{\FA\csname faicon@university\endcsname}}
-\expandafter\def\csname faicon@unlink\endcsname {\symbol{"F127}} \def\faUnlink {{\FA\csname faicon@unlink\endcsname}}
-\expandafter\def\csname faicon@unlock\endcsname {\symbol{"F09C}} \def\faUnlock {{\FA\csname faicon@unlock\endcsname}}
-\expandafter\def\csname faicon@unlock-alt\endcsname {\symbol{"F13E}} \def\faUnlockAlt {{\FA\csname faicon@unlock-alt\endcsname}}
-\expandafter\def\csname faicon@unsorted\endcsname {\symbol{"F0DC}} \def\faUnsorted {{\FA\csname faicon@unsorted\endcsname}}
-\expandafter\def\csname faicon@upload\endcsname {\symbol{"F093}} \def\faUpload {{\FA\csname faicon@upload\endcsname}}
-\expandafter\def\csname faicon@usd\endcsname {\symbol{"F155}} \def\faUsd {{\FA\csname faicon@usd\endcsname}}
-\expandafter\def\csname faicon@user\endcsname {\symbol{"F007}} \def\faUser {{\FA\csname faicon@user\endcsname}}
-\expandafter\def\csname faicon@user-md\endcsname {\symbol{"F0F0}} \def\faUserMd {{\FA\csname faicon@user-md\endcsname}}
-\expandafter\def\csname faicon@user-plus\endcsname {\symbol{"F234}} \def\faUserPlus {{\FA\csname faicon@user-plus\endcsname}}
-\expandafter\def\csname faicon@user-secret\endcsname {\symbol{"F21B}} \def\faUserSecret {{\FA\csname faicon@user-secret\endcsname}}
-\expandafter\def\csname faicon@user-times\endcsname {\symbol{"F235}} \def\faUserTimes {{\FA\csname faicon@user-times\endcsname}}
-\expandafter\def\csname faicon@users\endcsname {\symbol{"F0C0}} \def\faUsers {{\FA\csname faicon@users\endcsname}}
-\expandafter\def\csname faicon@venus\endcsname {\symbol{"F221}} \def\faVenus {{\FA\csname faicon@venus\endcsname}}
-\expandafter\def\csname faicon@venus-double\endcsname {\symbol{"F226}} \def\faVenusDouble {{\FA\csname faicon@venus-double\endcsname}}
-\expandafter\def\csname faicon@venus-mars\endcsname {\symbol{"F228}} \def\faVenusMars {{\FA\csname faicon@venus-mars\endcsname}}
-\expandafter\def\csname faicon@viacoin\endcsname {\symbol{"F237}} \def\faViacoin {{\FA\csname faicon@viacoin\endcsname}}
-\expandafter\def\csname faicon@video-camera\endcsname {\symbol{"F03D}} \def\faVideoCamera {{\FA\csname faicon@video-camera\endcsname}}
-\expandafter\def\csname faicon@vimeo\endcsname {\symbol{"F27D}} \def\faVimeo {{\FA\csname faicon@vimeo\endcsname}}
-\expandafter\def\csname faicon@vimeo-square\endcsname {\symbol{"F194}} \def\faVimeoSquare {{\FA\csname faicon@vimeo-square\endcsname}}
-\expandafter\def\csname faicon@vine\endcsname {\symbol{"F1CA}} \def\faVine {{\FA\csname faicon@vine\endcsname}}
-\expandafter\def\csname faicon@vk\endcsname {\symbol{"F189}} \def\faVk {{\FA\csname faicon@vk\endcsname}}
-\expandafter\def\csname faicon@volume-down\endcsname {\symbol{"F027}} \def\faVolumeDown {{\FA\csname faicon@volume-down\endcsname}}
-\expandafter\def\csname faicon@volume-off\endcsname {\symbol{"F026}} \def\faVolumeOff {{\FA\csname faicon@volume-off\endcsname}}
-\expandafter\def\csname faicon@volume-up\endcsname {\symbol{"F028}} \def\faVolumeUp {{\FA\csname faicon@volume-up\endcsname}}
-\expandafter\def\csname faicon@warning\endcsname {\symbol{"F071}} \def\faWarning {{\FA\csname faicon@warning\endcsname}}
-\expandafter\def\csname faicon@wechat\endcsname {\symbol{"F1D7}} \def\faWechat {{\FA\csname faicon@wechat\endcsname}}
-\expandafter\def\csname faicon@weibo\endcsname {\symbol{"F18A}} \def\faWeibo {{\FA\csname faicon@weibo\endcsname}}
-\expandafter\def\csname faicon@weixin\endcsname {\symbol{"F1D7}} \def\faWeixin {{\FA\csname faicon@weixin\endcsname}}
-\expandafter\def\csname faicon@whatsapp\endcsname {\symbol{"F232}} \def\faWhatsapp {{\FA\csname faicon@whatsapp\endcsname}}
-\expandafter\def\csname faicon@wheelchair\endcsname {\symbol{"F193}} \def\faWheelchair {{\FA\csname faicon@wheelchair\endcsname}}
-\expandafter\def\csname faicon@wifi\endcsname {\symbol{"F1EB}} \def\faWifi {{\FA\csname faicon@wifi\endcsname}}
-\expandafter\def\csname faicon@wikipedia-w\endcsname {\symbol{"F266}} \def\faWikipediaW {{\FA\csname faicon@wikipedia-w\endcsname}}
-\expandafter\def\csname faicon@windows\endcsname {\symbol{"F17A}} \def\faWindows {{\FA\csname faicon@windows\endcsname}}
-\expandafter\def\csname faicon@won\endcsname {\symbol{"F159}} \def\faWon {{\FA\csname faicon@won\endcsname}}
-\expandafter\def\csname faicon@wordpress\endcsname {\symbol{"F19A}} \def\faWordpress {{\FA\csname faicon@wordpress\endcsname}}
-\expandafter\def\csname faicon@wrench\endcsname {\symbol{"F0AD}} \def\faWrench {{\FA\csname faicon@wrench\endcsname}}
-\expandafter\def\csname faicon@xing\endcsname {\symbol{"F168}} \def\faXing {{\FA\csname faicon@xing\endcsname}}
-\expandafter\def\csname faicon@xing-square\endcsname {\symbol{"F169}} \def\faXingSquare {{\FA\csname faicon@xing-square\endcsname}}
-\expandafter\def\csname faicon@y-combinator\endcsname {\symbol{"F23B}} \def\faYCombinator {{\FA\csname faicon@y-combinator\endcsname}}
-\expandafter\def\csname faicon@y-combinator-square\endcsname {\symbol{"F1D4}} \def\faYCombinatorSquare {{\FA\csname faicon@y-combinator-square\endcsname}}
-\expandafter\def\csname faicon@yahoo\endcsname {\symbol{"F19E}} \def\faYahoo {{\FA\csname faicon@yahoo\endcsname}}
-\expandafter\def\csname faicon@yc\endcsname {\symbol{"F23B}} \def\faYc {{\FA\csname faicon@yc\endcsname}}
-\expandafter\def\csname faicon@yc-square\endcsname {\symbol{"F1D4}} \def\faYcSquare {{\FA\csname faicon@yc-square\endcsname}}
-\expandafter\def\csname faicon@yelp\endcsname {\symbol{"F1E9}} \def\faYelp {{\FA\csname faicon@yelp\endcsname}}
-\expandafter\def\csname faicon@yen\endcsname {\symbol{"F157}} \def\faYen {{\FA\csname faicon@yen\endcsname}}
-\expandafter\def\csname faicon@youtube\endcsname {\symbol{"F167}} \def\faYoutube {{\FA\csname faicon@youtube\endcsname}}
-\expandafter\def\csname faicon@youtube-play\endcsname {\symbol{"F16A}} \def\faYoutubePlay {{\FA\csname faicon@youtube-play\endcsname}}
-\expandafter\def\csname faicon@youtube-square\endcsname {\symbol{"F166}} \def\faYoutubeSquare {{\FA\csname faicon@youtube-square\endcsname}}
+%% Copyright 2015 Claud D. Park
+%% It is based on furl's latex-fontawesome project.
+
+% Identify this package.
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{fontawesome}[2015/11/04 v4.4.0 font awesome icons]
+
+% Requirements to use.
+\usepackage{fontspec}
+
+% Define shortcut to load the Font Awesome font.
+\newfontfamily{\FA}[
+Path=fonts/
+]{FontAwesome}
+% Generic command displaying an icon by its name.
+\newcommand*{\faicon}[1]{{
+ \FA\csname faicon@#1\endcsname
+}}
+
+\expandafter\def\csname faicon@adjust\endcsname {\symbol{"F042}} \def\faAdjust {{\FA\csname faicon@adjust\endcsname}}
+\expandafter\def\csname faicon@adn\endcsname {\symbol{"F170}} \def\faAdn {{\FA\csname faicon@adn\endcsname}}
+\expandafter\def\csname faicon@align-center\endcsname {\symbol{"F037}} \def\faAlignCenter {{\FA\csname faicon@align-center\endcsname}}
+\expandafter\def\csname faicon@align-justify\endcsname {\symbol{"F039}} \def\faAlignJustify {{\FA\csname faicon@align-justify\endcsname}}
+\expandafter\def\csname faicon@align-left\endcsname {\symbol{"F036}} \def\faAlignLeft {{\FA\csname faicon@align-left\endcsname}}
+\expandafter\def\csname faicon@align-right\endcsname {\symbol{"F038}} \def\faAlignRight {{\FA\csname faicon@align-right\endcsname}}
+\expandafter\def\csname faicon@amazon\endcsname {\symbol{"F270}} \def\faAmazon {{\FA\csname faicon@amazon\endcsname}}
+\expandafter\def\csname faicon@ambulance\endcsname {\symbol{"F0F9}} \def\faAmbulance {{\FA\csname faicon@ambulance\endcsname}}
+\expandafter\def\csname faicon@anchor\endcsname {\symbol{"F13D}} \def\faAnchor {{\FA\csname faicon@anchor\endcsname}}
+\expandafter\def\csname faicon@android\endcsname {\symbol{"F17B}} \def\faAndroid {{\FA\csname faicon@android\endcsname}}
+\expandafter\def\csname faicon@angellist\endcsname {\symbol{"F209}} \def\faAngellist {{\FA\csname faicon@angellist\endcsname}}
+\expandafter\def\csname faicon@angle-double-down\endcsname {\symbol{"F103}} \def\faAngleDoubleDown {{\FA\csname faicon@angle-double-down\endcsname}}
+\expandafter\def\csname faicon@angle-double-left\endcsname {\symbol{"F100}} \def\faAngleDoubleLeft {{\FA\csname faicon@angle-double-left\endcsname}}
+\expandafter\def\csname faicon@angle-double-right\endcsname {\symbol{"F101}} \def\faAngleDoubleRight {{\FA\csname faicon@angle-double-right\endcsname}}
+\expandafter\def\csname faicon@angle-double-up\endcsname {\symbol{"F102}} \def\faAngleDoubleUp {{\FA\csname faicon@angle-double-up\endcsname}}
+\expandafter\def\csname faicon@angle-down\endcsname {\symbol{"F107}} \def\faAngleDown {{\FA\csname faicon@angle-down\endcsname}}
+\expandafter\def\csname faicon@angle-left\endcsname {\symbol{"F104}} \def\faAngleLeft {{\FA\csname faicon@angle-left\endcsname}}
+\expandafter\def\csname faicon@angle-right\endcsname {\symbol{"F105}} \def\faAngleRight {{\FA\csname faicon@angle-right\endcsname}}
+\expandafter\def\csname faicon@angle-up\endcsname {\symbol{"F106}} \def\faAngleUp {{\FA\csname faicon@angle-up\endcsname}}
+\expandafter\def\csname faicon@apple\endcsname {\symbol{"F179}} \def\faApple {{\FA\csname faicon@apple\endcsname}}
+\expandafter\def\csname faicon@archive\endcsname {\symbol{"F187}} \def\faArchive {{\FA\csname faicon@archive\endcsname}}
+\expandafter\def\csname faicon@area-chart\endcsname {\symbol{"F1FE}} \def\faAreaChart {{\FA\csname faicon@area-chart\endcsname}}
+\expandafter\def\csname faicon@arrow-circle-down\endcsname {\symbol{"F0AB}} \def\faArrowCircleDown {{\FA\csname faicon@arrow-circle-down\endcsname}}
+\expandafter\def\csname faicon@arrow-circle-left\endcsname {\symbol{"F0A8}} \def\faArrowCircleLeft {{\FA\csname faicon@arrow-circle-left\endcsname}}
+\expandafter\def\csname faicon@arrow-circle-o-down\endcsname {\symbol{"F01A}} \def\faArrowCircleODown {{\FA\csname faicon@arrow-circle-o-down\endcsname}}
+\expandafter\def\csname faicon@arrow-circle-o-left\endcsname {\symbol{"F190}} \def\faArrowCircleOLeft {{\FA\csname faicon@arrow-circle-o-left\endcsname}}
+\expandafter\def\csname faicon@arrow-circle-o-right\endcsname {\symbol{"F18E}} \def\faArrowCircleORight {{\FA\csname faicon@arrow-circle-o-right\endcsname}}
+\expandafter\def\csname faicon@arrow-circle-o-up\endcsname {\symbol{"F01B}} \def\faArrowCircleOUp {{\FA\csname faicon@arrow-circle-o-up\endcsname}}
+\expandafter\def\csname faicon@arrow-circle-right\endcsname {\symbol{"F0A9}} \def\faArrowCircleRight {{\FA\csname faicon@arrow-circle-right\endcsname}}
+\expandafter\def\csname faicon@arrow-circle-up\endcsname {\symbol{"F0AA}} \def\faArrowCircleUp {{\FA\csname faicon@arrow-circle-up\endcsname}}
+\expandafter\def\csname faicon@arrow-down\endcsname {\symbol{"F063}} \def\faArrowDown {{\FA\csname faicon@arrow-down\endcsname}}
+\expandafter\def\csname faicon@arrow-left\endcsname {\symbol{"F060}} \def\faArrowLeft {{\FA\csname faicon@arrow-left\endcsname}}
+\expandafter\def\csname faicon@arrow-right\endcsname {\symbol{"F061}} \def\faArrowRight {{\FA\csname faicon@arrow-right\endcsname}}
+\expandafter\def\csname faicon@arrow-up\endcsname {\symbol{"F062}} \def\faArrowUp {{\FA\csname faicon@arrow-up\endcsname}}
+\expandafter\def\csname faicon@arrows\endcsname {\symbol{"F047}} \def\faArrows {{\FA\csname faicon@arrows\endcsname}}
+\expandafter\def\csname faicon@arrows-alt\endcsname {\symbol{"F0B2}} \def\faArrowsAlt {{\FA\csname faicon@arrows-alt\endcsname}}
+\expandafter\def\csname faicon@arrows-h\endcsname {\symbol{"F07E}} \def\faArrowsH {{\FA\csname faicon@arrows-h\endcsname}}
+\expandafter\def\csname faicon@arrows-v\endcsname {\symbol{"F07D}} \def\faArrowsV {{\FA\csname faicon@arrows-v\endcsname}}
+\expandafter\def\csname faicon@asterisk\endcsname {\symbol{"F069}} \def\faAsterisk {{\FA\csname faicon@asterisk\endcsname}}
+\expandafter\def\csname faicon@at\endcsname {\symbol{"F1FA}} \def\faAt {{\FA\csname faicon@at\endcsname}}
+\expandafter\def\csname faicon@automobile\endcsname {\symbol{"F1B9}} \def\faAutomobile {{\FA\csname faicon@automobile\endcsname}}
+\expandafter\def\csname faicon@backward\endcsname {\symbol{"F04A}} \def\faBackward {{\FA\csname faicon@backward\endcsname}}
+\expandafter\def\csname faicon@balance-scale\endcsname {\symbol{"F24E}} \def\faBalanceScale {{\FA\csname faicon@balance-scale\endcsname}}
+\expandafter\def\csname faicon@ban\endcsname {\symbol{"F05E}} \def\faBan {{\FA\csname faicon@ban\endcsname}}
+\expandafter\def\csname faicon@bank\endcsname {\symbol{"F19C}} \def\faBank {{\FA\csname faicon@bank\endcsname}}
+\expandafter\def\csname faicon@bar-chart\endcsname {\symbol{"F080}} \def\faBarChart {{\FA\csname faicon@bar-chart\endcsname}}
+\expandafter\def\csname faicon@bar-chart-o\endcsname {\symbol{"F080}} \def\faBarChartO {{\FA\csname faicon@bar-chart-o\endcsname}}
+\expandafter\def\csname faicon@barcode\endcsname {\symbol{"F02A}} \def\faBarcode {{\FA\csname faicon@barcode\endcsname}}
+\expandafter\def\csname faicon@bars\endcsname {\symbol{"F0C9}} \def\faBars {{\FA\csname faicon@bars\endcsname}}
+\expandafter\def\csname faicon@battery-empty\endcsname {\symbol{"F244}} \def\faBatteryEmpty {{\FA\csname faicon@battery-empty\endcsname}}
+\expandafter\def\csname faicon@battery-full\endcsname {\symbol{"F240}} \def\faBatteryFull {{\FA\csname faicon@battery-full\endcsname}}
+\expandafter\def\csname faicon@battery-half\endcsname {\symbol{"F242}} \def\faBatteryHalf {{\FA\csname faicon@battery-half\endcsname}}
+\expandafter\def\csname faicon@battery-quarter\endcsname {\symbol{"F243}} \def\faBatteryQuarter {{\FA\csname faicon@battery-quarter\endcsname}}
+\expandafter\def\csname faicon@battery-three-quarters\endcsname {\symbol{"F241}} \def\faBatteryThreeQuarters {{\FA\csname faicon@battery-three-quarters\endcsname}}
+\expandafter\def\csname faicon@bed\endcsname {\symbol{"F236}} \def\faBed {{\FA\csname faicon@bed\endcsname}}
+\expandafter\def\csname faicon@beer\endcsname {\symbol{"F0FC}} \def\faBeer {{\FA\csname faicon@beer\endcsname}}
+\expandafter\def\csname faicon@behance\endcsname {\symbol{"F1B4}} \def\faBehance {{\FA\csname faicon@behance\endcsname}}
+\expandafter\def\csname faicon@behance-square\endcsname {\symbol{"F1B5}} \def\faBehanceSquare {{\FA\csname faicon@behance-square\endcsname}}
+\expandafter\def\csname faicon@bell\endcsname {\symbol{"F0F3}} \def\faBell {{\FA\csname faicon@bell\endcsname}}
+\expandafter\def\csname faicon@bell-o\endcsname {\symbol{"F0A2}} \def\faBellO {{\FA\csname faicon@bell-o\endcsname}}
+\expandafter\def\csname faicon@bell-slash\endcsname {\symbol{"F1F6}} \def\faBellSlash {{\FA\csname faicon@bell-slash\endcsname}}
+\expandafter\def\csname faicon@bell-slash-o\endcsname {\symbol{"F1F7}} \def\faBellSlashO {{\FA\csname faicon@bell-slash-o\endcsname}}
+\expandafter\def\csname faicon@bicycle\endcsname {\symbol{"F206}} \def\faBicycle {{\FA\csname faicon@bicycle\endcsname}}
+\expandafter\def\csname faicon@binoculars\endcsname {\symbol{"F1E5}} \def\faBinoculars {{\FA\csname faicon@binoculars\endcsname}}
+\expandafter\def\csname faicon@birthday-cake\endcsname {\symbol{"F1FD}} \def\faBirthdayCake {{\FA\csname faicon@birthday-cake\endcsname}}
+\expandafter\def\csname faicon@bitbucket\endcsname {\symbol{"F171}} \def\faBitbucket {{\FA\csname faicon@bitbucket\endcsname}}
+\expandafter\def\csname faicon@bitbucket-square\endcsname {\symbol{"F172}} \def\faBitbucketSquare {{\FA\csname faicon@bitbucket-square\endcsname}}
+\expandafter\def\csname faicon@bitcoin\endcsname {\symbol{"F15A}} \def\faBitcoin {{\FA\csname faicon@bitcoin\endcsname}}
+\expandafter\def\csname faicon@black-tie\endcsname {\symbol{"F27E}} \def\faBlackTie {{\FA\csname faicon@black-tie\endcsname}}
+\expandafter\def\csname faicon@bold\endcsname {\symbol{"F032}} \def\faBold {{\FA\csname faicon@bold\endcsname}}
+\expandafter\def\csname faicon@bolt\endcsname {\symbol{"F0E7}} \def\faBolt {{\FA\csname faicon@bolt\endcsname}}
+\expandafter\def\csname faicon@bomb\endcsname {\symbol{"F1E2}} \def\faBomb {{\FA\csname faicon@bomb\endcsname}}
+\expandafter\def\csname faicon@book\endcsname {\symbol{"F02D}} \def\faBook {{\FA\csname faicon@book\endcsname}}
+\expandafter\def\csname faicon@bookmark\endcsname {\symbol{"F02E}} \def\faBookmark {{\FA\csname faicon@bookmark\endcsname}}
+\expandafter\def\csname faicon@bookmark-o\endcsname {\symbol{"F097}} \def\faBookmarkO {{\FA\csname faicon@bookmark-o\endcsname}}
+\expandafter\def\csname faicon@briefcase\endcsname {\symbol{"F0B1}} \def\faBriefcase {{\FA\csname faicon@briefcase\endcsname}}
+\expandafter\def\csname faicon@btc\endcsname {\symbol{"F15A}} \def\faBtc {{\FA\csname faicon@btc\endcsname}}
+\expandafter\def\csname faicon@bug\endcsname {\symbol{"F188}} \def\faBug {{\FA\csname faicon@bug\endcsname}}
+\expandafter\def\csname faicon@building\endcsname {\symbol{"F1AD}} \def\faBuilding {{\FA\csname faicon@building\endcsname}}
+\expandafter\def\csname faicon@building-o\endcsname {\symbol{"F0F7}} \def\faBuildingO {{\FA\csname faicon@building-o\endcsname}}
+\expandafter\def\csname faicon@bullhorn\endcsname {\symbol{"F0A1}} \def\faBullhorn {{\FA\csname faicon@bullhorn\endcsname}}
+\expandafter\def\csname faicon@bullseye\endcsname {\symbol{"F140}} \def\faBullseye {{\FA\csname faicon@bullseye\endcsname}}
+\expandafter\def\csname faicon@bus\endcsname {\symbol{"F207}} \def\faBus {{\FA\csname faicon@bus\endcsname}}
+\expandafter\def\csname faicon@buysellads\endcsname {\symbol{"F20D}} \def\faBuysellads {{\FA\csname faicon@buysellads\endcsname}}
+\expandafter\def\csname faicon@cab\endcsname {\symbol{"F1BA}} \def\faCab {{\FA\csname faicon@cab\endcsname}}
+\expandafter\def\csname faicon@calculator\endcsname {\symbol{"F1EC}} \def\faCalculator {{\FA\csname faicon@calculator\endcsname}}
+\expandafter\def\csname faicon@calendar\endcsname {\symbol{"F073}} \def\faCalendar {{\FA\csname faicon@calendar\endcsname}}
+\expandafter\def\csname faicon@calendar-check-o\endcsname {\symbol{"F274}} \def\faCalendarCheckO {{\FA\csname faicon@calendar-check-o\endcsname}}
+\expandafter\def\csname faicon@calendar-minus-o\endcsname {\symbol{"F272}} \def\faCalendarMinusO {{\FA\csname faicon@calendar-minus-o\endcsname}}
+\expandafter\def\csname faicon@calendar-o\endcsname {\symbol{"F133}} \def\faCalendarO {{\FA\csname faicon@calendar-o\endcsname}}
+\expandafter\def\csname faicon@calendar-plus-o\endcsname {\symbol{"F271}} \def\faCalendarPlusO {{\FA\csname faicon@calendar-plus-o\endcsname}}
+\expandafter\def\csname faicon@calendar-times-o\endcsname {\symbol{"F273}} \def\faCalendarTimesO {{\FA\csname faicon@calendar-times-o\endcsname}}
+\expandafter\def\csname faicon@camera\endcsname {\symbol{"F030}} \def\faCamera {{\FA\csname faicon@camera\endcsname}}
+\expandafter\def\csname faicon@camera-retro\endcsname {\symbol{"F083}} \def\faCameraRetro {{\FA\csname faicon@camera-retro\endcsname}}
+\expandafter\def\csname faicon@car\endcsname {\symbol{"F1B9}} \def\faCar {{\FA\csname faicon@car\endcsname}}
+\expandafter\def\csname faicon@caret-down\endcsname {\symbol{"F0D7}} \def\faCaretDown {{\FA\csname faicon@caret-down\endcsname}}
+\expandafter\def\csname faicon@caret-left\endcsname {\symbol{"F0D9}} \def\faCaretLeft {{\FA\csname faicon@caret-left\endcsname}}
+\expandafter\def\csname faicon@caret-right\endcsname {\symbol{"F0DA}} \def\faCaretRight {{\FA\csname faicon@caret-right\endcsname}}
+\expandafter\def\csname faicon@caret-square-o-down\endcsname {\symbol{"F150}} \def\faCaretSquareODown {{\FA\csname faicon@caret-square-o-down\endcsname}}
+\expandafter\def\csname faicon@caret-square-o-left\endcsname {\symbol{"F191}} \def\faCaretSquareOLeft {{\FA\csname faicon@caret-square-o-left\endcsname}}
+\expandafter\def\csname faicon@caret-square-o-right\endcsname {\symbol{"F152}} \def\faCaretSquareORight {{\FA\csname faicon@caret-square-o-right\endcsname}}
+\expandafter\def\csname faicon@caret-square-o-up\endcsname {\symbol{"F151}} \def\faCaretSquareOUp {{\FA\csname faicon@caret-square-o-up\endcsname}}
+\expandafter\def\csname faicon@caret-up\endcsname {\symbol{"F0D8}} \def\faCaretUp {{\FA\csname faicon@caret-up\endcsname}}
+\expandafter\def\csname faicon@cart-arrow-down\endcsname {\symbol{"F218}} \def\faCartArrowDown {{\FA\csname faicon@cart-arrow-down\endcsname}}
+\expandafter\def\csname faicon@cart-plus\endcsname {\symbol{"F217}} \def\faCartPlus {{\FA\csname faicon@cart-plus\endcsname}}
+\expandafter\def\csname faicon@cc\endcsname {\symbol{"F20A}} \def\faCc {{\FA\csname faicon@cc\endcsname}}
+\expandafter\def\csname faicon@cc-amex\endcsname {\symbol{"F1F3}} \def\faCcAmex {{\FA\csname faicon@cc-amex\endcsname}}
+\expandafter\def\csname faicon@cc-diners-club\endcsname {\symbol{"F24C}} \def\faCcDinersClub {{\FA\csname faicon@cc-diners-club\endcsname}}
+\expandafter\def\csname faicon@cc-discover\endcsname {\symbol{"F1F2}} \def\faCcDiscover {{\FA\csname faicon@cc-discover\endcsname}}
+\expandafter\def\csname faicon@cc-jcb\endcsname {\symbol{"F24B}} \def\faCcJcb {{\FA\csname faicon@cc-jcb\endcsname}}
+\expandafter\def\csname faicon@cc-mastercard\endcsname {\symbol{"F1F1}} \def\faCcMastercard {{\FA\csname faicon@cc-mastercard\endcsname}}
+\expandafter\def\csname faicon@cc-paypal\endcsname {\symbol{"F1F4}} \def\faCcPaypal {{\FA\csname faicon@cc-paypal\endcsname}}
+\expandafter\def\csname faicon@cc-stripe\endcsname {\symbol{"F1F5}} \def\faCcStripe {{\FA\csname faicon@cc-stripe\endcsname}}
+\expandafter\def\csname faicon@cc-visa\endcsname {\symbol{"F1F0}} \def\faCcVisa {{\FA\csname faicon@cc-visa\endcsname}}
+\expandafter\def\csname faicon@certificate\endcsname {\symbol{"F0A3}} \def\faCertificate {{\FA\csname faicon@certificate\endcsname}}
+\expandafter\def\csname faicon@chain\endcsname {\symbol{"F0C1}} \def\faChain {{\FA\csname faicon@chain\endcsname}}
+\expandafter\def\csname faicon@chain-broken\endcsname {\symbol{"F127}} \def\faChainBroken {{\FA\csname faicon@chain-broken\endcsname}}
+\expandafter\def\csname faicon@check\endcsname {\symbol{"F00C}} \def\faCheck {{\FA\csname faicon@check\endcsname}}
+\expandafter\def\csname faicon@check-circle\endcsname {\symbol{"F058}} \def\faCheckCircle {{\FA\csname faicon@check-circle\endcsname}}
+\expandafter\def\csname faicon@check-circle-o\endcsname {\symbol{"F05D}} \def\faCheckCircleO {{\FA\csname faicon@check-circle-o\endcsname}}
+\expandafter\def\csname faicon@check-square\endcsname {\symbol{"F14A}} \def\faCheckSquare {{\FA\csname faicon@check-square\endcsname}}
+\expandafter\def\csname faicon@check-square-o\endcsname {\symbol{"F046}} \def\faCheckSquareO {{\FA\csname faicon@check-square-o\endcsname}}
+\expandafter\def\csname faicon@chevron-circle-down\endcsname {\symbol{"F13A}} \def\faChevronCircleDown {{\FA\csname faicon@chevron-circle-down\endcsname}}
+\expandafter\def\csname faicon@chevron-circle-left\endcsname {\symbol{"F137}} \def\faChevronCircleLeft {{\FA\csname faicon@chevron-circle-left\endcsname}}
+\expandafter\def\csname faicon@chevron-circle-right\endcsname {\symbol{"F138}} \def\faChevronCircleRight {{\FA\csname faicon@chevron-circle-right\endcsname}}
+\expandafter\def\csname faicon@chevron-circle-up\endcsname {\symbol{"F139}} \def\faChevronCircleUp {{\FA\csname faicon@chevron-circle-up\endcsname}}
+\expandafter\def\csname faicon@chevron-down\endcsname {\symbol{"F078}} \def\faChevronDown {{\FA\csname faicon@chevron-down\endcsname}}
+\expandafter\def\csname faicon@chevron-left\endcsname {\symbol{"F053}} \def\faChevronLeft {{\FA\csname faicon@chevron-left\endcsname}}
+\expandafter\def\csname faicon@chevron-right\endcsname {\symbol{"F054}} \def\faChevronRight {{\FA\csname faicon@chevron-right\endcsname}}
+\expandafter\def\csname faicon@chevron-up\endcsname {\symbol{"F077}} \def\faChevronUp {{\FA\csname faicon@chevron-up\endcsname}}
+\expandafter\def\csname faicon@child\endcsname {\symbol{"F1AE}} \def\faChild {{\FA\csname faicon@child\endcsname}}
+\expandafter\def\csname faicon@chrome\endcsname {\symbol{"F268}} \def\faChrome {{\FA\csname faicon@chrome\endcsname}}
+\expandafter\def\csname faicon@circle\endcsname {\symbol{"F111}} \def\faCircle {{\FA\csname faicon@circle\endcsname}}
+\expandafter\def\csname faicon@circle-o\endcsname {\symbol{"F10C}} \def\faCircleO {{\FA\csname faicon@circle-o\endcsname}}
+\expandafter\def\csname faicon@circle-o-notch\endcsname {\symbol{"F1CE}} \def\faCircleONotch {{\FA\csname faicon@circle-o-notch\endcsname}}
+\expandafter\def\csname faicon@circle-thin\endcsname {\symbol{"F1DB}} \def\faCircleThin {{\FA\csname faicon@circle-thin\endcsname}}
+\expandafter\def\csname faicon@clipboard\endcsname {\symbol{"F0EA}} \def\faClipboard {{\FA\csname faicon@clipboard\endcsname}}
+\expandafter\def\csname faicon@clock-o\endcsname {\symbol{"F017}} \def\faClockO {{\FA\csname faicon@clock-o\endcsname}}
+\expandafter\def\csname faicon@clone\endcsname {\symbol{"F24D}} \def\faClone {{\FA\csname faicon@clone\endcsname}}
+\expandafter\def\csname faicon@close\endcsname {\symbol{"F00D}} \def\faClose {{\FA\csname faicon@close\endcsname}}
+\expandafter\def\csname faicon@cloud\endcsname {\symbol{"F0C2}} \def\faCloud {{\FA\csname faicon@cloud\endcsname}}
+\expandafter\def\csname faicon@cloud-download\endcsname {\symbol{"F0ED}} \def\faCloudDownload {{\FA\csname faicon@cloud-download\endcsname}}
+\expandafter\def\csname faicon@cloud-upload\endcsname {\symbol{"F0EE}} \def\faCloudUpload {{\FA\csname faicon@cloud-upload\endcsname}}
+\expandafter\def\csname faicon@cny\endcsname {\symbol{"F157}} \def\faCny {{\FA\csname faicon@cny\endcsname}}
+\expandafter\def\csname faicon@code\endcsname {\symbol{"F121}} \def\faCode {{\FA\csname faicon@code\endcsname}}
+\expandafter\def\csname faicon@code-fork\endcsname {\symbol{"F126}} \def\faCodeFork {{\FA\csname faicon@code-fork\endcsname}}
+\expandafter\def\csname faicon@codepen\endcsname {\symbol{"F1CB}} \def\faCodepen {{\FA\csname faicon@codepen\endcsname}}
+\expandafter\def\csname faicon@coffee\endcsname {\symbol{"F0F4}} \def\faCoffee {{\FA\csname faicon@coffee\endcsname}}
+\expandafter\def\csname faicon@cog\endcsname {\symbol{"F013}} \def\faCog {{\FA\csname faicon@cog\endcsname}}
+\expandafter\def\csname faicon@cogs\endcsname {\symbol{"F085}} \def\faCogs {{\FA\csname faicon@cogs\endcsname}}
+\expandafter\def\csname faicon@columns\endcsname {\symbol{"F0DB}} \def\faColumns {{\FA\csname faicon@columns\endcsname}}
+\expandafter\def\csname faicon@comment\endcsname {\symbol{"F075}} \def\faComment {{\FA\csname faicon@comment\endcsname}}
+\expandafter\def\csname faicon@comment-o\endcsname {\symbol{"F0E5}} \def\faCommentO {{\FA\csname faicon@comment-o\endcsname}}
+\expandafter\def\csname faicon@commenting\endcsname {\symbol{"F27A}} \def\faCommenting {{\FA\csname faicon@commenting\endcsname}}
+\expandafter\def\csname faicon@commenting-o\endcsname {\symbol{"F27B}} \def\faCommentingO {{\FA\csname faicon@commenting-o\endcsname}}
+\expandafter\def\csname faicon@comments\endcsname {\symbol{"F086}} \def\faComments {{\FA\csname faicon@comments\endcsname}}
+\expandafter\def\csname faicon@comments-o\endcsname {\symbol{"F0E6}} \def\faCommentsO {{\FA\csname faicon@comments-o\endcsname}}
+\expandafter\def\csname faicon@compass\endcsname {\symbol{"F14E}} \def\faCompass {{\FA\csname faicon@compass\endcsname}}
+\expandafter\def\csname faicon@compress\endcsname {\symbol{"F066}} \def\faCompress {{\FA\csname faicon@compress\endcsname}}
+\expandafter\def\csname faicon@connectdevelop\endcsname {\symbol{"F20E}} \def\faConnectdevelop {{\FA\csname faicon@connectdevelop\endcsname}}
+\expandafter\def\csname faicon@contao\endcsname {\symbol{"F26D}} \def\faContao {{\FA\csname faicon@contao\endcsname}}
+\expandafter\def\csname faicon@copy\endcsname {\symbol{"F0C5}} \def\faCopy {{\FA\csname faicon@copy\endcsname}}
+\expandafter\def\csname faicon@copyright\endcsname {\symbol{"F1F9}} \def\faCopyright {{\FA\csname faicon@copyright\endcsname}}
+\expandafter\def\csname faicon@creative-commons\endcsname {\symbol{"F25E}} \def\faCreativeCommons {{\FA\csname faicon@creative-commons\endcsname}}
+\expandafter\def\csname faicon@credit-card\endcsname {\symbol{"F09D}} \def\faCreditCard {{\FA\csname faicon@credit-card\endcsname}}
+\expandafter\def\csname faicon@crop\endcsname {\symbol{"F125}} \def\faCrop {{\FA\csname faicon@crop\endcsname}}
+\expandafter\def\csname faicon@crosshairs\endcsname {\symbol{"F05B}} \def\faCrosshairs {{\FA\csname faicon@crosshairs\endcsname}}
+\expandafter\def\csname faicon@cube\endcsname {\symbol{"F1B2}} \def\faCube {{\FA\csname faicon@cube\endcsname}}
+\expandafter\def\csname faicon@cubes\endcsname {\symbol{"F1B3}} \def\faCubes {{\FA\csname faicon@cubes\endcsname}}
+\expandafter\def\csname faicon@cut\endcsname {\symbol{"F0C4}} \def\faCut {{\FA\csname faicon@cut\endcsname}}
+\expandafter\def\csname faicon@cutlery\endcsname {\symbol{"F0F5}} \def\faCutlery {{\FA\csname faicon@cutlery\endcsname}}
+\expandafter\def\csname faicon@dashboard\endcsname {\symbol{"F0E4}} \def\faDashboard {{\FA\csname faicon@dashboard\endcsname}}
+\expandafter\def\csname faicon@dashcube\endcsname {\symbol{"F210}} \def\faDashcube {{\FA\csname faicon@dashcube\endcsname}}
+\expandafter\def\csname faicon@database\endcsname {\symbol{"F1C0}} \def\faDatabase {{\FA\csname faicon@database\endcsname}}
+\expandafter\def\csname faicon@dedent\endcsname {\symbol{"F03B}} \def\faDedent {{\FA\csname faicon@dedent\endcsname}}
+\expandafter\def\csname faicon@delicious\endcsname {\symbol{"F1A5}} \def\faDelicious {{\FA\csname faicon@delicious\endcsname}}
+\expandafter\def\csname faicon@desktop\endcsname {\symbol{"F108}} \def\faDesktop {{\FA\csname faicon@desktop\endcsname}}
+\expandafter\def\csname faicon@deviantart\endcsname {\symbol{"F1BD}} \def\faDeviantart {{\FA\csname faicon@deviantart\endcsname}}
+\expandafter\def\csname faicon@diamond\endcsname {\symbol{"F219}} \def\faDiamond {{\FA\csname faicon@diamond\endcsname}}
+\expandafter\def\csname faicon@digg\endcsname {\symbol{"F1A6}} \def\faDigg {{\FA\csname faicon@digg\endcsname}}
+\expandafter\def\csname faicon@dollar\endcsname {\symbol{"F155}} \def\faDollar {{\FA\csname faicon@dollar\endcsname}}
+\expandafter\def\csname faicon@dot-circle-o\endcsname {\symbol{"F192}} \def\faDotCircleO {{\FA\csname faicon@dot-circle-o\endcsname}}
+\expandafter\def\csname faicon@download\endcsname {\symbol{"F019}} \def\faDownload {{\FA\csname faicon@download\endcsname}}
+\expandafter\def\csname faicon@dribbble\endcsname {\symbol{"F17D}} \def\faDribbble {{\FA\csname faicon@dribbble\endcsname}}
+\expandafter\def\csname faicon@dropbox\endcsname {\symbol{"F16B}} \def\faDropbox {{\FA\csname faicon@dropbox\endcsname}}
+\expandafter\def\csname faicon@drupal\endcsname {\symbol{"F1A9}} \def\faDrupal {{\FA\csname faicon@drupal\endcsname}}
+\expandafter\def\csname faicon@edit\endcsname {\symbol{"F044}} \def\faEdit {{\FA\csname faicon@edit\endcsname}}
+\expandafter\def\csname faicon@eject\endcsname {\symbol{"F052}} \def\faEject {{\FA\csname faicon@eject\endcsname}}
+\expandafter\def\csname faicon@ellipsis-h\endcsname {\symbol{"F141}} \def\faEllipsisH {{\FA\csname faicon@ellipsis-h\endcsname}}
+\expandafter\def\csname faicon@ellipsis-v\endcsname {\symbol{"F142}} \def\faEllipsisV {{\FA\csname faicon@ellipsis-v\endcsname}}
+\expandafter\def\csname faicon@empire\endcsname {\symbol{"F1D1}} \def\faEmpire {{\FA\csname faicon@empire\endcsname}}
+\expandafter\def\csname faicon@envelope\endcsname {\symbol{"F0E0}} \def\faEnvelope {{\FA\csname faicon@envelope\endcsname}}
+\expandafter\def\csname faicon@envelope-o\endcsname {\symbol{"F003}} \def\faEnvelopeO {{\FA\csname faicon@envelope-o\endcsname}}
+\expandafter\def\csname faicon@envelope-square\endcsname {\symbol{"F199}} \def\faEnvelopeSquare {{\FA\csname faicon@envelope-square\endcsname}}
+\expandafter\def\csname faicon@eraser\endcsname {\symbol{"F12D}} \def\faEraser {{\FA\csname faicon@eraser\endcsname}}
+\expandafter\def\csname faicon@eur\endcsname {\symbol{"F153}} \def\faEur {{\FA\csname faicon@eur\endcsname}}
+\expandafter\def\csname faicon@euro\endcsname {\symbol{"F153}} \def\faEuro {{\FA\csname faicon@euro\endcsname}}
+\expandafter\def\csname faicon@exchange\endcsname {\symbol{"F0EC}} \def\faExchange {{\FA\csname faicon@exchange\endcsname}}
+\expandafter\def\csname faicon@exclamation\endcsname {\symbol{"F12A}} \def\faExclamation {{\FA\csname faicon@exclamation\endcsname}}
+\expandafter\def\csname faicon@exclamation-circle\endcsname {\symbol{"F06A}} \def\faExclamationCircle {{\FA\csname faicon@exclamation-circle\endcsname}}
+\expandafter\def\csname faicon@exclamation-triangle\endcsname {\symbol{"F071}} \def\faExclamationTriangle {{\FA\csname faicon@exclamation-triangle\endcsname}}
+\expandafter\def\csname faicon@expand\endcsname {\symbol{"F065}} \def\faExpand {{\FA\csname faicon@expand\endcsname}}
+\expandafter\def\csname faicon@expeditedssl\endcsname {\symbol{"F23E}} \def\faExpeditedssl {{\FA\csname faicon@expeditedssl\endcsname}}
+\expandafter\def\csname faicon@external-link\endcsname {\symbol{"F08E}} \def\faExternalLink {{\FA\csname faicon@external-link\endcsname}}
+\expandafter\def\csname faicon@external-link-square\endcsname {\symbol{"F14C}} \def\faExternalLinkSquare {{\FA\csname faicon@external-link-square\endcsname}}
+\expandafter\def\csname faicon@eye\endcsname {\symbol{"F06E}} \def\faEye {{\FA\csname faicon@eye\endcsname}}
+\expandafter\def\csname faicon@eye-slash\endcsname {\symbol{"F070}} \def\faEyeSlash {{\FA\csname faicon@eye-slash\endcsname}}
+\expandafter\def\csname faicon@eyedropper\endcsname {\symbol{"F1FB}} \def\faEyedropper {{\FA\csname faicon@eyedropper\endcsname}}
+\expandafter\def\csname faicon@facebook\endcsname {\symbol{"F09A}} \def\faFacebook {{\FA\csname faicon@facebook\endcsname}}
+\expandafter\def\csname faicon@facebook-f\endcsname {\symbol{"F09A}} \def\faFacebookF {{\FA\csname faicon@facebook-f\endcsname}}
+\expandafter\def\csname faicon@facebook-official\endcsname {\symbol{"F230}} \def\faFacebookOfficial {{\FA\csname faicon@facebook-official\endcsname}}
+\expandafter\def\csname faicon@facebook-square\endcsname {\symbol{"F082}} \def\faFacebookSquare {{\FA\csname faicon@facebook-square\endcsname}}
+\expandafter\def\csname faicon@fast-backward\endcsname {\symbol{"F049}} \def\faFastBackward {{\FA\csname faicon@fast-backward\endcsname}}
+\expandafter\def\csname faicon@fast-forward\endcsname {\symbol{"F050}} \def\faFastForward {{\FA\csname faicon@fast-forward\endcsname}}
+\expandafter\def\csname faicon@fax\endcsname {\symbol{"F1AC}} \def\faFax {{\FA\csname faicon@fax\endcsname}}
+\expandafter\def\csname faicon@feed\endcsname {\symbol{"F09E}} \def\faFeed {{\FA\csname faicon@feed\endcsname}}
+\expandafter\def\csname faicon@female\endcsname {\symbol{"F182}} \def\faFemale {{\FA\csname faicon@female\endcsname}}
+\expandafter\def\csname faicon@fighter-jet\endcsname {\symbol{"F0FB}} \def\faFighterJet {{\FA\csname faicon@fighter-jet\endcsname}}
+\expandafter\def\csname faicon@file\endcsname {\symbol{"F15B}} \def\faFile {{\FA\csname faicon@file\endcsname}}
+\expandafter\def\csname faicon@file-archive-o\endcsname {\symbol{"F1C6}} \def\faFileArchiveO {{\FA\csname faicon@file-archive-o\endcsname}}
+\expandafter\def\csname faicon@file-audio-o\endcsname {\symbol{"F1C7}} \def\faFileAudioO {{\FA\csname faicon@file-audio-o\endcsname}}
+\expandafter\def\csname faicon@file-code-o\endcsname {\symbol{"F1C9}} \def\faFileCodeO {{\FA\csname faicon@file-code-o\endcsname}}
+\expandafter\def\csname faicon@file-excel-o\endcsname {\symbol{"F1C3}} \def\faFileExcelO {{\FA\csname faicon@file-excel-o\endcsname}}
+\expandafter\def\csname faicon@file-image-o\endcsname {\symbol{"F1C5}} \def\faFileImageO {{\FA\csname faicon@file-image-o\endcsname}}
+\expandafter\def\csname faicon@file-movie-o\endcsname {\symbol{"F1C8}} \def\faFileMovieO {{\FA\csname faicon@file-movie-o\endcsname}}
+\expandafter\def\csname faicon@file-o\endcsname {\symbol{"F016}} \def\faFileO {{\FA\csname faicon@file-o\endcsname}}
+\expandafter\def\csname faicon@file-pdf-o\endcsname {\symbol{"F1C1}} \def\faFilePdfO {{\FA\csname faicon@file-pdf-o\endcsname}}
+\expandafter\def\csname faicon@file-photo-o\endcsname {\symbol{"F1C5}} \def\faFilePhotoO {{\FA\csname faicon@file-photo-o\endcsname}}
+\expandafter\def\csname faicon@file-picture-o\endcsname {\symbol{"F1C5}} \def\faFilePictureO {{\FA\csname faicon@file-picture-o\endcsname}}
+\expandafter\def\csname faicon@file-powerpoint-o\endcsname {\symbol{"F1C4}} \def\faFilePowerpointO {{\FA\csname faicon@file-powerpoint-o\endcsname}}
+\expandafter\def\csname faicon@file-sound-o\endcsname {\symbol{"F1C7}} \def\faFileSoundO {{\FA\csname faicon@file-sound-o\endcsname}}
+\expandafter\def\csname faicon@file-text\endcsname {\symbol{"F15C}} \def\faFileText {{\FA\csname faicon@file-text\endcsname}}
+\expandafter\def\csname faicon@file-text-o\endcsname {\symbol{"F0F6}} \def\faFileTextO {{\FA\csname faicon@file-text-o\endcsname}}
+\expandafter\def\csname faicon@file-video-o\endcsname {\symbol{"F1C8}} \def\faFileVideoO {{\FA\csname faicon@file-video-o\endcsname}}
+\expandafter\def\csname faicon@file-word-o\endcsname {\symbol{"F1C2}} \def\faFileWordO {{\FA\csname faicon@file-word-o\endcsname}}
+\expandafter\def\csname faicon@file-zip-o\endcsname {\symbol{"F1C6}} \def\faFileZipO {{\FA\csname faicon@file-zip-o\endcsname}}
+\expandafter\def\csname faicon@files-o\endcsname {\symbol{"F0C5}} \def\faFilesO {{\FA\csname faicon@files-o\endcsname}}
+\expandafter\def\csname faicon@film\endcsname {\symbol{"F008}} \def\faFilm {{\FA\csname faicon@film\endcsname}}
+\expandafter\def\csname faicon@filter\endcsname {\symbol{"F0B0}} \def\faFilter {{\FA\csname faicon@filter\endcsname}}
+\expandafter\def\csname faicon@fire\endcsname {\symbol{"F06D}} \def\faFire {{\FA\csname faicon@fire\endcsname}}
+\expandafter\def\csname faicon@fire-extinguisher\endcsname {\symbol{"F134}} \def\faFireExtinguisher {{\FA\csname faicon@fire-extinguisher\endcsname}}
+\expandafter\def\csname faicon@firefox\endcsname {\symbol{"F269}} \def\faFirefox {{\FA\csname faicon@firefox\endcsname}}
+\expandafter\def\csname faicon@flag\endcsname {\symbol{"F024}} \def\faFlag {{\FA\csname faicon@flag\endcsname}}
+\expandafter\def\csname faicon@flag-checkered\endcsname {\symbol{"F11E}} \def\faFlagCheckered {{\FA\csname faicon@flag-checkered\endcsname}}
+\expandafter\def\csname faicon@flag-o\endcsname {\symbol{"F11D}} \def\faFlagO {{\FA\csname faicon@flag-o\endcsname}}
+\expandafter\def\csname faicon@flash\endcsname {\symbol{"F0E7}} \def\faFlash {{\FA\csname faicon@flash\endcsname}}
+\expandafter\def\csname faicon@flask\endcsname {\symbol{"F0C3}} \def\faFlask {{\FA\csname faicon@flask\endcsname}}
+\expandafter\def\csname faicon@flickr\endcsname {\symbol{"F16E}} \def\faFlickr {{\FA\csname faicon@flickr\endcsname}}
+\expandafter\def\csname faicon@floppy-o\endcsname {\symbol{"F0C7}} \def\faFloppyO {{\FA\csname faicon@floppy-o\endcsname}}
+\expandafter\def\csname faicon@folder\endcsname {\symbol{"F07B}} \def\faFolder {{\FA\csname faicon@folder\endcsname}}
+\expandafter\def\csname faicon@folder-o\endcsname {\symbol{"F114}} \def\faFolderO {{\FA\csname faicon@folder-o\endcsname}}
+\expandafter\def\csname faicon@folder-open\endcsname {\symbol{"F07C}} \def\faFolderOpen {{\FA\csname faicon@folder-open\endcsname}}
+\expandafter\def\csname faicon@folder-open-o\endcsname {\symbol{"F115}} \def\faFolderOpenO {{\FA\csname faicon@folder-open-o\endcsname}}
+\expandafter\def\csname faicon@font\endcsname {\symbol{"F031}} \def\faFont {{\FA\csname faicon@font\endcsname}}
+\expandafter\def\csname faicon@fonticons\endcsname {\symbol{"F280}} \def\faFonticons {{\FA\csname faicon@fonticons\endcsname}}
+\expandafter\def\csname faicon@forumbee\endcsname {\symbol{"F211}} \def\faForumbee {{\FA\csname faicon@forumbee\endcsname}}
+\expandafter\def\csname faicon@forward\endcsname {\symbol{"F04E}} \def\faForward {{\FA\csname faicon@forward\endcsname}}
+\expandafter\def\csname faicon@foursquare\endcsname {\symbol{"F180}} \def\faFoursquare {{\FA\csname faicon@foursquare\endcsname}}
+\expandafter\def\csname faicon@frown-o\endcsname {\symbol{"F119}} \def\faFrownO {{\FA\csname faicon@frown-o\endcsname}}
+\expandafter\def\csname faicon@futbol-o\endcsname {\symbol{"F1E3}} \def\faFutbolO {{\FA\csname faicon@futbol-o\endcsname}}
+\expandafter\def\csname faicon@gamepad\endcsname {\symbol{"F11B}} \def\faGamepad {{\FA\csname faicon@gamepad\endcsname}}
+\expandafter\def\csname faicon@gavel\endcsname {\symbol{"F0E3}} \def\faGavel {{\FA\csname faicon@gavel\endcsname}}
+\expandafter\def\csname faicon@gbp\endcsname {\symbol{"F154}} \def\faGbp {{\FA\csname faicon@gbp\endcsname}}
+\expandafter\def\csname faicon@ge\endcsname {\symbol{"F1D1}} \def\faGe {{\FA\csname faicon@ge\endcsname}}
+\expandafter\def\csname faicon@gear\endcsname {\symbol{"F013}} \def\faGear {{\FA\csname faicon@gear\endcsname}}
+\expandafter\def\csname faicon@gears\endcsname {\symbol{"F085}} \def\faGears {{\FA\csname faicon@gears\endcsname}}
+\expandafter\def\csname faicon@genderless\endcsname {\symbol{"F22D}} \def\faGenderless {{\FA\csname faicon@genderless\endcsname}}
+\expandafter\def\csname faicon@get-pocket\endcsname {\symbol{"F265}} \def\faGetPocket {{\FA\csname faicon@get-pocket\endcsname}}
+\expandafter\def\csname faicon@gg\endcsname {\symbol{"F260}} \def\faGg {{\FA\csname faicon@gg\endcsname}}
+\expandafter\def\csname faicon@gg-circle\endcsname {\symbol{"F261}} \def\faGgCircle {{\FA\csname faicon@gg-circle\endcsname}}
+\expandafter\def\csname faicon@gift\endcsname {\symbol{"F06B}} \def\faGift {{\FA\csname faicon@gift\endcsname}}
+\expandafter\def\csname faicon@git\endcsname {\symbol{"F1D3}} \def\faGit {{\FA\csname faicon@git\endcsname}}
+\expandafter\def\csname faicon@git-square\endcsname {\symbol{"F1D2}} \def\faGitSquare {{\FA\csname faicon@git-square\endcsname}}
+\expandafter\def\csname faicon@github\endcsname {\symbol{"F09B}} \def\faGithub {{\FA\csname faicon@github\endcsname}}
+\expandafter\def\csname faicon@github-alt\endcsname {\symbol{"F113}} \def\faGithubAlt {{\FA\csname faicon@github-alt\endcsname}}
+\expandafter\def\csname faicon@github-square\endcsname {\symbol{"F092}} \def\faGithubSquare {{\FA\csname faicon@github-square\endcsname}}
+\expandafter\def\csname faicon@gittip\endcsname {\symbol{"F184}} \def\faGittip {{\FA\csname faicon@gittip\endcsname}}
+\expandafter\def\csname faicon@glass\endcsname {\symbol{"F000}} \def\faGlass {{\FA\csname faicon@glass\endcsname}}
+\expandafter\def\csname faicon@globe\endcsname {\symbol{"F0AC}} \def\faGlobe {{\FA\csname faicon@globe\endcsname}}
+\expandafter\def\csname faicon@google\endcsname {\symbol{"F1A0}} \def\faGoogle {{\FA\csname faicon@google\endcsname}}
+\expandafter\def\csname faicon@google-plus\endcsname {\symbol{"F0D5}} \def\faGooglePlus {{\FA\csname faicon@google-plus\endcsname}}
+\expandafter\def\csname faicon@google-plus-square\endcsname {\symbol{"F0D4}} \def\faGooglePlusSquare {{\FA\csname faicon@google-plus-square\endcsname}}
+\expandafter\def\csname faicon@google-wallet\endcsname {\symbol{"F1EE}} \def\faGoogleWallet {{\FA\csname faicon@google-wallet\endcsname}}
+\expandafter\def\csname faicon@graduation-cap\endcsname {\symbol{"F19D}} \def\faGraduationCap {{\FA\csname faicon@graduation-cap\endcsname}}
+\expandafter\def\csname faicon@gratipay\endcsname {\symbol{"F184}} \def\faGratipay {{\FA\csname faicon@gratipay\endcsname}}
+\expandafter\def\csname faicon@group\endcsname {\symbol{"F0C0}} \def\faGroup {{\FA\csname faicon@group\endcsname}}
+\expandafter\def\csname faicon@h-square\endcsname {\symbol{"F0FD}} \def\faHSquare {{\FA\csname faicon@h-square\endcsname}}
+\expandafter\def\csname faicon@hacker-news\endcsname {\symbol{"F1D4}} \def\faHackerNews {{\FA\csname faicon@hacker-news\endcsname}}
+\expandafter\def\csname faicon@hand-grab-o\endcsname {\symbol{"F255}} \def\faHandGrabO {{\FA\csname faicon@hand-grab-o\endcsname}}
+\expandafter\def\csname faicon@hand-lizard-o\endcsname {\symbol{"F258}} \def\faHandLizardO {{\FA\csname faicon@hand-lizard-o\endcsname}}
+\expandafter\def\csname faicon@hand-o-down\endcsname {\symbol{"F0A7}} \def\faHandODown {{\FA\csname faicon@hand-o-down\endcsname}}
+\expandafter\def\csname faicon@hand-o-left\endcsname {\symbol{"F0A5}} \def\faHandOLeft {{\FA\csname faicon@hand-o-left\endcsname}}
+\expandafter\def\csname faicon@hand-o-right\endcsname {\symbol{"F0A4}} \def\faHandORight {{\FA\csname faicon@hand-o-right\endcsname}}
+\expandafter\def\csname faicon@hand-o-up\endcsname {\symbol{"F0A6}} \def\faHandOUp {{\FA\csname faicon@hand-o-up\endcsname}}
+\expandafter\def\csname faicon@hand-paper-o\endcsname {\symbol{"F256}} \def\faHandPaperO {{\FA\csname faicon@hand-paper-o\endcsname}}
+\expandafter\def\csname faicon@hand-peace-o\endcsname {\symbol{"F25B}} \def\faHandPeaceO {{\FA\csname faicon@hand-peace-o\endcsname}}
+\expandafter\def\csname faicon@hand-pointer-o\endcsname {\symbol{"F25A}} \def\faHandPointerO {{\FA\csname faicon@hand-pointer-o\endcsname}}
+\expandafter\def\csname faicon@hand-rock-o\endcsname {\symbol{"F255}} \def\faHandRockO {{\FA\csname faicon@hand-rock-o\endcsname}}
+\expandafter\def\csname faicon@hand-scissors-o\endcsname {\symbol{"F257}} \def\faHandScissorsO {{\FA\csname faicon@hand-scissors-o\endcsname}}
+\expandafter\def\csname faicon@hand-spock-o\endcsname {\symbol{"F259}} \def\faHandSpockO {{\FA\csname faicon@hand-spock-o\endcsname}}
+\expandafter\def\csname faicon@hand-stop-o\endcsname {\symbol{"F256}} \def\faHandStopO {{\FA\csname faicon@hand-stop-o\endcsname}}
+\expandafter\def\csname faicon@hdd-o\endcsname {\symbol{"F0A0}} \def\faHddO {{\FA\csname faicon@hdd-o\endcsname}}
+\expandafter\def\csname faicon@header\endcsname {\symbol{"F1DC}} \def\faHeader {{\FA\csname faicon@header\endcsname}}
+\expandafter\def\csname faicon@headphones\endcsname {\symbol{"F025}} \def\faHeadphones {{\FA\csname faicon@headphones\endcsname}}
+\expandafter\def\csname faicon@heart\endcsname {\symbol{"F004}} \def\faHeart {{\FA\csname faicon@heart\endcsname}}
+\expandafter\def\csname faicon@heart-o\endcsname {\symbol{"F08A}} \def\faHeartO {{\FA\csname faicon@heart-o\endcsname}}
+\expandafter\def\csname faicon@heartbeat\endcsname {\symbol{"F21E}} \def\faHeartbeat {{\FA\csname faicon@heartbeat\endcsname}}
+\expandafter\def\csname faicon@history\endcsname {\symbol{"F1DA}} \def\faHistory {{\FA\csname faicon@history\endcsname}}
+\expandafter\def\csname faicon@home\endcsname {\symbol{"F015}} \def\faHome {{\FA\csname faicon@home\endcsname}}
+\expandafter\def\csname faicon@hospital-o\endcsname {\symbol{"F0F8}} \def\faHospitalO {{\FA\csname faicon@hospital-o\endcsname}}
+\expandafter\def\csname faicon@hotel\endcsname {\symbol{"F236}} \def\faHotel {{\FA\csname faicon@hotel\endcsname}}
+\expandafter\def\csname faicon@hourglass\endcsname {\symbol{"F254}} \def\faHourglass {{\FA\csname faicon@hourglass\endcsname}}
+\expandafter\def\csname faicon@hourglass-end\endcsname {\symbol{"F253}} \def\faHourglassEnd {{\FA\csname faicon@hourglass-end\endcsname}}
+\expandafter\def\csname faicon@hourglass-half\endcsname {\symbol{"F252}} \def\faHourglassHalf {{\FA\csname faicon@hourglass-half\endcsname}}
+\expandafter\def\csname faicon@hourglass-o\endcsname {\symbol{"F250}} \def\faHourglassO {{\FA\csname faicon@hourglass-o\endcsname}}
+\expandafter\def\csname faicon@hourglass-start\endcsname {\symbol{"F251}} \def\faHourglassStart {{\FA\csname faicon@hourglass-start\endcsname}}
+\expandafter\def\csname faicon@houzz\endcsname {\symbol{"F27C}} \def\faHouzz {{\FA\csname faicon@houzz\endcsname}}
+\expandafter\def\csname faicon@i-cursor\endcsname {\symbol{"F246}} \def\faICursor {{\FA\csname faicon@i-cursor\endcsname}}
+\expandafter\def\csname faicon@ils\endcsname {\symbol{"F20B}} \def\faIls {{\FA\csname faicon@ils\endcsname}}
+\expandafter\def\csname faicon@image\endcsname {\symbol{"F03E}} \def\faImage {{\FA\csname faicon@image\endcsname}}
+\expandafter\def\csname faicon@inbox\endcsname {\symbol{"F01C}} \def\faInbox {{\FA\csname faicon@inbox\endcsname}}
+\expandafter\def\csname faicon@indent\endcsname {\symbol{"F03C}} \def\faIndent {{\FA\csname faicon@indent\endcsname}}
+\expandafter\def\csname faicon@industry\endcsname {\symbol{"F275}} \def\faIndustry {{\FA\csname faicon@industry\endcsname}}
+\expandafter\def\csname faicon@info\endcsname {\symbol{"F129}} \def\faInfo {{\FA\csname faicon@info\endcsname}}
+\expandafter\def\csname faicon@info-circle\endcsname {\symbol{"F05A}} \def\faInfoCircle {{\FA\csname faicon@info-circle\endcsname}}
+\expandafter\def\csname faicon@inr\endcsname {\symbol{"F156}} \def\faInr {{\FA\csname faicon@inr\endcsname}}
+\expandafter\def\csname faicon@instagram\endcsname {\symbol{"F16D}} \def\faInstagram {{\FA\csname faicon@instagram\endcsname}}
+\expandafter\def\csname faicon@institution\endcsname {\symbol{"F19C}} \def\faInstitution {{\FA\csname faicon@institution\endcsname}}
+\expandafter\def\csname faicon@internet-explorer\endcsname {\symbol{"F26B}} \def\faInternetExplorer {{\FA\csname faicon@internet-explorer\endcsname}}
+\expandafter\def\csname faicon@intersex\endcsname {\symbol{"F224}} \def\faIntersex {{\FA\csname faicon@intersex\endcsname}}
+\expandafter\def\csname faicon@ioxhost\endcsname {\symbol{"F208}} \def\faIoxhost {{\FA\csname faicon@ioxhost\endcsname}}
+\expandafter\def\csname faicon@italic\endcsname {\symbol{"F033}} \def\faItalic {{\FA\csname faicon@italic\endcsname}}
+\expandafter\def\csname faicon@joomla\endcsname {\symbol{"F1AA}} \def\faJoomla {{\FA\csname faicon@joomla\endcsname}}
+\expandafter\def\csname faicon@jpy\endcsname {\symbol{"F157}} \def\faJpy {{\FA\csname faicon@jpy\endcsname}}
+\expandafter\def\csname faicon@jsfiddle\endcsname {\symbol{"F1CC}} \def\faJsfiddle {{\FA\csname faicon@jsfiddle\endcsname}}
+\expandafter\def\csname faicon@key\endcsname {\symbol{"F084}} \def\faKey {{\FA\csname faicon@key\endcsname}}
+\expandafter\def\csname faicon@keyboard-o\endcsname {\symbol{"F11C}} \def\faKeyboardO {{\FA\csname faicon@keyboard-o\endcsname}}
+\expandafter\def\csname faicon@krw\endcsname {\symbol{"F159}} \def\faKrw {{\FA\csname faicon@krw\endcsname}}
+\expandafter\def\csname faicon@language\endcsname {\symbol{"F1AB}} \def\faLanguage {{\FA\csname faicon@language\endcsname}}
+\expandafter\def\csname faicon@laptop\endcsname {\symbol{"F109}} \def\faLaptop {{\FA\csname faicon@laptop\endcsname}}
+\expandafter\def\csname faicon@lastfm\endcsname {\symbol{"F202}} \def\faLastfm {{\FA\csname faicon@lastfm\endcsname}}
+\expandafter\def\csname faicon@lastfm-square\endcsname {\symbol{"F203}} \def\faLastfmSquare {{\FA\csname faicon@lastfm-square\endcsname}}
+\expandafter\def\csname faicon@leaf\endcsname {\symbol{"F06C}} \def\faLeaf {{\FA\csname faicon@leaf\endcsname}}
+\expandafter\def\csname faicon@leanpub\endcsname {\symbol{"F212}} \def\faLeanpub {{\FA\csname faicon@leanpub\endcsname}}
+\expandafter\def\csname faicon@legal\endcsname {\symbol{"F0E3}} \def\faLegal {{\FA\csname faicon@legal\endcsname}}
+\expandafter\def\csname faicon@lemon-o\endcsname {\symbol{"F094}} \def\faLemonO {{\FA\csname faicon@lemon-o\endcsname}}
+\expandafter\def\csname faicon@level-down\endcsname {\symbol{"F149}} \def\faLevelDown {{\FA\csname faicon@level-down\endcsname}}
+\expandafter\def\csname faicon@level-up\endcsname {\symbol{"F148}} \def\faLevelUp {{\FA\csname faicon@level-up\endcsname}}
+\expandafter\def\csname faicon@life-bouy\endcsname {\symbol{"F1CD}} \def\faLifeBouy {{\FA\csname faicon@life-bouy\endcsname}}
+\expandafter\def\csname faicon@life-buoy\endcsname {\symbol{"F1CD}} \def\faLifeBuoy {{\FA\csname faicon@life-buoy\endcsname}}
+\expandafter\def\csname faicon@life-ring\endcsname {\symbol{"F1CD}} \def\faLifeRing {{\FA\csname faicon@life-ring\endcsname}}
+\expandafter\def\csname faicon@life-saver\endcsname {\symbol{"F1CD}} \def\faLifeSaver {{\FA\csname faicon@life-saver\endcsname}}
+\expandafter\def\csname faicon@lightbulb-o\endcsname {\symbol{"F0EB}} \def\faLightbulbO {{\FA\csname faicon@lightbulb-o\endcsname}}
+\expandafter\def\csname faicon@line-chart\endcsname {\symbol{"F201}} \def\faLineChart {{\FA\csname faicon@line-chart\endcsname}}
+\expandafter\def\csname faicon@link\endcsname {\symbol{"F0C1}} \def\faLink {{\FA\csname faicon@link\endcsname}}
+\expandafter\def\csname faicon@linkedin\endcsname {\symbol{"F0E1}} \def\faLinkedin {{\FA\csname faicon@linkedin\endcsname}}
+\expandafter\def\csname faicon@linkedin-square\endcsname {\symbol{"F08C}} \def\faLinkedinSquare {{\FA\csname faicon@linkedin-square\endcsname}}
+\expandafter\def\csname faicon@linux\endcsname {\symbol{"F17C}} \def\faLinux {{\FA\csname faicon@linux\endcsname}}
+\expandafter\def\csname faicon@list\endcsname {\symbol{"F03A}} \def\faList {{\FA\csname faicon@list\endcsname}}
+\expandafter\def\csname faicon@list-alt\endcsname {\symbol{"F022}} \def\faListAlt {{\FA\csname faicon@list-alt\endcsname}}
+\expandafter\def\csname faicon@list-ol\endcsname {\symbol{"F0CB}} \def\faListOl {{\FA\csname faicon@list-ol\endcsname}}
+\expandafter\def\csname faicon@list-ul\endcsname {\symbol{"F0CA}} \def\faListUl {{\FA\csname faicon@list-ul\endcsname}}
+\expandafter\def\csname faicon@location-arrow\endcsname {\symbol{"F124}} \def\faLocationArrow {{\FA\csname faicon@location-arrow\endcsname}}
+\expandafter\def\csname faicon@lock\endcsname {\symbol{"F023}} \def\faLock {{\FA\csname faicon@lock\endcsname}}
+\expandafter\def\csname faicon@long-arrow-down\endcsname {\symbol{"F175}} \def\faLongArrowDown {{\FA\csname faicon@long-arrow-down\endcsname}}
+\expandafter\def\csname faicon@long-arrow-left\endcsname {\symbol{"F177}} \def\faLongArrowLeft {{\FA\csname faicon@long-arrow-left\endcsname}}
+\expandafter\def\csname faicon@long-arrow-right\endcsname {\symbol{"F178}} \def\faLongArrowRight {{\FA\csname faicon@long-arrow-right\endcsname}}
+\expandafter\def\csname faicon@long-arrow-up\endcsname {\symbol{"F176}} \def\faLongArrowUp {{\FA\csname faicon@long-arrow-up\endcsname}}
+\expandafter\def\csname faicon@magic\endcsname {\symbol{"F0D0}} \def\faMagic {{\FA\csname faicon@magic\endcsname}}
+\expandafter\def\csname faicon@magnet\endcsname {\symbol{"F076}} \def\faMagnet {{\FA\csname faicon@magnet\endcsname}}
+\expandafter\def\csname faicon@mail-forward\endcsname {\symbol{"F064}} \def\faMailForward {{\FA\csname faicon@mail-forward\endcsname}}
+\expandafter\def\csname faicon@mail-reply\endcsname {\symbol{"F112}} \def\faMailReply {{\FA\csname faicon@mail-reply\endcsname}}
+\expandafter\def\csname faicon@mail-reply-all\endcsname {\symbol{"F122}} \def\faMailReplyAll {{\FA\csname faicon@mail-reply-all\endcsname}}
+\expandafter\def\csname faicon@male\endcsname {\symbol{"F183}} \def\faMale {{\FA\csname faicon@male\endcsname}}
+\expandafter\def\csname faicon@map\endcsname {\symbol{"F279}} \def\faMap {{\FA\csname faicon@map\endcsname}}
+\expandafter\def\csname faicon@map-marker\endcsname {\symbol{"F041}} \def\faMapMarker {{\FA\csname faicon@map-marker\endcsname}}
+\expandafter\def\csname faicon@map-o\endcsname {\symbol{"F278}} \def\faMapO {{\FA\csname faicon@map-o\endcsname}}
+\expandafter\def\csname faicon@map-pin\endcsname {\symbol{"F276}} \def\faMapPin {{\FA\csname faicon@map-pin\endcsname}}
+\expandafter\def\csname faicon@map-signs\endcsname {\symbol{"F277}} \def\faMapSigns {{\FA\csname faicon@map-signs\endcsname}}
+\expandafter\def\csname faicon@mars\endcsname {\symbol{"F222}} \def\faMars {{\FA\csname faicon@mars\endcsname}}
+\expandafter\def\csname faicon@mars-double\endcsname {\symbol{"F227}} \def\faMarsDouble {{\FA\csname faicon@mars-double\endcsname}}
+\expandafter\def\csname faicon@mars-stroke\endcsname {\symbol{"F229}} \def\faMarsStroke {{\FA\csname faicon@mars-stroke\endcsname}}
+\expandafter\def\csname faicon@mars-stroke-h\endcsname {\symbol{"F22B}} \def\faMarsStrokeH {{\FA\csname faicon@mars-stroke-h\endcsname}}
+\expandafter\def\csname faicon@mars-stroke-v\endcsname {\symbol{"F22A}} \def\faMarsStrokeV {{\FA\csname faicon@mars-stroke-v\endcsname}}
+\expandafter\def\csname faicon@maxcdn\endcsname {\symbol{"F136}} \def\faMaxcdn {{\FA\csname faicon@maxcdn\endcsname}}
+\expandafter\def\csname faicon@meanpath\endcsname {\symbol{"F20C}} \def\faMeanpath {{\FA\csname faicon@meanpath\endcsname}}
+\expandafter\def\csname faicon@medium\endcsname {\symbol{"F23A}} \def\faMedium {{\FA\csname faicon@medium\endcsname}}
+\expandafter\def\csname faicon@medkit\endcsname {\symbol{"F0FA}} \def\faMedkit {{\FA\csname faicon@medkit\endcsname}}
+\expandafter\def\csname faicon@meh-o\endcsname {\symbol{"F11A}} \def\faMehO {{\FA\csname faicon@meh-o\endcsname}}
+\expandafter\def\csname faicon@mercury\endcsname {\symbol{"F223}} \def\faMercury {{\FA\csname faicon@mercury\endcsname}}
+\expandafter\def\csname faicon@microphone\endcsname {\symbol{"F130}} \def\faMicrophone {{\FA\csname faicon@microphone\endcsname}}
+\expandafter\def\csname faicon@microphone-slash\endcsname {\symbol{"F131}} \def\faMicrophoneSlash {{\FA\csname faicon@microphone-slash\endcsname}}
+\expandafter\def\csname faicon@minus\endcsname {\symbol{"F068}} \def\faMinus {{\FA\csname faicon@minus\endcsname}}
+\expandafter\def\csname faicon@minus-circle\endcsname {\symbol{"F056}} \def\faMinusCircle {{\FA\csname faicon@minus-circle\endcsname}}
+\expandafter\def\csname faicon@minus-square\endcsname {\symbol{"F146}} \def\faMinusSquare {{\FA\csname faicon@minus-square\endcsname}}
+\expandafter\def\csname faicon@minus-square-o\endcsname {\symbol{"F147}} \def\faMinusSquareO {{\FA\csname faicon@minus-square-o\endcsname}}
+\expandafter\def\csname faicon@mobile\endcsname {\symbol{"F10B}} \def\faMobile {{\FA\csname faicon@mobile\endcsname}}
+\expandafter\def\csname faicon@mobile-phone\endcsname {\symbol{"F10B}} \def\faMobilePhone {{\FA\csname faicon@mobile-phone\endcsname}}
+\expandafter\def\csname faicon@money\endcsname {\symbol{"F0D6}} \def\faMoney {{\FA\csname faicon@money\endcsname}}
+\expandafter\def\csname faicon@moon-o\endcsname {\symbol{"F186}} \def\faMoonO {{\FA\csname faicon@moon-o\endcsname}}
+\expandafter\def\csname faicon@mortar-board\endcsname {\symbol{"F19D}} \def\faMortarBoard {{\FA\csname faicon@mortar-board\endcsname}}
+\expandafter\def\csname faicon@motorcycle\endcsname {\symbol{"F21C}} \def\faMotorcycle {{\FA\csname faicon@motorcycle\endcsname}}
+\expandafter\def\csname faicon@mouse-pointer\endcsname {\symbol{"F245}} \def\faMousePointer {{\FA\csname faicon@mouse-pointer\endcsname}}
+\expandafter\def\csname faicon@music\endcsname {\symbol{"F001}} \def\faMusic {{\FA\csname faicon@music\endcsname}}
+\expandafter\def\csname faicon@navicon\endcsname {\symbol{"F0C9}} \def\faNavicon {{\FA\csname faicon@navicon\endcsname}}
+\expandafter\def\csname faicon@neuter\endcsname {\symbol{"F22C}} \def\faNeuter {{\FA\csname faicon@neuter\endcsname}}
+\expandafter\def\csname faicon@newspaper-o\endcsname {\symbol{"F1EA}} \def\faNewspaperO {{\FA\csname faicon@newspaper-o\endcsname}}
+\expandafter\def\csname faicon@object-group\endcsname {\symbol{"F247}} \def\faObjectGroup {{\FA\csname faicon@object-group\endcsname}}
+\expandafter\def\csname faicon@object-ungroup\endcsname {\symbol{"F248}} \def\faObjectUngroup {{\FA\csname faicon@object-ungroup\endcsname}}
+\expandafter\def\csname faicon@odnoklassniki\endcsname {\symbol{"F263}} \def\faOdnoklassniki {{\FA\csname faicon@odnoklassniki\endcsname}}
+\expandafter\def\csname faicon@odnoklassniki-square\endcsname {\symbol{"F264}} \def\faOdnoklassnikiSquare {{\FA\csname faicon@odnoklassniki-square\endcsname}}
+\expandafter\def\csname faicon@opencart\endcsname {\symbol{"F23D}} \def\faOpencart {{\FA\csname faicon@opencart\endcsname}}
+\expandafter\def\csname faicon@openid\endcsname {\symbol{"F19B}} \def\faOpenid {{\FA\csname faicon@openid\endcsname}}
+\expandafter\def\csname faicon@opera\endcsname {\symbol{"F26A}} \def\faOpera {{\FA\csname faicon@opera\endcsname}}
+\expandafter\def\csname faicon@optin-monster\endcsname {\symbol{"F23C}} \def\faOptinMonster {{\FA\csname faicon@optin-monster\endcsname}}
+\expandafter\def\csname faicon@outdent\endcsname {\symbol{"F03B}} \def\faOutdent {{\FA\csname faicon@outdent\endcsname}}
+\expandafter\def\csname faicon@pagelines\endcsname {\symbol{"F18C}} \def\faPagelines {{\FA\csname faicon@pagelines\endcsname}}
+\expandafter\def\csname faicon@paint-brush\endcsname {\symbol{"F1FC}} \def\faPaintBrush {{\FA\csname faicon@paint-brush\endcsname}}
+\expandafter\def\csname faicon@paper-plane\endcsname {\symbol{"F1D8}} \def\faPaperPlane {{\FA\csname faicon@paper-plane\endcsname}}
+\expandafter\def\csname faicon@paper-plane-o\endcsname {\symbol{"F1D9}} \def\faPaperPlaneO {{\FA\csname faicon@paper-plane-o\endcsname}}
+\expandafter\def\csname faicon@paperclip\endcsname {\symbol{"F0C6}} \def\faPaperclip {{\FA\csname faicon@paperclip\endcsname}}
+\expandafter\def\csname faicon@paragraph\endcsname {\symbol{"F1DD}} \def\faParagraph {{\FA\csname faicon@paragraph\endcsname}}
+\expandafter\def\csname faicon@paste\endcsname {\symbol{"F0EA}} \def\faPaste {{\FA\csname faicon@paste\endcsname}}
+\expandafter\def\csname faicon@pause\endcsname {\symbol{"F04C}} \def\faPause {{\FA\csname faicon@pause\endcsname}}
+\expandafter\def\csname faicon@paw\endcsname {\symbol{"F1B0}} \def\faPaw {{\FA\csname faicon@paw\endcsname}}
+\expandafter\def\csname faicon@paypal\endcsname {\symbol{"F1ED}} \def\faPaypal {{\FA\csname faicon@paypal\endcsname}}
+\expandafter\def\csname faicon@pencil\endcsname {\symbol{"F040}} \def\faPencil {{\FA\csname faicon@pencil\endcsname}}
+\expandafter\def\csname faicon@pencil-square\endcsname {\symbol{"F14B}} \def\faPencilSquare {{\FA\csname faicon@pencil-square\endcsname}}
+\expandafter\def\csname faicon@pencil-square-o\endcsname {\symbol{"F044}} \def\faPencilSquareO {{\FA\csname faicon@pencil-square-o\endcsname}}
+\expandafter\def\csname faicon@phone\endcsname {\symbol{"F095}} \def\faPhone {{\FA\csname faicon@phone\endcsname}}
+\expandafter\def\csname faicon@phone-square\endcsname {\symbol{"F098}} \def\faPhoneSquare {{\FA\csname faicon@phone-square\endcsname}}
+\expandafter\def\csname faicon@photo\endcsname {\symbol{"F03E}} \def\faPhoto {{\FA\csname faicon@photo\endcsname}}
+\expandafter\def\csname faicon@picture-o\endcsname {\symbol{"F03E}} \def\faPictureO {{\FA\csname faicon@picture-o\endcsname}}
+\expandafter\def\csname faicon@pie-chart\endcsname {\symbol{"F200}} \def\faPieChart {{\FA\csname faicon@pie-chart\endcsname}}
+\expandafter\def\csname faicon@pied-piper\endcsname {\symbol{"F1A7}} \def\faPiedPiper {{\FA\csname faicon@pied-piper\endcsname}}
+\expandafter\def\csname faicon@pied-piper-alt\endcsname {\symbol{"F1A8}} \def\faPiedPiperAlt {{\FA\csname faicon@pied-piper-alt\endcsname}}
+\expandafter\def\csname faicon@pinterest\endcsname {\symbol{"F0D2}} \def\faPinterest {{\FA\csname faicon@pinterest\endcsname}}
+\expandafter\def\csname faicon@pinterest-p\endcsname {\symbol{"F231}} \def\faPinterestP {{\FA\csname faicon@pinterest-p\endcsname}}
+\expandafter\def\csname faicon@pinterest-square\endcsname {\symbol{"F0D3}} \def\faPinterestSquare {{\FA\csname faicon@pinterest-square\endcsname}}
+\expandafter\def\csname faicon@plane\endcsname {\symbol{"F072}} \def\faPlane {{\FA\csname faicon@plane\endcsname}}
+\expandafter\def\csname faicon@play\endcsname {\symbol{"F04B}} \def\faPlay {{\FA\csname faicon@play\endcsname}}
+\expandafter\def\csname faicon@play-circle\endcsname {\symbol{"F144}} \def\faPlayCircle {{\FA\csname faicon@play-circle\endcsname}}
+\expandafter\def\csname faicon@play-circle-o\endcsname {\symbol{"F01D}} \def\faPlayCircleO {{\FA\csname faicon@play-circle-o\endcsname}}
+\expandafter\def\csname faicon@plug\endcsname {\symbol{"F1E6}} \def\faPlug {{\FA\csname faicon@plug\endcsname}}
+\expandafter\def\csname faicon@plus\endcsname {\symbol{"F067}} \def\faPlus {{\FA\csname faicon@plus\endcsname}}
+\expandafter\def\csname faicon@plus-circle\endcsname {\symbol{"F055}} \def\faPlusCircle {{\FA\csname faicon@plus-circle\endcsname}}
+\expandafter\def\csname faicon@plus-square\endcsname {\symbol{"F0FE}} \def\faPlusSquare {{\FA\csname faicon@plus-square\endcsname}}
+\expandafter\def\csname faicon@plus-square-o\endcsname {\symbol{"F196}} \def\faPlusSquareO {{\FA\csname faicon@plus-square-o\endcsname}}
+\expandafter\def\csname faicon@power-off\endcsname {\symbol{"F011}} \def\faPowerOff {{\FA\csname faicon@power-off\endcsname}}
+\expandafter\def\csname faicon@print\endcsname {\symbol{"F02F}} \def\faPrint {{\FA\csname faicon@print\endcsname}}
+\expandafter\def\csname faicon@puzzle-piece\endcsname {\symbol{"F12E}} \def\faPuzzlePiece {{\FA\csname faicon@puzzle-piece\endcsname}}
+\expandafter\def\csname faicon@qq\endcsname {\symbol{"F1D6}} \def\faQq {{\FA\csname faicon@qq\endcsname}}
+\expandafter\def\csname faicon@qrcode\endcsname {\symbol{"F029}} \def\faQrcode {{\FA\csname faicon@qrcode\endcsname}}
+\expandafter\def\csname faicon@question\endcsname {\symbol{"F128}} \def\faQuestion {{\FA\csname faicon@question\endcsname}}
+\expandafter\def\csname faicon@question-circle\endcsname {\symbol{"F059}} \def\faQuestionCircle {{\FA\csname faicon@question-circle\endcsname}}
+\expandafter\def\csname faicon@quote-left\endcsname {\symbol{"F10D}} \def\faQuoteLeft {{\FA\csname faicon@quote-left\endcsname}}
+\expandafter\def\csname faicon@quote-right\endcsname {\symbol{"F10E}} \def\faQuoteRight {{\FA\csname faicon@quote-right\endcsname}}
+\expandafter\def\csname faicon@ra\endcsname {\symbol{"F1D0}} \def\faRa {{\FA\csname faicon@ra\endcsname}}
+\expandafter\def\csname faicon@random\endcsname {\symbol{"F074}} \def\faRandom {{\FA\csname faicon@random\endcsname}}
+\expandafter\def\csname faicon@rebel\endcsname {\symbol{"F1D0}} \def\faRebel {{\FA\csname faicon@rebel\endcsname}}
+\expandafter\def\csname faicon@recycle\endcsname {\symbol{"F1B8}} \def\faRecycle {{\FA\csname faicon@recycle\endcsname}}
+\expandafter\def\csname faicon@reddit\endcsname {\symbol{"F1A1}} \def\faReddit {{\FA\csname faicon@reddit\endcsname}}
+\expandafter\def\csname faicon@reddit-square\endcsname {\symbol{"F1A2}} \def\faRedditSquare {{\FA\csname faicon@reddit-square\endcsname}}
+\expandafter\def\csname faicon@refresh\endcsname {\symbol{"F021}} \def\faRefresh {{\FA\csname faicon@refresh\endcsname}}
+\expandafter\def\csname faicon@registered\endcsname {\symbol{"F25D}} \def\faRegistered {{\FA\csname faicon@registered\endcsname}}
+\expandafter\def\csname faicon@remove\endcsname {\symbol{"F00D}} \def\faRemove {{\FA\csname faicon@remove\endcsname}}
+\expandafter\def\csname faicon@renren\endcsname {\symbol{"F18B}} \def\faRenren {{\FA\csname faicon@renren\endcsname}}
+\expandafter\def\csname faicon@reorder\endcsname {\symbol{"F0C9}} \def\faReorder {{\FA\csname faicon@reorder\endcsname}}
+\expandafter\def\csname faicon@repeat\endcsname {\symbol{"F01E}} \def\faRepeat {{\FA\csname faicon@repeat\endcsname}}
+\expandafter\def\csname faicon@reply\endcsname {\symbol{"F112}} \def\faReply {{\FA\csname faicon@reply\endcsname}}
+\expandafter\def\csname faicon@reply-all\endcsname {\symbol{"F122}} \def\faReplyAll {{\FA\csname faicon@reply-all\endcsname}}
+\expandafter\def\csname faicon@retweet\endcsname {\symbol{"F079}} \def\faRetweet {{\FA\csname faicon@retweet\endcsname}}
+\expandafter\def\csname faicon@rmb\endcsname {\symbol{"F157}} \def\faRmb {{\FA\csname faicon@rmb\endcsname}}
+\expandafter\def\csname faicon@road\endcsname {\symbol{"F018}} \def\faRoad {{\FA\csname faicon@road\endcsname}}
+\expandafter\def\csname faicon@rocket\endcsname {\symbol{"F135}} \def\faRocket {{\FA\csname faicon@rocket\endcsname}}
+\expandafter\def\csname faicon@rotate-left\endcsname {\symbol{"F0E2}} \def\faRotateLeft {{\FA\csname faicon@rotate-left\endcsname}}
+\expandafter\def\csname faicon@rotate-right\endcsname {\symbol{"F01E}} \def\faRotateRight {{\FA\csname faicon@rotate-right\endcsname}}
+\expandafter\def\csname faicon@rouble\endcsname {\symbol{"F158}} \def\faRouble {{\FA\csname faicon@rouble\endcsname}}
+\expandafter\def\csname faicon@rss\endcsname {\symbol{"F09E}} \def\faRss {{\FA\csname faicon@rss\endcsname}}
+\expandafter\def\csname faicon@rss-square\endcsname {\symbol{"F143}} \def\faRssSquare {{\FA\csname faicon@rss-square\endcsname}}
+\expandafter\def\csname faicon@rub\endcsname {\symbol{"F158}} \def\faRub {{\FA\csname faicon@rub\endcsname}}
+\expandafter\def\csname faicon@ruble\endcsname {\symbol{"F158}} \def\faRuble {{\FA\csname faicon@ruble\endcsname}}
+\expandafter\def\csname faicon@rupee\endcsname {\symbol{"F156}} \def\faRupee {{\FA\csname faicon@rupee\endcsname}}
+\expandafter\def\csname faicon@safari\endcsname {\symbol{"F267}} \def\faSafari {{\FA\csname faicon@safari\endcsname}}
+\expandafter\def\csname faicon@save\endcsname {\symbol{"F0C7}} \def\faSave {{\FA\csname faicon@save\endcsname}}
+\expandafter\def\csname faicon@scissors\endcsname {\symbol{"F0C4}} \def\faScissors {{\FA\csname faicon@scissors\endcsname}}
+\expandafter\def\csname faicon@search\endcsname {\symbol{"F002}} \def\faSearch {{\FA\csname faicon@search\endcsname}}
+\expandafter\def\csname faicon@search-minus\endcsname {\symbol{"F010}} \def\faSearchMinus {{\FA\csname faicon@search-minus\endcsname}}
+\expandafter\def\csname faicon@search-plus\endcsname {\symbol{"F00E}} \def\faSearchPlus {{\FA\csname faicon@search-plus\endcsname}}
+\expandafter\def\csname faicon@sellsy\endcsname {\symbol{"F213}} \def\faSellsy {{\FA\csname faicon@sellsy\endcsname}}
+\expandafter\def\csname faicon@send\endcsname {\symbol{"F1D8}} \def\faSend {{\FA\csname faicon@send\endcsname}}
+\expandafter\def\csname faicon@send-o\endcsname {\symbol{"F1D9}} \def\faSendO {{\FA\csname faicon@send-o\endcsname}}
+\expandafter\def\csname faicon@server\endcsname {\symbol{"F233}} \def\faServer {{\FA\csname faicon@server\endcsname}}
+\expandafter\def\csname faicon@share\endcsname {\symbol{"F064}} \def\faShare {{\FA\csname faicon@share\endcsname}}
+\expandafter\def\csname faicon@share-alt\endcsname {\symbol{"F1E0}} \def\faShareAlt {{\FA\csname faicon@share-alt\endcsname}}
+\expandafter\def\csname faicon@share-alt-square\endcsname {\symbol{"F1E1}} \def\faShareAltSquare {{\FA\csname faicon@share-alt-square\endcsname}}
+\expandafter\def\csname faicon@share-square\endcsname {\symbol{"F14D}} \def\faShareSquare {{\FA\csname faicon@share-square\endcsname}}
+\expandafter\def\csname faicon@share-square-o\endcsname {\symbol{"F045}} \def\faShareSquareO {{\FA\csname faicon@share-square-o\endcsname}}
+\expandafter\def\csname faicon@shekel\endcsname {\symbol{"F20B}} \def\faShekel {{\FA\csname faicon@shekel\endcsname}}
+\expandafter\def\csname faicon@sheqel\endcsname {\symbol{"F20B}} \def\faSheqel {{\FA\csname faicon@sheqel\endcsname}}
+\expandafter\def\csname faicon@shield\endcsname {\symbol{"F132}} \def\faShield {{\FA\csname faicon@shield\endcsname}}
+\expandafter\def\csname faicon@ship\endcsname {\symbol{"F21A}} \def\faShip {{\FA\csname faicon@ship\endcsname}}
+\expandafter\def\csname faicon@shirtsinbulk\endcsname {\symbol{"F214}} \def\faShirtsinbulk {{\FA\csname faicon@shirtsinbulk\endcsname}}
+\expandafter\def\csname faicon@shopping-cart\endcsname {\symbol{"F07A}} \def\faShoppingCart {{\FA\csname faicon@shopping-cart\endcsname}}
+\expandafter\def\csname faicon@sign-in\endcsname {\symbol{"F090}} \def\faSignIn {{\FA\csname faicon@sign-in\endcsname}}
+\expandafter\def\csname faicon@sign-out\endcsname {\symbol{"F08B}} \def\faSignOut {{\FA\csname faicon@sign-out\endcsname}}
+\expandafter\def\csname faicon@signal\endcsname {\symbol{"F012}} \def\faSignal {{\FA\csname faicon@signal\endcsname}}
+\expandafter\def\csname faicon@simplybuilt\endcsname {\symbol{"F215}} \def\faSimplybuilt {{\FA\csname faicon@simplybuilt\endcsname}}
+\expandafter\def\csname faicon@sitemap\endcsname {\symbol{"F0E8}} \def\faSitemap {{\FA\csname faicon@sitemap\endcsname}}
+\expandafter\def\csname faicon@skyatlas\endcsname {\symbol{"F216}} \def\faSkyatlas {{\FA\csname faicon@skyatlas\endcsname}}
+\expandafter\def\csname faicon@skype\endcsname {\symbol{"F17E}} \def\faSkype {{\FA\csname faicon@skype\endcsname}}
+\expandafter\def\csname faicon@slack\endcsname {\symbol{"F198}} \def\faSlack {{\FA\csname faicon@slack\endcsname}}
+\expandafter\def\csname faicon@sliders\endcsname {\symbol{"F1DE}} \def\faSliders {{\FA\csname faicon@sliders\endcsname}}
+\expandafter\def\csname faicon@slideshare\endcsname {\symbol{"F1E7}} \def\faSlideshare {{\FA\csname faicon@slideshare\endcsname}}
+\expandafter\def\csname faicon@smile-o\endcsname {\symbol{"F118}} \def\faSmileO {{\FA\csname faicon@smile-o\endcsname}}
+\expandafter\def\csname faicon@soccer-ball-o\endcsname {\symbol{"F1E3}} \def\faSoccerBallO {{\FA\csname faicon@soccer-ball-o\endcsname}}
+\expandafter\def\csname faicon@sort\endcsname {\symbol{"F0DC}} \def\faSort {{\FA\csname faicon@sort\endcsname}}
+\expandafter\def\csname faicon@sort-alpha-asc\endcsname {\symbol{"F15D}} \def\faSortAlphaAsc {{\FA\csname faicon@sort-alpha-asc\endcsname}}
+\expandafter\def\csname faicon@sort-alpha-desc\endcsname {\symbol{"F15E}} \def\faSortAlphaDesc {{\FA\csname faicon@sort-alpha-desc\endcsname}}
+\expandafter\def\csname faicon@sort-amount-asc\endcsname {\symbol{"F160}} \def\faSortAmountAsc {{\FA\csname faicon@sort-amount-asc\endcsname}}
+\expandafter\def\csname faicon@sort-amount-desc\endcsname {\symbol{"F161}} \def\faSortAmountDesc {{\FA\csname faicon@sort-amount-desc\endcsname}}
+\expandafter\def\csname faicon@sort-asc\endcsname {\symbol{"F0DE}} \def\faSortAsc {{\FA\csname faicon@sort-asc\endcsname}}
+\expandafter\def\csname faicon@sort-desc\endcsname {\symbol{"F0DD}} \def\faSortDesc {{\FA\csname faicon@sort-desc\endcsname}}
+\expandafter\def\csname faicon@sort-down\endcsname {\symbol{"F0DD}} \def\faSortDown {{\FA\csname faicon@sort-down\endcsname}}
+\expandafter\def\csname faicon@sort-numeric-asc\endcsname {\symbol{"F162}} \def\faSortNumericAsc {{\FA\csname faicon@sort-numeric-asc\endcsname}}
+\expandafter\def\csname faicon@sort-numeric-desc\endcsname {\symbol{"F163}} \def\faSortNumericDesc {{\FA\csname faicon@sort-numeric-desc\endcsname}}
+\expandafter\def\csname faicon@sort-up\endcsname {\symbol{"F0DE}} \def\faSortUp {{\FA\csname faicon@sort-up\endcsname}}
+\expandafter\def\csname faicon@soundcloud\endcsname {\symbol{"F1BE}} \def\faSoundcloud {{\FA\csname faicon@soundcloud\endcsname}}
+\expandafter\def\csname faicon@space-shuttle\endcsname {\symbol{"F197}} \def\faSpaceShuttle {{\FA\csname faicon@space-shuttle\endcsname}}
+\expandafter\def\csname faicon@spinner\endcsname {\symbol{"F110}} \def\faSpinner {{\FA\csname faicon@spinner\endcsname}}
+\expandafter\def\csname faicon@spoon\endcsname {\symbol{"F1B1}} \def\faSpoon {{\FA\csname faicon@spoon\endcsname}}
+\expandafter\def\csname faicon@spotify\endcsname {\symbol{"F1BC}} \def\faSpotify {{\FA\csname faicon@spotify\endcsname}}
+\expandafter\def\csname faicon@square\endcsname {\symbol{"F0C8}} \def\faSquare {{\FA\csname faicon@square\endcsname}}
+\expandafter\def\csname faicon@square-o\endcsname {\symbol{"F096}} \def\faSquareO {{\FA\csname faicon@square-o\endcsname}}
+\expandafter\def\csname faicon@stack-exchange\endcsname {\symbol{"F18D}} \def\faStackExchange {{\FA\csname faicon@stack-exchange\endcsname}}
+\expandafter\def\csname faicon@stack-overflow\endcsname {\symbol{"F16C}} \def\faStackOverflow {{\FA\csname faicon@stack-overflow\endcsname}}
+\expandafter\def\csname faicon@star\endcsname {\symbol{"F005}} \def\faStar {{\FA\csname faicon@star\endcsname}}
+\expandafter\def\csname faicon@star-half\endcsname {\symbol{"F089}} \def\faStarHalf {{\FA\csname faicon@star-half\endcsname}}
+\expandafter\def\csname faicon@star-half-empty\endcsname {\symbol{"F123}} \def\faStarHalfEmpty {{\FA\csname faicon@star-half-empty\endcsname}}
+\expandafter\def\csname faicon@star-half-full\endcsname {\symbol{"F123}} \def\faStarHalfFull {{\FA\csname faicon@star-half-full\endcsname}}
+\expandafter\def\csname faicon@star-half-o\endcsname {\symbol{"F123}} \def\faStarHalfO {{\FA\csname faicon@star-half-o\endcsname}}
+\expandafter\def\csname faicon@star-o\endcsname {\symbol{"F006}} \def\faStarO {{\FA\csname faicon@star-o\endcsname}}
+\expandafter\def\csname faicon@steam\endcsname {\symbol{"F1B6}} \def\faSteam {{\FA\csname faicon@steam\endcsname}}
+\expandafter\def\csname faicon@steam-square\endcsname {\symbol{"F1B7}} \def\faSteamSquare {{\FA\csname faicon@steam-square\endcsname}}
+\expandafter\def\csname faicon@step-backward\endcsname {\symbol{"F048}} \def\faStepBackward {{\FA\csname faicon@step-backward\endcsname}}
+\expandafter\def\csname faicon@step-forward\endcsname {\symbol{"F051}} \def\faStepForward {{\FA\csname faicon@step-forward\endcsname}}
+\expandafter\def\csname faicon@stethoscope\endcsname {\symbol{"F0F1}} \def\faStethoscope {{\FA\csname faicon@stethoscope\endcsname}}
+\expandafter\def\csname faicon@sticky-note\endcsname {\symbol{"F249}} \def\faStickyNote {{\FA\csname faicon@sticky-note\endcsname}}
+\expandafter\def\csname faicon@sticky-note-o\endcsname {\symbol{"F24A}} \def\faStickyNoteO {{\FA\csname faicon@sticky-note-o\endcsname}}
+\expandafter\def\csname faicon@stop\endcsname {\symbol{"F04D}} \def\faStop {{\FA\csname faicon@stop\endcsname}}
+\expandafter\def\csname faicon@street-view\endcsname {\symbol{"F21D}} \def\faStreetView {{\FA\csname faicon@street-view\endcsname}}
+\expandafter\def\csname faicon@strikethrough\endcsname {\symbol{"F0CC}} \def\faStrikethrough {{\FA\csname faicon@strikethrough\endcsname}}
+\expandafter\def\csname faicon@stumbleupon\endcsname {\symbol{"F1A4}} \def\faStumbleupon {{\FA\csname faicon@stumbleupon\endcsname}}
+\expandafter\def\csname faicon@stumbleupon-circle\endcsname {\symbol{"F1A3}} \def\faStumbleuponCircle {{\FA\csname faicon@stumbleupon-circle\endcsname}}
+\expandafter\def\csname faicon@subscript\endcsname {\symbol{"F12C}} \def\faSubscript {{\FA\csname faicon@subscript\endcsname}}
+\expandafter\def\csname faicon@subway\endcsname {\symbol{"F239}} \def\faSubway {{\FA\csname faicon@subway\endcsname}}
+\expandafter\def\csname faicon@suitcase\endcsname {\symbol{"F0F2}} \def\faSuitcase {{\FA\csname faicon@suitcase\endcsname}}
+\expandafter\def\csname faicon@sun-o\endcsname {\symbol{"F185}} \def\faSunO {{\FA\csname faicon@sun-o\endcsname}}
+\expandafter\def\csname faicon@superscript\endcsname {\symbol{"F12B}} \def\faSuperscript {{\FA\csname faicon@superscript\endcsname}}
+\expandafter\def\csname faicon@support\endcsname {\symbol{"F1CD}} \def\faSupport {{\FA\csname faicon@support\endcsname}}
+\expandafter\def\csname faicon@table\endcsname {\symbol{"F0CE}} \def\faTable {{\FA\csname faicon@table\endcsname}}
+\expandafter\def\csname faicon@tablet\endcsname {\symbol{"F10A}} \def\faTablet {{\FA\csname faicon@tablet\endcsname}}
+\expandafter\def\csname faicon@tachometer\endcsname {\symbol{"F0E4}} \def\faTachometer {{\FA\csname faicon@tachometer\endcsname}}
+\expandafter\def\csname faicon@tag\endcsname {\symbol{"F02B}} \def\faTag {{\FA\csname faicon@tag\endcsname}}
+\expandafter\def\csname faicon@tags\endcsname {\symbol{"F02C}} \def\faTags {{\FA\csname faicon@tags\endcsname}}
+\expandafter\def\csname faicon@tasks\endcsname {\symbol{"F0AE}} \def\faTasks {{\FA\csname faicon@tasks\endcsname}}
+\expandafter\def\csname faicon@taxi\endcsname {\symbol{"F1BA}} \def\faTaxi {{\FA\csname faicon@taxi\endcsname}}
+\expandafter\def\csname faicon@television\endcsname {\symbol{"F26C}} \def\faTelevision {{\FA\csname faicon@television\endcsname}}
+\expandafter\def\csname faicon@tencent-weibo\endcsname {\symbol{"F1D5}} \def\faTencentWeibo {{\FA\csname faicon@tencent-weibo\endcsname}}
+\expandafter\def\csname faicon@terminal\endcsname {\symbol{"F120}} \def\faTerminal {{\FA\csname faicon@terminal\endcsname}}
+\expandafter\def\csname faicon@text-height\endcsname {\symbol{"F034}} \def\faTextHeight {{\FA\csname faicon@text-height\endcsname}}
+\expandafter\def\csname faicon@text-width\endcsname {\symbol{"F035}} \def\faTextWidth {{\FA\csname faicon@text-width\endcsname}}
+\expandafter\def\csname faicon@th\endcsname {\symbol{"F00A}} \def\faTh {{\FA\csname faicon@th\endcsname}}
+\expandafter\def\csname faicon@th-large\endcsname {\symbol{"F009}} \def\faThLarge {{\FA\csname faicon@th-large\endcsname}}
+\expandafter\def\csname faicon@th-list\endcsname {\symbol{"F00B}} \def\faThList {{\FA\csname faicon@th-list\endcsname}}
+\expandafter\def\csname faicon@thumb-tack\endcsname {\symbol{"F08D}} \def\faThumbTack {{\FA\csname faicon@thumb-tack\endcsname}}
+\expandafter\def\csname faicon@thumbs-down\endcsname {\symbol{"F165}} \def\faThumbsDown {{\FA\csname faicon@thumbs-down\endcsname}}
+\expandafter\def\csname faicon@thumbs-o-down\endcsname {\symbol{"F088}} \def\faThumbsODown {{\FA\csname faicon@thumbs-o-down\endcsname}}
+\expandafter\def\csname faicon@thumbs-o-up\endcsname {\symbol{"F087}} \def\faThumbsOUp {{\FA\csname faicon@thumbs-o-up\endcsname}}
+\expandafter\def\csname faicon@thumbs-up\endcsname {\symbol{"F164}} \def\faThumbsUp {{\FA\csname faicon@thumbs-up\endcsname}}
+\expandafter\def\csname faicon@ticket\endcsname {\symbol{"F145}} \def\faTicket {{\FA\csname faicon@ticket\endcsname}}
+\expandafter\def\csname faicon@times\endcsname {\symbol{"F00D}} \def\faTimes {{\FA\csname faicon@times\endcsname}}
+\expandafter\def\csname faicon@times-circle\endcsname {\symbol{"F057}} \def\faTimesCircle {{\FA\csname faicon@times-circle\endcsname}}
+\expandafter\def\csname faicon@times-circle-o\endcsname {\symbol{"F05C}} \def\faTimesCircleO {{\FA\csname faicon@times-circle-o\endcsname}}
+\expandafter\def\csname faicon@tint\endcsname {\symbol{"F043}} \def\faTint {{\FA\csname faicon@tint\endcsname}}
+\expandafter\def\csname faicon@toggle-down\endcsname {\symbol{"F150}} \def\faToggleDown {{\FA\csname faicon@toggle-down\endcsname}}
+\expandafter\def\csname faicon@toggle-left\endcsname {\symbol{"F191}} \def\faToggleLeft {{\FA\csname faicon@toggle-left\endcsname}}
+\expandafter\def\csname faicon@toggle-off\endcsname {\symbol{"F204}} \def\faToggleOff {{\FA\csname faicon@toggle-off\endcsname}}
+\expandafter\def\csname faicon@toggle-on\endcsname {\symbol{"F205}} \def\faToggleOn {{\FA\csname faicon@toggle-on\endcsname}}
+\expandafter\def\csname faicon@toggle-right\endcsname {\symbol{"F152}} \def\faToggleRight {{\FA\csname faicon@toggle-right\endcsname}}
+\expandafter\def\csname faicon@toggle-up\endcsname {\symbol{"F151}} \def\faToggleUp {{\FA\csname faicon@toggle-up\endcsname}}
+\expandafter\def\csname faicon@trademark\endcsname {\symbol{"F25C}} \def\faTrademark {{\FA\csname faicon@trademark\endcsname}}
+\expandafter\def\csname faicon@train\endcsname {\symbol{"F238}} \def\faTrain {{\FA\csname faicon@train\endcsname}}
+\expandafter\def\csname faicon@transgender\endcsname {\symbol{"F224}} \def\faTransgender {{\FA\csname faicon@transgender\endcsname}}
+\expandafter\def\csname faicon@transgender-alt\endcsname {\symbol{"F225}} \def\faTransgenderAlt {{\FA\csname faicon@transgender-alt\endcsname}}
+\expandafter\def\csname faicon@trash\endcsname {\symbol{"F1F8}} \def\faTrash {{\FA\csname faicon@trash\endcsname}}
+\expandafter\def\csname faicon@trash-o\endcsname {\symbol{"F014}} \def\faTrashO {{\FA\csname faicon@trash-o\endcsname}}
+\expandafter\def\csname faicon@tree\endcsname {\symbol{"F1BB}} \def\faTree {{\FA\csname faicon@tree\endcsname}}
+\expandafter\def\csname faicon@trello\endcsname {\symbol{"F181}} \def\faTrello {{\FA\csname faicon@trello\endcsname}}
+\expandafter\def\csname faicon@tripadvisor\endcsname {\symbol{"F262}} \def\faTripadvisor {{\FA\csname faicon@tripadvisor\endcsname}}
+\expandafter\def\csname faicon@trophy\endcsname {\symbol{"F091}} \def\faTrophy {{\FA\csname faicon@trophy\endcsname}}
+\expandafter\def\csname faicon@truck\endcsname {\symbol{"F0D1}} \def\faTruck {{\FA\csname faicon@truck\endcsname}}
+\expandafter\def\csname faicon@try\endcsname {\symbol{"F195}} \def\faTry {{\FA\csname faicon@try\endcsname}}
+\expandafter\def\csname faicon@tty\endcsname {\symbol{"F1E4}} \def\faTty {{\FA\csname faicon@tty\endcsname}}
+\expandafter\def\csname faicon@tumblr\endcsname {\symbol{"F173}} \def\faTumblr {{\FA\csname faicon@tumblr\endcsname}}
+\expandafter\def\csname faicon@tumblr-square\endcsname {\symbol{"F174}} \def\faTumblrSquare {{\FA\csname faicon@tumblr-square\endcsname}}
+\expandafter\def\csname faicon@turkish-lira\endcsname {\symbol{"F195}} \def\faTurkishLira {{\FA\csname faicon@turkish-lira\endcsname}}
+\expandafter\def\csname faicon@tv\endcsname {\symbol{"F26C}} \def\faTv {{\FA\csname faicon@tv\endcsname}}
+\expandafter\def\csname faicon@twitch\endcsname {\symbol{"F1E8}} \def\faTwitch {{\FA\csname faicon@twitch\endcsname}}
+\expandafter\def\csname faicon@twitter\endcsname {\symbol{"F099}} \def\faTwitter {{\FA\csname faicon@twitter\endcsname}}
+\expandafter\def\csname faicon@twitter-square\endcsname {\symbol{"F081}} \def\faTwitterSquare {{\FA\csname faicon@twitter-square\endcsname}}
+\expandafter\def\csname faicon@umbrella\endcsname {\symbol{"F0E9}} \def\faUmbrella {{\FA\csname faicon@umbrella\endcsname}}
+\expandafter\def\csname faicon@underline\endcsname {\symbol{"F0CD}} \def\faUnderline {{\FA\csname faicon@underline\endcsname}}
+\expandafter\def\csname faicon@undo\endcsname {\symbol{"F0E2}} \def\faUndo {{\FA\csname faicon@undo\endcsname}}
+\expandafter\def\csname faicon@university\endcsname {\symbol{"F19C}} \def\faUniversity {{\FA\csname faicon@university\endcsname}}
+\expandafter\def\csname faicon@unlink\endcsname {\symbol{"F127}} \def\faUnlink {{\FA\csname faicon@unlink\endcsname}}
+\expandafter\def\csname faicon@unlock\endcsname {\symbol{"F09C}} \def\faUnlock {{\FA\csname faicon@unlock\endcsname}}
+\expandafter\def\csname faicon@unlock-alt\endcsname {\symbol{"F13E}} \def\faUnlockAlt {{\FA\csname faicon@unlock-alt\endcsname}}
+\expandafter\def\csname faicon@unsorted\endcsname {\symbol{"F0DC}} \def\faUnsorted {{\FA\csname faicon@unsorted\endcsname}}
+\expandafter\def\csname faicon@upload\endcsname {\symbol{"F093}} \def\faUpload {{\FA\csname faicon@upload\endcsname}}
+\expandafter\def\csname faicon@usd\endcsname {\symbol{"F155}} \def\faUsd {{\FA\csname faicon@usd\endcsname}}
+\expandafter\def\csname faicon@user\endcsname {\symbol{"F007}} \def\faUser {{\FA\csname faicon@user\endcsname}}
+\expandafter\def\csname faicon@user-md\endcsname {\symbol{"F0F0}} \def\faUserMd {{\FA\csname faicon@user-md\endcsname}}
+\expandafter\def\csname faicon@user-plus\endcsname {\symbol{"F234}} \def\faUserPlus {{\FA\csname faicon@user-plus\endcsname}}
+\expandafter\def\csname faicon@user-secret\endcsname {\symbol{"F21B}} \def\faUserSecret {{\FA\csname faicon@user-secret\endcsname}}
+\expandafter\def\csname faicon@user-times\endcsname {\symbol{"F235}} \def\faUserTimes {{\FA\csname faicon@user-times\endcsname}}
+\expandafter\def\csname faicon@users\endcsname {\symbol{"F0C0}} \def\faUsers {{\FA\csname faicon@users\endcsname}}
+\expandafter\def\csname faicon@venus\endcsname {\symbol{"F221}} \def\faVenus {{\FA\csname faicon@venus\endcsname}}
+\expandafter\def\csname faicon@venus-double\endcsname {\symbol{"F226}} \def\faVenusDouble {{\FA\csname faicon@venus-double\endcsname}}
+\expandafter\def\csname faicon@venus-mars\endcsname {\symbol{"F228}} \def\faVenusMars {{\FA\csname faicon@venus-mars\endcsname}}
+\expandafter\def\csname faicon@viacoin\endcsname {\symbol{"F237}} \def\faViacoin {{\FA\csname faicon@viacoin\endcsname}}
+\expandafter\def\csname faicon@video-camera\endcsname {\symbol{"F03D}} \def\faVideoCamera {{\FA\csname faicon@video-camera\endcsname}}
+\expandafter\def\csname faicon@vimeo\endcsname {\symbol{"F27D}} \def\faVimeo {{\FA\csname faicon@vimeo\endcsname}}
+\expandafter\def\csname faicon@vimeo-square\endcsname {\symbol{"F194}} \def\faVimeoSquare {{\FA\csname faicon@vimeo-square\endcsname}}
+\expandafter\def\csname faicon@vine\endcsname {\symbol{"F1CA}} \def\faVine {{\FA\csname faicon@vine\endcsname}}
+\expandafter\def\csname faicon@vk\endcsname {\symbol{"F189}} \def\faVk {{\FA\csname faicon@vk\endcsname}}
+\expandafter\def\csname faicon@volume-down\endcsname {\symbol{"F027}} \def\faVolumeDown {{\FA\csname faicon@volume-down\endcsname}}
+\expandafter\def\csname faicon@volume-off\endcsname {\symbol{"F026}} \def\faVolumeOff {{\FA\csname faicon@volume-off\endcsname}}
+\expandafter\def\csname faicon@volume-up\endcsname {\symbol{"F028}} \def\faVolumeUp {{\FA\csname faicon@volume-up\endcsname}}
+\expandafter\def\csname faicon@warning\endcsname {\symbol{"F071}} \def\faWarning {{\FA\csname faicon@warning\endcsname}}
+\expandafter\def\csname faicon@wechat\endcsname {\symbol{"F1D7}} \def\faWechat {{\FA\csname faicon@wechat\endcsname}}
+\expandafter\def\csname faicon@weibo\endcsname {\symbol{"F18A}} \def\faWeibo {{\FA\csname faicon@weibo\endcsname}}
+\expandafter\def\csname faicon@weixin\endcsname {\symbol{"F1D7}} \def\faWeixin {{\FA\csname faicon@weixin\endcsname}}
+\expandafter\def\csname faicon@whatsapp\endcsname {\symbol{"F232}} \def\faWhatsapp {{\FA\csname faicon@whatsapp\endcsname}}
+\expandafter\def\csname faicon@wheelchair\endcsname {\symbol{"F193}} \def\faWheelchair {{\FA\csname faicon@wheelchair\endcsname}}
+\expandafter\def\csname faicon@wifi\endcsname {\symbol{"F1EB}} \def\faWifi {{\FA\csname faicon@wifi\endcsname}}
+\expandafter\def\csname faicon@wikipedia-w\endcsname {\symbol{"F266}} \def\faWikipediaW {{\FA\csname faicon@wikipedia-w\endcsname}}
+\expandafter\def\csname faicon@windows\endcsname {\symbol{"F17A}} \def\faWindows {{\FA\csname faicon@windows\endcsname}}
+\expandafter\def\csname faicon@won\endcsname {\symbol{"F159}} \def\faWon {{\FA\csname faicon@won\endcsname}}
+\expandafter\def\csname faicon@wordpress\endcsname {\symbol{"F19A}} \def\faWordpress {{\FA\csname faicon@wordpress\endcsname}}
+\expandafter\def\csname faicon@wrench\endcsname {\symbol{"F0AD}} \def\faWrench {{\FA\csname faicon@wrench\endcsname}}
+\expandafter\def\csname faicon@xing\endcsname {\symbol{"F168}} \def\faXing {{\FA\csname faicon@xing\endcsname}}
+\expandafter\def\csname faicon@xing-square\endcsname {\symbol{"F169}} \def\faXingSquare {{\FA\csname faicon@xing-square\endcsname}}
+\expandafter\def\csname faicon@y-combinator\endcsname {\symbol{"F23B}} \def\faYCombinator {{\FA\csname faicon@y-combinator\endcsname}}
+\expandafter\def\csname faicon@y-combinator-square\endcsname {\symbol{"F1D4}} \def\faYCombinatorSquare {{\FA\csname faicon@y-combinator-square\endcsname}}
+\expandafter\def\csname faicon@yahoo\endcsname {\symbol{"F19E}} \def\faYahoo {{\FA\csname faicon@yahoo\endcsname}}
+\expandafter\def\csname faicon@yc\endcsname {\symbol{"F23B}} \def\faYc {{\FA\csname faicon@yc\endcsname}}
+\expandafter\def\csname faicon@yc-square\endcsname {\symbol{"F1D4}} \def\faYcSquare {{\FA\csname faicon@yc-square\endcsname}}
+\expandafter\def\csname faicon@yelp\endcsname {\symbol{"F1E9}} \def\faYelp {{\FA\csname faicon@yelp\endcsname}}
+\expandafter\def\csname faicon@yen\endcsname {\symbol{"F157}} \def\faYen {{\FA\csname faicon@yen\endcsname}}
+\expandafter\def\csname faicon@youtube\endcsname {\symbol{"F167}} \def\faYoutube {{\FA\csname faicon@youtube\endcsname}}
+\expandafter\def\csname faicon@youtube-play\endcsname {\symbol{"F16A}} \def\faYoutubePlay {{\FA\csname faicon@youtube-play\endcsname}}
+\expandafter\def\csname faicon@youtube-square\endcsname {\symbol{"F166}} \def\faYoutubeSquare {{\FA\csname faicon@youtube-square\endcsname}}
\endinput
\ No newline at end of file
diff --git a/public/templates/template4/deedy-resume-openfont.cls b/public/templates/template4/deedy-resume-openfont.cls
index c402272c..8ace4cf9 100755
--- a/public/templates/template4/deedy-resume-openfont.cls
+++ b/public/templates/template4/deedy-resume-openfont.cls
@@ -1,80 +1,80 @@
-% Intro Options
-\ProvidesClass{deedy-resume-openfont}[2014/04/30 CV class]
-\NeedsTeXFormat{LaTeX2e}
-\DeclareOption{print}{\def\@cv@print{}}
-\DeclareOption*{%
- \PassOptionsToClass{\CurrentOption}{article}
-}
-\ProcessOptions\relax
-\LoadClass{article}
-
-% Package Imports
-\usepackage[hmargin=1.25cm, vmargin=0.7cm]{geometry}
-\usepackage[usenames,dvipsnames]{xcolor}
-\usepackage[hidelinks]{hyperref}
-\usepackage{titlesec}
-\usepackage[absolute]{textpos}
-\usepackage[UKenglish]{babel}
-\usepackage[UKenglish]{isodate}
-\usepackage{fontspec,xltxtra,xunicode,fontenc}
-\usepackage{textcomp}
-
-% Color definitions
-\definecolor{date}{HTML}{666666}
-\definecolor{primary}{HTML}{2b2b2b}
-\definecolor{headings}{HTML}{6A6A6A}
-\definecolor{subheadings}{HTML}{333333}
-
-% Set main fonts
-\defaultfontfeatures{Mapping=tex-text}
-\setmainfont[Color=primary, Path = fonts/]{Raleway-ExtraLight}
-\setsansfont[Scale=MatchLowercase,Mapping=tex-text, Path = fonts/]{Raleway-ExtraLight}
-\newcommand{\custombold}[1]{\color{subheadings}\fontspec[Path = fonts/]{Raleway-Regular}\selectfont #1 \normalfont}
-
-% Date command
-\setlength{\TPHorizModule}{1mm}
-\setlength{\TPVertModule}{1mm}
-\textblockorigin{0mm}{5mm} % start everyth
-\newcommand{\lastupdated}{\begin{textblock}{60}(165,0)
-\color{date}\fontspec[Path = fonts/]{Raleway-ExtraLight}\fontsize{8pt}{10pt}\selectfont
-Last Updated on
-\today
-\end{textblock}}
-
-% Name command
-\newcommand{\namesection}[3]{
- \centering{
- \sffamily
- \fontspec[Path = fonts/]{Raleway-ExtraLight}\fontsize{40pt}{10cm}\selectfont #1
- \fontspec[Path = fonts/]{Raleway-ExtraLight}\selectfont #2
- } \\
- \vspace{5pt}
- \centering{ \color{headings}\fontspec[Path = fonts/]{Raleway-Medium}\fontsize{11pt}{14pt}\selectfont #3}
- \noindent\makebox[\linewidth]{\rule{\paperwidth}{0.4pt}}
- \vspace{-15pt}
-}
-\titlespacing{\section}{0pt}{0pt}{0pt}
-
-% Headings command
-\titleformat{\section}{\color{headings}
-\scshape\fontspec[Path = fonts/]{Raleway-Medium}\fontsize{16pt}{24pt}\selectfont \raggedright\uppercase}{} {0em}{}
-
-% Subeadings command
-\titleformat{\subsection}{\color{subheadings}
-\fontspec[Path = fonts/]{Raleway-Medium}\fontsize{12pt}{12pt}\selectfont\bfseries\uppercase}{}{0em}{}
-\titlespacing{\subsection}{0pt}{\parskip}{-\parskip}
-\titlespacing{\subsubsection}{0pt}{\parskip}{-\parskip}
-\newcommand{\runsubsection}[1]{\color{subheadings}
-\fontspec[Path = fonts/]{Raleway-Medium}\fontsize{12pt}{12pt}\selectfont\bfseries\uppercase {#1} \normalfont}
-
-% Descriptors command
-\newcommand{\descript}[1]{\color{subheadings}\raggedright\scshape\fontspec[Path = fonts/]{Raleway-Medium}\fontsize{11pt}{13pt}\selectfont {#1} \normalfont}
-
-% Location command
-\newcommand{\location}[1]{\color{headings}\raggedright\fontspec[Path = fonts/]{Raleway-Medium}\fontsize{11pt}{13pt}\selectfont {#1} \normalfont}
-
-% Section seperators command
-\newcommand{\sectionsep}[0]{\vspace{8pt}}
-
-% Bullet Lists with fewer gaps command
-\newenvironment{tightemize}{\vspace{-1mm}\begin{itemize}\itemsep1pt \parskip1.5pt \parsep1.5pt}{\end{itemize}\vspace{-\topsep}}
+% Intro Options
+\ProvidesClass{deedy-resume-openfont}[2014/04/30 CV class]
+\NeedsTeXFormat{LaTeX2e}
+\DeclareOption{print}{\def\@cv@print{}}
+\DeclareOption*{%
+ \PassOptionsToClass{\CurrentOption}{article}
+}
+\ProcessOptions\relax
+\LoadClass{article}
+
+% Package Imports
+\usepackage[hmargin=1.25cm, vmargin=0.7cm]{geometry}
+\usepackage[usenames,dvipsnames]{xcolor}
+\usepackage[hidelinks]{hyperref}
+\usepackage{titlesec}
+\usepackage[absolute]{textpos}
+\usepackage[UKenglish]{babel}
+\usepackage[UKenglish]{isodate}
+\usepackage{fontspec,xltxtra,xunicode,fontenc}
+\usepackage{textcomp}
+
+% Color definitions
+\definecolor{date}{HTML}{666666}
+\definecolor{primary}{HTML}{2b2b2b}
+\definecolor{headings}{HTML}{6A6A6A}
+\definecolor{subheadings}{HTML}{333333}
+
+% Set main fonts
+\defaultfontfeatures{Mapping=tex-text}
+\setmainfont[Color=primary, Path = fonts/]{Raleway-ExtraLight}
+\setsansfont[Scale=MatchLowercase,Mapping=tex-text, Path = fonts/]{Raleway-ExtraLight}
+\newcommand{\custombold}[1]{\color{subheadings}\fontspec[Path = fonts/]{Raleway-Regular}\selectfont #1 \normalfont}
+
+% Date command
+\setlength{\TPHorizModule}{1mm}
+\setlength{\TPVertModule}{1mm}
+\textblockorigin{0mm}{5mm} % start everyth
+\newcommand{\lastupdated}{\begin{textblock}{60}(165,0)
+\color{date}\fontspec[Path = fonts/]{Raleway-ExtraLight}\fontsize{8pt}{10pt}\selectfont
+Last Updated on
+\today
+\end{textblock}}
+
+% Name command
+\newcommand{\namesection}[3]{
+ \centering{
+ \sffamily
+ \fontspec[Path = fonts/]{Raleway-ExtraLight}\fontsize{40pt}{10cm}\selectfont #1
+ \fontspec[Path = fonts/]{Raleway-ExtraLight}\selectfont #2
+ } \\
+ \vspace{5pt}
+ \centering{ \color{headings}\fontspec[Path = fonts/]{Raleway-Medium}\fontsize{11pt}{14pt}\selectfont #3}
+ \noindent\makebox[\linewidth]{\rule{\paperwidth}{0.4pt}}
+ \vspace{-15pt}
+}
+\titlespacing{\section}{0pt}{0pt}{0pt}
+
+% Headings command
+\titleformat{\section}{\color{headings}
+\scshape\fontspec[Path = fonts/]{Raleway-Medium}\fontsize{16pt}{24pt}\selectfont \raggedright\uppercase}{} {0em}{}
+
+% Subeadings command
+\titleformat{\subsection}{\color{subheadings}
+\fontspec[Path = fonts/]{Raleway-Medium}\fontsize{12pt}{12pt}\selectfont\bfseries\uppercase}{}{0em}{}
+\titlespacing{\subsection}{0pt}{\parskip}{-\parskip}
+\titlespacing{\subsubsection}{0pt}{\parskip}{-\parskip}
+\newcommand{\runsubsection}[1]{\color{subheadings}
+\fontspec[Path = fonts/]{Raleway-Medium}\fontsize{12pt}{12pt}\selectfont\bfseries\uppercase {#1} \normalfont}
+
+% Descriptors command
+\newcommand{\descript}[1]{\color{subheadings}\raggedright\scshape\fontspec[Path = fonts/]{Raleway-Medium}\fontsize{11pt}{13pt}\selectfont {#1} \normalfont}
+
+% Location command
+\newcommand{\location}[1]{\color{headings}\raggedright\fontspec[Path = fonts/]{Raleway-Medium}\fontsize{11pt}{13pt}\selectfont {#1} \normalfont}
+
+% Section seperators command
+\newcommand{\sectionsep}[0]{\vspace{8pt}}
+
+% Bullet Lists with fewer gaps command
+\newenvironment{tightemize}{\vspace{-1mm}\begin{itemize}\itemsep1pt \parskip1.5pt \parsep1.5pt}{\end{itemize}\vspace{-\topsep}}
diff --git a/public/templates/template5/helvetica.sty b/public/templates/template5/helvetica.sty
index 2b8d920e..0013f136 100755
--- a/public/templates/template5/helvetica.sty
+++ b/public/templates/template5/helvetica.sty
@@ -1,32 +1,32 @@
-%%
-%% This is file `helvetica.sty', based on helvet.sty extended to include
-%% definitions for rm and tt. This means commands such as \textbf, \textit,
-%% etc. will appear in Helvetica.
-%% Changes added by Harriet Borton on <1995/12/11>
-%%
-%% The original source files were:
-%%
-%% psfonts.dtx (with options: `helvet')
-%%
-%% Copyright (C) 1994 Sebastian Rahtz
-%% All rights reserved.
-%%
-%% The original file is part of the PSNFSS2e package.
-%% -----------------------------------------
-%%
-%% This is a generated file. Permission is granted to to customize the
-%% declarations in this file to serve the needs of your installation.
-%% However, no permission is granted to distribute a modified version of
-%% this file under its original name.
-\def\fileversion{4.2}
-\def\filedate{94/11/11}
-\def\docdate {94/11/06}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{helvetica}[\filedate\space\fileversion\space
-Helvetica PSNFSS2e package]
-\renewcommand{\sfdefault}{phv}
-\renewcommand{\rmdefault}{phv}
-\renewcommand{\ttdefault}{pcr}
-\endinput
-%%
-%% End of file `helvetica.sty'.
+%%
+%% This is file `helvetica.sty', based on helvet.sty extended to include
+%% definitions for rm and tt. This means commands such as \textbf, \textit,
+%% etc. will appear in Helvetica.
+%% Changes added by Harriet Borton on <1995/12/11>
+%%
+%% The original source files were:
+%%
+%% psfonts.dtx (with options: `helvet')
+%%
+%% Copyright (C) 1994 Sebastian Rahtz
+%% All rights reserved.
+%%
+%% The original file is part of the PSNFSS2e package.
+%% -----------------------------------------
+%%
+%% This is a generated file. Permission is granted to to customize the
+%% declarations in this file to serve the needs of your installation.
+%% However, no permission is granted to distribute a modified version of
+%% this file under its original name.
+\def\fileversion{4.2}
+\def\filedate{94/11/11}
+\def\docdate {94/11/06}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{helvetica}[\filedate\space\fileversion\space
+Helvetica PSNFSS2e package]
+\renewcommand{\sfdefault}{phv}
+\renewcommand{\rmdefault}{phv}
+\renewcommand{\ttdefault}{pcr}
+\endinput
+%%
+%% End of file `helvetica.sty'.
diff --git a/public/templates/template5/res.cls b/public/templates/template5/res.cls
index 2d2a3bb6..c3daa7d3 100755
--- a/public/templates/template5/res.cls
+++ b/public/templates/template5/res.cls
@@ -1,802 +1,802 @@
-% RESUME DOCUMENT STYLE -- Released 23 Nov 1989
-% for LaTeX version 2.09
-% Copyright (C) 1988,1989 by Michael DeCorte
-
-\typeout{Document Style `res' <26 Sep 89>.}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% res.sty
-%
-% \documentstyle{res}
-%
-% Copyright (c) 1988 by Michael DeCorte
-% Permission to copy all or part of this work is granted, provided
-% that the copies are not made or distributed for resale, and that
-% the copyright notice and this notice are retained.
-%
-% THIS WORK IS PROVIDED ON AN "AS IS" BASIS. THE AUTHOR PROVIDES NO
-% WARRANTY WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE WORK,
-% INCLUDING WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR FITNESS
-% FOR ANY PARTICULAR PURPOSE.
-%
-% If you make any improvements, I'd like to hear about them.
-%
-% Michael DeCorte
-% P.O. Box 652
-% Potsdam NY 13676
-% mrd@sun.soe.clarkson.edu
-% mrd@clutx.bitnet
-%
-% Changes for LaTeX2e -- Venkat Krishnamurthy (Aug 7, 2001)
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% You can have multiple style options the legal options ones are:
-%
-% centered the name and address are centered at the top of the
-% page (default)
-%
-% line the name is the left with a horizontal line then
-% the address to the right
-%
-% overlapped the section titles overlap the body text (default)
-%
-% margin the section titles are to the left of the body text
-%
-% 11pt use 11 point fonts instead of 10 point fonts
-%
-% 12pt use 12 point fonts instead of 10 point fonts
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Commands
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \Resume prints the word resume but typeset nicely
-%
-% \newsectionwidth{dimen}
-% defines the amount of space the labels extend
-% into the left margin.
-% DO NOT TRY to change any of the dimensions
-% yourself. You will probably confuse the style file.
-%
-% \name{text} defines your name
-%
-% \address{text}
-% defines your address
-% this can be called twice if you have two addresses
-% use \\'s to indicate where either line breaks or
-% comas should go
-%
-% \opening this prints your name and address at that spot
-% this is not normally needed, as \begin{resume}
-% does this but is provided just in case you need
-% to do something odd
-%
-% \begin{resume} ... \end{resume}
-% all of the resume should go inside of this
-% environment
-%
-% \section{text}
-% This prints 'text' in the left hand margin.
-% Its exact placement depends on what the style
-% options has been set to. (overlapped or margin)
-% You should use \\ to start a new line. If the
-% style option is margin, the \\ is converted
-% to a space.
-% To use this in any of the list environments, put
-% the \section after the \item[] but before the
-% text.
-% Eg.
-% \begin{itemize}
-% \item\section{text}
-% text
-% \end{itemize}
-%
-% \begin{ncolumn}{n} ... \end{ncolumn}
-% creates a tabular environment with n equally
-% spaced columns. Separate columns by & and
-% end them with \\
-%
-% \begin{position} ... \end{position}
-% this is used to print a job description. There should
-% be only one job description in it. Information
-% related to the job (such as title, dates...) will
-% be printed.
-%
-% \begin{format} ... \end{format}
-% used to change the default format for the position
-% environment. Within it the recognized commands are:
-% \title{option}
-% \employer{option}
-% \location{option}
-% \dates{option}
-% \body
-% \\
-% where option is one of l,r,c standing for left, right, center.
-% The format will eventually be used to make several
-% tabular environments and you are defining the number of columns
-% and the placement of text within the columns of the tabulars.
-% Each row is terminated by a \\. Any number of options can
-% be on a line, they will each be set in their own columns.
-% Any of the options except \body may be left out.
-%
-% Eg.
-% \begin{format}
-% \title{l}\employer{r}\\
-% \dates{r}\\
-% \body\\
-% \location{l}\\
-% \end{format}
-%
-% In this example the title and employer information
-% are set in 2 columns left justified and right justified
-% respectively. Then the date is set right justified.
-% Then the body is set. Then the location is set left
-% justified.
-%
-% \employer{text}
-% \title{text}
-% \dates{text}
-% \location{text}
-% declare text for the next invocation of the position
-% environment
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Glue
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% sectionskip the amount of horizontal before a section
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Dimensions
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% sectionwidth the amount that the section titles go in the
-% left margin
-%
-% resumewidth the width of the total resume from the left
-% margin to the right. Don't use textwidth
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Definitions
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% sectionfont the font used to print section titles
-% use \renewcommand to change it
-%
-% namefont the font used to print your name
-% use \renewcommand to change it
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% THINGS TO DO
-%
-% add lm,rm options to format style to allow things to be placed
-% in the left or right margin respectivly
-%
-% add capability so that \body doesn't have to be proceeded (followed)
-% by a \\ allowing part of the description (eg. location) to be the
-% first (last) thing of the body
-%
-% clean up the list building procedures
-%
-% write docs to tell people how to use this
-
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesClass{res}[2000/05/19 v1.4b Resume class]
-
-%\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
-%\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
-
-\PassOptionsToClass{11pt,12pt}{article}
-\LoadClassWithOptions{article}
-
-\newif\if@line
-\newif\if@margin
-
-\DeclareOption{line}{\@linetrue}
-\DeclareOption{centered}{\@linefalse}
-
-\DeclareOption{margin}{\@margintrue}
-\DeclareOption{overlapped}{\@marginfalse}
-
-\ExecuteOptions{overlapped,centered}
-\ProcessOptions\relax
-
-\nofiles % resume's don't need .aux files
-
-
-\newtoks\tabular@text % holds the current list being processed
-\newtoks\tabular@head % holds the head tabular list
-\newtoks\tabular@tail % holds the tail tabular list
-\newtoks\@ta % used by \@append
-\newtoks\undefined@token\undefined@token={}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% prints a centered name with the address centered
-% or the two address on opposite sides of the page
-%
-\def\@printcentername{\begingroup
- % print the name centered
- \leavevmode\hbox to \textwidth{\hfil\@tablebox{\namefont\@name}\hfil}\par
- \@ifundefined{@addressone}{%
- % do nothing
- }{%
- \@ifundefined{@addresstwo}{
- % only one address
- \leavevmode\hbox to \textwidth{\hfil\@tablebox{\@addressone}\hfil}\par
- }{
- % two addresses
- \leavevmode\hbox to \textwidth{\@tablebox{\@addressone}\hfil
- \@tablebox{\@addresstwo}}\par
- }%
- }%
-\endgroup}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% this is used to print the name and address at the top of
-% the page with a hline in between
-%
-\def\namefont{\large\bf}
-\def\@linename{\begingroup
- \def\\{, }
- {\namefont\@name}
- \vskip 2pt
- \fullline
- \vskip 2pt
- % where do you live?
- \@ifundefined{@addressone}{%
- % do nothing
- }{%
- \leavevmode\hbox to \textwidth
- {\hfill\vbox{\hbox{\@addressone}
- \hbox{\@addresstwo}
- }%
- }\par
- }
-\endgroup}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% HEADINGS:
-% There are two types of headings:
-% 1) one with the name centered and the address centered or
-% in the left and right side if there are two address
-% 2) one where the name is in the upper left corner
-% the a line accross the paper
-% then the address all on one line in the right corner
-% the second address will be directly below the first if defined
-%
-\let\print@name\relax
-\def\ds@centered{\ifx\print@name\relax\let\print@name\@printcentername\fi}
-\def\ds@line{\ifx\print@name\relax\let\print@name\@linename\fi}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Use this to set the sectionwidth.
-% It adjust the width of the text as well as the hoffset
-% You probably shouldn't touch any of the size paramaters
-% unless you really understand all of this but it is not
-% hard. Either way, it can only be executed once
-%
-\def\sectionfont{\bf}
-\newdimen\sectionwidth
-\newskip\sectionskip
-\newdimen\resumewidth
-
-\resumewidth=6.5in
-\sectionskip=3.5ex plus 1ex minus -.2ex % values stolen from LaTeX
-
-\def\newsectionwidth#1{%
- \sectionwidth=#1
- \textwidth=\resumewidth
- \advance\textwidth-\sectionwidth
- \hsize=\textwidth
- \hoffset=\sectionwidth
-}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% This is for sectiontitles that are entirely in the left margin.
-% multiline sectiontitles are permited and will be broken by
-% \TeX{} to fit into a box \verb|\sectionwidth| wide. It is advised
-% that \verb|\\| be used to break the lines by hand as \TeX{} will
-% probably not do what you want.
-%
-% When using this with {\tt tabbing} and {\tt list} (or anything
-% that is made out of {\tt list}) put the \section's inside of
-% the \verb|\begin{}| and the \verb|\item|Eg.
-% \begin{verbatim}
-% \begin{trivlist}
-% \item[]
-% \section{foo}
-% text
-% \end{trivlist}
-% \end{verbatim}
-%
-\def\boxed@sectiontitle#1{%
- % this macro may be called in a tabular. Special code must be written
- % to accomodate this. In LaTeX, a tabular is made out of hboxes.
- % TeX never goes into horizontal mode because of this; it only
- % gets into vertical mode and restricted horizontal mode. Certain
- % indenting problems must be handled because of this. They
- % are delt with at the end of this routine.
- % It is also necessary to close the hbox that was created before
- % the \section and create a new one when this macro has ended.
- % This macro therefore simulates a \kill, so that any text before
- % the \section not be printed. The proper use is therefore
- % ...
- % text\\
- % \section{foo}
- % more text\\
- % ...
- \ifx\\\@tabcr % is this in a tabular? (this *should* work but is a cludge)
- \@stopfield % the is the first part of a \kill
- \else
- \@@par % This will end the previous paragraph if needed and
- % go into vertical mode. If this was already in
- % vertical mode then the \par does nothing.
-
- \fi
- \begingroup
- \everypar={}%
- \def\par{\@@par}%
- \let\\=\@normalcr
- \addpenalty{\@secpenalty} % this would be a good place for a page break
- % \@secpenalty is what LaTeX uses before its
- % section's. It happens to be -300
- \addvspace{\sectionskip} % put in a bit of glue
- % The following hbox will be contributed to the page list without going
- % into horizontal mode. Therefore, any \parindent's, \parshape's, \leftskip
- % will be ignored but \hoffset's are not. The result is that the box will
- % only by \hoffset. This is what I want
- \hbox to 0pt{%
- \hss % this is an llap. In other words, this glue
- % will shrink by the width of the stuff in the vbox
- % (\sectionwidth) into the left margin and then
- % insert the contents of the vbox.
- \vtop to 0pt{% make a 0pt height paragraph, with the baseline at the
- % lined up with the baseline of the first box in the list
- \leftskip=0pt
- \hsize=\sectionwidth
- \textwidth=\sectionwidth
- \raggedright % you don't want this filled out to the right margin
- \sectionfont
- #1\vss % Go into horizontal mode; do the paragraph;
- % go into vertical mode; add some negative glue
- % to give a box of 0pt height and depth
- }%
- }%
- \addpenalty{-\@secpenalty} % this would be a bad place for a page break
- \vskip-\baselineskip % when the next box is processed, baselineskip glue
- % glue will be added (the box has no depth because of
- % the \vss; therefore, we don't have to worry about
- % \lineskiplimit). This -\baselineskip glue
- % is to undo this. \nointerlineskip doesn't
- % work because the baseline of this line would be lined
- % up with the top of the top of the next box. We
- % want the baselines lined up.
- %
- % It may have been possible to do this by forcing the
- % baseline of this box to be the top of the box but
- % then the interline skip between this box and the
- % previous box would be off as the baselines of the
- % this box (the one that being made above) and the
- % previous line would be separated by \baselineskip
- % (probably, it may be separted by the depth of the
- % previous box + \lineskip) but as the baseline of
- % this box has been moved to the top, the box's would
- % separted by to much glue. The exact amount being
- % the height of this box.
- \endgroup
- \ifx\\\@tabcr % is this in a tabular? (this *should* work but is a cludge)
- % this is the second part of the \kill; it starts the next tabbing line
- % Because this routine will never get into paragraph mode when used in
- % tabbing the \parskip that is discussed below will never be inserted.
- % Therefore it should not be negated as done below.
- \@startline
- \ignorespaces
- \else
- \vskip-\parskip % The next thing to be contributed will be a paragraph.
- % Right before being contributed though a \vskip\parskip
- % will be inserted. This is to negate it.
- %
- % I do consider this to be a bit of a cludge but
- % I can not find a way to write \unskipfutureskip
- % or a way to make TeX think that nothing has
- % been contributed to the page list.
- \fi
-}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% This is for sectiontitles that are entirely above the section text
-%
-\def\unboxed@sectiontitle#1{%
- \ifx\\\@tabcr % see boxed@sectiontitle for explation
- \@stopfield
- \else
- \@@par
- \fi
- \begingroup
- \everypar={}%
- \def\par{\@@par}%
- \def\\{ }
- \addpenalty{\@secpenalty}
- \addvspace{\sectionskip}
- \hbox to 0pt{\hss\hbox to \sectionwidth{\sectionfont#1\hss}}
- \addpenalty{-\@secpenalty} % this would be a bad place for a page break
- \endgroup
- \ifx\\\@tabcr % see boxed@sectiontitle for explation
- \@startline
- \else
- \vskip-\parskip
- \fi
- \ignorespaces
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% There are two types of section headings:
-% 1) the section heading is all on one line and directly
-% below it, is the body of the text
-% 2) the section heading is entirely in the left margin
-% (possibly taking multiple lines) with the body of
-% the text next to it
-%
-\let\@@section\relax
-\def\ds@overlapped{\ifx\@@section\relax\newsectionwidth{0.5in}\let
- \@@section\unboxed@sectiontitle\fi}
-\def\ds@margin{\ifx\@@section\relax\newsectionwidth{1.3in}\let
- \@@section\boxed@sectiontitle\fi}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% DEFAULTS: (some of them)
-%
-% centered name
-% overlapped section titles
-%
-% format is:
-% title employer
-% location dates
-% body
-% with everything in the left of its column
-
-%\input article.sty
-
-\if@line\ds@line\else\ds@centered\fi
-\if@margin\ds@margin\else\ds@overlapped\fi
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% typeset resume all nice and pretty
-%
-\def\Resume{{R\'{e}sum\'{e}}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% makes a line of width \textwidth starting at -\hoffset
-%
-\def\fullline{ % hrules only listen to \hoffset
- \nointerlineskip % so I have this code
- \moveleft\hoffset\vbox{\hrule width\textwidth}
- \nointerlineskip
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% create a multiline box.
-%
-\def\@tablebox#1{\begin{tabular}[t]{@{}l@{\extracolsep{\fill}}}#1\end{tabular}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% use this to define your name
-%
-\def\name#1{\def\@name{#1}}
-
-\def\@name{}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% use this to define your address, this may be called more than once.
-%
-\let\@addressone\relax
-\let\@addresstwo\relax
-
-\def\address#1{
- \@ifundefined{@addressone}{\def\@addressone{#1}}{\def\@addresstwo{#1}}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% if you want to print your name and address is a slightly
-% different format than sugessted, then this can be used
-% to place it exactly where you want
-%
-\def\opening{\def\@opening{}
- \begingroup
- \leftskip=-\hoffset % I use leftskip to move things to the left as
- \advance\textwidth\hoffset % changing hoffset doesn't work. But this
- \hsize=\textwidth % doesn't really work as hboxes are rules
- % are unaffeted
- \let\par=\@@par
- \parindent=0pt
- \parskip=0pt
- \print@name
- \endgroup
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% all of the resume goes in the resume environment
-%
-\newenvironment{resume}{\begingroup
- \@ifundefined{@opening}{\opening}{}
-}{\endgroup}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% gives you a tabular environment with n equally spaced columns
-% \begin{ncolumn}{#} ... \end{ncolumn}
-%
-% The p option of LaTeX is broken in all but the newest verion
-% of latex.tex, this is how to fix it
-%
-\def\@endpbox{\par\egroup\hfil}
-\let\@@endpbox=\@endpbox
-
-\newdimen\@columnwidth % the width of each column equal to
-\def\ncolumn#1{%
- % \@columnwidth = \textwidth / #1
- \@columnwidth=\textwidth \divide\@columnwidth by #1
- \begin{tabular*}{\textwidth}[t]%
- {*{#1}{@{}p{\@columnwidth}@{\extracolsep{\fill}}}}
-}
-
-\def\endncolumn{\end{tabular*}}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \employer{text} defines employer to be text
-% \location{text} defines location to be text
-% \dates{text} defines dates to be text
-% \title{text} defines title to be text
-% \body
-%
-
-\def\employer#1{\def\@employer{\print@employer{#1}}}
-\def\location#1{\def\@location{\print@location{#1}}}
-\def\dates#1{\def\@dates{\print@dates{#1}}}
-\def\title#1{\def\@title{\print@title{#1}}}
-
-\let\l@justify\raggedright
-\let\r@justify\raggedleft
-\let\c@justify\centering
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \@format{name}{justify}
-% will define \print@#1 to print it's one argument
-% justified according to #2 which can be
-% l = left
-% r = right
-% c = center
-%
-% eg.
-% \@format{employer}{c}
-% is the same as \def\print@employer#1{{\centering #1\par}}
-%
-\def\@format#1#2{%
- \expandafter\gdef\csname print@#1\endcsname##1{%
- {\csname#2@justify\endcsname##1\par}}
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% this is used to define how the position environment should
-% formated.
-%
-% \begin{format} positioning text \end{format}
-% where positioning text may be
-% \employer{pos}
-% \location{pos}
-% \dates{pos}
-% \title{pos}
-% \body (for the body of the position environment)
-% where pos is
-% l for left
-% r for right
-% c for center
-% use \\ to break the line
-% you don't have to use all of the options.
-% on any one line, you should indicate what you want on that line
-% and where it should go within its column.
-% eg.
-% the following prints the employer in the left with the location
-% centered within that its column. It then prints the date on the
-% right. Then it prints the body of the position environment. Then
-% it prints the title centered within its column; as there is only
-% one column here it is really just centered.
-%
-% \begin{format}
-% \employer{l}\location{c}\\
-% \dates{r}\\
-% \body\\
-% \title{c}\\
-% \end{format}
-
-\newcounter{numberofcolumns}
-\newenvironment{format}{%
- \def\end@line@head{\append@tabular@head{tabular@text}\tabular@text={}%
- \c@numberofcolumns 0}
- \def\end@line@tail{\append@tabular@tail{tabular@text}\tabular@text={}%
- \c@numberofcolumns 0}
- \tabular@text={}
- \tabular@head={}
- \tabular@tail={}
- \c@numberofcolumns 0
- \let\\=\end@line@head
- \def\employer##1{\advance\c@numberofcolumns 1
- \@format{employer}{##1}
- \append@tabular@text{employer}}
- \def\location##1{\advance\c@numberofcolumns 1
- \@format{location}{##1}
- \append@tabular@text{location}}
- \def\dates##1{\advance\c@numberofcolumns 1
- \@format{dates}{##1}
- \append@tabular@text{dates}}
- \def\title##1{\advance\c@numberofcolumns 1
- \@format{title}{##1}
- \append@tabular@text{title}}
- \def\body{\iftoks\tabular@head\undefined@token\then
- \else
- \@append{\noexpand\\}\to\tabular@head
- \skotfi
- \let\\=\end@line@tail}}{}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%taken from page 378 of TeXbook but freely hacked
-%
-% appends the expansion of #1 to the token list #2
-
-\def\@append#1\to#2{%
- \@ta=\expandafter{#1}%
- \xdef\@append@temp{\the#2\the\@ta}
- \global#2=\expandafter{\@append@temp}%
-}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% CHAA006%vaxb.rhbnc.ac.uk@NSS.Cs.Ucl.AC.UK
-% texhax.88.078
-% is used to see if two token lists are equal
-% there must be a better way
-%
-
-\let \then = \empty
-\def \iftoks #1#2\then #3\else #4\skotfi{
- \edef \1{\the #1}
- \edef \2{\the #2}
- \ifx \1\2\then #3\else #4\fi}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \append@tabular@text{command}
-%
-% appends command to the end of \tabular@text.
-% NOTE: command MUST be a command but without the \
-% Eg. \append@tabular@text{relax}
-%
-% used to define \tabular@text for the tabular environment
-% used by append@tabular@head and append@tabular@tail
-%
-
-\def\append@tabular@text#1{%
-\iftoks\tabular@text\undefined@token\then
- \global\tabular@text=\expandafter{\csname @#1\endcsname}
-\else
- \@append{&}\to\tabular@text
- \@append{\csname @#1\endcsname}\to\tabular@text
-\skotfi
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% append@tabular@head
-%
-% appends command to the end of \tabular@text@head
-% NOTE: command MUST be a command but without the \
-% Eg. \append@tabular@head{relax}
-%
-% used to define \tabular@head for the tabular environment
-% used by the position environment
-%
-\def\append@tabular@head#1{%
- \ifnum\the\c@numberofcolumns=0\relax
- \else
- \iftoks\tabular@head\undefined@token\then
- \relax
- \else
- \@append{\noexpand\\}\to\tabular@head
- \@append{\noexpand\penalty-\@secpenalty}\to\tabular@head
- \skotfi
- \@append{\noexpand\begin{ncolumn}}\to\tabular@head
- \@append{\expandafter{\the\c@numberofcolumns}}\to\tabular@head
- \@append{\the\csname#1\endcsname}\to\tabular@head
- \@append{\noexpand\end{ncolumn}}\to\tabular@head
- \fi
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% append@tabular@tail
-%
-% appends command to the end of \tabular@text@htail
-% NOTE: command MUST be a command but without the \
-% Eg. \append@tabular@tail{relax}
-%
-% used to define \tabular@tail for the tabular environment
-% used by the position environment
-%
-\def\append@tabular@tail#1{%
- \ifnum\the\c@numberofcolumns=0\relax
- \else
- \iftoks\tabular@tail\undefined@token\then
- \else
- \@append{\noexpand\\}\to\tabular@tail
- \@append{\noexpand\penalty-\@secpenalty}\to\tabular@tail
- \skotfi
- \@append{\noexpand\begin{ncolumn}}\to\tabular@tail
- \@append{\expandafter{\the\c@numberofcolumns}}\to\tabular@tail
- \@append{\the\csname#1\endcsname}\to\tabular@tail
- \@append{\noexpand\end{ncolumn}}\to\tabular@tail
- \fi
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% put the actual job descriptions here
-% \begin{postion} ... \end{position}
-% in the ... describe the position.
-% don't put the \dates \location etc in here. define them before hand
-\newenvironment{position}%
- {%
- \begingroup
- \par
- \the\tabular@head
-% \addpenalty{-\@secpenalty}% bad place for a page break
- \penalty -\@secpenalty % bad place for a page break
- \penalty 10000
- \ignorespaces
- }{%
- \the\tabular@tail
-% \addpenalty{\@secpenalty}% good place for a page break
- \penalty \@secpenalty % good place for a page break
- \endgroup
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% DEFAULTS: (the rest of them)
-%
-% centered name
-% overlapped section titles
-%
-% format is:
-% title employer
-% location dates
-% body
-% with everything in the left of its column
-
-\@secpenalty = -500
-\topmargin 0pt
-\headheight 0pt
-\headsep 0pt
-\textheight 9in
-\parindent 0pt
-\topmargin 0in
-\oddsidemargin 0pt
-\evensidemargin 0pt
-\marginparwidth 0pt
-\parindent 0pt
-\parskip \baselineskip
-\setcounter{secnumdepth}{0}
-\def\@listI{\leftmargin\leftmargini
-\topsep 0pt
-\parskip 0pt
-\partopsep 2pt plus 2pt
-\parsep 2pt plus 2pt
-\itemsep \parsep}
-
-\pagestyle{empty} % don't want page numbers
-
-\begin{format}
-\title{l}\employer{r}\\
-\location{l}\dates{r}\\
-\body\\
-\end{format}
-
-\let\section\@@section
+% RESUME DOCUMENT STYLE -- Released 23 Nov 1989
+% for LaTeX version 2.09
+% Copyright (C) 1988,1989 by Michael DeCorte
+
+\typeout{Document Style `res' <26 Sep 89>.}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% res.sty
+%
+% \documentstyle{res}
+%
+% Copyright (c) 1988 by Michael DeCorte
+% Permission to copy all or part of this work is granted, provided
+% that the copies are not made or distributed for resale, and that
+% the copyright notice and this notice are retained.
+%
+% THIS WORK IS PROVIDED ON AN "AS IS" BASIS. THE AUTHOR PROVIDES NO
+% WARRANTY WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE WORK,
+% INCLUDING WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR FITNESS
+% FOR ANY PARTICULAR PURPOSE.
+%
+% If you make any improvements, I'd like to hear about them.
+%
+% Michael DeCorte
+% P.O. Box 652
+% Potsdam NY 13676
+% mrd@sun.soe.clarkson.edu
+% mrd@clutx.bitnet
+%
+% Changes for LaTeX2e -- Venkat Krishnamurthy (Aug 7, 2001)
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% You can have multiple style options the legal options ones are:
+%
+% centered the name and address are centered at the top of the
+% page (default)
+%
+% line the name is the left with a horizontal line then
+% the address to the right
+%
+% overlapped the section titles overlap the body text (default)
+%
+% margin the section titles are to the left of the body text
+%
+% 11pt use 11 point fonts instead of 10 point fonts
+%
+% 12pt use 12 point fonts instead of 10 point fonts
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Commands
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \Resume prints the word resume but typeset nicely
+%
+% \newsectionwidth{dimen}
+% defines the amount of space the labels extend
+% into the left margin.
+% DO NOT TRY to change any of the dimensions
+% yourself. You will probably confuse the style file.
+%
+% \name{text} defines your name
+%
+% \address{text}
+% defines your address
+% this can be called twice if you have two addresses
+% use \\'s to indicate where either line breaks or
+% comas should go
+%
+% \opening this prints your name and address at that spot
+% this is not normally needed, as \begin{resume}
+% does this but is provided just in case you need
+% to do something odd
+%
+% \begin{resume} ... \end{resume}
+% all of the resume should go inside of this
+% environment
+%
+% \section{text}
+% This prints 'text' in the left hand margin.
+% Its exact placement depends on what the style
+% options has been set to. (overlapped or margin)
+% You should use \\ to start a new line. If the
+% style option is margin, the \\ is converted
+% to a space.
+% To use this in any of the list environments, put
+% the \section after the \item[] but before the
+% text.
+% Eg.
+% \begin{itemize}
+% \item\section{text}
+% text
+% \end{itemize}
+%
+% \begin{ncolumn}{n} ... \end{ncolumn}
+% creates a tabular environment with n equally
+% spaced columns. Separate columns by & and
+% end them with \\
+%
+% \begin{position} ... \end{position}
+% this is used to print a job description. There should
+% be only one job description in it. Information
+% related to the job (such as title, dates...) will
+% be printed.
+%
+% \begin{format} ... \end{format}
+% used to change the default format for the position
+% environment. Within it the recognized commands are:
+% \title{option}
+% \employer{option}
+% \location{option}
+% \dates{option}
+% \body
+% \\
+% where option is one of l,r,c standing for left, right, center.
+% The format will eventually be used to make several
+% tabular environments and you are defining the number of columns
+% and the placement of text within the columns of the tabulars.
+% Each row is terminated by a \\. Any number of options can
+% be on a line, they will each be set in their own columns.
+% Any of the options except \body may be left out.
+%
+% Eg.
+% \begin{format}
+% \title{l}\employer{r}\\
+% \dates{r}\\
+% \body\\
+% \location{l}\\
+% \end{format}
+%
+% In this example the title and employer information
+% are set in 2 columns left justified and right justified
+% respectively. Then the date is set right justified.
+% Then the body is set. Then the location is set left
+% justified.
+%
+% \employer{text}
+% \title{text}
+% \dates{text}
+% \location{text}
+% declare text for the next invocation of the position
+% environment
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Glue
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% sectionskip the amount of horizontal before a section
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Dimensions
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% sectionwidth the amount that the section titles go in the
+% left margin
+%
+% resumewidth the width of the total resume from the left
+% margin to the right. Don't use textwidth
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Definitions
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% sectionfont the font used to print section titles
+% use \renewcommand to change it
+%
+% namefont the font used to print your name
+% use \renewcommand to change it
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% THINGS TO DO
+%
+% add lm,rm options to format style to allow things to be placed
+% in the left or right margin respectivly
+%
+% add capability so that \body doesn't have to be proceeded (followed)
+% by a \\ allowing part of the description (eg. location) to be the
+% first (last) thing of the body
+%
+% clean up the list building procedures
+%
+% write docs to tell people how to use this
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{res}[2000/05/19 v1.4b Resume class]
+
+%\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
+%\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
+
+\PassOptionsToClass{11pt,12pt}{article}
+\LoadClassWithOptions{article}
+
+\newif\if@line
+\newif\if@margin
+
+\DeclareOption{line}{\@linetrue}
+\DeclareOption{centered}{\@linefalse}
+
+\DeclareOption{margin}{\@margintrue}
+\DeclareOption{overlapped}{\@marginfalse}
+
+\ExecuteOptions{overlapped,centered}
+\ProcessOptions\relax
+
+\nofiles % resume's don't need .aux files
+
+
+\newtoks\tabular@text % holds the current list being processed
+\newtoks\tabular@head % holds the head tabular list
+\newtoks\tabular@tail % holds the tail tabular list
+\newtoks\@ta % used by \@append
+\newtoks\undefined@token\undefined@token={}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% prints a centered name with the address centered
+% or the two address on opposite sides of the page
+%
+\def\@printcentername{\begingroup
+ % print the name centered
+ \leavevmode\hbox to \textwidth{\hfil\@tablebox{\namefont\@name}\hfil}\par
+ \@ifundefined{@addressone}{%
+ % do nothing
+ }{%
+ \@ifundefined{@addresstwo}{
+ % only one address
+ \leavevmode\hbox to \textwidth{\hfil\@tablebox{\@addressone}\hfil}\par
+ }{
+ % two addresses
+ \leavevmode\hbox to \textwidth{\@tablebox{\@addressone}\hfil
+ \@tablebox{\@addresstwo}}\par
+ }%
+ }%
+\endgroup}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% this is used to print the name and address at the top of
+% the page with a hline in between
+%
+\def\namefont{\large\bf}
+\def\@linename{\begingroup
+ \def\\{, }
+ {\namefont\@name}
+ \vskip 2pt
+ \fullline
+ \vskip 2pt
+ % where do you live?
+ \@ifundefined{@addressone}{%
+ % do nothing
+ }{%
+ \leavevmode\hbox to \textwidth
+ {\hfill\vbox{\hbox{\@addressone}
+ \hbox{\@addresstwo}
+ }%
+ }\par
+ }
+\endgroup}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% HEADINGS:
+% There are two types of headings:
+% 1) one with the name centered and the address centered or
+% in the left and right side if there are two address
+% 2) one where the name is in the upper left corner
+% the a line accross the paper
+% then the address all on one line in the right corner
+% the second address will be directly below the first if defined
+%
+\let\print@name\relax
+\def\ds@centered{\ifx\print@name\relax\let\print@name\@printcentername\fi}
+\def\ds@line{\ifx\print@name\relax\let\print@name\@linename\fi}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Use this to set the sectionwidth.
+% It adjust the width of the text as well as the hoffset
+% You probably shouldn't touch any of the size paramaters
+% unless you really understand all of this but it is not
+% hard. Either way, it can only be executed once
+%
+\def\sectionfont{\bf}
+\newdimen\sectionwidth
+\newskip\sectionskip
+\newdimen\resumewidth
+
+\resumewidth=6.5in
+\sectionskip=3.5ex plus 1ex minus -.2ex % values stolen from LaTeX
+
+\def\newsectionwidth#1{%
+ \sectionwidth=#1
+ \textwidth=\resumewidth
+ \advance\textwidth-\sectionwidth
+ \hsize=\textwidth
+ \hoffset=\sectionwidth
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% This is for sectiontitles that are entirely in the left margin.
+% multiline sectiontitles are permited and will be broken by
+% \TeX{} to fit into a box \verb|\sectionwidth| wide. It is advised
+% that \verb|\\| be used to break the lines by hand as \TeX{} will
+% probably not do what you want.
+%
+% When using this with {\tt tabbing} and {\tt list} (or anything
+% that is made out of {\tt list}) put the \section's inside of
+% the \verb|\begin{}| and the \verb|\item|Eg.
+% \begin{verbatim}
+% \begin{trivlist}
+% \item[]
+% \section{foo}
+% text
+% \end{trivlist}
+% \end{verbatim}
+%
+\def\boxed@sectiontitle#1{%
+ % this macro may be called in a tabular. Special code must be written
+ % to accomodate this. In LaTeX, a tabular is made out of hboxes.
+ % TeX never goes into horizontal mode because of this; it only
+ % gets into vertical mode and restricted horizontal mode. Certain
+ % indenting problems must be handled because of this. They
+ % are delt with at the end of this routine.
+ % It is also necessary to close the hbox that was created before
+ % the \section and create a new one when this macro has ended.
+ % This macro therefore simulates a \kill, so that any text before
+ % the \section not be printed. The proper use is therefore
+ % ...
+ % text\\
+ % \section{foo}
+ % more text\\
+ % ...
+ \ifx\\\@tabcr % is this in a tabular? (this *should* work but is a cludge)
+ \@stopfield % the is the first part of a \kill
+ \else
+ \@@par % This will end the previous paragraph if needed and
+ % go into vertical mode. If this was already in
+ % vertical mode then the \par does nothing.
+
+ \fi
+ \begingroup
+ \everypar={}%
+ \def\par{\@@par}%
+ \let\\=\@normalcr
+ \addpenalty{\@secpenalty} % this would be a good place for a page break
+ % \@secpenalty is what LaTeX uses before its
+ % section's. It happens to be -300
+ \addvspace{\sectionskip} % put in a bit of glue
+ % The following hbox will be contributed to the page list without going
+ % into horizontal mode. Therefore, any \parindent's, \parshape's, \leftskip
+ % will be ignored but \hoffset's are not. The result is that the box will
+ % only by \hoffset. This is what I want
+ \hbox to 0pt{%
+ \hss % this is an llap. In other words, this glue
+ % will shrink by the width of the stuff in the vbox
+ % (\sectionwidth) into the left margin and then
+ % insert the contents of the vbox.
+ \vtop to 0pt{% make a 0pt height paragraph, with the baseline at the
+ % lined up with the baseline of the first box in the list
+ \leftskip=0pt
+ \hsize=\sectionwidth
+ \textwidth=\sectionwidth
+ \raggedright % you don't want this filled out to the right margin
+ \sectionfont
+ #1\vss % Go into horizontal mode; do the paragraph;
+ % go into vertical mode; add some negative glue
+ % to give a box of 0pt height and depth
+ }%
+ }%
+ \addpenalty{-\@secpenalty} % this would be a bad place for a page break
+ \vskip-\baselineskip % when the next box is processed, baselineskip glue
+ % glue will be added (the box has no depth because of
+ % the \vss; therefore, we don't have to worry about
+ % \lineskiplimit). This -\baselineskip glue
+ % is to undo this. \nointerlineskip doesn't
+ % work because the baseline of this line would be lined
+ % up with the top of the top of the next box. We
+ % want the baselines lined up.
+ %
+ % It may have been possible to do this by forcing the
+ % baseline of this box to be the top of the box but
+ % then the interline skip between this box and the
+ % previous box would be off as the baselines of the
+ % this box (the one that being made above) and the
+ % previous line would be separated by \baselineskip
+ % (probably, it may be separted by the depth of the
+ % previous box + \lineskip) but as the baseline of
+ % this box has been moved to the top, the box's would
+ % separted by to much glue. The exact amount being
+ % the height of this box.
+ \endgroup
+ \ifx\\\@tabcr % is this in a tabular? (this *should* work but is a cludge)
+ % this is the second part of the \kill; it starts the next tabbing line
+ % Because this routine will never get into paragraph mode when used in
+ % tabbing the \parskip that is discussed below will never be inserted.
+ % Therefore it should not be negated as done below.
+ \@startline
+ \ignorespaces
+ \else
+ \vskip-\parskip % The next thing to be contributed will be a paragraph.
+ % Right before being contributed though a \vskip\parskip
+ % will be inserted. This is to negate it.
+ %
+ % I do consider this to be a bit of a cludge but
+ % I can not find a way to write \unskipfutureskip
+ % or a way to make TeX think that nothing has
+ % been contributed to the page list.
+ \fi
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% This is for sectiontitles that are entirely above the section text
+%
+\def\unboxed@sectiontitle#1{%
+ \ifx\\\@tabcr % see boxed@sectiontitle for explation
+ \@stopfield
+ \else
+ \@@par
+ \fi
+ \begingroup
+ \everypar={}%
+ \def\par{\@@par}%
+ \def\\{ }
+ \addpenalty{\@secpenalty}
+ \addvspace{\sectionskip}
+ \hbox to 0pt{\hss\hbox to \sectionwidth{\sectionfont#1\hss}}
+ \addpenalty{-\@secpenalty} % this would be a bad place for a page break
+ \endgroup
+ \ifx\\\@tabcr % see boxed@sectiontitle for explation
+ \@startline
+ \else
+ \vskip-\parskip
+ \fi
+ \ignorespaces
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% There are two types of section headings:
+% 1) the section heading is all on one line and directly
+% below it, is the body of the text
+% 2) the section heading is entirely in the left margin
+% (possibly taking multiple lines) with the body of
+% the text next to it
+%
+\let\@@section\relax
+\def\ds@overlapped{\ifx\@@section\relax\newsectionwidth{0.5in}\let
+ \@@section\unboxed@sectiontitle\fi}
+\def\ds@margin{\ifx\@@section\relax\newsectionwidth{1.3in}\let
+ \@@section\boxed@sectiontitle\fi}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% DEFAULTS: (some of them)
+%
+% centered name
+% overlapped section titles
+%
+% format is:
+% title employer
+% location dates
+% body
+% with everything in the left of its column
+
+%\input article.sty
+
+\if@line\ds@line\else\ds@centered\fi
+\if@margin\ds@margin\else\ds@overlapped\fi
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% typeset resume all nice and pretty
+%
+\def\Resume{{R\'{e}sum\'{e}}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% makes a line of width \textwidth starting at -\hoffset
+%
+\def\fullline{ % hrules only listen to \hoffset
+ \nointerlineskip % so I have this code
+ \moveleft\hoffset\vbox{\hrule width\textwidth}
+ \nointerlineskip
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% create a multiline box.
+%
+\def\@tablebox#1{\begin{tabular}[t]{@{}l@{\extracolsep{\fill}}}#1\end{tabular}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% use this to define your name
+%
+\def\name#1{\def\@name{#1}}
+
+\def\@name{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% use this to define your address, this may be called more than once.
+%
+\let\@addressone\relax
+\let\@addresstwo\relax
+
+\def\address#1{
+ \@ifundefined{@addressone}{\def\@addressone{#1}}{\def\@addresstwo{#1}}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% if you want to print your name and address is a slightly
+% different format than sugessted, then this can be used
+% to place it exactly where you want
+%
+\def\opening{\def\@opening{}
+ \begingroup
+ \leftskip=-\hoffset % I use leftskip to move things to the left as
+ \advance\textwidth\hoffset % changing hoffset doesn't work. But this
+ \hsize=\textwidth % doesn't really work as hboxes are rules
+ % are unaffeted
+ \let\par=\@@par
+ \parindent=0pt
+ \parskip=0pt
+ \print@name
+ \endgroup
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% all of the resume goes in the resume environment
+%
+\newenvironment{resume}{\begingroup
+ \@ifundefined{@opening}{\opening}{}
+}{\endgroup}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% gives you a tabular environment with n equally spaced columns
+% \begin{ncolumn}{#} ... \end{ncolumn}
+%
+% The p option of LaTeX is broken in all but the newest verion
+% of latex.tex, this is how to fix it
+%
+\def\@endpbox{\par\egroup\hfil}
+\let\@@endpbox=\@endpbox
+
+\newdimen\@columnwidth % the width of each column equal to
+\def\ncolumn#1{%
+ % \@columnwidth = \textwidth / #1
+ \@columnwidth=\textwidth \divide\@columnwidth by #1
+ \begin{tabular*}{\textwidth}[t]%
+ {*{#1}{@{}p{\@columnwidth}@{\extracolsep{\fill}}}}
+}
+
+\def\endncolumn{\end{tabular*}}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \employer{text} defines employer to be text
+% \location{text} defines location to be text
+% \dates{text} defines dates to be text
+% \title{text} defines title to be text
+% \body
+%
+
+\def\employer#1{\def\@employer{\print@employer{#1}}}
+\def\location#1{\def\@location{\print@location{#1}}}
+\def\dates#1{\def\@dates{\print@dates{#1}}}
+\def\title#1{\def\@title{\print@title{#1}}}
+
+\let\l@justify\raggedright
+\let\r@justify\raggedleft
+\let\c@justify\centering
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \@format{name}{justify}
+% will define \print@#1 to print it's one argument
+% justified according to #2 which can be
+% l = left
+% r = right
+% c = center
+%
+% eg.
+% \@format{employer}{c}
+% is the same as \def\print@employer#1{{\centering #1\par}}
+%
+\def\@format#1#2{%
+ \expandafter\gdef\csname print@#1\endcsname##1{%
+ {\csname#2@justify\endcsname##1\par}}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% this is used to define how the position environment should
+% formated.
+%
+% \begin{format} positioning text \end{format}
+% where positioning text may be
+% \employer{pos}
+% \location{pos}
+% \dates{pos}
+% \title{pos}
+% \body (for the body of the position environment)
+% where pos is
+% l for left
+% r for right
+% c for center
+% use \\ to break the line
+% you don't have to use all of the options.
+% on any one line, you should indicate what you want on that line
+% and where it should go within its column.
+% eg.
+% the following prints the employer in the left with the location
+% centered within that its column. It then prints the date on the
+% right. Then it prints the body of the position environment. Then
+% it prints the title centered within its column; as there is only
+% one column here it is really just centered.
+%
+% \begin{format}
+% \employer{l}\location{c}\\
+% \dates{r}\\
+% \body\\
+% \title{c}\\
+% \end{format}
+
+\newcounter{numberofcolumns}
+\newenvironment{format}{%
+ \def\end@line@head{\append@tabular@head{tabular@text}\tabular@text={}%
+ \c@numberofcolumns 0}
+ \def\end@line@tail{\append@tabular@tail{tabular@text}\tabular@text={}%
+ \c@numberofcolumns 0}
+ \tabular@text={}
+ \tabular@head={}
+ \tabular@tail={}
+ \c@numberofcolumns 0
+ \let\\=\end@line@head
+ \def\employer##1{\advance\c@numberofcolumns 1
+ \@format{employer}{##1}
+ \append@tabular@text{employer}}
+ \def\location##1{\advance\c@numberofcolumns 1
+ \@format{location}{##1}
+ \append@tabular@text{location}}
+ \def\dates##1{\advance\c@numberofcolumns 1
+ \@format{dates}{##1}
+ \append@tabular@text{dates}}
+ \def\title##1{\advance\c@numberofcolumns 1
+ \@format{title}{##1}
+ \append@tabular@text{title}}
+ \def\body{\iftoks\tabular@head\undefined@token\then
+ \else
+ \@append{\noexpand\\}\to\tabular@head
+ \skotfi
+ \let\\=\end@line@tail}}{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%taken from page 378 of TeXbook but freely hacked
+%
+% appends the expansion of #1 to the token list #2
+
+\def\@append#1\to#2{%
+ \@ta=\expandafter{#1}%
+ \xdef\@append@temp{\the#2\the\@ta}
+ \global#2=\expandafter{\@append@temp}%
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% CHAA006%vaxb.rhbnc.ac.uk@NSS.Cs.Ucl.AC.UK
+% texhax.88.078
+% is used to see if two token lists are equal
+% there must be a better way
+%
+
+\let \then = \empty
+\def \iftoks #1#2\then #3\else #4\skotfi{
+ \edef \1{\the #1}
+ \edef \2{\the #2}
+ \ifx \1\2\then #3\else #4\fi}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \append@tabular@text{command}
+%
+% appends command to the end of \tabular@text.
+% NOTE: command MUST be a command but without the \
+% Eg. \append@tabular@text{relax}
+%
+% used to define \tabular@text for the tabular environment
+% used by append@tabular@head and append@tabular@tail
+%
+
+\def\append@tabular@text#1{%
+\iftoks\tabular@text\undefined@token\then
+ \global\tabular@text=\expandafter{\csname @#1\endcsname}
+\else
+ \@append{&}\to\tabular@text
+ \@append{\csname @#1\endcsname}\to\tabular@text
+\skotfi
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% append@tabular@head
+%
+% appends command to the end of \tabular@text@head
+% NOTE: command MUST be a command but without the \
+% Eg. \append@tabular@head{relax}
+%
+% used to define \tabular@head for the tabular environment
+% used by the position environment
+%
+\def\append@tabular@head#1{%
+ \ifnum\the\c@numberofcolumns=0\relax
+ \else
+ \iftoks\tabular@head\undefined@token\then
+ \relax
+ \else
+ \@append{\noexpand\\}\to\tabular@head
+ \@append{\noexpand\penalty-\@secpenalty}\to\tabular@head
+ \skotfi
+ \@append{\noexpand\begin{ncolumn}}\to\tabular@head
+ \@append{\expandafter{\the\c@numberofcolumns}}\to\tabular@head
+ \@append{\the\csname#1\endcsname}\to\tabular@head
+ \@append{\noexpand\end{ncolumn}}\to\tabular@head
+ \fi
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% append@tabular@tail
+%
+% appends command to the end of \tabular@text@htail
+% NOTE: command MUST be a command but without the \
+% Eg. \append@tabular@tail{relax}
+%
+% used to define \tabular@tail for the tabular environment
+% used by the position environment
+%
+\def\append@tabular@tail#1{%
+ \ifnum\the\c@numberofcolumns=0\relax
+ \else
+ \iftoks\tabular@tail\undefined@token\then
+ \else
+ \@append{\noexpand\\}\to\tabular@tail
+ \@append{\noexpand\penalty-\@secpenalty}\to\tabular@tail
+ \skotfi
+ \@append{\noexpand\begin{ncolumn}}\to\tabular@tail
+ \@append{\expandafter{\the\c@numberofcolumns}}\to\tabular@tail
+ \@append{\the\csname#1\endcsname}\to\tabular@tail
+ \@append{\noexpand\end{ncolumn}}\to\tabular@tail
+ \fi
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% put the actual job descriptions here
+% \begin{postion} ... \end{position}
+% in the ... describe the position.
+% don't put the \dates \location etc in here. define them before hand
+\newenvironment{position}%
+ {%
+ \begingroup
+ \par
+ \the\tabular@head
+% \addpenalty{-\@secpenalty}% bad place for a page break
+ \penalty -\@secpenalty % bad place for a page break
+ \penalty 10000
+ \ignorespaces
+ }{%
+ \the\tabular@tail
+% \addpenalty{\@secpenalty}% good place for a page break
+ \penalty \@secpenalty % good place for a page break
+ \endgroup
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% DEFAULTS: (the rest of them)
+%
+% centered name
+% overlapped section titles
+%
+% format is:
+% title employer
+% location dates
+% body
+% with everything in the left of its column
+
+\@secpenalty = -500
+\topmargin 0pt
+\headheight 0pt
+\headsep 0pt
+\textheight 9in
+\parindent 0pt
+\topmargin 0in
+\oddsidemargin 0pt
+\evensidemargin 0pt
+\marginparwidth 0pt
+\parindent 0pt
+\parskip \baselineskip
+\setcounter{secnumdepth}{0}
+\def\@listI{\leftmargin\leftmargini
+\topsep 0pt
+\parskip 0pt
+\partopsep 2pt plus 2pt
+\parsep 2pt plus 2pt
+\itemsep \parsep}
+
+\pagestyle{empty} % don't want page numbers
+
+\begin{format}
+\title{l}\employer{r}\\
+\location{l}\dates{r}\\
+\body\\
+\end{format}
+
+\let\section\@@section
diff --git a/public/templates/template7/collection.sty b/public/templates/template7/collection.sty
index a4067bde..c4a937e7 100644
--- a/public/templates/template7/collection.sty
+++ b/public/templates/template7/collection.sty
@@ -1,85 +1,85 @@
-%% start of file `collection.sty'.
-%% Copyright 2013-2013 Xavier Danaux (xdanaux@gmail.com).
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License version 1.3c,
-% available at http://www.latex-project.org/lppl/.
-
-
-%-------------------------------------------------------------------------------
-% identification
-%-------------------------------------------------------------------------------
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{collection}[2013/03/28 v1.0.0 collections]
-
-
-%-------------------------------------------------------------------------------
-% requirements
-%-------------------------------------------------------------------------------
-
-
-\RequirePackage{ifthen}
-
-
-%-------------------------------------------------------------------------------
-% code
-%-------------------------------------------------------------------------------
-
-% creates a new collection
-% usage: \collectionnew{}
-\newcommand*{\collectionnew}[1]{%
- \newcounter{collection@#1@count}}
-
-% adds an item to a collection
-% usage: \collectionadd[]{}{- }
-\newcommand*{\collectionadd}[3][]{%
- \expandafter\def\csname collection@#2@item\roman{collection@#2@count}\endcsname{#3}%
- \if\relax\noexpand#1\relax% if #1 is empty
- \else\expandafter\def\csname collection@#2@key\roman{collection@#2@count}\endcsname{#1}\fi%
- \stepcounter{collection@#2@count}}
-
-% returns the number of items in a collection
-% usage: \collectioncount{}
-\newcommand*{\collectioncount}[1]{%
- \value{collection@#1@count}}
-
-% gets an item from a collection
-% usage: \collectiongetitem{}{}
-% where is an integer between 0 and (collectioncount-1)
-\newcommand*{\collectiongetitem}[2]{%
- \csname collection@#1@item\romannumeral #2\endcsname}
-
-% gets a key from a collection
-% usage: \collectiongetkey{}{}
-% where is an integer between 0 and (collectioncount-1)
-\newcommand*{\collectiongetkey}[2]{%
- \csname collection@#1@key\romannumeral #2\endcsname}
-
-% loops through a collection and perform the given operation on every element
-% usage: \collectionloop{}{}
-% where is the code sequence to be evaluated for each collection item,
-% code which can refer to \collectionloopid, \collectionloopkey, \collectionloopitem and
-% \collectionloopbreak
-\newcounter{collection@iterator}
-\newcommand*{\collectionloopbreak}{\let\iterate\relax}
-\newcommand*{\collectionloop}[2]{%
- \setcounter{collection@iterator}{0}%
- \loop\ifnum\value{collection@iterator}<\value{collection@#1@count}%
- \def\collectionloopid{\arabic{collection@iterator}}%
- \def\collectionloopitem{\collectiongetitem{#1}{\collectionloopid}}%
- \def\collectionloopkey{\collectiongetkey{#1}{\collectionloopid}}%
- #2%
- \stepcounter{collection@iterator}%
- \repeat}
-
-% loops through a collection and finds the (first) element matching the given key
-% usage: \collectionfindbykey{}{key>}
-\newcommand*{\collectionfindbykey}[2]{%
- \collectionloop{#1}{%
- \ifthenelse{\equal{\collectionloopkey}{#2}}{\collectionloopitem\collectionloopbreak}{}}}
-
-
-\endinput
-
-
+%% start of file `collection.sty'.
+%% Copyright 2013-2013 Xavier Danaux (xdanaux@gmail.com).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+% identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{collection}[2013/03/28 v1.0.0 collections]
+
+
+%-------------------------------------------------------------------------------
+% requirements
+%-------------------------------------------------------------------------------
+
+
+\RequirePackage{ifthen}
+
+
+%-------------------------------------------------------------------------------
+% code
+%-------------------------------------------------------------------------------
+
+% creates a new collection
+% usage: \collectionnew{}
+\newcommand*{\collectionnew}[1]{%
+ \newcounter{collection@#1@count}}
+
+% adds an item to a collection
+% usage: \collectionadd[]{}{
- }
+\newcommand*{\collectionadd}[3][]{%
+ \expandafter\def\csname collection@#2@item\roman{collection@#2@count}\endcsname{#3}%
+ \if\relax\noexpand#1\relax% if #1 is empty
+ \else\expandafter\def\csname collection@#2@key\roman{collection@#2@count}\endcsname{#1}\fi%
+ \stepcounter{collection@#2@count}}
+
+% returns the number of items in a collection
+% usage: \collectioncount{}
+\newcommand*{\collectioncount}[1]{%
+ \value{collection@#1@count}}
+
+% gets an item from a collection
+% usage: \collectiongetitem{}{}
+% where is an integer between 0 and (collectioncount-1)
+\newcommand*{\collectiongetitem}[2]{%
+ \csname collection@#1@item\romannumeral #2\endcsname}
+
+% gets a key from a collection
+% usage: \collectiongetkey{}{}
+% where is an integer between 0 and (collectioncount-1)
+\newcommand*{\collectiongetkey}[2]{%
+ \csname collection@#1@key\romannumeral #2\endcsname}
+
+% loops through a collection and perform the given operation on every element
+% usage: \collectionloop{}{}
+% where is the code sequence to be evaluated for each collection item,
+% code which can refer to \collectionloopid, \collectionloopkey, \collectionloopitem and
+% \collectionloopbreak
+\newcounter{collection@iterator}
+\newcommand*{\collectionloopbreak}{\let\iterate\relax}
+\newcommand*{\collectionloop}[2]{%
+ \setcounter{collection@iterator}{0}%
+ \loop\ifnum\value{collection@iterator}<\value{collection@#1@count}%
+ \def\collectionloopid{\arabic{collection@iterator}}%
+ \def\collectionloopitem{\collectiongetitem{#1}{\collectionloopid}}%
+ \def\collectionloopkey{\collectiongetkey{#1}{\collectionloopid}}%
+ #2%
+ \stepcounter{collection@iterator}%
+ \repeat}
+
+% loops through a collection and finds the (first) element matching the given key
+% usage: \collectionfindbykey{}{key>}
+\newcommand*{\collectionfindbykey}[2]{%
+ \collectionloop{#1}{%
+ \ifthenelse{\equal{\collectionloopkey}{#2}}{\collectionloopitem\collectionloopbreak}{}}}
+
+
+\endinput
+
+
%% end of file `collection.cls'.
\ No newline at end of file
diff --git a/public/templates/template7/moderncv.cls b/public/templates/template7/moderncv.cls
index ea12f1b2..81be7d0f 100644
--- a/public/templates/template7/moderncv.cls
+++ b/public/templates/template7/moderncv.cls
@@ -1,582 +1,582 @@
-%% start of file `moderncv.cls'.
-%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License version 1.3c,
-% available at http://www.latex-project.org/lppl/.
-
-
-%-------------------------------------------------------------------------------
-% identification
-%-------------------------------------------------------------------------------
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{moderncv}[2013/02/09 v1.3.0 modern curriculum vitae and letter document class]
-
-
-%-------------------------------------------------------------------------------
-% class options
-%
-% (need to be done before the external package loading, for example because
-% we need \paperwidth, \paperheight and \@ptsize to be defined before loading
-% geometry and fancyhdr)
-%-------------------------------------------------------------------------------
-% paper size option
-\DeclareOption{a4paper}{
- \setlength\paperheight{297mm}
- \setlength\paperwidth{210mm}}
-\DeclareOption{a5paper}{
- \setlength\paperheight{210mm}
- \setlength\paperwidth{148mm}}
-\DeclareOption{b5paper}{
- \setlength\paperheight{250mm}
- \setlength\paperwidth{176mm}}
-\DeclareOption{letterpaper}{
- \setlength\paperheight{11in}
- \setlength\paperwidth{8.5in}}
-\DeclareOption{legalpaper}{
- \setlength\paperheight{14in}
- \setlength\paperwidth{8.5in}}
-\DeclareOption{executivepaper}{
- \setlength\paperheight{10.5in}
- \setlength\paperwidth{7.25in}}
-\DeclareOption{landscape}{
- \setlength\@tempdima{\paperheight}
- \setlength\paperheight{\paperwidth}
- \setlength\paperwidth{\@tempdima}}
-
-% font size options
-\newcommand\@ptsize{}
-\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
-\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
-\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
-
-% font type options
-\DeclareOption{sans}{\AtBeginDocument{\renewcommand{\familydefault}{\sfdefault}}}
-\DeclareOption{roman}{\AtBeginDocument{\renewcommand{\familydefault}{\rmdefault}}}
-
-% draft/final option
-\DeclareOption{draft}{\setlength\overfullrule{5pt}}
-\DeclareOption{final}{\setlength\overfullrule{0pt}}
-
-% execute default options
-\ExecuteOptions{a4paper,11pt,final}
-
-% process given options
-\ProcessOptions\relax
-\input{size1\@ptsize.clo}
-
-
-%-------------------------------------------------------------------------------
-% required packages
-%-------------------------------------------------------------------------------
-% \AtEndPreamble hook (loading etoolbox instead of defining the macro, as to avoid incompatibilities with etoolbox (and packages relying on it) defining the macro too)
-\RequirePackage{etoolbox}
-%\let\@endpreamblehook\@empty
-%\def\AtEndPreamble{\g@addto@macro\@endpreamblehook}
-%\let\document@original\document
-%\def\document{\endgroup\@endpreamblehook\begingroup\document@original}
-
-% if... then... else... constructs
-\RequirePackage{ifthen}
-% TODO: move to xifthen and \isempty{} instead of \equal{}{}
-
-% color
-\RequirePackage{xcolor}
-
-% font loading
-%\RequirePackage{ifxetex,ifluatex}
-%\newif\ifxetexorluatex
-%\ifxetex
-% \xetexorluatextrue
-%\else
-% \ifluatex
-% \xetexorluatextrue
-% \else
-% \xetexorluatexfalse
-% \fi
-%\fi
-% automatic loading of latin modern fonts
-%\ifxetexorluatex
-% \RequirePackage{fontspec}
-% \defaultfontfeatures{Ligatures=TeX}
-% \RequirePackage{unicode-math}
-% \setmainfont{Latin Modern}
-% \setsansfont{Latin Modern Sans}
-% \setmathfont{Latin Modern Math}
-%\else
- \RequirePackage[T1]{fontenc}
- \IfFileExists{lmodern.sty}%
- {\RequirePackage{lmodern}}%
- {}
-%\fi
-
-% hyper links (hyperref is loaded at the end of the preamble to pass options required by loaded packages such as CJK)
-\newcommand*\pdfpagemode{UseNone}% do not show thumbnails or bookmarks on opening (on supporting browsers); set \pdfpagemode to "UseOutlines" to show bookmarks
-\RequirePackage{url}
-\urlstyle{tt}
-\AtEndPreamble{
- \pagenumbering{arabic}% has to be issued before loading hyperref, as to set \thepage and hence to avoid hyperref issuing a warning and setting pdfpagelabels=false
- \RequirePackage[unicode]{hyperref}% unicode is required for unicode pdf metadata
- \hypersetup{
- breaklinks,
- baseurl = http://,
- pdfborder = 0 0 0,
- pdfpagemode = \pdfpagemode,
- pdfstartpage = 1,
- pdfcreator = {\LaTeX{} with 'moderncv' package},
-% pdfproducer = {\LaTeX{}},% will/should be set automatically to the correct TeX engine used
- bookmarksopen = true,
- bookmarksdepth= 2,% to show sections and subsections
- pdfauthor = {\@firstname{}~\@lastname{}},
- pdftitle = {\@firstname{}~\@lastname{} -- \@title{}},
- pdfsubject = {Resum\'{e} of \@firstname{}~\@lastname{}},
- pdfkeywords = {\@firstname{}~\@lastname{}, curriculum vit\ae{}, resum\'{e}}}}
-
-% graphics
-\RequirePackage{graphicx}
-
-% headers and footers
-\RequirePackage{fancyhdr}
-\fancypagestyle{plain}{
- \renewcommand{\headrulewidth}{0pt}
- \renewcommand{\footrulewidth}{0pt}
- \fancyhf{}}
-% page numbers in footer if more than 1 page
-\newif\if@displaypagenumbers\@displaypagenumberstrue
-\newcommand*{\nopagenumbers}{\@displaypagenumbersfalse}
-\AtEndPreamble{%
- \AtBeginDocument{%
- \if@displaypagenumbers%
- \@ifundefined{r@lastpage}{}{%
- \ifthenelse{\pageref{lastpage}>1}{%
- \newlength{\pagenumberwidth}%
- \settowidth{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}%
- \fancypagestyle{plain}{%
- \fancyfoot[r]{\parbox[b]{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\pageref{lastpage}}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
- \pagestyle{plain}}{}}%
- \AtEndDocument{\label{lastpage}}\else\fi}}
-\pagestyle{plain}
-
-% reduced list spacing
-% package providing hooks into lists
-% originally developped by Jakob Schiøtz (see http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/tweaklist.sty)
-% modified and distributed with moderncv(not available otherwise on ctan)
-\RequirePackage{tweaklist}
-\renewcommand*{\itemhook}{%
- \@minipagetrue% removes spacing before lists as they use \addvspace, which doesn't add vertical space inside minipages
- \@noparlisttrue% removes spacing at end of lists, caused by \par
- \setlength{\topsep}{0pt}% normally not required thanks to \@minipagetrue
- \setlength{\partopsep}{0pt}% normally not required thanks to \@minipagetrue
- \setlength{\parsep}{0pt}% not required when \itemsep and \parskip are set to 0pt (?)
- \setlength{\parskip}{0pt}%
- \setlength{\itemsep}{0pt}}
-\renewcommand*{\enumhook}{\itemhook{}}
-\renewcommand*{\deschook}{\itemhook{}}
-
-% lengths calculations
-\RequirePackage{calc}
-
-% advanced command arguments (LaTeX 3)
-\RequirePackage{xparse}
-% TODO (?): replace all \newcommand by \NewDocumentCommand
-
-% micro-typography (e.g., character protrusion, font expansion, hyphenatable letterspacing)
-\RequirePackage{microtype}
-
-% compatibility package with older versions of moderncv
-\RequirePackageWithOptions{moderncvcompatibility}
-
-
-%-------------------------------------------------------------------------------
-% class definition
-%-------------------------------------------------------------------------------
-% minimal base settings
-\setlength\lineskip{1\p@}
-\setlength\normallineskip{1\p@}
-\renewcommand\baselinestretch{}
-\setlength{\parindent}{0\p@}
-\setlength{\parskip}{0\p@}
-\setlength\columnsep{10\p@}
-\setlength\columnseprule{0\p@}
-\setlength\fboxsep{3\p@}
-\setlength\fboxrule{.4\p@}
-\setlength\arrayrulewidth{.4\p@}
-\setlength\doublerulesep{2\p@}
-
-% not set on purpose
-%\setlength\arraycolsep{5\p@}
-%\setlength\tabcolsep{6\p@}
-%\setlength\tabbingsep{\labelsep}
-
-\raggedbottom
-\onecolumn
-
-
-%-------------------------------------------------------------------------------
-% overall design commands definitions
-%-------------------------------------------------------------------------------
-% elements
-% defines one's name
-% usage: \name{}{}
-\newcommand*{\name}[2]{\def\@firstname{#1}\def\@lastname{#2}}
-% defines one's title (optional)
-% usage: \title{}
-\renewcommand*{\title}[1]{\def\@title{#1}}
-% defines one's address (optional)
-% usage: \address{}{}{}
-% where the and arguments can be omitted or provided empty
-\NewDocumentCommand{\address}{mG{}G{}}{\def\@addressstreet{#1}\def\@addresscity{#2}\def\@addresscountry{#3}}
-% adds a mobile/fixed/fax number to one's personal information (optional)
-% usage: \phone[]{}
-% where should be either "mobile", "fixed" or "fax
-\RequirePackage{collection}
-\collectionnew{phones}
-\newcommand*{\phone}[2][fixed]{\collectionadd[#1]{phones}{#2}}
-\newcommand*{\email}[1]{\def\@email{#1}}
-% defines one's home page (optional)
-% usage: \homepage{}
-\newcommand*{\homepage}[1]{\def\@homepage{#1}}
-% defines additional personal information (optional)
-% usage: \extrainfo{}
-\newcommand*{\extrainfo}[1]{\def\@extrainfo{#1}}
-
-% colors
-\definecolor{color0}{rgb}{0,0,0}% main default color, normally left to black
-\definecolor{color1}{rgb}{0,0,0}% primary theme color
-\definecolor{color2}{rgb}{0,0,0}% secondary theme color
-\definecolor{color3}{rgb}{0,0,0}% tertiary theme color
-
-% symbols
-% itemize labels (the struts were added to correct inter-item spacing (works for single line items, until a solution is found for multi-line ones...)
-\newcommand*{\labelitemi}{\strut\textcolor{color1}{\large\rmfamily\textbullet}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
-\newcommand*{\labelitemii}{\strut\textcolor{color1}{\large\bfseries-}}
-\newcommand*{\labelitemiii}{\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% alternative: \textasteriskcentered; the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
-\newcommand*{\labelitemiv}{\labelitemiii}
-% enumerate labels
-\renewcommand{\theenumi}{\@arabic\c@enumi}
-\renewcommand{\theenumii}{\@alph\c@enumii}
-\renewcommand{\theenumiii}{\@roman\c@enumiii}
-\renewcommand{\theenumiv}{\@Alph\c@enumiv}
-% other symbols
-\newcommand*{\listitemsymbol}{\labelitemi~}
-\newcommand*{\addresssymbol}{}
-\newcommand*{\mobilephonesymbol}{}
-\newcommand*{\fixedphonesymbol}{}
-\newcommand*{\faxphonesymbol}{}
-\newcommand*{\emailsymbol}{}
-\newcommand*{\homepagesymbol}{}
-
-% fonts
-\AtBeginDocument{\normalfont\color{color0}}
-
-% strings for internationalisation
-\newcommand*{\refname}{Publications}
-\newcommand*{\enclname}{Enclosure}
-
-% makes the footer (normally used both for the resume and the letter)
-% usage: \makefooter
-\newcommand*{\makefooter}{}%
-
-% loads a style variant
-% usage: \moderncvstyle{