diff --git a/.bowerrc b/.bowerrc deleted file mode 100644 index 3c5e8c33..00000000 --- a/.bowerrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "directory" : "vendor" -} diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..9b14ae0d --- /dev/null +++ b/.env.example @@ -0,0 +1,3 @@ +GITHUB_APP_ID= +GITHUB_APP_PRIVATE_KEY= +GITHUB_INSTALLATION_ID= diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 00000000..bffb357a --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "next/core-web-vitals" +} diff --git a/.github/workflows/preview-community.yaml b/.github/workflows/preview-community.yaml new file mode 100644 index 00000000..3e65c101 --- /dev/null +++ b/.github/workflows/preview-community.yaml @@ -0,0 +1,21 @@ +name: Vercel Preview Community Deployment +env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.PREVIEW_VERCEL_PROJECT_ID }} +on: + push: + branches: + - production +jobs: + Deploy-Production: + runs-on: + labels: ubuntu-latest + steps: + - name: Checkout the Codebase + uses: actions/checkout@v4 + - name: Install Vercel CLI + run: npm install --global vercel@latest + - name: Deploy on Vercel + id: deploy + run: | + vercel deploy --prod --token=${{ secrets.VERCEL_ACCESS_TOKEN }} diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml new file mode 100644 index 00000000..560153e8 --- /dev/null +++ b/.github/workflows/preview.yaml @@ -0,0 +1,90 @@ +name: Vercel Preview Deployment +env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} +on: + push: + branches-ignore: + - master + - production +jobs: + Deploy-Preview: + runs-on: + labels: ubuntu-latest + environment: preview + outputs: + deploymentUrl: ${{ steps.deploy.outputs.deploymentUrl }} + steps: + - name: Checkout the Codebase + uses: actions/checkout@v4 + - name: Install Vercel CLI + run: npm install --global vercel@latest + - name: Deploy on Vercel + id: deploy + run: | + vercel deploy --token=${{ secrets.VERCEL_ACCESS_TOKEN }} > deploy.log + URL=$(cat deploy.log | grep -o 'https://[^ ]*.vercel.app' | head -n1) + echo "deploymentUrl=$URL" >> $GITHUB_OUTPUT + - name: Extract branch name + shell: bash + run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT + id: extract_branch + - name: Assign Custom Domain + if: ${{ steps.extract_branch.outputs.branch == 'remove-basepath-2' }} + run: | + vercel alias set --token=${{ secrets.VERCEL_ACCESS_TOKEN }} ${{ steps.deploy.outputs.deploymentUrl }} ab-test-next-jwt-io.vercel.app --scope=okta + + Add-Comment: + runs-on: + labels: ubuntu-latest + needs: Deploy-Preview + permissions: + issues: write + pull-requests: write + steps: + - name: Comment URL to PR + uses: actions/github-script@v6 + id: comment-deployment-url-script + env: + DEPLOYMENT_URL: ${{ needs.Deploy-Preview.outputs.deploymentUrl }} + with: + script: | + // Get pull requests that are open for current ref. + const pullRequests = await github.rest.pulls.list({ + owner: context.repo.owner, + repo: context.repo.repo, + state: 'open', + head: `${context.repo.owner}:${context.ref.replace('refs/heads/', '')}` + }) + + // Set issue number for following calls from context (if on pull request event) or from above variable. + const issueNumber = context.issue.number || pullRequests.data[0].number + + // Retrieve existing bot comments for the PR + const {data: comments} = await github.rest.issues.listComments({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber, + }) + const botComment = comments.find(comment => { + return comment.user.type === 'Bot' && comment.body.includes('Preview URL at') + }) + + const output = "Preview URL " + process.env.DEPLOYMENT_URL + + // If we have a comment, update it, otherwise create a new one + if (botComment) { + github.rest.issues.updateComment({ + owner: context.repo.owner, + repo: context.repo.repo, + comment_id: botComment.id, + body: output + }) + } else { + github.rest.issues.createComment({ + issue_number: issueNumber, + owner: context.repo.owner, + repo: context.repo.repo, + body: output + }) + } diff --git a/.github/workflows/production.yaml b/.github/workflows/production.yaml new file mode 100644 index 00000000..371423c2 --- /dev/null +++ b/.github/workflows/production.yaml @@ -0,0 +1,22 @@ +name: Vercel Production Deployment +env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} +on: + push: + branches: + - master + - production +jobs: + Deploy-Production: + runs-on: + labels: ubuntu-latest + steps: + - name: Checkout the Codebase + uses: actions/checkout@v4 + - name: Install Vercel CLI + run: npm install --global vercel@latest + - name: Deploy on Vercel + id: deploy + run: | + vercel deploy --prod --token=${{ secrets.VERCEL_ACCESS_TOKEN }} diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml new file mode 100644 index 00000000..cf1dbb7b --- /dev/null +++ b/.github/workflows/semgrep.yml @@ -0,0 +1,19 @@ +name: Semgrep + +on: + pull_request_target: {} + push: + branches: ["master", "main"] +jobs: + semgrep: + name: Scan + runs-on: + labels: ubuntu-latest + container: + image: returntocorp/semgrep + if: (github.actor != 'dependabot[bot]' && github.actor != 'snyk-bot') + steps: + - uses: actions/checkout@v3 + - run: semgrep ci + env: + SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }} diff --git a/.gitignore b/.gitignore index 57ef1487..92e1e2fc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,428 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +**/.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 +**/.vercel + +.npmrc +**/.npmrc + + +# Created by https://www.toptal.com/developers/gitignore/api/macos,windows,visualstudiocode,webstorm,intellij,node +# Edit at https://www.toptal.com/developers/gitignore?templates=macos,windows,visualstudiocode,webstorm,intellij,node + +### Intellij ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# AWS User-specific +.idea/**/aws.xml + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### Intellij Patch ### +# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 + +# *.iml +# modules.xml +# .idea/misc.xml +# *.ipr + +# Sonarlint plugin +# https://plugins.jetbrains.com/plugin/7973-sonarlint +.idea/**/sonarlint/ + +# SonarQube Plugin +# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin +.idea/**/sonarIssues.xml + +# Markdown Navigator plugin +# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced +.idea/**/markdown-navigator.xml +.idea/**/markdown-navigator-enh.xml +.idea/**/markdown-navigator/ + +# Cache file creation bug +# See https://youtrack.jetbrains.com/issue/JBR-2257 +.idea/$CACHE_FILE$ + +# CodeStream plugin +# https://plugins.jetbrains.com/plugin/12206-codestream +.idea/codestream.xml + +### macOS ### +# General +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### Node ### +# Logs +logs +*.log +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) bower_components -node_modules -vendor -.tmp -/css + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +### VisualStudioCode ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +### WebStorm ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff + +# AWS User-specific + +# Generated files + +# Sensitive or high-churn files + +# Gradle + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake + +# Mongo Explorer plugin + +# File-based project format + +# IntelliJ + +# mpeltonen/sbt-idea plugin + +# JIRA plugin + +# Cursive Clojure plugin + +# Crashlytics plugin (for Android Studio and IntelliJ) + +# Editor-based Rest Client + +# Android studio 3.1+ serialized cache file + +### WebStorm Patch ### +# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 + +# *.iml +# modules.xml +# .idea/misc.xml +# *.ipr + +# Sonarlint plugin +# https://plugins.jetbrains.com/plugin/7973-sonarlint + +# SonarQube Plugin +# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin + +# Markdown Navigator plugin +# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced + +# Cache file creation bug +# See https://youtrack.jetbrains.com/issue/JBR-2257 + +# CodeStream plugin +# https://plugins.jetbrains.com/plugin/12206-codestream + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk +.idea +./urls.json +/urls.json +/code-samples-pages-urls.json +/full-stack-code-samples-pages-urls.json +/apps/hub/e2e/data/code-samples-pages.json +/apps/hub/e2e/data/full-stack-code-samples-pages.json +/apps/hub/e2e/data/labs-pages.json +/apps/hub/e2e/data/guides-pages.json +/apps/hub/e2e/data/get-started-pages.json +/apps/hub/public/sitemap.xml + +# Prisma Generated Output +/prisma/generated* + +/rebrandly.json + +prisma/dev.db +libraries.json +/test-results/ +/playwright-report/ +/blob-report/ +/playwright/.cache/ diff --git a/.jshintrc b/.jshintrc deleted file mode 100644 index 365c5662..00000000 --- a/.jshintrc +++ /dev/null @@ -1,42 +0,0 @@ -{ - "node": true, - "esnext": true, - "bitwise": true, - "curly": true, - "eqeqeq": true, - "immed": true, - "indent": 2, - "latedef": true, - "newcap": true, - "noarg": true, - "quotmark": "single", - "regexp": true, - "undef": true, - "strict": false, - "smarttabs": true, - "expr": true, - - - "evil": true, - "browser": true, - "regexdash": true, - "wsh": true, - "trailing": true, - "sub": true, - "unused": true, - "laxcomma": true, - - "globals": { - "after": false, - "before": false, - "afterEach": false, - "beforeEach": false, - "describe": false, - "it": false, - "define": false, - "CodeMirror": false, - "KJUR": false, - "$": false, - "expect": false - } -} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index da35139e..00000000 --- a/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: node_js -node_js: - - "0.10" -before_script: - - echo "Host github.com" >> ~/.ssh/config - - echo " StrictHostKeyChecking no" >> ~/.ssh/config - - echo " CheckHostIP no" >> ~/.ssh/config - - npm install -g bower grunt-cli - - bower install -f diff --git a/CNAME b/CNAME deleted file mode 100644 index 78950d28..00000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -jwt.io diff --git a/Gruntfile.js b/Gruntfile.js deleted file mode 100644 index 6436ddd1..00000000 --- a/Gruntfile.js +++ /dev/null @@ -1,63 +0,0 @@ -module.exports = function (grunt) { - require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); - - grunt.initConfig({ - clean: [ - 'dist/' - ], - watch: { - min: { - options: { - livereload: true - }, - files: ['Gruntfile.js', 'js/**/*.js', 'less/**/*.less', 'html/index.html'], - tasks: ['build'] - } - }, - connect: { - dev: { - options: { - hostname: '0.0.0.0', - livereload: true, - protocol: 'http', - passphrase: '' - } - }, - }, - less: { - production: { - options: { - cleancss: true - }, - files: { - 'css/app.css': 'less/app.less' - } - } - }, - useminPrepare: { - html: 'html/index.html', - options: { - root: '.', - dest: '.' - } - }, - usemin: { - html: 'index.html', - options: { - assetsDir: ['dist/'] - } - }, - htmlmin: { - dist: { - files: { 'index.html': 'html/index.html' } - } - }, - mocha_phantomjs: { - all: ['test/**/*.html'] - } - }); - - grunt.registerTask('build', ['clean', 'less', 'useminPrepare', 'concat', 'uglify', 'cssmin', 'htmlmin', 'usemin']); - grunt.registerTask('test', ['build', 'mocha_phantomjs']); - grunt.registerTask('default', ['build', 'connect', 'watch']); -}; diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index 5fd32c57..00000000 --- a/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013-2014 Auth0 Inc. - -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 52b11419..c4845619 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,64 @@ -##JWT.io +This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). - +## Getting Started -[![Build Status](https://travis-ci.org/jsonwebtoken/jsonwebtoken.github.io.png?branch=master)](https://travis-ci.org/jsonwebtoken/jsonwebtoken.github.io) +First, run the development server: -### How to build +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +# or +bun dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. + +## Generate Data for Libraries page + +First, create a GitHub Application. -> Warning: `index.html` in the root folder is a generated file please edit `html/index.html`. +Generate a private key for the GitHub application. -First, install the required dependencies: +Install the application. -```sh -npm install && bower install +Generate a `.env` file based on the `.env.example` file: + +```bash +cp .env.example .env ``` -In order to build (and run) the project execute: +Then, you'll need to add the values with your private key, app id and installation id into the `.env`file: -```sh -grunt +```bash +GITHUB_APP_ID= +GITHUB_APP_PRIVATE_KEY= +GITHUB_INSTALLATION_ID= ``` -And then go to http://0.0.0.0:8000. +Run the `libraries.js` script to generate the `libraries.json` file: + +```bash +node libraries.js +``` + +## Learn More + +To learn more about Next.js, take a look at the following resources: -That will create the css from the less files, minify the javascript and generate `index.html` from `html/index.html`. +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! -### Happy hacking! +## Deploy on Vercel +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/bower.json b/bower.json deleted file mode 100644 index fa021f30..00000000 --- a/bower.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "jwt.io", - "version": "0.0.1", - "dependencies": { - "jsrsasign": "http://kjur.github.io/jsrsasign/jsrsasign-4.1.4-all-min.js", - "json-sans-eval-min": "http://kjur.github.io/jsjws/ext/json-sans-eval-min.js", - "codemirror": "https://github.com/marijnh/CodeMirror.git#4.0.1", - "jws.js": "http://rawgithub.com/kjur/jsjws/master/jws-3.0.js", - "auth0-styleguide": "https://github.com/auth0/styleguide.git#~0.6.6", - "jsonlint": "1.6.0", - "zepto": "1.1.3" - } -} diff --git a/dist/css/app.css b/dist/css/app.css deleted file mode 100644 index c8165837..00000000 --- a/dist/css/app.css +++ /dev/null @@ -1,3293 +0,0 @@ -@charset "UTF-8";.CodeMirror{height:300px}.CodeMirror-scroll{overflow:auto}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror div.CodeMirror-cursor{border-left:1px solid #000}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor{width:auto;border:0;background:#7e7}.cm-tab{display:inline-block}.CodeMirror-ruler{border-left:1px solid #ccc;position:absolute}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable{color:#000}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-operator,.cm-s-default .cm-property{color:#000}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-invalidchar,.cm-s-default .cm-error{color:red}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{line-height:1;position:relative;overflow:hidden;background:#fff;color:#000}.CodeMirror-scroll{margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:0;position:relative;-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-sizer{position:relative;border-right:30px solid transparent;-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;padding-bottom:30px;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;-moz-box-sizing:content-box;box-sizing:content-box;padding-bottom:30px;margin-bottom:-32px;display:inline-block;*zoom:1;*display:inline}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-lines{cursor:text}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;overflow:auto}.CodeMirror-wrap .CodeMirror-scroll{overflow-x:hidden}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-measure pre{position:static}.CodeMirror div.CodeMirror-cursor{position:absolute;border-right:none;width:0}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:1}.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.cm-searching{background:#ffa;background:rgba(255,255,0,.4)}.CodeMirror span{*vertical-align:text-bottom}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.CodeMirror-lint-markers{width:16px}.CodeMirror-lint-tooltip{background-color:infobackground;border:1px solid #000;border-radius:4px;color:infotext;font-family:monospace;font-size:10pt;overflow:hidden;padding:2px 5px;position:fixed;white-space:pre;white-space:pre-wrap;z-index:100;max-width:600px;opacity:0;transition:opacity .4s;-moz-transition:opacity .4s;-webkit-transition:opacity .4s;-o-transition:opacity .4s;-ms-transition:opacity .4s}.CodeMirror-lint-mark-error,.CodeMirror-lint-mark-warning{background-position:left bottom;background-repeat:repeat-x}.CodeMirror-lint-mark-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDw4cOCW1/KIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg==)}.CodeMirror-lint-mark-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=)}.CodeMirror-lint-marker-error,.CodeMirror-lint-marker-warning{background-position:center center;background-repeat:no-repeat;cursor:pointer;display:inline-block;height:16px;width:16px;vertical-align:middle;position:relative}.CodeMirror-lint-message-error,.CodeMirror-lint-message-warning{padding-left:18px;background-position:top left;background-repeat:no-repeat}.CodeMirror-lint-marker-error,.CodeMirror-lint-message-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII=)}.CodeMirror-lint-marker-warning,.CodeMirror-lint-message-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=)}.CodeMirror-lint-marker-multiple{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:right bottom;width:100%;height:100%}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(http://github.com/fonts/glyphicons-halflings-regular.eot);src:url(http://github.com/fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(http://github.com/fonts/glyphicons-halflings-regular.woff) format('woff'),url(http://github.com/fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(http://github.com/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:focus,a:hover{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}cite{font-style:normal}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}blockquote:after,blockquote:before{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{display:block;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{line-height:34px;line-height:1.42857143 \0}input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.form-horizontal .form-group-sm .form-control,.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-horizontal .form-group-lg .form-control,.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active:focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn:focus,.btn-group>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{position:absolute;z-index:-1;filter:alpha(opacity=0);opacity:0}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#428bca;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.nav-pills>.active>a>.badge,a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{min-width:30px;color:#777;background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,.15)50%,rgba(255,255,255,.15)75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate3d(0,-25%,0);-o-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0)}.modal.in .modal-dialog{-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5)0,rgba(0,0,0,.0001)100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5)0,rgba(0,0,0,.0001)100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5)0,rgba(0,0,0,.0001)100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001)0,rgba(0,0,0,.5)100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001)0,rgba(0,0,0,.5)100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001)0,rgba(0,0,0,.5)100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-print,.visible-print-block,.visible-print-inline,.visible-print-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}@media print{.visible-print-block{display:block!important}}@media print{.visible-print-inline{display:inline!important}}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes bounce{0%,100%,20%,50%,80%{-webkit-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);transform:translateY(-15px)}}@keyframes bounce{0%,100%,20%,50%,80%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);-ms-transform:translateY(-15px);transform:translateY(-15px)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce}@-webkit-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes pulse{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}100%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scale(1);transform:scale(1)}30%{-webkit-transform:scaleX(1.25) scaleY(0.75);transform:scaleX(1.25) scaleY(0.75)}40%{-webkit-transform:scaleX(0.75) scaleY(1.25);transform:scaleX(0.75) scaleY(1.25)}60%{-webkit-transform:scaleX(1.15) scaleY(0.85);transform:scaleX(1.15) scaleY(0.85)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes rubberBand{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}30%{-webkit-transform:scaleX(1.25) scaleY(0.75);-ms-transform:scaleX(1.25) scaleY(0.75);transform:scaleX(1.25) scaleY(0.75)}40%{-webkit-transform:scaleX(0.75) scaleY(1.25);-ms-transform:scaleX(0.75) scaleY(1.25);transform:scaleX(0.75) scaleY(1.25)}60%{-webkit-transform:scaleX(1.15) scaleY(0.85);-ms-transform:scaleX(1.15) scaleY(0.85);transform:scaleX(1.15) scaleY(0.85)}100%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);-ms-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);-ms-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);-ms-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);-ms-transform:rotate(-5deg);transform:rotate(-5deg)}100%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg);transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}}@keyframes tada{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg);-ms-transform:scale(0.9) rotate(-3deg);transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);-ms-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);-ms-transform:scale(1.1) rotate(-3deg);transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0);-ms-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0%);transform:translateX(0%)}15%{-webkit-transform:translateX(-25%) rotate(-5deg);transform:translateX(-25%) rotate(-5deg)}30%{-webkit-transform:translateX(20%) rotate(3deg);transform:translateX(20%) rotate(3deg)}45%{-webkit-transform:translateX(-15%) rotate(-3deg);transform:translateX(-15%) rotate(-3deg)}60%{-webkit-transform:translateX(10%) rotate(2deg);transform:translateX(10%) rotate(2deg)}75%{-webkit-transform:translateX(-5%) rotate(-1deg);transform:translateX(-5%) rotate(-1deg)}100%{-webkit-transform:translateX(0%);transform:translateX(0%)}}@keyframes wobble{0%{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}15%{-webkit-transform:translateX(-25%) rotate(-5deg);-ms-transform:translateX(-25%) rotate(-5deg);transform:translateX(-25%) rotate(-5deg)}30%{-webkit-transform:translateX(20%) rotate(3deg);-ms-transform:translateX(20%) rotate(3deg);transform:translateX(20%) rotate(3deg)}45%{-webkit-transform:translateX(-15%) rotate(-3deg);-ms-transform:translateX(-15%) rotate(-3deg);transform:translateX(-15%) rotate(-3deg)}60%{-webkit-transform:translateX(10%) rotate(2deg);-ms-transform:translateX(10%) rotate(2deg);transform:translateX(10%) rotate(2deg)}75%{-webkit-transform:translateX(-5%) rotate(-1deg);-ms-transform:translateX(-5%) rotate(-1deg);transform:translateX(-5%) rotate(-1deg)}100%{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.3);transform:scale(.3)}50%{opacity:1;-webkit-transform:scale(1.05);transform:scale(1.05)}70%{-webkit-transform:scale(.9);transform:scale(.9)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3)}50%{opacity:1;-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}70%{-webkit-transform:scale(.9);-ms-transform:scale(.9);transform:scale(.9)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px);transform:translateY(30px)}80%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes bounceInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px);-ms-transform:translateY(30px);transform:translateY(30px)}80%{-webkit-transform:translateY(-10px);-ms-transform:translateY(-10px);transform:translateY(-10px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px);transform:translateX(30px)}80%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes bounceInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px);-ms-transform:translateX(30px);transform:translateX(30px)}80%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px);transform:translateX(-30px)}80%{-webkit-transform:translateX(10px);transform:translateX(10px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes bounceInRight{0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px);-ms-transform:translateX(-30px);transform:translateX(-30px)}80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}60%{opacity:1;-webkit-transform:translateY(-30px);transform:translateY(-30px)}80%{-webkit-transform:translateY(10px);transform:translateY(10px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes bounceInUp{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}60%{opacity:1;-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px)}80%{-webkit-transform:translateY(10px);-ms-transform:translateY(10px);transform:translateY(10px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{0%{-webkit-transform:scale(1);transform:scale(1)}25%{-webkit-transform:scale(.95);transform:scale(.95)}50%{opacity:1;-webkit-transform:scale(1.1);transform:scale(1.1)}100%{opacity:0;-webkit-transform:scale(.3);transform:scale(.3)}}@keyframes bounceOut{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}25%{-webkit-transform:scale(.95);-ms-transform:scale(.95);transform:scale(.95)}50%{opacity:1;-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}100%{opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}}@keyframes bounceOutDown{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(20px);transform:translateX(20px)}100%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@keyframes bounceOutLeft{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}100%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}}@keyframes bounceOutRight{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(20px);transform:translateY(20px)}100%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}}@keyframes bounceOutUp{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px)}100%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}}@keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}}@keyframes fadeOutDownBig{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}}@keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@keyframes fadeOutLeftBig{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}}@keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}}@keyframes fadeOutRightBig{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}}@keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}}@keyframes fadeOutUpBig{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) translateZ(0) rotateY(-360deg) scale(1);transform:perspective(400px) translateZ(0) rotateY(-360deg) scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg) scale(1);transform:perspective(400px) translateZ(150px) rotateY(-190deg) scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg) scale(1);transform:perspective(400px) translateZ(150px) rotateY(-170deg) scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) translateZ(0) rotateY(0deg) scale(.95);transform:perspective(400px) translateZ(0) rotateY(0deg) scale(.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px) translateZ(0) rotateY(0deg) scale(1);transform:perspective(400px) translateZ(0) rotateY(0deg) scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) translateZ(0) rotateY(-360deg) scale(1);-ms-transform:perspective(400px) translateZ(0) rotateY(-360deg) scale(1);transform:perspective(400px) translateZ(0) rotateY(-360deg) scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg) scale(1);-ms-transform:perspective(400px) translateZ(150px) rotateY(-190deg) scale(1);transform:perspective(400px) translateZ(150px) rotateY(-190deg) scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg) scale(1);-ms-transform:perspective(400px) translateZ(150px) rotateY(-170deg) scale(1);transform:perspective(400px) translateZ(150px) rotateY(-170deg) scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) translateZ(0) rotateY(0deg) scale(.95);-ms-transform:perspective(400px) translateZ(0) rotateY(0deg) scale(.95);transform:perspective(400px) translateZ(0) rotateY(0deg) scale(.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px) translateZ(0) rotateY(0deg) scale(1);-ms-transform:perspective(400px) translateZ(0) rotateY(0deg) scale(1);transform:perspective(400px) translateZ(0) rotateY(0deg) scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;-ms-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-10deg);transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg)}100%{-webkit-transform:perspective(400px) rotateX(0deg);transform:perspective(400px) rotateX(0deg);opacity:1}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);-ms-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-10deg);-ms-transform:perspective(400px) rotateX(-10deg);transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg);-ms-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg)}100%{-webkit-transform:perspective(400px) rotateX(0deg);-ms-transform:perspective(400px) rotateX(0deg);transform:perspective(400px) rotateX(0deg);opacity:1}}.flipInX{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-10deg);transform:perspective(400px) rotateY(-10deg)}70%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg)}100%{-webkit-transform:perspective(400px) rotateY(0deg);transform:perspective(400px) rotateY(0deg);opacity:1}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);-ms-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-10deg);-ms-transform:perspective(400px) rotateY(-10deg);transform:perspective(400px) rotateY(-10deg)}70%{-webkit-transform:perspective(400px) rotateY(10deg);-ms-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg)}100%{-webkit-transform:perspective(400px) rotateY(0deg);-ms-transform:perspective(400px) rotateY(0deg);transform:perspective(400px) rotateY(0deg);opacity:1}}.flipInY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px) rotateX(0deg);transform:perspective(400px) rotateX(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px) rotateX(0deg);-ms-transform:perspective(400px) rotateX(0deg);transform:perspective(400px) rotateX(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateX(90deg);-ms-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px) rotateY(0deg);transform:perspective(400px) rotateY(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px) rotateY(0deg);-ms-transform:perspective(400px) rotateY(0deg);transform:perspective(400px) rotateY(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateY(90deg);-ms-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translateX(100%) skewX(-30deg);transform:translateX(100%) skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%) skewX(30deg);transform:translateX(-20%) skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0%) skewX(-15deg);transform:translateX(0%) skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0%) skewX(0deg);transform:translateX(0%) skewX(0deg);opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translateX(100%) skewX(-30deg);-ms-transform:translateX(100%) skewX(-30deg);transform:translateX(100%) skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%) skewX(30deg);-ms-transform:translateX(-20%) skewX(30deg);transform:translateX(-20%) skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0%) skewX(-15deg);-ms-transform:translateX(0%) skewX(-15deg);transform:translateX(0%) skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0%) skewX(0deg);-ms-transform:translateX(0%) skewX(0deg);transform:translateX(0%) skewX(0deg);opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{-webkit-transform:translateX(0%) skewX(0deg);transform:translateX(0%) skewX(0deg);opacity:1}100%{-webkit-transform:translateX(100%) skewX(-30deg);transform:translateX(100%) skewX(-30deg);opacity:0}}@keyframes lightSpeedOut{0%{-webkit-transform:translateX(0%) skewX(0deg);-ms-transform:translateX(0%) skewX(0deg);transform:translateX(0%) skewX(0deg);opacity:1}100%{-webkit-transform:translateX(100%) skewX(-30deg);-ms-transform:translateX(100%) skewX(-30deg);transform:translateX(100%) skewX(-30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}100%{-webkit-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(-200deg);-ms-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}100%{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(200deg);-ms-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes slideInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@keyframes slideOutLeft{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}}@keyframes slideOutRight{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}}@keyframes slideOutUp{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}@-webkit-keyframes slideInUp{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}}@keyframes slideOutDown{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes hinge{0%{-webkit-transform:rotate(0);transform:rotate(0);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}80%{-webkit-transform:rotate(60deg) translateY(0);transform:rotate(60deg) translateY(0);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translateY(700px);transform:translateY(700px);opacity:0}}@keyframes hinge{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);-ms-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%{-webkit-transform:rotate(60deg);-ms-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}80%{-webkit-transform:rotate(60deg) translateY(0);-ms-transform:rotate(60deg) translateY(0);transform:rotate(60deg) translateY(0);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translateY(700px);-ms-transform:translateY(700px);transform:translateY(700px);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg);transform:translateX(0px) rotate(0deg)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg);-ms-transform:translateX(0px) rotate(0deg);transform:translateX(0px) rotate(0deg)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg);transform:translateX(0px) rotate(0deg)}100%{opacity:0;-webkit-transform:translateX(100%) rotate(120deg);transform:translateX(100%) rotate(120deg)}}@keyframes rollOut{0%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg);-ms-transform:translateX(0px) rotate(0deg);transform:translateX(0px) rotate(0deg)}100%{opacity:0;-webkit-transform:translateX(100%) rotate(120deg);-ms-transform:translateX(100%) rotate(120deg);transform:translateX(100%) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale(.3);transform:scale(.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale(.1) translateX(2000px);transform:scale(.1) translateX(2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(-48px);transform:scale(.475) translateX(-48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale(.1) translateX(2000px);-ms-transform:scale(.1) translateX(2000px);transform:scale(.1) translateX(2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(-48px);-ms-transform:scale(.475) translateX(-48px);transform:scale(.475) translateX(-48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale(.1) translateY(2000px);transform:scale(.1) translateY(2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(-60px);transform:scale(.475) translateY(-60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale(.1) translateY(2000px);-ms-transform:scale(.1) translateY(2000px);transform:scale(.1) translateY(2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(-60px);-ms-transform:scale(.475) translateY(-60px);transform:scale(.475) translateY(-60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(.3);transform:scale(.3)}100%{opacity:0}}@keyframes zoomOut{0%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3)}100%{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale(.475) translateY(-60px);transform:scale(.475) translateY(-60px);-webkit-animation-timing-function:linear;animation-timing-function:linear}100%{opacity:0;-webkit-transform:scale(.1) translateY(2000px);transform:scale(.1) translateY(2000px);-webkit-transform-origin:center bottom;transform-origin:center bottom}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale(.475) translateY(-60px);-ms-transform:scale(.475) translateY(-60px);transform:scale(.475) translateY(-60px);-webkit-animation-timing-function:linear;animation-timing-function:linear}100%{opacity:0;-webkit-transform:scale(.1) translateY(2000px);-ms-transform:scale(.1) translateY(2000px);transform:scale(.1) translateY(2000px);-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale(.475) translateX(42px);transform:scale(.475) translateX(42px);-webkit-animation-timing-function:linear;animation-timing-function:linear}100%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale(.475) translateX(42px);-ms-transform:scale(.475) translateX(42px);transform:scale(.475) translateX(42px);-webkit-animation-timing-function:linear;animation-timing-function:linear}100%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-transform-origin:left center;-ms-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale(.475) translateX(-42px);transform:scale(.475) translateX(-42px);-webkit-animation-timing-function:linear;animation-timing-function:linear}100%{opacity:0;-webkit-transform:scale(.1) translateX(2000px);transform:scale(.1) translateX(2000px);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale(.475) translateX(-42px);-ms-transform:scale(.475) translateX(-42px);transform:scale(.475) translateX(-42px);-webkit-animation-timing-function:linear;animation-timing-function:linear}100%{opacity:0;-webkit-transform:scale(.1) translateX(2000px);-ms-transform:scale(.1) translateX(2000px);transform:scale(.1) translateX(2000px);-webkit-transform-origin:right center;-ms-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:linear;animation-timing-function:linear}100%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-transform-origin:center top;transform-origin:center top}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:linear;animation-timing-function:linear}100%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-transform-origin:center top;-ms-transform-origin:center top;transform-origin:center top}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@font-face{font-family:budicon-font;src:url(http://cdn.auth0.com/fonts/budicons/fonts/budicon-font.eot);src:url(http://cdn.auth0.com/fonts/budicons/fonts/budicon-font.eot?#iefix) format("embedded-opentype"),url(http://cdn.auth0.com/fonts/budicons/fonts/budicon-font.woff) format("woff"),url(http://cdn.auth0.com/fonts/budicons/fonts/budicon-font.ttf) format("truetype"),url(http://cdn.auth0.com/fonts/budicons/fonts/budicon-font.svg#budicon-font) format("svg");font-weight:400;font-style:normal}[data-icon]:before{font-family:budicon-font!important;content:attr(data-icon);font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class*=" icon-"]:before,[class^=icon-]:before{font-family:budicon-font!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-budicon:before{content:"a"}.icon-budicon-1:before{content:"b"}.icon-budicon-2:before{content:"c"}.icon-budicon-3:before{content:"d"}.icon-budicon-4:before{content:"e"}.icon-budicon-5:before{content:"f"}.icon-budicon-6:before{content:"g"}.icon-budicon-7:before{content:"h"}.icon-budicon-8:before{content:"i"}.icon-budicon-9:before{content:"j"}.icon-budicon-10:before{content:"k"}.icon-budicon-11:before{content:"l"}.icon-budicon-12:before{content:"m"}.icon-budicon-13:before{content:"n"}.icon-budicon-14:before{content:"o"}.icon-budicon-15:before{content:"p"}.icon-budicon-16:before{content:"q"}.icon-budicon-17:before{content:"r"}.icon-budicon-18:before{content:"s"}.icon-budicon-19:before{content:"t"}.icon-budicon-20:before{content:"u"}.icon-budicon-21:before{content:"v"}.icon-budicon-22:before{content:"w"}.icon-budicon-23:before{content:"x"}.icon-budicon-24:before{content:"y"}.icon-budicon-25:before{content:"z"}.icon-budicon-26:before{content:"A"}.icon-budicon-27:before{content:"B"}.icon-budicon-28:before{content:"C"}.icon-budicon-29:before{content:"D"}.icon-budicon-30:before{content:"E"}.icon-budicon-31:before{content:"F"}.icon-budicon-32:before{content:"G"}.icon-budicon-33:before{content:"H"}.icon-budicon-34:before{content:"I"}.icon-budicon-35:before{content:"J"}.icon-budicon-36:before{content:"K"}.icon-budicon-37:before{content:"L"}.icon-budicon-38:before{content:"M"}.icon-budicon-39:before{content:"N"}.icon-budicon-40:before{content:"O"}.icon-budicon-41:before{content:"P"}.icon-budicon-42:before{content:"Q"}.icon-budicon-43:before{content:"R"}.icon-budicon-44:before{content:"S"}.icon-budicon-45:before{content:"T"}.icon-budicon-46:before{content:"U"}.icon-budicon-47:before{content:"V"}.icon-budicon-48:before{content:"W"}.icon-budicon-49:before{content:"X"}.icon-budicon-50:before{content:"Y"}.icon-budicon-51:before{content:"Z"}.icon-budicon-52:before{content:"0"}.icon-budicon-53:before{content:"1"}.icon-budicon-54:before{content:"2"}.icon-budicon-55:before{content:"3"}.icon-budicon-56:before{content:"4"}.icon-budicon-57:before{content:"5"}.icon-budicon-58:before{content:"6"}.icon-budicon-59:before{content:"7"}.icon-budicon-60:before{content:"8"}.icon-budicon-61:before{content:"9"}.icon-budicon-62:before{content:"!"}.icon-budicon-63:before{content:"\""}.icon-budicon-64:before{content:"#"}.icon-budicon-65:before{content:"$"}.icon-budicon-66:before{content:"%"}.icon-budicon-67:before{content:"&"}.icon-budicon-68:before{content:"'"}.icon-budicon-69:before{content:"("}.icon-budicon-70:before{content:")"}.icon-budicon-71:before{content:"*"}.icon-budicon-72:before{content:"+"}.icon-budicon-73:before{content:","}.icon-budicon-74:before{content:"-"}.icon-budicon-75:before{content:"."}.icon-budicon-76:before{content:"/"}.icon-budicon-77:before{content:":"}.icon-budicon-78:before{content:";"}.icon-budicon-79:before{content:"<"}.icon-budicon-80:before{content:"="}.icon-budicon-81:before{content:">"}.icon-budicon-82:before{content:"?"}.icon-budicon-83:before{content:"@"}.icon-budicon-84:before{content:"["}.icon-budicon-85:before{content:"]"}.icon-budicon-86:before{content:"^"}.icon-budicon-87:before{content:"_"}.icon-budicon-88:before{content:"`"}.icon-budicon-89:before{content:"{"}.icon-budicon-90:before{content:"|"}.icon-budicon-91:before{content:"}"}.icon-budicon-92:before{content:"~"}.icon-budicon-93:before{content:"\\"; -} -.icon-budicon-94:before { - content: "\e000"; -} -.icon-budicon-95:before { - content: "\e001"; -} -.icon-budicon-96:before { - content: "\e002"; -} -.icon-budicon-97:before { - content: "\e003"; -} -.icon-budicon-98:before { - content: "\e004"; -} -.icon-budicon-99:before { - content: "\e005"; -} -.icon-budicon-100:before { - content: "\e006"; -} -.icon-budicon-101:before { - content: "\e007"; -} -.icon-budicon-102:before { - content: "\e008"; -} -.icon-budicon-103:before { - content: "\e009"; -} -.icon-budicon-104:before { - content: "\e00a"; -} -.icon-budicon-105:before { - content: "\e00b"; -} -.icon-budicon-106:before { - content: "\e00c"; -} -.icon-budicon-107:before { - content: "\e00d"; -} -.icon-budicon-108:before { - content: "\e00e"; -} -.icon-budicon-109:before { - content: "\e00f"; -} -.icon-budicon-110:before { - content: "\e010"; -} -.icon-budicon-111:before { - content: "\e011"; -} -.icon-budicon-112:before { - content: "\e012"; -} -.icon-budicon-113:before { - content: "\e013"; -} -.icon-budicon-114:before { - content: "\e014"; -} -.icon-budicon-115:before { - content: "\e015"; -} -.icon-budicon-116:before { - content: "\e016"; -} -.icon-budicon-117:before { - content: "\e017"; -} -.icon-budicon-118:before { - content: "\e018"; -} -.icon-budicon-119:before { - content: "\e019"; -} -.icon-budicon-120:before { - content: "\e01a"; -} -.icon-budicon-121:before { - content: "\e01b"; -} -.icon-budicon-122:before { - content: "\e01c"; -} -.icon-budicon-123:before { - content: "\e01d"; -} -.icon-budicon-124:before { - content: "\e01e"; -} -.icon-budicon-125:before { - content: "\e01f"; -} -.icon-budicon-126:before { - content: "\e020"; -} -.icon-budicon-127:before { - content: "\e021"; -} -.icon-budicon-128:before { - content: "\e022"; -} -.icon-budicon-129:before { - content: "\e023"; -} -.icon-budicon-130:before { - content: "\e024"; -} -.icon-budicon-131:before { - content: "\e025"; -} -.icon-budicon-132:before { - content: "\e026"; -} -.icon-budicon-133:before { - content: "\e027"; -} -.icon-budicon-134:before { - content: "\e028"; -} -.icon-budicon-135:before { - content: "\e029"; -} -.icon-budicon-136:before { - content: "\e02a"; -} -.icon-budicon-137:before { - content: "\e02b"; -} -.icon-budicon-138:before { - content: "\e02c"; -} -.icon-budicon-139:before { - content: "\e02d"; -} -.icon-budicon-140:before { - content: "\e02e"; -} -.icon-budicon-141:before { - content: "\e02f"; -} -.icon-budicon-142:before { - content: "\e030"; -} -.icon-budicon-143:before { - content: "\e031"; -} -.icon-budicon-144:before { - content: "\e032"; -} -.icon-budicon-145:before { - content: "\e033"; -} -.icon-budicon-146:before { - content: "\e034"; -} -.icon-budicon-147:before { - content: "\e035"; -} -.icon-budicon-148:before { - content: "\e036"; -} -.icon-budicon-149:before { - content: "\e037"; -} -.icon-budicon-150:before { - content: "\e038"; -} -.icon-budicon-151:before { - content: "\e039"; -} -.icon-budicon-152:before { - content: "\e03a"; -} -.icon-budicon-153:before { - content: "\e03b"; -} -.icon-budicon-154:before { - content: "\e03c"; -} -.icon-budicon-155:before { - content: "\e03d"; -} -.icon-budicon-156:before { - content: "\e03e"; -} -.icon-budicon-157:before { - content: "\e03f"; -} -.icon-budicon-158:before { - content: "\e040"; -} -.icon-budicon-159:before { - content: "\e041"; -} -.icon-budicon-160:before { - content: "\e042"; -} -.icon-budicon-161:before { - content: "\e043"; -} -.icon-budicon-162:before { - content: "\e044"; -} -.icon-budicon-163:before { - content: "\e045"; -} -.icon-budicon-164:before { - content: "\e046"; -} -.icon-budicon-165:before { - content: "\e047"; -} -.icon-budicon-166:before { - content: "\e048"; -} -.icon-budicon-167:before { - content: "\e049"; -} -.icon-budicon-168:before { - content: "\e04a"; -} -.icon-budicon-169:before { - content: "\e04b"; -} -.icon-budicon-170:before { - content: "\e04c"; -} -.icon-budicon-171:before { - content: "\e04d"; -} -.icon-budicon-172:before { - content: "\e04e"; -} -.icon-budicon-173:before { - content: "\e04f"; -} -.icon-budicon-174:before { - content: "\e050"; -} -.icon-budicon-175:before { - content: "\e051"; -} -.icon-budicon-176:before { - content: "\e052"; -} -.icon-budicon-177:before { - content: "\e053"; -} -.icon-budicon-178:before { - content: "\e054"; -} -.icon-budicon-179:before { - content: "\e055"; -} -.icon-budicon-180:before { - content: "\e056"; -} -.icon-budicon-181:before { - content: "\e057"; -} -.icon-budicon-182:before { - content: "\e058"; -} -.icon-budicon-183:before { - content: "\e059"; -} -.icon-budicon-184:before { - content: "\e05a"; -} -.icon-budicon-185:before { - content: "\e05b"; -} -.icon-budicon-186:before { - content: "\e05c"; -} -.icon-budicon-187:before { - content: "\e05d"; -} -.icon-budicon-188:before { - content: "\e05e"; -} -.icon-budicon-189:before { - content: "\e05f"; -} -.icon-budicon-190:before { - content: "\e060"; -} -.icon-budicon-191:before { - content: "\e061"; -} -.icon-budicon-192:before { - content: "\e062"; -} -.icon-budicon-193:before { - content: "\e063"; -} -.icon-budicon-194:before { - content: "\e064"; -} -.icon-budicon-195:before { - content: "\e065"; -} -.icon-budicon-196:before { - content: "\e066"; -} -.icon-budicon-197:before { - content: "\e067"; -} -.icon-budicon-198:before { - content: "\e068"; -} -.icon-budicon-199:before { - content: "\e069"; -} -.icon-budicon-200:before { - content: "\e06a"; -} -.icon-budicon-201:before { - content: "\e06b"; -} -.icon-budicon-202:before { - content: "\e06c"; -} -.icon-budicon-203:before { - content: "\e06d"; -} -.icon-budicon-204:before { - content: "\e06e"; -} -.icon-budicon-205:before { - content: "\e06f"; -} -.icon-budicon-206:before { - content: "\e070"; -} -.icon-budicon-207:before { - content: "\e071"; -} -.icon-budicon-208:before { - content: "\e072"; -} -.icon-budicon-209:before { - content: "\e073"; -} -.icon-budicon-210:before { - content: "\e074"; -} -.icon-budicon-211:before { - content: "\e075"; -} -.icon-budicon-212:before { - content: "\e076"; -} -.icon-budicon-213:before { - content: "\e077"; -} -.icon-budicon-214:before { - content: "\e078"; -} -.icon-budicon-215:before { - content: "\e079"; -} -.icon-budicon-216:before { - content: "\e07a"; -} -.icon-budicon-217:before { - content: "\e07b"; -} -.icon-budicon-218:before { - content: "\e07c"; -} -.icon-budicon-219:before { - content: "\e07d"; -} -.icon-budicon-220:before { - content: "\e07e"; -} -.icon-budicon-221:before { - content: "\e07f"; -} -.icon-budicon-222:before { - content: "\e080"; -} -.icon-budicon-223:before { - content: "\e081"; -} -.icon-budicon-224:before { - content: "\e082"; -} -.icon-budicon-225:before { - content: "\e083"; -} -.icon-budicon-226:before { - content: "\e084"; -} -.icon-budicon-227:before { - content: "\e085"; -} -.icon-budicon-228:before { - content: "\e086"; -} -.icon-budicon-229:before { - content: "\e087"; -} -.icon-budicon-230:before { - content: "\e088"; -} -.icon-budicon-231:before { - content: "\e089"; -} -.icon-budicon-232:before { - content: "\e08a"; -} -.icon-budicon-233:before { - content: "\e08b"; -} -.icon-budicon-234:before { - content: "\e08c"; -} -.icon-budicon-235:before { - content: "\e08d"; -} -.icon-budicon-236:before { - content: "\e08e"; -} -.icon-budicon-237:before { - content: "\e08f"; -} -.icon-budicon-238:before { - content: "\e090"; -} -.icon-budicon-239:before { - content: "\e091"; -} -.icon-budicon-240:before { - content: "\e092"; -} -.icon-budicon-241:before { - content: "\e093"; -} -.icon-budicon-242:before { - content: "\e094"; -} -.icon-budicon-243:before { - content: "\e095"; -} -.icon-budicon-244:before { - content: "\e096"; -} -.icon-budicon-245:before { - content: "\e097"; -} -.icon-budicon-246:before { - content: "\e098"; -} -.icon-budicon-247:before { - content: "\e099"; -} -.icon-budicon-248:before { - content: "\e09a"; -} -.icon-budicon-249:before { - content: "\e09b"; -} -.icon-budicon-250:before { - content: "\e09c"; -} -.icon-budicon-251:before { - content: "\e09d"; -} -.icon-budicon-252:before { - content: "\e09e"; -} -.icon-budicon-253:before { - content: "\e09f"; -} -.icon-budicon-254:before { - content: "\e0a0"; -} -.icon-budicon-255:before { - content: "\e0a1"; -} -.icon-budicon-256:before { - content: "\e0a2"; -} -.icon-budicon-257:before { - content: "\e0a3"; -} -.icon-budicon-258:before { - content: "\e0a4"; -} -.icon-budicon-259:before { - content: "\e0a5"; -} -.icon-budicon-260:before { - content: "\e0a6"; -} -.icon-budicon-261:before { - content: "\e0a7"; -} -.icon-budicon-262:before { - content: "\e0a8"; -} -.icon-budicon-263:before { - content: "\e0a9"; -} -.icon-budicon-264:before { - content: "\e0aa"; -} -.icon-budicon-265:before { - content: "\e0ab"; -} -.icon-budicon-266:before { - content: "\e0ac"; -} -.icon-budicon-267:before { - content: "\e0ad"; -} -.icon-budicon-268:before { - content: "\e0ae"; -} -.icon-budicon-269:before { - content: "\e0af"; -} -.icon-budicon-270:before { - content: "\e0b0"; -} -.icon-budicon-271:before { - content: "\e0b1"; -} -.icon-budicon-272:before { - content: "\e0b2"; -} -.icon-budicon-273:before { - content: "\e0b3"; -} -.icon-budicon-274:before { - content: "\e0b4"; -} -.icon-budicon-275:before { - content: "\e0b5"; -} -.icon-budicon-276:before { - content: "\e0b6"; -} -.icon-budicon-277:before { - content: "\e0b7"; -} -.icon-budicon-278:before { - content: "\e0b8"; -} -.icon-budicon-279:before { - content: "\e0b9"; -} -.icon-budicon-280:before { - content: "\e0ba"; -} -.icon-budicon-281:before { - content: "\e0bb"; -} -.icon-budicon-282:before { - content: "\e0bc"; -} -.icon-budicon-283:before { - content: "\e0bd"; -} -.icon-budicon-284:before { - content: "\e0be"; -} -.icon-budicon-285:before { - content: "\e0bf"; -} -.icon-budicon-286:before { - content: "\e0c0"; -} -.icon-budicon-287:before { - content: "\e0c1"; -} -.icon-budicon-288:before { - content: "\e0c2"; -} -.icon-budicon-289:before { - content: "\e0c3"; -} -.icon-budicon-290:before { - content: "\e0c4"; -} -.icon-budicon-291:before { - content: "\e0c5"; -} -.icon-budicon-292:before { - content: "\e0c6"; -} -.icon-budicon-293:before { - content: "\e0c7"; -} -.icon-budicon-294:before { - content: "\e0c8"; -} -.icon-budicon-295:before { - content: "\e0c9"; -} -.icon-budicon-296:before { - content: "\e0ca"; -} -.icon-budicon-297:before { - content: "\e0cb"; -} -.icon-budicon-298:before { - content: "\e0cc"; -} -.icon-budicon-299:before { - content: "\e0cd"; -} -.icon-budicon-300:before { - content: "\e0ce"; -} -.icon-budicon-301:before { - content: "\e0cf"; -} -.icon-budicon-302:before { - content: "\e0d0"; -} -.icon-budicon-303:before { - content: "\e0d1"; -} -.icon-budicon-304:before { - content: "\e0d2"; -} -.icon-budicon-305:before { - content: "\e0d3"; -} -.icon-budicon-306:before { - content: "\e0d4"; -} -.icon-budicon-307:before { - content: "\e0d5"; -} -.icon-budicon-308:before { - content: "\e0d6"; -} -.icon-budicon-309:before { - content: "\e0d7"; -} -.icon-budicon-310:before { - content: "\e0d8"; -} -.icon-budicon-311:before { - content: "\e0d9"; -} -.icon-budicon-312:before { - content: "\e0da"; -} -.icon-budicon-313:before { - content: "\e0db"; -} -.icon-budicon-314:before { - content: "\e0dc"; -} -.icon-budicon-315:before { - content: "\e0dd"; -} -.icon-budicon-316:before { - content: "\e0de"; -} -.icon-budicon-317:before { - content: "\e0df"; -} -.icon-budicon-318:before { - content: "\e0e0"; -} -.icon-budicon-319:before { - content: "\e0e1"; -} -.icon-budicon-320:before { - content: "\e0e2"; -} -.icon-budicon-321:before { - content: "\e0e3"; -} -.icon-budicon-322:before { - content: "\e0e4"; -} -.icon-budicon-323:before { - content: "\e0e5"; -} -.icon-budicon-324:before { - content: "\e0e6"; -} -.icon-budicon-325:before { - content: "\e0e7"; -} -.icon-budicon-326:before { - content: "\e0e8"; -} -.icon-budicon-327:before { - content: "\e0e9"; -} -.icon-budicon-328:before { - content: "\e0ea"; -} -.icon-budicon-329:before { - content: "\e0eb"; -} -.icon-budicon-330:before { - content: "\e0ec"; -} -.icon-budicon-331:before { - content: "\e0ed"; -} -.icon-budicon-332:before { - content: "\e0ee"; -} -.icon-budicon-333:before { - content: "\e0ef"; -} -.icon-budicon-334:before { - content: "\e0f0"; -} -.icon-budicon-335:before { - content: "\e0f1"; -} -.icon-budicon-336:before { - content: "\e0f2"; -} -.icon-budicon-337:before { - content: "\e0f3"; -} -.icon-budicon-338:before { - content: "\e0f4"; -} -.icon-budicon-339:before { - content: "\e0f5"; -} -.icon-budicon-340:before { - content: "\e0f6"; -} -.icon-budicon-341:before { - content: "\e0f7"; -} -.icon-budicon-342:before { - content: "\e0f8"; -} -.icon-budicon-343:before { - content: "\e0f9"; -} -.icon-budicon-344:before { - content: "\e0fa"; -} -.icon-budicon-345:before { - content: "\e0fb"; -} -.icon-budicon-346:before { - content: "\e0fc"; -} -.icon-budicon-347:before { - content: "\e0fd"; -} -.icon-budicon-348:before { - content: "\e0fe"; -} -.icon-budicon-349:before { - content: "\e0ff"; -} -.icon-budicon-350:before { - content: "\e100"; -} -.icon-budicon-351:before { - content: "\e101"; -} -.icon-budicon-352:before { - content: "\e102"; -} -.icon-budicon-353:before { - content: "\e103"; -} -.icon-budicon-354:before { - content: "\e104"; -} -.icon-budicon-355:before { - content: "\e105"; -} -.icon-budicon-356:before { - content: "\e106"; -} -.icon-budicon-357:before { - content: "\e107"; -} -.icon-budicon-358:before { - content: "\e108"; -} -.icon-budicon-359:before { - content: "\e109"; -} -.icon-budicon-360:before { - content: "\e10a"; -} -.icon-budicon-361:before { - content: "\e10b"; -} -.icon-budicon-362:before { - content: "\e10c"; -} -.icon-budicon-363:before { - content: "\e10d"; -} -.icon-budicon-364:before { - content: "\e10e"; -} -.icon-budicon-365:before { - content: "\e10f"; -} -.icon-budicon-366:before { - content: "\e110"; -} -.icon-budicon-367:before { - content: "\e111"; -} -.icon-budicon-368:before { - content: "\e112"; -} -.icon-budicon-369:before { - content: "\e113"; -} -.icon-budicon-370:before { - content: "\e114"; -} -.icon-budicon-371:before { - content: "\e115"; -} -.icon-budicon-372:before { - content: "\e116"; -} -.icon-budicon-373:before { - content: "\e117"; -} -.icon-budicon-374:before { - content: "\e118"; -} -.icon-budicon-375:before { - content: "\e119"; -} -.icon-budicon-376:before { - content: "\e11a"; -} -.icon-budicon-377:before { - content: "\e11b"; -} -.icon-budicon-378:before { - content: "\e11c"; -} -.icon-budicon-379:before { - content: "\e11d"; -} -.icon-budicon-380:before { - content: "\e11e"; -} -.icon-budicon-381:before { - content: "\e11f"; -} -.icon-budicon-382:before { - content: "\e120"; -} -.icon-budicon-383:before { - content: "\e121"; -} -.icon-budicon-384:before { - content: "\e122"; -} -.icon-budicon-385:before { - content: "\e123"; -} -.icon-budicon-386:before { - content: "\e124"; -} -.icon-budicon-387:before { - content: "\e125"; -} -.icon-budicon-388:before { - content: "\e126"; -} -.icon-budicon-389:before { - content: "\e127"; -} -.icon-budicon-390:before { - content: "\e128"; -} -.icon-budicon-391:before { - content: "\e129"; -} -.icon-budicon-392:before { - content: "\e12a"; -} -.icon-budicon-393:before { - content: "\e12b"; -} -.icon-budicon-394:before { - content: "\e12c"; -} -.icon-budicon-395:before { - content: "\e12d"; -} -.icon-budicon-396:before { - content: "\e12e"; -} -.icon-budicon-397:before { - content: "\e12f"; -} -.icon-budicon-398:before { - content: "\e130"; -} -.icon-budicon-399:before { - content: "\e131"; -} -.icon-budicon-400:before { - content: "\e132"; -} -.icon-budicon-401:before { - content: "\e133"; -} -.icon-budicon-402:before { - content: "\e134"; -} -.icon-budicon-403:before { - content: "\e135"; -} -.icon-budicon-404:before { - content: "\e136"; -} -.icon-budicon-405:before { - content: "\e137"; -} -.icon-budicon-406:before { - content: "\e138"; -} -.icon-budicon-407:before { - content: "\e139"; -} -.icon-budicon-408:before { - content: "\e13a"; -} -.icon-budicon-409:before { - content: "\e13b"; -} -.icon-budicon-410:before { - content: "\e13c"; -} -.icon-budicon-411:before { - content: "\e13d"; -} -.icon-budicon-412:before { - content: "\e13e"; -} -.icon-budicon-413:before { - content: "\e13f"; -} -.icon-budicon-414:before { - content: "\e140"; -} -.icon-budicon-415:before { - content: "\e141"; -} -.icon-budicon-416:before { - content: "\e142"; -} -.icon-budicon-417:before { - content: "\e143"; -} -.icon-budicon-418:before { - content: "\e144"; -} -.icon-budicon-419:before { - content: "\e145"; -} -.icon-budicon-420:before { - content: "\e146"; -} -.icon-budicon-421:before { - content: "\e147"; -} -.icon-budicon-422:before { - content: "\e148"; -} -.icon-budicon-423:before { - content: "\e149"; -} -.icon-budicon-424:before { - content: "\e14a"; -} -.icon-budicon-425:before { - content: "\e14b"; -} -.icon-budicon-426:before { - content: "\e14c"; -} -.icon-budicon-427:before { - content: "\e14d"; -} -.icon-budicon-428:before { - content: "\e14e"; -} -.icon-budicon-429:before { - content: "\e14f"; -} -.icon-budicon-430:before { - content: "\e150"; -} -.icon-budicon-431:before { - content: "\e151"; -} -.icon-budicon-432:before { - content: "\e152"; -} -.icon-budicon-433:before { - content: "\e153"; -} -.icon-budicon-434:before { - content: "\e154"; -} -.icon-budicon-435:before { - content: "\e155"; -} -.icon-budicon-436:before { - content: "\e156"; -} -.icon-budicon-437:before { - content: "\e157"; -} -.icon-budicon-438:before { - content: "\e158"; -} -.icon-budicon-439:before { - content: "\e159"; -} -.icon-budicon-440:before { - content: "\e15a"; -} -.icon-budicon-441:before { - content: "\e15b"; -} -.icon-budicon-442:before { - content: "\e15c"; -} -.icon-budicon-443:before { - content: "\e15d"; -} -.icon-budicon-444:before { - content: "\e15e"; -} -.icon-budicon-445:before { - content: "\e15f"; -} -.icon-budicon-446:before { - content: "\e160"; -} -.icon-budicon-447:before { - content: "\e161"; -} -.icon-budicon-448:before { - content: "\e162"; -} -.icon-budicon-449:before { - content: "\e163"; -} -.icon-budicon-450:before { - content: "\e164"; -} -.icon-budicon-451:before { - content: "\e165"; -} -.icon-budicon-452:before { - content: "\e166"; -} -.icon-budicon-453:before { - content: "\e167"; -} -.icon-budicon-454:before { - content: "\e168"; -} -.icon-budicon-455:before { - content: "\e169"; -} -.icon-budicon-456:before { - content: "\e16a"; -} -.icon-budicon-457:before { - content: "\e16b"; -} -.icon-budicon-458:before { - content: "\e16c"; -} -.icon-budicon-459:before { - content: "\e16d"; -} -.icon-budicon-460:before { - content: "\e16e"; -} -.icon-budicon-461:before { - content: "\e16f"; -} -.icon-budicon-462:before { - content: "\e170"; -} -.icon-budicon-463:before { - content: "\e171"; -} -.icon-budicon-464:before { - content: "\e172"; -} -.icon-budicon-465:before { - content: "\e173"; -} -.icon-budicon-466:before { - content: "\e174"; -} -.icon-budicon-467:before { - content: "\e175"; -} -.icon-budicon-468:before { - content: "\e176"; -} -.icon-budicon-469:before { - content: "\e177"; -} -.icon-budicon-470:before { - content: "\e178"; -} -.icon-budicon-471:before { - content: "\e179"; -} -.icon-budicon-472:before { - content: "\e17a"; -} -.icon-budicon-473:before { - content: "\e17b"; -} -.icon-budicon-474:before { - content: "\e17c"; -} -.icon-budicon-475:before { - content: "\e17d"; -} -.icon-budicon-476:before { - content: "\e17e"; -} -.icon-budicon-477:before { - content: "\e17f"; -} -.icon-budicon-478:before { - content: "\e180"; -} -.icon-budicon-479:before { - content: "\e181"; -} -.icon-budicon-480:before { - content: "\e182"; -} -.icon-budicon-481:before { - content: "\e183"; -} -.icon-budicon-482:before { - content: "\e184"; -} -.icon-budicon-483:before { - content: "\e185"; -} -.icon-budicon-484:before { - content: "\e186"; -} -.icon-budicon-485:before { - content: "\e187"; -} -.icon-budicon-486:before { - content: "\e188"; -} -.icon-budicon-487:before { - content: "\e189"; -} -.icon-budicon-488:before { - content: "\e18a"; -} -.icon-budicon-489:before { - content: "\e18b"; -} -.icon-budicon-490:before { - content: "\e18c"; -} -.icon-budicon-491:before { - content: "\e18d"; -} -.icon-budicon-492:before { - content: "\e18e"; -} -.icon-budicon-493:before { - content: "\e18f"; -} -.icon-budicon-494:before { - content: "\e190"; -} -.icon-budicon-495:before { - content: "\e191"; -} -.icon-budicon-496:before { - content: "\e192"; -} -.icon-budicon-497:before { - content: "\e193"; -} -.icon-budicon-498:before { - content: "\e194"; -} -.icon-budicon-499:before { - content: "\e195"; -} -.icon-budicon-500:before { - content: "\e196"; -} -.icon-budicon-501:before { - content: "\e197"; -} -.icon-budicon-502:before { - content: "\e198"; -} -.icon-budicon-503:before { - content: "\e199"; -} -.icon-budicon-504:before { - content: "\e19a"; -} -.icon-budicon-505:before { - content: "\e19b"; -} -.icon-budicon-506:before { - content: "\e19c"; -} -.icon-budicon-507:before { - content: "\e19d"; -} -.icon-budicon-508:before { - content: "\e19e"; -} -.icon-budicon-509:before { - content: "\e19f"; -} -.icon-budicon-510:before { - content: "\e1a0"; -} -.icon-budicon-511:before { - content: "\e1a1"; -} -.icon-budicon-512:before { - content: "\e1a2"; -} -.icon-budicon-513:before { - content: "\e1a3"; -} -.icon-budicon-514:before { - content: "\e1a4"; -} -.icon-budicon-515:before { - content: "\e1a5"; -} -.icon-budicon-516:before { - content: "\e1a6"; -} -.icon-budicon-517:before { - content: "\e1a7"; -} -.icon-budicon-518:before { - content: "\e1a8"; -} -.icon-budicon-519:before { - content: "\e1a9"; -} -.icon-budicon-520:before { - content: "\e1aa"; -} -.icon-budicon-521:before { - content: "\e1ab"; -} -.icon-budicon-522:before { - content: "\e1ac"; -} -.icon-budicon-523:before { - content: "\e1ad"; -} -.icon-budicon-524:before { - content: "\e1ae"; -} -.icon-budicon-525:before { - content: "\e1af"; -} -.icon-budicon-526:before { - content: "\e1b0"; -} -.icon-budicon-527:before { - content: "\e1b1"; -} -.icon-budicon-528:before { - content: "\e1b2"; -} -.icon-budicon-529:before { - content: "\e1b3"; -} -.icon-budicon-530:before { - content: "\e1b4"; -} -.icon-budicon-531:before { - content: "\e1b5"; -} -.icon-budicon-532:before { - content: "\e1b6"; -} -.icon-budicon-533:before { - content: "\e1b7"; -} -.icon-budicon-534:before { - content: "\e1b8"; -} -.icon-budicon-535:before { - content: "\e1b9"; -} -.icon-budicon-536:before { - content: "\e1ba"; -} -.icon-budicon-537:before { - content: "\e1bb"; -} -.icon-budicon-538:before { - content: "\e1bc"; -} -.icon-budicon-539:before { - content: "\e1bd"; -} -.icon-budicon-540:before { - content: "\e1be"; -} -.icon-budicon-541:before { - content: "\e1bf"; -} -.icon-budicon-542:before { - content: "\e1c0"; -} -.icon-budicon-543:before { - content: "\e1c1"; -} -.icon-budicon-544:before { - content: "\e1c2"; -} -.icon-budicon-545:before { - content: "\e1c3"; -} -.icon-budicon-546:before { - content: "\e1c4"; -} -.icon-budicon-547:before { - content: "\e1c5"; -} -.icon-budicon-548:before { - content: "\e1c6"; -} -.icon-budicon-549:before { - content: "\e1c7"; -} -.icon-budicon-550:before { - content: "\e1c8"; -} -.icon-budicon-551:before { - content: "\e1c9"; -} -.icon-budicon-552:before { - content: "\e1ca"; -} -.icon-budicon-553:before { - content: "\e1cb"; -} -.icon-budicon-554:before { - content: "\e1cc"; -} -.icon-budicon-555:before { - content: "\e1cd"; -} -.icon-budicon-556:before { - content: "\e1ce"; -} -.icon-budicon-557:before { - content: "\e1cf"; -} -.icon-budicon-558:before { - content: "\e1d0"; -} -.icon-budicon-559:before { - content: "\e1d1"; -} -.icon-budicon-560:before { - content: "\e1d2"; -} -.icon-budicon-561:before { - content: "\e1d3"; -} -.icon-budicon-562:before { - content: "\e1d4"; -} -.icon-budicon-563:before { - content: "\e1d5"; -} -.icon-budicon-564:before { - content: "\e1d6"; -} -.icon-budicon-565:before { - content: "\e1d7"; -} -.icon-budicon-566:before { - content: "\e1d8"; -} -.icon-budicon-567:before { - content: "\e1d9"; -} -.icon-budicon-568:before { - content: "\e1da"; -} -.icon-budicon-569:before { - content: "\e1db"; -} -.icon-budicon-570:before { - content: "\e1dc"; -} -.icon-budicon-571:before { - content: "\e1dd"; -} -.icon-budicon-572:before { - content: "\e1de"; -} -.icon-budicon-573:before { - content: "\e1df"; -} -.icon-budicon-574:before { - content: "\e1e0"; -} -.icon-budicon-575:before { - content: "\e1e1"; -} -.icon-budicon-576:before { - content: "\e1e2"; -} -.icon-budicon-577:before { - content: "\e1e3"; -} -.icon-budicon-578:before { - content: "\e1e4"; -} -.icon-budicon-579:before { - content: "\e1e5"; -} -.icon-budicon-580:before { - content: "\e1e6"; -} -.icon-budicon-581:before { - content: "\e1e7"; -} -.icon-budicon-582:before { - content: "\e1e8"; -} -.icon-budicon-583:before { - content: "\e1e9"; -} -.icon-budicon-584:before { - content: "\e1ea"; -} -.icon-budicon-585:before { - content: "\e1eb"; -} -.icon-budicon-586:before { - content: "\e1ec"; -} -.icon-budicon-587:before { - content: "\e1ed"; -} -.icon-budicon-588:before { - content: "\e1ee"; -} -.icon-budicon-589:before { - content: "\e1ef"; -} -.icon-budicon-590:before { - content: "\e1f0"; -} -.icon-budicon-591:before { - content: "\e1f1"; -} -.icon-budicon-592:before { - content: "\e1f2"; -} -.icon-budicon-593:before { - content: "\e1f3"; -} -.icon-budicon-594:before { - content: "\e1f4"; -} -.icon-budicon-595:before { - content: "\e1f5"; -} -.icon-budicon-596:before { - content: "\e1f6"; -} -.icon-budicon-597:before { - content: "\e1f7"; -} -.icon-budicon-598:before { - content: "\e1f8"; -} -.icon-budicon-599:before { - content: "\e1f9"; -} -.icon-budicon-600:before { - content: "\e1fa"; -} -.icon-budicon-601:before { - content: "\e1fb"; -} -.icon-budicon-602:before { - content: "\e1fc"; -} -.icon-budicon-603:before { - content: "\e1fd"; -} -.icon-budicon-604:before { - content: "\e1fe"; -} -.icon-budicon-605:before { - content: "\e1ff"; -} -.icon-budicon-606:before { - content: "\e200"; -} -.icon-budicon-607:before { - content: "\e201"; -} -.icon-budicon-608:before { - content: "\e202"; -} -.icon-budicon-609:before { - content: "\e203"; -} -.icon-budicon-610:before { - content: "\e204"; -} -.icon-budicon-611:before { - content: "\e205"; -} -.icon-budicon-612:before { - content: "\e206"; -} -.icon-budicon-613:before { - content: "\e207"; -} -.icon-budicon-614:before { - content: "\e208"; -} -.icon-budicon-615:before { - content: "\e209"; -} -.icon-budicon-616:before { - content: "\e20a"; -} -.icon-budicon-617:before { - content: "\e20b"; -} -.icon-budicon-618:before { - content: "\e20c"; -} -.icon-budicon-619:before { - content: "\e20d"; -} -.icon-budicon-620:before { - content: "\e20e"; -} -.icon-budicon-621:before { - content: "\e20f"; -} -.icon-budicon-622:before { - content: "\e210"; -} -.icon-budicon-623:before { - content: "\e211"; -} -.icon-budicon-624:before { - content: "\e212"; -} -.icon-budicon-625:before { - content: "\e213"; -} -.icon-budicon-626:before { - content: "\e214"; -} -.icon-budicon-627:before { - content: "\e215"; -} -.icon-budicon-628:before { - content: "\e216"; -} -.icon-budicon-629:before { - content: "\e217"; -} -.icon-budicon-630:before { - content: "\e218"; -} -.icon-budicon-631:before { - content: "\e219"; -} -.icon-budicon-632:before { - content: "\e21a"; -} -.icon-budicon-633:before { - content: "\e21b"; -} -.icon-budicon-634:before { - content: "\e21c"; -} -.icon-budicon-635:before { - content: "\e21d"; -} -.icon-budicon-636:before { - content: "\e21e"; -} -.icon-budicon-637:before { - content: "\e21f"; -} -.icon-budicon-638:before { - content: "\e220"; -} -.icon-budicon-639:before { - content: "\e221"; -} -.icon-budicon-640:before { - content: "\e222"; -} -.icon-budicon-641:before { - content: "\e223"; -} -.icon-budicon-642:before { - content: "\e224"; -} -.icon-budicon-643:before { - content: "\e225"; -} -.icon-budicon-644:before { - content: "\e226"; -} -.icon-budicon-645:before { - content: "\e227"; -} -.icon-budicon-646:before { - content: "\e228"; -} -.icon-budicon-647:before { - content: "\e229"; -} -.icon-budicon-648:before { - content: "\e22a"; -} -.icon-budicon-649:before { - content: "\e22b"; -} -.icon-budicon-650:before { - content: "\e22c"; -} -.icon-budicon-651:before { - content: "\e22d"; -} -.icon-budicon-652:before { - content: "\e22e"; -} -.icon-budicon-653:before { - content: "\e22f"; -} -.icon-budicon-654:before { - content: "\e230"; -} -.icon-budicon-655:before { - content: "\e231"; -} -.icon-budicon-656:before { - content: "\e232"; -} -.icon-budicon-657:before { - content: "\e233"; -} -.icon-budicon-658:before { - content: "\e234"; -} -.icon-budicon-659:before { - content: "\e235"; -} -.icon-budicon-660:before { - content: "\e236"; -} -.icon-budicon-661:before { - content: "\e237"; -} -.icon-budicon-662:before { - content: "\e238"; -} -.icon-budicon-663:before { - content: "\e239"; -} -.icon-budicon-664:before { - content: "\e23a"; -} -.icon-budicon-665:before { - content: "\e23b"; -} -.icon-budicon-666:before { - content: "\e23c"; -} -.icon-budicon-667:before { - content: "\e23d"; -} -.icon-budicon-668:before { - content: "\e23e"; -} -.icon-budicon-669:before { - content: "\e23f"; -} -.icon-budicon-670:before { - content: "\e240"; -} -.icon-budicon-671:before { - content: "\e241"; -} -.icon-budicon-672:before { - content: "\e242"; -} -.icon-budicon-673:before { - content: "\e243"; -} -.icon-budicon-674:before { - content: "\e244"; -} -.icon-budicon-675:before { - content: "\e245"; -} -.icon-budicon-676:before { - content: "\e246"; -} -.icon-budicon-677:before { - content: "\e247"; -} -.icon-budicon-678:before { - content: "\e248"; -} -.icon-budicon-679:before { - content: "\e249"; -} -.icon-budicon-680:before { - content: "\e24a"; -} -.icon-budicon-681:before { - content: "\e24b"; -} -.icon-budicon-682:before { - content: "\e24c"; -} -.icon-budicon-683:before { - content: "\e24d"; -} -.icon-budicon-684:before { - content: "\e24e"; -} -.icon-budicon-685:before { - content: "\e24f"; -} -.icon-budicon-686:before { - content: "\e250"; -} -.icon-budicon-687:before { - content: "\e251"; -} -.icon-budicon-688:before { - content: "\e252"; -} -.icon-budicon-689:before { - content: "\e253"; -} -.icon-budicon-690:before { - content: "\e254"; -} -.icon-budicon-691:before { - content: "\e255"; -} -.icon-budicon-692:before { - content: "\e256"; -} -.icon-budicon-693:before { - content: "\e257"; -} -.icon-budicon-694:before { - content: "\e258"; -} -.icon-budicon-695:before { - content: "\e259"; -} -.icon-budicon-696:before { - content: "\e25a"; -} -.icon-budicon-697:before { - content: "\e25b"; -} -.icon-budicon-698:before { - content: "\e25c"; -} -.icon-budicon-699:before { - content: "\e25d"; -} -.icon-budicon-700:before { - content: "\e25e"; -} -.icon-budicon-701:before { - content: "\e25f"; -} -.icon-budicon-702:before { - content: "\e260"; -} -.icon-budicon-703:before { - content: "\e261"; -} -.icon-budicon-704:before { - content: "\e262"; -} -.icon-budicon-705:before { - content: "\e263"; -} -.icon-budicon-706:before { - content: "\e264"; -} -.icon-budicon-707:before { - content: "\e265"; -} -.icon-budicon-708:before { - content: "\e266"; -} -.icon-budicon-709:before { - content: "\e267"; -} -.icon-budicon-710:before { - content: "\e268"; -} -.icon-budicon-711:before { - content: "\e269"; -} -.icon-budicon-712:before { - content: "\e26a"; -} -.icon-budicon-713:before { - content: "\e26b"; -} -.icon-budicon-714:before { - content: "\e26c"; -} -.icon-budicon-715:before { - content: "\e26d"; -} -.icon-budicon-716:before { - content: "\e26e"; -} -.icon-budicon-717:before { - content: "\e26f"; -} -.icon-budicon-718:before { - content: "\e270"; -} -.icon-budicon-719:before { - content: "\e271"; -} -.icon-budicon-720:before { - content: "\e272"; -} -.icon-budicon-721:before { - content: "\e273"; -} -.icon-budicon-722:before { - content: "\e274"; -} -.icon-budicon-723:before { - content: "\e275"; -} -.icon-budicon-724:before { - content: "\e276"; -} -.icon-budicon-725:before { - content: "\e277"; -} -.icon-budicon-726:before { - content: "\e278"; -} -.icon-budicon-727:before { - content: "\e279"; -} -.icon-budicon-728:before { - content: "\e27a"; -} -.icon-budicon-729:before { - content: "\e27b"; -} -.icon-budicon-730:before { - content: "\e27c"; -} -.icon-budicon-731:before { - content: "\e27d"; -} -.icon-budicon-732:before { - content: "\e27e"; -} -.icon-budicon-733:before { - content: "\e27f"; -} -.icon-budicon-734:before { - content: "\e280"; -} -.icon-budicon-735:before { - content: "\e281"; -} -.icon-budicon-736:before { - content: "\e282"; -} -.icon-budicon-737:before { - content: "\e283"; -} -.icon-budicon-738:before { - content: "\e284"; -} -.icon-budicon-739:before { - content: "\e285"; -} -.icon-budicon-740:before { - content: "\e286"; -} -.icon-budicon-741:before { - content: "\e287"; -} -.icon-budicon-742:before { - content: "\e288"; -} -.icon-budicon-743:before { - content: "\e289"; -} -.icon-budicon-744:before { - content: "\e28a"; -} -.icon-budicon-745:before { - content: "\e28b"; -} -.icon-budicon-746:before { - content: "\e28c"; -} -.icon-budicon-747:before { - content: "\e28d"; -} -.icon-budicon-748:before { - content: "\e28e"; -} -.icon-budicon-749:before { - content: "\e28f"; -} -.icon-budicon-750:before { - content: "\e290"; -} -.icon-budicon-751:before { - content: "\e291"; -} -.icon-budicon-752:before { - content: "\e292"; -} -.icon-budicon-753:before { - content: "\e293"; -} -.icon-budicon-754:before { - content: "\e294"; -} -.icon-budicon-755:before { - content: "\e295"; -} -.icon-budicon-756:before { - content: "\e296"; -} -.icon-budicon-757:before { - content: "\e297"; -} -.icon-budicon-758:before { - content: "\e298"; -} -.icon-budicon-759:before { - content: "\e299"; -} -.icon-budicon-760:before { - content: "\e29a"; -} -.icon-budicon-761:before { - content: "\e29b"; -} -.icon-budicon-762:before { - content: "\e29c"; -} -.icon-budicon-763:before { - content: "\e29d"; -} -.icon-budicon-764:before { - content: "\e29e"; -} -.icon-budicon-765:before { - content: "\e29f"; -} -.icon-budicon-766:before { - content: "\e2a0"; -} -.icon-budicon-767:before { - content: "\e2a1"; -} -.icon-budicon-768:before { - content: "\e2a2"; -} -.icon-budicon-769:before { - content: "\e2a3"; -} -.icon-budicon-770:before { - content: "\e2a4"; -} -.icon-budicon-771:before { - content: "\e2a5"; -} -.icon-budicon-772:before { - content: "\e2a6"; -} -.icon-budicon-773:before { - content: "\e2a7"; -} -.icon-budicon-774:before { - content: "\e2a8"; -} -.icon-budicon-775:before { - content: "\e2a9"; -} -.icon-budicon-776:before { - content: "\e2aa"; -} -.icon-budicon-777:before { - content: "\e2ab"; -} -.icon-budicon-778:before { - content: "\e2ac"; -} -.icon-budicon-779:before { - content: "\e2ad"; -} -.icon-budicon-780:before { - content: "\e2ae"; -} -.icon-budicon-781:before { - content: "\e2af"; -} -.icon-budicon-782:before { - content: "\e2b0"; -} -.icon-budicon-783:before { - content: "\e2b1"; -} -.icon-budicon-784:before { - content: "\e2b2"; -} -.icon-budicon-785:before { - content: "\e2b3"; -} -.icon-budicon-786:before { - content: "\e2b4"; -} -.icon-budicon-787:before { - content: "\e2b5"; -} -.icon-budicon-788:before { - content: "\e2b6"; -} -.icon-budicon-789:before { - content: "\e2b7"; -} -.icon-budicon-790:before { - content: "\e2b8"; -} -.icon-budicon-791:before { - content: "\e2b9"; -} -.icon-budicon-792:before { - content: "\e2ba"; -} -.icon-budicon-793:before { - content: "\e2bb"; -} -.icon-budicon-794:before { - content: "\e2bc"; -} -.icon-budicon-795:before { - content: "\e2bd"; -} -.icon-budicon-796:before { - content: "\e2be"; -} -.icon-budicon-797:before { - content: "\e2bf"; -} -.icon-budicon-798:before { - content: "\e2c0"; -} -.icon-budicon-799:before { - content: "\e2c1"; -} -.icon-budicon-800:before { - content: "\e2c2"; -} -.icon-budicon-801:before { - content: "\e2c3"; -} -.icon-budicon-802:before { - content: "\e2c4"; -} -.icon-budicon-803:before { - content: "\e2c5"; -} -.icon-budicon-804:before { - content: "\e2c6"; -} -.icon-budicon-805:before { - content: "\e2c7"; -} -.icon-budicon-806:before { - content: "\e2c8"; -} -.icon-budicon-807:before { - content: "\e2c9"; -} -.icon-budicon-808:before { - content: "\e2ca"; -} -.icon-budicon-809:before { - content: "\e2cb"; -} -.icon-budicon-810:before { - content: "\e2cc"; -} -.icon-budicon-811:before { - content: "\e2cd"; -} -.icon-budicon-812:before { - content: "\e2ce"; -} -.icon-budicon-813:before { - content: "\e2cf"; -} -.icon-budicon-814:before { - content: "\e2d0"; -} -.icon-budicon-815:before { - content: "\e2d1"; -} -.icon-budicon-816:before { - content: "\e2d2"; -} -.icon-budicon-817:before { - content: "\e2d3"; -} -.icon-budicon-818:before { - content: "\e2d4"; -} -.icon-budicon-819:before { - content: "\e2d5"; -} -.icon-budicon-820:before { - content: "\e2d6"; -} -.icon-budicon-821:before { - content: "\e2d7"; -} -.icon-budicon-822:before { - content: "\e2d8"; -} -.icon-budicon-823:before { - content: "\e2d9"; -} -.icon-budicon-824:before { - content: "\e2da"; -} -.icon-budicon-825:before { - content: "\e2db"; -} -.icon-budicon-826:before { - content: "\e2dc"; -} -.icon-budicon-827:before { - content: "\e2dd"; -} -.icon-budicon-828:before { - content: "\e2de"; -} -.icon-budicon-829:before { - content: "\e2df"; -} -.icon-budicon-830:before { - content: "\e2e0"; -} -.icon-budicon-831:before { - content: "\e2e1"; -} -.icon-budicon-832:before { - content: "\e2e2"; -} -.icon-budicon-833:before { - content: "\e2e3"; -} -.icon-budicon-834:before { - content: "\e2e4"; -} -.icon-budicon-835:before { - content: "\e2e5"; -} -.icon-budicon-836:before { - content: "\e2e6"; -} -.icon-budicon-837:before { - content: "\e2e7"; -} -.icon-budicon-838:before { - content: "\e2e8"; -} -.icon-budicon-839:before { - content: "\e2e9"; -} -.icon-budicon-840:before { - content: "\e2ea"; -} -.icon-budicon-841:before { - content: "\e2eb"; -} -.icon-budicon-842:before { - content: "\e2ec"; -} -.icon-budicon-843:before { - content: "\e2ed"; -} -.icon-budicon-844:before { - content: "\e2ee"; -} -.icon-budicon-845:before { - content: "\e2ef"; -} -.icon-budicon-846:before { - content: "\e2f0"; -} -.icon-budicon-847:before { - content: "\e2f1"; -} -.icon-budicon-848:before { - content: "\e2f2"; -} -.icon-budicon-849:before { - content: "\e2f3"; -} -.icon-1392070209-icon-social-github:before { - content: "\e2f4"; -} -body { - -webkit-font-smoothing: antialiased; - -moz-font-smoothing: antialiased; - font-family: proxima-nova, "Helvetica Neue", sans-serif; - color: #4d4d4d; -} -h1, -h2, -h3, -h4, -h5, -h6 { - font-family: proxima-nova, "Helvetica Neue", sans-serif; - color: #000; -} -h1 a, -h2 a, -h3 a, -h4 a, -h5 a, -h6 a { - color: #000; - font-weight: 300; -} -h1 a:hover, -h2 a:hover, -h3 a:hover, -h4 a:hover, -h5 a:hover, -h6 a:hover { - color: #075a76; -} -h1, -h2, -h3 { - font-weight: 100; -} -h1 a, -h2 a, -h3 a { - font-weight: 100; -} -h4, -h5, -h6 { - font-weight: bold; -} -h4 a, -h5 a, -h6 a { - font-weight: bold; -} -h5.styled { - border-bottom: 1px solid #333; - text-transform: uppercase; - padding-bottom: 10px; - letter-spacing: 1px; - font-size: 13px; -} -h5.styled a { - color: #000; - font-weight: bold; -} -p { - line-height: 24px; -} -a { - color: #0a86b1; -} -a:focus { - outline: 0; -} -a:hover { - text-decoration: none; - color: #032d3b; -} -pre { - border: 0; -} -h1, -h2, -h3, -h4, -h5, -p, -li, -pre { - margin: 20px 0; -} -h1:first-child { - margin-top: 0; -} -nav ul { - margin: 0; -} -nav ul li { - padding: 0; - margin: 0; -} -.btn, -a.btn { - -webkit-transition: background-color 0.2s ease; - -moz-transition: background-color 0.2s ease; - -ms-transition: background-color 0.2s ease; - -o-transition: background-color 0.2s ease; - transition: background-color 0.2s ease; - text-transform: uppercase; - font-size: 16px; - letter-spacing: 2px; - border: 0; - font-weight: bold; - border: 1px solid #d0d2d3; - padding-left: 15px; - padding-right: 15px; - border-radius: 3px; -} -.btn.btn-none, -a.btn.btn-none { - border: 0; - text-transform: none; - letter-spacing: 0; - padding-left: 20px; - padding-right: 20px; -} -.btn.btn-xs, -a.btn.btn-xs { - font-size: 11px; - line-height: 12px; - padding: 6px 15px; -} -.btn.btn-sm, -a.btn.btn-sm { - font-size: 12px; - line-height: 12px; - padding: 10px 15px; -} -.btn.btn-lg, -a.btn.btn-lg { - line-height: 30px; - padding-left: 20px; - padding-right: 20px; - font-size: 15px; -} -.btn.btn-success, -a.btn.btn-success { - background-color: #eb5424; - color: #fff; - border: 0; -} -.btn.btn-success:hover, -a.btn.btn-success:hover { - background-color: #ae3610; - color: #fff; -} -.btn.btn-default, -a.btn.btn-default { - background: #fff; - border-color: #d0d2d3; -} -.btn.btn-default:hover, -a.btn.btn-default:hover { - background: #d0d2d3; -} -.btn.btn-danger, -a.btn.btn-danger { - border: 0; -} -.btn.btn-primary, -a.btn.btn-primary { - background-color: #44c7f4; - border: 0; -} -.btn.btn-primary:hover, -a.btn.btn-primary:hover { - background-color: #0c9dce; -} -.btn:active, -a.btn:active { - box-shadow: none; -} -.bg-primary, -.bg-success, -.bg-danger, -.bg-info, -.bg-warning { - font-weight: bold; - color: #fff; - border-radius: 3px; - padding: 10px 14px; -} -.bg-primary { - background: #16214d; -} -.bg-success { - background: #4fcb1f; -} -.bg-warning { - background: #ffce06; -} -.bg-info { - background-color: #44c7f4; -} -.bg-danger { - background: #f00; -} -.glyphs.css-mapping { - color: rgba(0,0,0,0.5); - padding: 0; - margin: 0; -} -.glyphs.css-mapping li { - margin: 0 20px 20px 0; - padding: 0; - display: inline-block; - overflow: hidden; -} -.glyphs.css-mapping .icon { - margin: 0; - margin-right: 10px; - padding: 13px; - height: 50px; - width: 50px; - color: #162a36 !important; - overflow: hidden; - float: left; - font-size: 24px; -} -.glyphs.css-mapping input { - margin: 0; - margin-top: 5px; - padding: 8px; - line-height: 16px; - font-size: 16px; - display: block; - width: 120px; - height: 40px; - border: 1px solid #d8e0e5; - -webkit-border-radius: 5px; - border-radius: 5px; - background: #fff; - outline: 0; - float: right; -} -.glyphs.css-mapping input:focus { - border: 1px solid #fbde4a; - -webkit-box-shadow: inset 0 0 3px #fbde4a; - box-shadow: inset 0 0 3px #fbde4a; -} -.glyphs.css-mapping input:hover { - -webkit-box-shadow: inset 0 0 3px #fbde4a; - box-shadow: inset 0 0 3px #fbde4a; -} -ul.breadcrumb { - margin: 0; - padding: 0; - font-size: 11px; - border-bottom: 1px solid #f1f1f1; - padding-bottom: 10px; - background: none; - border-radius: 0; - margin-bottom: 20px; - text-transform: uppercase; - letter-spacing: 1px; -} -ul.breadcrumb>li+li:before { - content: ""; - padding: 0; -} -ul.breadcrumb li { - display: inline-block; - padding: 0; - margin: 0; - margin-right: 10px; - font-size: 11px; -} -.sub-header { - border-radius: 3px; - margin-bottom: 40px; - background-color: #16214d; - background: linear-gradient(120deg, #952e0e 0%, #16214d 100%); - - font-weight: bold; - font-size: 12px; - color: #fff; -} -.sub-header a { - color: #fff; -} -.sub-header span.sub-header-text, -.sub-header .external-links a { - padding: 14px 20px; - display: inline-block; -} -.sub-header .btn { - line-height: 32px; - font-size: 12px; - background: none; - border: 0; - border-radius: 0; - border-right: 1px solid #ccc; - text-transform: none; - background: linear-gradient(180deg, transparent 30%, rgba(0,0,0,0.8) 100%); - - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - letter-spacing: 0.5px; - position: relative; - text-align: left; - padding-left: 20px; - padding-right: 40px; - letter-spacing: 0.5px; - display: inline-block; -} -.sub-header .btn span { - position: absolute; - right: 20px; - top: 20px; -} -.sub-header .btn:hover { - background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.8) 100%); - - color: #fff; -} -.sub-header .btn.dropdown-toggle { - color: #fff; -} -.sub-header .btn:focus { - outline: none; -} -.sub-header .dropdown { - display: inline-block; -} -.sub-header .dropdown-menu li { - margin: 0; -} -.sub-header .dropdown-menu .divider { - margin: 10px 0; - font-size: 14px; -} -.sub-header ul.external-links { - display: inline-block; - float: right; -} -.sub-header ul.external-links li { - float: left; - display: inline-block; - color: #fff; - font-size: 12px; - padding: 0; - margin: 0; -} -.sub-header ul.external-links li a { - opacity: 0.6; -} -.sub-header ul.external-links li a:hover { - opacity: 1; -} -.sub-header.sub-header-dropdown { - background: #5d676f; -} -.center-title-block { - text-align: center; - max-width: 680px; - padding: 0 20px; - margin: auto; - margin-bottom: 80px; - max-width: 600px; - margin-bottom: 40px; -} -.center-title-block h2 { - font-size: 34px; - margin-top: 0; - margin-bottom: 0; - color: block; -} -.center-title-block p { - font-size: 120%; - color: #798291; - line-height: 160%; - font-size: 20px; - line-height: 30px; - margin-top: 20px; - color: rgba(0,0,0,0.5); -} -.center-title-block img { - margin-top: 17px; - height: 26px; -} -.center-title-block img.help-circle { - margin-top: -5px; -} -.big-tabs { - text-transform: uppercase; - font-size: 10px; - letter-spacing: 1px; - text-align: center; - position: relative; - margin: 0; - margin-bottom: 40px; -} -.big-tabs li { - display: inline-block; - float: none; - font-weight: bold; - margin: 0; - border: 1px solid #0eb3ec; - margin-left: -1px; -} -.big-tabs li:first-child { - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; -} -.big-tabs li:last-child { - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} -.big-tabs li a { - color: #0eb3ec; - line-height: 32px; - display: inline-block; - padding: 0 30px; -} -.big-tabs li.active a { - background: #0eb3ec; - color: #fff; -} -.browser-window { - border-radius: 4px; - box-shadow: 0 4px 12px rgba(0,0,0,0.5); - width: 800px; - margin: auto; - margin-top: 20px; - overflow: hidden; - border: 1px solid #c1c2c2; -} -.browser-window .browser-inside { - overflow: hidden; - padding: 10px; - background-position: top center; - height: 400px; - background-size: cover; -} -.browser-window .browser-top { - padding: 7px 0; - position: relative; - background: #f1f1f1; - background: -moz-linear-gradient(top, #e9e9e9 3%, #d8d8d8 100%); - background: -webkit-gradient(left top, left bottom, color-stop(3%, #e9e9e9), color-stop(100%, #d8d8d8)); - background: -webkit-linear-gradient(top, #e9e9e9 3%, #d8d8d8 100%); - background: -o-linear-gradient(top, #e9e9e9 3%, #d8d8d8 100%); - background: -ms-linear-gradient(top, #e9e9e9 3%, #d8d8d8 100%); - background: linear-gradient(to bottom, #e9e9e9 3%, #d8d8d8 100%); - -webkit-box-shadow: inset 0px 1px 1px 0px rgba(255,255,255,0.76); - -moz-box-shadow: inset 0px 1px 1px 0px rgba(255,255,255,0.76); - box-shadow: inset 0px 1px 1px 0px rgba(255,255,255,0.76); - overflow: hidden; - border-bottom: 2px solid #bdbcc1; -} -.browser-window .browser-top > div { - float: left; -} -.browser-window .browser-toolbar { - padding-left: 12px; - padding-top: 6px; -} -.browser-window .browser-toolbar > span { - display: inline-block; - float: left; - width: 12px; - height: 12px; - margin-right: 7px; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; - cursor: pointer; -} -.browser-window .browser-toolbar span.first { - background: #ff5f4f; -} -.browser-window .browser-toolbar span.second { - background: #f9c206; -} -.browser-window .browser-toolbar span.third { - background: #19cc32; -} -.browser-window .browser-nav { - overflow: hidden; -} -.browser-window .browser-nav > span { - display: inline-block; - float: left; - background: #fbfbfb; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - height: 23px; - padding: 0 8px; - cursor: pointer; - color: #b4b4b4; - border-bottom: 1px solid #cecece; -} -.browser-window .browser-nav > span:hover { - background: #f2f2f2; - color: #666; -} -.browser-window .browser-nav > span i { - font-size: 14px; - line-height: 30px; - display: inline-block; - position: relative; - top: 5px; - text-align: center; -} -.browser-window .browser-nav span.active { - color: #707070; -} -.browser-window .browser-nav span.prev { - margin-right: 1px; - margin-left: 7px; -} -.browser-window .browser-nav span.next { - margin-right: 7px; -} -.browser-window .browser-nav span.address { - width: 400px; - margin-left: 75px; - display: inline-block; - background: #fff; - line-height: 23px; - text-align: center; - position: relative; - padding-top: 3px; -} -.browser-window .browser-nav span.address > input { - font-size: 12px; - color: #505050; - border: none; - background: none; - text-align: center; - position: relative; - width: 300px; -} -.browser-window .browser-nav span.address > input:focus { - outline: none; -} -.browser-window .browser-nav span.address > input.class { - text-align: left; -} -.browser-window .browser-nav span.address > i { - position: absolute; - right: 5px; - top: 7px; - font-size: 11px; - color: #010101; -} -.browser-window .browser-nav.right { - float: right !important; - margin-right: 35px; -} -.browser-window .browser-nav span.share { - margin-right: 7px; -} -.browser-window .browser-nav span.tabs { - position: relative; - width: 26px; - padding-left: 6px; -} -.browser-window .browser-nav span.tabs span { - height: 7px; - width: 7px; - border: 1px solid #b4b4b4; - display: inline-block; - position: absolute; - background: #fbfbfb; -} -.browser-window .browser-nav span.tabs span.front { - top: 8px; - left: 6px; - z-index: 6; -} -.browser-window .browser-nav span.tabs span.behind { - top: 6px; - left: 8px; - z-index: 5; -} -.browser-window .browser-nav span.tabs:hover span { - border: 1px solid #666; -} -.browser-window span.new { - cursor: pointer; - position: absolute; - right: 0; - bottom: 0; - background: #cacaca; - width: 23px; - height: 23px; - text-align: center; - line-height: 23px; - border-top: 1px solid #c1c2c2; - border-left: 1px solid #c1c2c2; -} -.browser-window span.new:hover { - -webkit-box-shadow: inset 0px 1px 1px 0px rgba(0,0,0,0.1); - -moz-box-shadow: inset 0px 1px 1px 0px rgba(0,0,0,0.1); - box-shadow: inset 0px 1px 1px 0px rgba(0,0,0,0.1); -} -.browser-window span.new .plus { - position: absolute; - background: #b0b0b0; - display: inline-block; -} -.quotes { - text-align: center; - padding: 20px 0; -} -.quotes blockquote { - border: 0; - padding-left: 0; - margin-bottom: 0; - opacity: 0; - display: none; - width: 100%; - padding-left: 10%; - padding-right: 10%; - -webkit-transition: all 0.3s ease; - -moz-transition: all 0.3s ease; - -ms-transition: all 0.3s ease; - -o-transition: all 0.3s ease; - transition: all 0.3s ease; - z-index: 0; -} -.quotes blockquote p { - font-size: 24px; - font-weight: 100; - line-height: 140%; - font-style: italic; - color: #333; -} -.quotes blockquote author { - font-weight: bold; - font-size: 13px; - margin-bottom: 10px; - display: inline-block; -} -.quotes blockquote.active { - opacity: 1; - display: block; -} -.quotes img { - border-radius: 100px; - width: 48px; - margin: 0 10px; - opacity: 0.4; - cursor: pointer; -} -.quotes img.active { - opacity: 1; -} -.tip { - font-size: 14px; -} -.tip a { - font-weight: bold; - color: #fff; - border-color: #fff !important; -} -.tip .tip-inner { - max-width: 300px; -} -header.site-header { - padding: 20px 0 20px 0; - left: 0; - right: 0; - top: 0; - z-index: 1000; - background: #fff; - font-size: 14px; -} -header.site-header li * { - -webkit-backface-visibility: hidden !important; -} -header.site-header .dropdown-menu { - min-width: 130px; - background: #eb5424; -} -header.site-header .dropdown-menu a { - color: #fff !important; -} -header.site-header .dropdown-menu ::after { - position: absolute; - top: -6px; - left: 26px; - display: inline-block; - border-right: 6px solid transparent; - border-bottom: 6px solid #eb5424; - border-left: 6px solid transparent; - content: ''; -} -header.site-header .dropdown-menu .divider { - background-color: rgba(0,0,0,0.1); -} -header.site-header.header-fixed { - background: rgba(255,255,255,0.8); - position: fixed; -} -header.site-header nav { - background: none; - border: 0; - margin: 0; -} -header.site-header nav ul, -header.site-header nav li { - margin: 0; -} -header.site-header nav .navbar-brand { - font-weight: bold; - margin: 0; - display: inline-block; - float: left; - font-size: 24px; - margin-right: 20px; - color: #000; - padding: 0 15px 0 15px; - margin: 0; - width: 120px; -} -header.site-header nav .navbar-brand a { - background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjQ2MnB4IiBoZWlnaHQ9IjE2OHB4IiB2aWV3Qm94PSIwIDAgNDYyIDE2OCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczpza2V0Y2g9Imh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaC9ucyI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDMuMC4zICg3ODkxKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5VbnRpdGxlZDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHNrZXRjaDp0eXBlPSJNU1BhZ2UiPgogICAgICAgIDxnIGlkPSJsb2dvLWJsdWUtaG9yaXpvbnRhbCIgc2tldGNoOnR5cGU9Ik1TTGF5ZXJHcm91cCI+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+CiAgICAgICAgICAgICAgICA8ZyBpZD0iQ2xpcHBlZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTg4LjAwMDAwMCwgNDQuMDAwMDAwKSIgZmlsbD0iIzE2MjE0RCI+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI0Ni41MTcsMC4xMSBDMjM4LjQzOSwwLjExIDIzMS42MDcsMy45MTYgMjI2Ljc1OSwxMS4xMTUgQzIyMS45NCwxOC4yNzEgMjE5LjM5MywyOC4yNiAyMTkuMzkzLDQwIEMyMTkuMzkzLDUxLjc0IDIyMS45NCw2MS43MjkgMjI2Ljc1OSw2OC44ODQgQzIzMS42MDcsNzYuMDg0IDIzOC40MzksNzkuODg5IDI0Ni41MTcsNzkuODg5IEMyNTQuNTk1LDc5Ljg4OSAyNjEuNDI3LDc2LjA4NCAyNjYuMjc1LDY4Ljg4NCBDMjcxLjA5Myw2MS43MjkgMjczLjY0LDUxLjc0IDI3My42NCw0MCBDMjczLjY0LDI4LjI2IDI3MS4wOTMsMTguMjcxIDI2Ni4yNzUsMTEuMTE1IEMyNjEuNDI3LDMuOTE2IDI1NC41OTUsMC4xMSAyNDYuNTE3LDAuMTEgTDI0Ni41MTcsMC4xMSBaIE0yNDYuNTE3LDcwLjAwNSBDMjQyLjY1NSw3MC4wMDUgMjM5LjYwNCw2Ny44MiAyMzcuMTg3LDYzLjMyNCBDMjM0LjI2OCw1Ny44OTMgMjMyLjY2LDQ5LjYxIDIzMi42Niw0MCBDMjMyLjY2LDMwLjM5IDIzNC4yNjgsMjIuMTA2IDIzNy4xODcsMTYuNjc2IEMyMzkuNjA0LDEyLjE4IDI0Mi42NTUsOS45OTQgMjQ2LjUxNyw5Ljk5NCBDMjUwLjM3OCw5Ljk5NCAyNTMuNDMsMTIuMTggMjU1Ljg0NywxNi42NzYgQzI1OC43NjYsMjIuMTA2IDI2MC4zNzMsMzAuMzg5IDI2MC4zNzMsNDAgQzI2MC4zNzMsNDkuNjExIDI1OC43NjYsNTcuODk1IDI1NS44NDcsNjMuMzI0IEMyNTMuNDMsNjcuODIgMjUwLjM3OCw3MC4wMDUgMjQ2LjUxNyw3MC4wMDUgTDI0Ni41MTcsNzAuMDA1IFogTTcxLjQ1LDI5LjE3MiBMNzEuNDUsNjMuNDg0IEM3MS40NSw3Mi41MyA3OC44MSw3OS44ODkgODcuODU2LDc5Ljg4OSBDOTUuNzQ2LDc5Ljg4OSAxMDEuNzA3LDc1Ljk3NSAxMDMuOTAyLDc0LjI5MSBDMTA0LjAyNCw3NC4xOTcgMTA0LjE4NCw3NC4xNjkgMTA0LjMzMSw3NC4yMTYgQzEwNC40NzgsNzQuMjYzIDEwNC41OTIsNzQuMzc5IDEwNC42MzcsNzQuNTI3IEwxMDUuOTYxLDc4Ljg2IEwxMTUuNzM3LDc4Ljg2IEwxMTUuNzM3LDI5LjE3MiBMMTAzLjE3NSwyOS4xNzIgTDEwMy4xNzUsNjYuMzI2IEMxMDMuMTc1LDY2LjUwMSAxMDMuMDc2LDY2LjY2MiAxMDIuOTIxLDY2Ljc0MyBDMTAwLjU1OSw2Ny45NjEgOTUuODk5LDcwLjAwNiA5MS4yMzEsNzAuMDA2IEM4Ny4yNTIsNzAuMDA2IDg0LjAxMiw2Ni43NjggODQuMDEyLDYyLjc4NyBMODQuMDEyLDI5LjE3MiBMNzEuNDUsMjkuMTcyIEw3MS40NSwyOS4xNzIgWiBNMTk3LjIzNyw3OC44NTkgTDIwOS44LDc4Ljg1OSBMMjA5LjgsNDQuNTQ3IEMyMDkuOCwzNS41MDEgMjAyLjQ0LDI4LjE0MSAxOTMuMzk0LDI4LjE0MSBDMTg2LjczNSwyOC4xNDEgMTgxLjM5MywzMS4wMDQgMTc4LjgwMiwzMi43MSBDMTc4LjY1NywzMi44MDUgMTc4LjQ3MywzMi44MTMgMTc4LjMyMiwzMi43MzEgQzE3OC4xNzEsMzIuNjQ5IDE3OC4wNzUsMzIuNDkxIDE3OC4wNzUsMzIuMzE4IEwxNzguMDc1LDEuMTQxIEwxNjUuNTEzLDEuMTQxIEwxNjUuNTEzLDc4Ljg1OSBMMTc4LjA3NSw3OC44NTkgTDE3OC4wNzUsNDEuNzA0IEMxNzguMDc1LDQxLjUyOSAxNzguMTc0LDQxLjM2OCAxNzguMzMsNDEuMjg4IEMxODAuNjkxLDQwLjA2OSAxODUuMzUyLDM4LjAyNSAxOTAuMDE5LDM4LjAyNSBDMTkxLjk0NywzOC4wMjUgMTkzLjc2LDM4Ljc3NiAxOTUuMTIzLDQwLjEzOSBDMTk2LjQ4Niw0MS41MDIgMTk3LjIzNiw0My4zMTYgMTk3LjIzNiw0NS4yNDMgTDE5Ny4yMzYsNzguODU5IEwxOTcuMjM3LDc4Ljg1OSBaIE0xMjQuNzkyLDM5LjA1NSBMMTMyLjQzOCwzOS4wNTUgQzEzMi42OTcsMzkuMDU1IDEzMi45MDcsMzkuMjY1IDEzMi45MDcsMzkuNTI0IEwxMzIuOTA3LDY2Ljg1OCBDMTMyLjkwNyw3NC4wNDMgMTM4Ljc1Myw3OS44ODggMTQ1LjkzOCw3OS44ODggQzE0OC41NDMsNzkuODg4IDE1MS4xMTMsNzkuNTEyIDE1My41ODUsNzguNzcgTDE1My41ODUsNjkuNzk2IEMxNTIuMTQzLDY5LjkyMyAxNTAuNDg1LDcwLjAwNSAxNDkuMzEzLDcwLjAwNSBDMTQ3LjE5Myw3MC4wMDUgMTQ1LjQ2OSw2OC4yOCAxNDUuNDY5LDY2LjE2MSBMMTQ1LjQ2OSwzOS41MjMgQzE0NS40NjksMzkuMjY0IDE0NS42NzksMzkuMDU0IDE0NS45MzgsMzkuMDU0IEwxNTMuNTg1LDM5LjA1NCBMMTUzLjU4NSwyOS4xNzEgTDE0NS45MzgsMjkuMTcxIEMxNDUuNjc5LDI5LjE3MSAxNDUuNDY5LDI4Ljk2MSAxNDUuNDY5LDI4LjcwMiBMMTQ1LjQ2OSwxMi4yOTUgTDEzMi45MDcsMTIuMjk1IEwxMzIuOTA3LDI4LjcwMiBDMTMyLjkwNywyOC45NjEgMTMyLjY5NywyOS4xNzEgMTMyLjQzOCwyOS4xNzEgTDEyNC43OTIsMjkuMTcxIEwxMjQuNzkyLDM5LjA1NSBMMTI0Ljc5MiwzOS4wNTUgWiBNNTEuMzYxLDc4Ljg1OSBMNjQuNDI5LDc4Ljg1OSBMNDQuNTU1LDkuNTUgQzQyLjk2MiwzLjk5MiAzNy44MTEsMC4xMSAzMi4wMjksMC4xMSBDMjYuMjQ3LDAuMTEgMjEuMDk2LDMuOTkyIDE5LjUwMiw5LjU1IEwtMC4zNzIsNzguODU5IEwxMi42OTcsNzguODU5IEwxOC40NDksNTguNzk4IEMxOC41MDcsNTguNTk3IDE4LjY5MSw1OC40NTkgMTguOSw1OC40NTkgTDQ1LjE1OCw1OC40NTkgQzQ1LjM2Nyw1OC40NTkgNDUuNTUyLDU4LjU5NyA0NS42MDksNTguNzk4IEw1MS4zNjEsNzguODU5IEw1MS4zNjEsNzguODU5IFogTTQyLjA1Niw0OC41NzYgTDIyLjAwNCw0OC41NzYgQzIxLjg1Nyw0OC41NzYgMjEuNzE4LDQ4LjUwNyAyMS42MjksNDguMzg4IEMyMS41NDEsNDguMjcyIDIxLjUxMyw0OC4xMTkgMjEuNTUzLDQ3Ljk3OCBMMzEuNTc5LDEzLjAxMiBDMzEuNjM3LDEyLjgxMSAzMS44MjEsMTIuNjczIDMyLjAzLDEyLjY3MyBDMzIuMjM5LDEyLjY3MyAzMi40MjMsMTIuODExIDMyLjQ4LDEzLjAxMiBMNDIuNTA3LDQ3Ljk3OCBDNDIuNTQ3LDQ4LjEyIDQyLjUxOSw0OC4yNzIgNDIuNDMsNDguMzg4IEM0Mi4zNDIsNDguNTA3IDQyLjIwMyw0OC41NzYgNDIuMDU2LDQ4LjU3NiBMNDIuMDU2LDQ4LjU3NiBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDxnIGlkPSJDbGlwcGVkIiBmaWxsPSIjRUI1NDI0Ij4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTE5LjU1NSwxMzUuODYxIEwxMDIuNzA1LDgzLjk5NyBMMTQ2LjgxMyw1MS45NTIgTDkyLjI5MSw1MS45NTIgTDc1LjQ0LDAuMDkgTDc1LjQzNSwwLjA3NiBMMTI5Ljk2NSwwLjA3NiBMMTQ2LjgyLDUxLjk0NyBMMTQ2LjgyMSw1MS45NDYgTDE0Ni44MzUsNTEuOTM4IEMxNTYuNjIzLDgyLjAzIDE0Ni41NDIsMTE2LjI1NiAxMTkuNTU1LDEzNS44NjEgTDExOS41NTUsMTM1Ljg2MSBaIE0zMS4zMjEsMTM1Ljg2MSBMMzEuMzA3LDEzNS44NzEgTDc1LjQyNiwxNjcuOTI0IEwxMTkuNTU1LDEzNS44NjIgTDc1LjQ0LDEwMy44MDggTDMxLjMyMSwxMzUuODYxIEwzMS4zMjEsMTM1Ljg2MSBaIE00LjA1Miw1MS45MzkgTDQuMDUyLDUxLjkzOSBDLTYuMjUyLDgzLjY2IDUuNzA5LDExNy4yNzIgMzEuMzEyLDEzNS44NjcgTDMxLjMxNiwxMzUuODUxIEw0OC4xNjgsODMuOTkgTDQuMDcsNTEuOTUxIEw1OC41NzksNTEuOTUxIEw3NS40MzEsMC4wODkgTDc1LjQzNSwwLjA3NSBMMjAuOTAyLDAuMDc1IEw0LjA1Miw1MS45MzkgTDQuMDUyLDUxLjkzOSBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+) center left no-repeat; - background-size: 76%; - width: 130px; - height: 40px; - display: block; - margin-top: 5px; - background-size: 70%; -} -header.site-header nav .navbar-brand img { - position: relative; - height: 36px; - margin-right: 10px; - top: 2px; - display: none; -} -header.site-header nav .navbar-brand span { - display: none; -} -header.site-header nav a { - color: #333; -} -header.site-header nav a.login { - margin-left: 20px; - font-weight: bold; -} -header.site-header nav a.signup { - color: #666; - border: 1px solid #f1f1f1; - padding-left: 16px; - padding-right: 14px; - border-radius: 3px; - margin-left: 10px; - padding-bottom: 0; - padding-top: 0; - line-height: 40px; - margin-top: 4px; -} -header.site-header nav a.signup:hover { - background: #f1f1f1; -} -header.site-header .navbar-default .navbar-collapse { - border-color: transparent; -} -header.site-header .navbar-default .navbar-collapse li.active a { - background: none; - color: #000; -} -header.site-header .navbar-toggle { - border: 0; -} -header.site-header .navbar-toggle:hover { - background: none; -} -header.site-header .navbar-toggle:hover .icon-bar { - background: #000; -} -header.site-header .navbar-right .dropdown-menu { - left: 0; - border: 0; - border-radius: 3px; -} -header.site-header .navbar-default .navbar-nav>.open>a { - background: none; -} -header.site-header nav li .btn-dro { - padding: 15px; - line-height: 20px; - background: none; - display: inline-block; - color: #777; - cursor: pointer; -} -header.site-header nav li .btn-dro:hover { - color: #666; -} -header.site-header nav li .btn-dro i { - position: relative; - top: 1px; - margin-left: 5px; - width: 6px; - display: inline-block; - font-size: 10px; -} -.dark-layout header.site-header { - background: #000; -} -.dark-layout header.site-header h1.navbar-brand a { - background-image: url(http://github.com/auth0-styleguide/img/logo-grey-horizontal.png); -} -.dark-layout header.site-header a { - color: #999; -} -.dark-layout header.site-header a:hover { - color: #fff; -} -.dark-layout header.site-header a.btn { - border-color: #666; -} -.dark-layout header.site-header a.btn:hover { - border-color: #fff; - color: #000; -} -.dark-layout .dropdown a { - color: #333; -} -header.site-header .navbar-default .navbar-nav>.open>a { - background: none; -} -header.site-header .dropdown-menu { - border-radius: 3px; - font-size: 14px; -} -header.site-header .dropdown-menu a { - color: #777; -} -header.site-header .dropdown-menu a:hover { - background: #44c7f4; - color: #fff; -} -.header-dark header.site-header { - position: absolute; - background: transparent !important; - border-bottom: 1px solid rgba(255,255,255,0.1); -} -.header-dark header.site-header h1.navbar-brand a { - background-image: url(http://github.com/auth0-styleguide/img/logo-grey-horizontal.png); -} -.header-dark header.site-header .navbar-default .navbar-nav>li>a { - color: #d0d2d3; -} -.header-dark header.site-header .navbar-default .navbar-nav>li>a:hover { - color: #fff; - background: none; -} -.header-dark header.site-header nav li .btn-dro { - color: #d0d2d3; -} -.header-dark header.site-header a.btn { - border-color: #fff; -} -.header-dark header.site-header a.btn:hover { - border-color: #fff; - color: #000; -b -} -.header-dark .dropdown a { - color: #333; -} -footer.site-footer { - margin-top: 10px; - margin-bottom: 10px; - font-size: 12px; - padding: 20px 0; - color: #999; -} -footer.site-footer nav { - text-align: right; - float: right; -} -footer.site-footer nav li { - display: inline-block; - margin-left: 30px; -} -footer.site-footer a { - color: #999; -} -footer.site-footer .col-md-11 { - float: right; -} -@media screen and (max-width: 768px) { - footer.site-footer .col-md-11 { - float: none; - } - footer.site-footer nav { - float: none; - display: block; - clear: both; - text-align: left; - margin: 0; - padding: 0; - margin-bottom: 14px; - } - footer.site-footer nav ul { - margin: 0; - border-bottom: 1px solid #f1f1f1; - padding: 0; - } - footer.site-footer nav li { - display: block; - margin: 0; - } - footer.site-footer nav a { - display: block; - border-top: 1px solid #f1f1f1; - margin: 0; - padding: 14px 0; - } -} -.banner { - color: #fff; - text-align: center; - padding-top: 60px; - padding-bottom: 60px; - margin-bottom: 50px; - position: relative; - overflow: hidden; - background-color: #14204d; - background: #14204d; - - background: -moz-linear-gradient(120deg, #14204d 0%, #3cc8f4 100%); - - background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, #14204d), color-stop(100%, #3cc8f4)); - - background: -webkit-linear-gradient(120deg, #14204d 0%, #3cc8f4 100%); - - background: -o-linear-gradient(120deg, #14204d 0%, #3cc8f4 100%); - - background: -ms-linear-gradient(120deg, #14204d 0%, #3cc8f4 100%); - - background: linear-gradient(120deg, #14204d 0%, #3cc8f4 100%); - -} -.banner h1 { - color: #fff; - font-size: 34px; -} -.banner p { - font-size: 120%; - max-width: 580px; - margin: auto; - margin-top: 20px; - line-height: 170%; - color: rgba(255,255,255,0.8); -} -.banner i { - font-size: 50px; - -webkit-animation: icon_banner 1s; - position: relative; -} -.banner .btn { - margin-top: 10px; -} -.banner em { - display: block; - font-size: 12px; - margin-top: 4px; - letter-spacing: 1px; -} -@media screen and (max-width: 660px) { - .banner { - padding: 20px 0; - } - .banner h1 { - font-size: 36px; - } -} -.sidebar-box { - max-width: 230px; - border: 1px solid #eee; - border-radius: 3px; - margin-bottom: 20px; - padding: 14px 20px; - list-style: none; -} -.sidebar-box strong { - text-transform: uppercase; - font-weight: bold; - font-size: 12px; - margin-bottom: 6px; - display: block; - letter-spacing: 1px; - color: #999; -} -.sidebar-box ul { - padding: 0; - margin: 0; - list-style: none; -} -.sidebar-box ul a { - color: #666; -} -.sidebar-box ul a:hover { - color: #000; -} -.sidebar-box ul li { - line-height: 28px; - margin: 0; -} -.sidebar-box ul li li { - margin: 0; -} -.sidebar-box ul li i:before { - content: "\e16f";font-family:budicon-font!important;speak:none}.sidebar-box ul li i{width:10px;display:inline-block;font-family:budicon-font!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;margin-right:8px;position:relative;top:2px;height:14px}.sidebar-box ul li.selected a{color:#000!important}.try-banner{text-align:center;background:#f9f9f9;margin:80px 0;padding:50px 20px 44px;border-radius:3px}.try-banner span{font-size:30px;font-weight:100;display:inline-block}.try-banner .btn{margin-left:20px;margin-top:-20px}.try-banner .copy{color:#666;margin-top:30px}@media screen and (max-width:660px){.try-banner{padding:20px;margin-top:40px;text-align:center;margin-bottom:20px}.try-banner span{display:block;margin-bottom:20px}.try-banner .btn{width:100%;display:block;white-space:normal;margin:0}}@-moz-keyframes icon_banner{0%{top:-100px;opacity:0}100%{opacity:1;top:0}}@-webkit-keyframes icon_banner{0%{top:-100px;opacity:0}100%{opacity:1;top:0}}@-o-keyframes icon_banner{0%{top:-100px;opacity:0}100%{opacity:1;top:0}}@-ms-keyframes icon_banner{0%{top:-100px;opacity:0}100%{opacity:1;top:0}}@keyframes icon_banner{0%{top:-100px;opacity:0}100%{opacity:1;top:0}}body{overflow-x:hidden}.container{max-width:1016px}.banner-container{position:relative}.grid{background-image:linear-gradient(0deg,transparent 24%,rgba(255,255,255,.05)25%,rgba(255,255,255,.05)26%,transparent 27%,transparent 74%,rgba(255,255,255,.05)75%,rgba(255,255,255,.05)76%,transparent 77%,transparent),linear-gradient(90deg,transparent 24%,rgba(255,255,255,.05)25%,rgba(255,255,255,.05)26%,transparent 27%,transparent 74%,rgba(255,255,255,.05)75%,rgba(255,255,255,.05)76%,transparent 77%,transparent);background-size:50px 50px;width:100%;position:absolute;top:0;bottom:0;right:0;left:0}.banner-container{display:block;-webkit-animation-name:appear;-webkit-animation-duration:.5s;-webkit-animation-iteration-count:once;-webkit-animation-timing-function:ease-in}@-webkit-keyframes appear{0%{opacity:0}100%{opacity:1}}.bg-grey{border-top:1px solid #f1f1f1;border-bottom:1px solid #f1f1f1}.float-right{float:right}.float-left{float:left}.align-center{text-align:center}.container.spacing-content{padding-top:80px;padding-bottom:80px}.help-circle{max-height:14px;max-width:14px;opacity:.2;margin-left:4px;position:relative;top:-2px}.help-circle:hover{opacity:1}section.section{margin-bottom:80px}span.icon-badge{background:#d0d2d3;width:60px;height:60px;border-radius:3px;display:inline-block;color:#eb5424;font-size:30px;line-height:72px}.narrow-content{max-width:680px;margin:auto;text-align:center;font-size:120%}.narrow-content p{color:#666}.narrow-content ul{padding-left:0}.narrow-content ul.ul-inline{margin:20px 0}.narrow-content ul.ul-inline li{background:url(http://github.com/homepage/img/icon-checkmark.png) left 4px no-repeat;display:inline-block;padding-left:30px;margin:0 20px}.narrow-content ul.ul-large{text-align:left}.narrow-content ul li{margin-bottom:20px;background:url(http://github.com/homepage/img/icon-checkmark.png) left 4px no-repeat;padding-left:30px;list-style:none}pre.code-snippet.prettyprint{background:rgba(255,255,255,.96);border:0;border-left:30px solid #f1f1f1;color:#333;font-size:11px;font-family:monospace;line-height:20px;margin-bottom:0;padding:10px 10px 10px 2px;border-radius:3px;box-shadow:0 1px 6px rgba(0,0,0,.4);list-style:dotted}pre.code-snippet.prettyprint ol{margin:0;padding:0;color:#999;width:600px}pre.code-snippet.prettyprint li.L1,pre.code-snippet.prettyprint li.L3,pre.code-snippet.prettyprint li.L5,pre.code-snippet.prettyprint li.L7,pre.code-snippet.prettyprint li.L9{background:0 0}pre.code-snippet.prettyprint li.L0,pre.code-snippet.prettyprint li.L1,pre.code-snippet.prettyprint li.L2,pre.code-snippet.prettyprint li.L3,pre.code-snippet.prettyprint li.L5,pre.code-snippet.prettyprint li.L6,pre.code-snippet.prettyprint li.L7,pre.code-snippet.prettyprint li.L8{list-style:inherit}pre.code-snippet.prettyprint li{padding-left:10px;margin:0}.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.clo,.opn,.pun{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:700}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:700}.lit{color:#044}.clo,.opn,.pun{color:#440}.tag{color:#006;font-weight:700}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:20px;border:0}pre.prettyprint.prettyprinted{border:0!important;padding:20px!important}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}@media screen and (max-width:768px){.quotes blockquote{min-height:10px;position:static}.zopim{display:none}}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#000}.navbar-default .navbar-brand{font-weight:700;text-transform:uppercase;color:#000;font-size:14px;letter-spacing:.5px;margin-right:30px}.banner-jwt{position:relative;margin-top:50px;padding:20px;color:#000;overflow:hidden;background:linear-gradient(120deg,#848db4 0,#3cc8f4 100%);background-color:#24C6DC;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(10%,#24c6dc),color-stop(90%,#514a9d));background-image:-webkit-linear-gradient(-360deg,#24c6dc 10%,#514a9d 90%);background-image:linear-gradient(90deg,#24c6dc 10%,#514a9d 90%)}.banner-jwt p{color:#fff;font-size:28px;font-weight:100;line-height:52px;position:relative}.banner-jwt a{font-size:16px;font-weight:700;color:#fff;opacity:.8;display:inline-block;position:relative}.banner-jwt canvas{position:absolute;z-index:0;top:0;left:0;right:0;bottom:0;opacity:.3;height:1000px;width:100%}.CodeMirror{zoom:1;font-family:'Source Code Pro'}h1{margin-bottom:0}code,pre{padding:0;margin:0;font-family:Menlo!important}.navbar-default.navbar-fixed-top{background:rgba(255,255,255,.9);border:0;color:#fff}.vulnerable-badge{text-align:right;float:right;line-height:17px;text-transform:uppercase;color:red}.patched-badge{text-align:right;float:right;line-height:17px;text-transform:uppercase;color:orange}.panel{box-shadow:none;border:0;overflow:hidden}.panel.vulnerable{border:2px solid red}.panel.vulnerable .panel-body code,.panel.vulnerable .panel-heading{background:0 0}.panel.patched{border:2px solid orange}.panel .panel-heading,.panel.patched .panel-body code,.panel.patched .panel-heading{background:0 0}.panel .icon-budicon-333{position:relative;top:2px;opacity:.5}.panel-footer{font-size:14px}.hn-button{margin-right:20px}.panel-title{font-weight:700}.panel-body{padding:0}.panel-body .row{padding:15px}.panel-body .row div{margin-bottom:4px}.panel-body .row div i{position:relative;top:2px}.icon-budicon-500{color:#65a52f}.panel-footer{padding:0}.panel-footer code{background:#222;display:block;padding:15px;border-radius:0;color:#fff;font-size:12px}.panel-footer code a{color:#fff}.author-info{border-top:1px solid #f1f1f1;padding:15px}.author-info .maintainer,.author-info .repository{display:inline-block}.author-info .repository{float:right}.author-info .repository-left{float:none}.banner{background:linear-gradient(120deg,#14204d 0,#3cc8f4 100%)}.banner img{width:140px}.banner a{color:#fff}.banner p{font-size:150%}.banner .btn{min-width:200px}.bg-grey{background:#f6f6f6;margin-top:60px;padding-bottom:40px}.jwt-playground{width:100%}.jwt-playground h4{font-size:14px;text-transform:uppercase}.jwt-playground .input{border:1px solid #44C7F4;padding:10px;margin-bottom:2px;border-radius:3px;background:#fff}.jwt-playground .input.error{background:pink}.jwt-playground .input:hover{-webkit-box-shadow:0 0 4px #54a1e9;-moz-box-shadow:0 0 4px #54a1e9;box-shadow:0 0 4px #54a1e9}.jwt-playground .input .CodeMirror{width:100%;background:0 0;font-size:20px;line-height:30px;min-height:434px;height:auto}.jwt-playground .input .CodeMirror .cm-jwt-dot{color:#000}.jwt-playground .input .CodeMirror .cm-jwt-header{color:#859900}.jwt-playground .input .CodeMirror .cm-jwt-payload{color:#268bd2}.jwt-playground .input .CodeMirror .cm-jwt-signature{color:#dc322f}.jwt-playground .output{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.jwt-playground .output .jwt-explained{background:#fff;border:1px solid #ECECEC;padding:10px;margin-bottom:2px}.jwt-playground .output .jwt-explained pre{font-size:16px;line-height:26px}.jwt-playground .output .jwt-explained.error{background:rgba(100,0,0,.1)}.jwt-playground .output .jwt-explained:hover{-webkit-box-shadow:0 0 4px #54a1e9;-moz-box-shadow:0 0 4px #54a1e9;box-shadow:0 0 4px #54a1e9}.jwt-playground .output .jwt-explained .CodeMirror{width:100%;height:auto;background:0 0}.jwt-playground .output .jwt-header,.jwt-playground .output .jwt-header .CodeMirror,.jwt-playground .output .jwt-header .CodeMirror .cm-atom,.jwt-playground .output .jwt-header .CodeMirror .cm-number,.jwt-playground .output .jwt-header .CodeMirror .cm-property,.jwt-playground .output .jwt-header .CodeMirror .cm-string{color:#859900}.jwt-playground .output .jwt-payload,.jwt-playground .output .jwt-payload .CodeMirror,.jwt-playground .output .jwt-payload .CodeMirror .cm-atom,.jwt-playground .output .jwt-payload .CodeMirror .cm-number,.jwt-playground .output .jwt-payload .CodeMirror .cm-property,.jwt-playground .output .jwt-payload .CodeMirror .cm-string{color:#268bd2}.jwt-playground .output .jwt-signature{color:#dc322f;font-family:monospace}.jwt-playground .output .jwt-signature pre{background-color:transparent;border:0;color:#dc322f}.jwt-playground .output .jwt-signature span.is-base64-encoded-label{font-size:x-small}.jwt-playground .validation-status{background:#fff;padding:15px;margin-top:20px;clear:both;text-align:center;width:100%;font-size:20px;color:#fff;text-transform:uppercase;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.jwt-playground .validation-status.valid-token{background:#7ed321}.jwt-playground .validation-status.invalid-token{background:red}.library div i{padding-right:4px}html{position:relative;min-height:100%}body{margin-bottom:60px}#footer{position:absolute;bottom:0;width:100%;height:60px;background-color:#f5f5f5}.container .text-muted{margin:20px 0}#footer>.container{padding-right:15px;padding-left:15px}code{font-size:80%}.navbar-right{height:20px} \ No newline at end of file diff --git a/dist/js/app.js b/dist/js/app.js deleted file mode 100644 index a0c2a713..00000000 --- a/dist/js/app.js +++ /dev/null @@ -1,12 +0,0 @@ -function hex2b64(a){var b,c,d="";for(b=0;b+3<=a.length;b+=3)c=parseInt(a.substring(b,b+3),16),d+=b64map.charAt(c>>6)+b64map.charAt(63&c);if(b+1==a.length?(c=parseInt(a.substring(b,b+1),16),d+=b64map.charAt(c<<2)):b+2==a.length&&(c=parseInt(a.substring(b,b+2),16),d+=b64map.charAt(c>>2)+b64map.charAt((3&c)<<4)),b64pad)for(;(3&d.length)>0;)d+=b64pad;return d}function b64tohex(a){var b,c,d,e="",f=0;for(b=0;bd||(0==f?(e+=int2char(d>>2),c=3&d,f=1):1==f?(e+=int2char(c<<2|d>>4),c=15&d,f=2):2==f?(e+=int2char(c),e+=int2char(d>>2),c=3&d,f=3):(e+=int2char(c<<2|d>>4),e+=int2char(15&d),f=0));return 1==f&&(e+=int2char(c<<2)),e}function b64toBA(a){var b,c=b64tohex(a),d=new Array;for(b=0;2*b=0;){var g=b*this[a++]+c[d]+e;e=Math.floor(g/67108864),c[d++]=67108863&g}return e}function am2(a,b,c,d,e,f){for(var g=32767&b,h=b>>15;--f>=0;){var i=32767&this[a],j=this[a++]>>15,k=h*i+j*g;i=g*i+((32767&k)<<15)+c[d]+(1073741823&e),e=(i>>>30)+(k>>>15)+h*j+(e>>>30),c[d++]=1073741823&i}return e}function am3(a,b,c,d,e,f){for(var g=16383&b,h=b>>14;--f>=0;){var i=16383&this[a],j=this[a++]>>14,k=h*i+j*g;i=g*i+((16383&k)<<14)+c[d]+e,e=(i>>28)+(k>>14)+h*j,c[d++]=268435455&i}return e}function int2char(a){return BI_RM.charAt(a)}function intAt(a,b){var c=BI_RC[a.charCodeAt(b)];return null==c?-1:c}function bnpCopyTo(a){for(var b=this.t-1;b>=0;--b)a[b]=this[b];a.t=this.t,a.s=this.s}function bnpFromInt(a){this.t=1,this.s=0>a?-1:0,a>0?this[0]=a:-1>a?this[0]=a+this.DV:this.t=0}function nbv(a){var b=nbi();return b.fromInt(a),b}function bnpFromString(a,b){var c;if(16==b)c=4;else if(8==b)c=3;else if(256==b)c=8;else if(2==b)c=1;else if(32==b)c=5;else{if(4!=b)return void this.fromRadix(a,b);c=2}this.t=0,this.s=0;for(var d=a.length,e=!1,f=0;--d>=0;){var g=8==c?255&a[d]:intAt(a,d);0>g?"-"==a.charAt(d)&&(e=!0):(e=!1,0==f?this[this.t++]=g:f+c>this.DB?(this[this.t-1]|=(g&(1<>this.DB-f):this[this.t-1]|=g<=this.DB&&(f-=this.DB))}8==c&&0!=(128&a[0])&&(this.s=-1,f>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==a;)--this.t}function bnToString(a){if(this.s<0)return"-"+this.negate().toString(a);var b;if(16==a)b=4;else if(8==a)b=3;else if(2==a)b=1;else if(32==a)b=5;else{if(4!=a)return this.toRadix(a);b=2}var c,d=(1<0)for(h>h)>0&&(e=!0,f=int2char(c));g>=0;)b>h?(c=(this[g]&(1<>(h+=this.DB-b)):(c=this[g]>>(h-=b)&d,0>=h&&(h+=this.DB,--g)),c>0&&(e=!0),e&&(f+=int2char(c));return e?f:"0"}function bnNegate(){var a=nbi();return BigInteger.ZERO.subTo(this,a),a}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(a){var b=this.s-a.s;if(0!=b)return b;var c=this.t;if(b=c-a.t,0!=b)return this.s<0?-b:b;for(;--c>=0;)if(0!=(b=this[c]-a[c]))return b;return 0}function nbits(a){var b,c=1;return 0!=(b=a>>>16)&&(a=b,c+=16),0!=(b=a>>8)&&(a=b,c+=8),0!=(b=a>>4)&&(a=b,c+=4),0!=(b=a>>2)&&(a=b,c+=2),0!=(b=a>>1)&&(a=b,c+=1),c}function bnBitLength(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(a,b){var c;for(c=this.t-1;c>=0;--c)b[c+a]=this[c];for(c=a-1;c>=0;--c)b[c]=0;b.t=this.t+a,b.s=this.s}function bnpDRShiftTo(a,b){for(var c=a;c=0;--c)b[c+g+1]=this[c]>>e|h,h=(this[c]&f)<=0;--c)b[c]=0;b[g]=h,b.t=this.t+g+1,b.s=this.s,b.clamp()}function bnpRShiftTo(a,b){b.s=this.s;var c=Math.floor(a/this.DB);if(c>=this.t)return void(b.t=0);var d=a%this.DB,e=this.DB-d,f=(1<>d;for(var g=c+1;g>d;d>0&&(b[this.t-c-1]|=(this.s&f)<c;)d+=this[c]-a[c],b[c++]=d&this.DM,d>>=this.DB;if(a.t>=this.DB;d+=this.s}else{for(d+=this.s;c>=this.DB;d-=a.s}b.s=0>d?-1:0,-1>d?b[c++]=this.DV+d:d>0&&(b[c++]=d),b.t=c,b.clamp()}function bnpMultiplyTo(a,b){var c=this.abs(),d=a.abs(),e=c.t;for(b.t=e+d.t;--e>=0;)b[e]=0;for(e=0;e=0;)a[c]=0;for(c=0;c=b.DV&&(a[c+b.t]-=b.DV,a[c+b.t+1]=1)}a.t>0&&(a[a.t-1]+=b.am(c,b[c],a,2*c,0,1)),a.s=0,a.clamp()}function bnpDivRemTo(a,b,c){var d=a.abs();if(!(d.t<=0)){var e=this.abs();if(e.t0?(d.lShiftTo(i,f),e.lShiftTo(i,c)):(d.copyTo(f),e.copyTo(c));var j=f.t,k=f[j-1];if(0!=k){var l=k*(1<1?f[j-2]>>this.F2:0),m=this.FV/l,n=(1<=0&&(c[c.t++]=1,c.subTo(r,c)),BigInteger.ONE.dlShiftTo(j,r),r.subTo(f,f);f.t=0;){var s=c[--p]==k?this.DM:Math.floor(c[p]*m+(c[p-1]+o)*n);if((c[p]+=f.am(0,s,c,q,0,j))0&&c.rShiftTo(i,c),0>g&&BigInteger.ZERO.subTo(c,c)}}}function bnMod(a){var b=nbi();return this.abs().divRemTo(a,null,b),this.s<0&&b.compareTo(BigInteger.ZERO)>0&&a.subTo(b,b),b}function Classic(a){this.m=a}function cConvert(a){return a.s<0||a.compareTo(this.m)>=0?a.mod(this.m):a}function cRevert(a){return a}function cReduce(a){a.divRemTo(this.m,null,a)}function cMulTo(a,b,c){a.multiplyTo(b,c),this.reduce(c)}function cSqrTo(a,b){a.squareTo(b),this.reduce(b)}function bnpInvDigit(){if(this.t<1)return 0;var a=this[0];if(0==(1&a))return 0;var b=3&a;return b=b*(2-(15&a)*b)&15,b=b*(2-(255&a)*b)&255,b=b*(2-((65535&a)*b&65535))&65535,b=b*(2-a*b%this.DV)%this.DV,b>0?this.DV-b:-b}function Montgomery(a){this.m=a,this.mp=a.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(b,b),b}function montRevert(a){var b=nbi();return a.copyTo(b),this.reduce(b),b}function montReduce(a){for(;a.t<=this.mt2;)a[a.t++]=0;for(var b=0;b>15)*this.mpl&this.um)<<15)&a.DM;for(c=b+this.m.t,a[c]+=this.m.am(0,d,a,b,0,this.m.t);a[c]>=a.DV;)a[c]-=a.DV,a[++c]++}a.clamp(),a.drShiftTo(this.m.t,a),a.compareTo(this.m)>=0&&a.subTo(this.m,a)}function montSqrTo(a,b){a.squareTo(b),this.reduce(b)}function montMulTo(a,b,c){a.multiplyTo(b,c),this.reduce(c)}function bnpIsEven(){return 0==(this.t>0?1&this[0]:this.s)}function bnpExp(a,b){if(a>4294967295||1>a)return BigInteger.ONE;var c=nbi(),d=nbi(),e=b.convert(this),f=nbits(a)-1;for(e.copyTo(c);--f>=0;)if(b.sqrTo(c,d),(a&1<0)b.mulTo(d,e,c);else{var g=c;c=d,d=g}return b.revert(c)}function bnModPowInt(a,b){var c;return c=256>a||b.isEven()?new Classic(b):new Montgomery(b),this.exp(a,c)}function bnClone(){var a=nbi();return this.copyTo(a),a}function bnIntValue(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<>24}function bnShortValue(){return 0==this.t?this.s:this[0]<<16>>16}function bnpChunkSize(a){return Math.floor(Math.LN2*this.DB/Math.log(a))}function bnSigNum(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1}function bnpToRadix(a){if(null==a&&(a=10),0==this.signum()||2>a||a>36)return"0";var b=this.chunkSize(a),c=Math.pow(a,b),d=nbv(c),e=nbi(),f=nbi(),g="";for(this.divRemTo(d,e,f);e.signum()>0;)g=(c+f.intValue()).toString(a).substr(1)+g,e.divRemTo(d,e,f);return f.intValue().toString(a)+g}function bnpFromRadix(a,b){this.fromInt(0),null==b&&(b=10);for(var c=this.chunkSize(b),d=Math.pow(b,c),e=!1,f=0,g=0,h=0;hi?"-"==a.charAt(h)&&0==this.signum()&&(e=!0):(g=b*g+i,++f>=c&&(this.dMultiply(d),this.dAddOffset(g,0),f=0,g=0))}f>0&&(this.dMultiply(Math.pow(b,f)),this.dAddOffset(g,0)),e&&BigInteger.ZERO.subTo(this,this)}function bnpFromNumber(a,b,c){if("number"==typeof b)if(2>a)this.fromInt(1);else for(this.fromNumber(a,c),this.testBit(a-1)||this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(b);)this.dAddOffset(2,0),this.bitLength()>a&&this.subTo(BigInteger.ONE.shiftLeft(a-1),this);else{var d=new Array,e=7&a;d.length=(a>>3)+1,b.nextBytes(d),e>0?d[0]&=(1<0)for(d>d)!=(this.s&this.DM)>>d&&(b[e++]=c|this.s<=0;)8>d?(c=(this[a]&(1<>(d+=this.DB-8)):(c=this[a]>>(d-=8)&255,0>=d&&(d+=this.DB,--a)),0!=(128&c)&&(c|=-256),0==e&&(128&this.s)!=(128&c)&&++e,(e>0||c!=this.s)&&(b[e++]=c);return b}function bnEquals(a){return 0==this.compareTo(a)}function bnMin(a){return this.compareTo(a)<0?this:a}function bnMax(a){return this.compareTo(a)>0?this:a}function bnpBitwiseTo(a,b,c){var d,e,f=Math.min(a.t,this.t);for(d=0;f>d;++d)c[d]=b(this[d],a[d]);if(a.ta?this.rShiftTo(-a,b):this.lShiftTo(a,b),b}function bnShiftRight(a){var b=nbi();return 0>a?this.lShiftTo(-a,b):this.rShiftTo(a,b),b}function lbit(a){if(0==a)return-1;var b=0;return 0==(65535&a)&&(a>>=16,b+=16),0==(255&a)&&(a>>=8,b+=8),0==(15&a)&&(a>>=4,b+=4),0==(3&a)&&(a>>=2,b+=2),0==(1&a)&&++b,b}function bnGetLowestSetBit(){for(var a=0;a=this.t?0!=this.s:0!=(this[b]&1<c;)d+=this[c]+a[c],b[c++]=d&this.DM,d>>=this.DB;if(a.t>=this.DB;d+=this.s}else{for(d+=this.s;c>=this.DB;d+=a.s}b.s=0>d?-1:0,d>0?b[c++]=d:-1>d&&(b[c++]=this.DV+d),b.t=c,b.clamp()}function bnAdd(a){var b=nbi();return this.addTo(a,b),b}function bnSubtract(a){var b=nbi();return this.subTo(a,b),b}function bnMultiply(a){var b=nbi();return this.multiplyTo(a,b),b}function bnSquare(){var a=nbi();return this.squareTo(a),a}function bnDivide(a){var b=nbi();return this.divRemTo(a,b,null),b}function bnRemainder(a){var b=nbi();return this.divRemTo(a,null,b),b}function bnDivideAndRemainder(a){var b=nbi(),c=nbi();return this.divRemTo(a,b,c),new Array(b,c)}function bnpDMultiply(a){this[this.t]=this.am(0,a-1,this,0,0,this.t),++this.t,this.clamp()}function bnpDAddOffset(a,b){if(0!=a){for(;this.t<=b;)this[this.t++]=0;for(this[b]+=a;this[b]>=this.DV;)this[b]-=this.DV,++b>=this.t&&(this[this.t++]=0),++this[b]}}function NullExp(){}function nNop(a){return a}function nMulTo(a,b,c){a.multiplyTo(b,c)}function nSqrTo(a,b){a.squareTo(b)}function bnPow(a){return this.exp(a,new NullExp)}function bnpMultiplyLowerTo(a,b,c){var d=Math.min(this.t+a.t,b);for(c.s=0,c.t=d;d>0;)c[--d]=0;var e;for(e=c.t-this.t;e>d;++d)c[d+this.t]=this.am(0,a[d],c,d,0,this.t);for(e=Math.min(a.t,b);e>d;++d)this.am(0,a[d],c,d,0,b-d);c.clamp()}function bnpMultiplyUpperTo(a,b,c){--b;var d=c.t=this.t+a.t-b;for(c.s=0;--d>=0;)c[d]=0;for(d=Math.max(b-this.t,0);d2*this.m.t)return a.mod(this.m);if(a.compareTo(this.m)<0)return a;var b=nbi();return a.copyTo(b),this.reduce(b),b}function barrettRevert(a){return a}function barrettReduce(a){for(a.drShiftTo(this.m.t-1,this.r2),a.t>this.m.t+1&&(a.t=this.m.t+1,a.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);a.compareTo(this.r2)<0;)a.dAddOffset(1,this.m.t+1);for(a.subTo(this.r2,a);a.compareTo(this.m)>=0;)a.subTo(this.m,a)}function barrettSqrTo(a,b){a.squareTo(b),this.reduce(b)}function barrettMulTo(a,b,c){a.multiplyTo(b,c),this.reduce(c)}function bnModPow(a,b){var c,d,e=a.bitLength(),f=nbv(1);if(0>=e)return f;c=18>e?1:48>e?3:144>e?4:768>e?5:6,d=8>e?new Classic(b):b.isEven()?new Barrett(b):new Montgomery(b);var g=new Array,h=3,i=c-1,j=(1<1){var k=nbi();for(d.sqrTo(g[1],k);j>=h;)g[h]=nbi(),d.mulTo(k,g[h-2],g[h]),h+=2}var l,m,n=a.t-1,o=!0,p=nbi();for(e=nbits(a[n])-1;n>=0;){for(e>=i?l=a[n]>>e-i&j:(l=(a[n]&(1<0&&(l|=a[n-1]>>this.DB+e-i)),h=c;0==(1&l);)l>>=1,--h;if((e-=h)<0&&(e+=this.DB,--n),o)g[l].copyTo(f),o=!1;else{for(;h>1;)d.sqrTo(f,p),d.sqrTo(p,f),h-=2;h>0?d.sqrTo(f,p):(m=f,f=p,p=m),d.mulTo(p,g[l],f)}for(;n>=0&&0==(a[n]&1<f)return b;for(f>e&&(f=e),f>0&&(b.rShiftTo(f,b),c.rShiftTo(f,c));b.signum()>0;)(e=b.getLowestSetBit())>0&&b.rShiftTo(e,b),(e=c.getLowestSetBit())>0&&c.rShiftTo(e,c),b.compareTo(c)>=0?(b.subTo(c,b),b.rShiftTo(1,b)):(c.subTo(b,c),c.rShiftTo(1,c));return f>0&&c.lShiftTo(f,c),c}function bnpModInt(a){if(0>=a)return 0;var b=this.DV%a,c=this.s<0?a-1:0;if(this.t>0)if(0==b)c=this[0]%a;else for(var d=this.t-1;d>=0;--d)c=(b*c+this[d])%a;return c}function bnModInverse(a){var b=a.isEven();if(this.isEven()&&b||0==a.signum())return BigInteger.ZERO;for(var c=a.clone(),d=this.clone(),e=nbv(1),f=nbv(0),g=nbv(0),h=nbv(1);0!=c.signum();){for(;c.isEven();)c.rShiftTo(1,c),b?(e.isEven()&&f.isEven()||(e.addTo(this,e),f.subTo(a,f)),e.rShiftTo(1,e)):f.isEven()||f.subTo(a,f),f.rShiftTo(1,f);for(;d.isEven();)d.rShiftTo(1,d),b?(g.isEven()&&h.isEven()||(g.addTo(this,g),h.subTo(a,h)),g.rShiftTo(1,g)):h.isEven()||h.subTo(a,h),h.rShiftTo(1,h);c.compareTo(d)>=0?(c.subTo(d,c),b&&e.subTo(g,e),f.subTo(h,f)):(d.subTo(c,d),b&&g.subTo(e,g),h.subTo(f,h))}return 0!=d.compareTo(BigInteger.ONE)?BigInteger.ZERO:h.compareTo(a)>=0?h.subtract(a):h.signum()<0?(h.addTo(a,h),h.signum()<0?h.add(a):h):h}function bnIsProbablePrime(a){var b,c=this.abs();if(1==c.t&&c[0]<=lowprimes[lowprimes.length-1]){for(b=0;bd;)d*=lowprimes[e++];for(d=c.modInt(d);e>b;)if(d%lowprimes[b++]==0)return!1}return c.millerRabin(a)}function bnpMillerRabin(a){var b=this.subtract(BigInteger.ONE),c=b.getLowestSetBit();if(0>=c)return!1;var d=b.shiftRight(c);a=a+1>>1,a>lowprimes.length&&(a=lowprimes.length);for(var e=nbi(),f=0;a>f;++f){e.fromInt(lowprimes[Math.floor(Math.random()*lowprimes.length)]);var g=e.modPow(d,this);if(0!=g.compareTo(BigInteger.ONE)&&0!=g.compareTo(b)){for(var h=1;h++b;++b)this.S[b]=b;for(c=0,b=0;256>b;++b)c=c+this.S[b]+a[b%a.length]&255,d=this.S[b],this.S[b]=this.S[c],this.S[c]=d;this.i=0,this.j=0}function ARC4next(){var a;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,a=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=a,this.S[a+this.S[this.i]&255]}function prng_newstate(){return new Arcfour}function rng_seed_int(a){rng_pool[rng_pptr++]^=255&a,rng_pool[rng_pptr++]^=a>>8&255,rng_pool[rng_pptr++]^=a>>16&255,rng_pool[rng_pptr++]^=a>>24&255,rng_pptr>=rng_psize&&(rng_pptr-=rng_psize)}function rng_seed_time(){rng_seed_int((new Date).getTime())}function rng_get_byte(){if(null==rng_state){for(rng_seed_time(),rng_state=prng_newstate(),rng_state.init(rng_pool),rng_pptr=0;rng_pptra?"0"+a.toString(16):a.toString(16)}function pkcs1pad2(a,b){if(b=0&&b>0;){var e=a.charCodeAt(d--);128>e?c[--b]=e:e>127&&2048>e?(c[--b]=63&e|128,c[--b]=e>>6|192):(c[--b]=63&e|128,c[--b]=e>>6&63|128,c[--b]=e>>12|224)}c[--b]=0;for(var f=new SecureRandom,g=new Array;b>2;){for(g[0]=0;0==g[0];)f.nextBytes(g);c[--b]=g[0]}return c[--b]=2,c[--b]=0,new BigInteger(c)}function oaep_mgf1_arr(a,b,c){for(var d="",e=0;d.length>24,(16711680&e)>>16,(65280&e)>>8,255&e]))),e+=1;return d}function oaep_pad(a,b,c){if(a.length+2*SHA1_SIZE+2>b)throw"Message too long for RSA";var d,e="";for(d=0;d0&&b.length>0?(this.n=parseBigInt(a,16),this.e=parseInt(b,16)):alert("Invalid RSA public key")}function RSADoPublic(a){return a.modPowInt(this.e,this.n)}function RSAEncrypt(a){var b=pkcs1pad2(a,this.n.bitLength()+7>>3);if(null==b)return null;var c=this.doPublic(b);if(null==c)return null;var d=c.toString(16);return 0==(1&d.length)?d:"0"+d}function RSAEncryptOAEP(a,b){var c=oaep_pad(a,this.n.bitLength()+7>>3,b);if(null==c)return null;var d=this.doPublic(c);if(null==d)return null;var e=d.toString(16);return 0==(1&e.length)?e:"0"+e}function pkcs1unpad2(a,b){for(var c=a.toByteArray(),d=0;d=c.length)return null;for(var e="";++df?e+=String.fromCharCode(f):f>191&&224>f?(e+=String.fromCharCode((31&f)<<6|63&c[d+1]),++d):(e+=String.fromCharCode((15&f)<<12|(63&c[d+1])<<6|63&c[d+2]),d+=2)}return e}function oaep_mgf1_str(a,b,c){for(var d="",e=0;d.length>24,(16711680&e)>>16,(65280&e)>>8,255&e])),e+=1;return d}function oaep_unpad(a,b,c){a=a.toByteArray();var d;for(d=0;d0&&b.length>0?(this.n=parseBigInt(a,16),this.e=parseInt(b,16),this.d=parseBigInt(c,16)):alert("Invalid RSA private key")}function RSASetPrivateEx(a,b,c,d,e,f,g,h){if(null==a)throw"RSASetPrivateEx N == null";if(null==b)throw"RSASetPrivateEx E == null";if(0==a.length)throw"RSASetPrivateEx N.length == 0";if(0==b.length)throw"RSASetPrivateEx E.length == 0";null!=a&&null!=b&&a.length>0&&b.length>0?(this.n=parseBigInt(a,16),this.e=parseInt(b,16),this.d=parseBigInt(c,16),this.p=parseBigInt(d,16),this.q=parseBigInt(e,16),this.dmp1=parseBigInt(f,16),this.dmq1=parseBigInt(g,16),this.coeff=parseBigInt(h,16)):alert("Invalid RSA private key in RSASetPrivateEx")}function RSAGenerate(a,b){var c=new SecureRandom,d=a>>1;this.e=parseInt(b,16);for(var e=new BigInteger(b,16);;){for(;this.p=new BigInteger(a-d,1,c),0!=this.p.subtract(BigInteger.ONE).gcd(e).compareTo(BigInteger.ONE)||!this.p.isProbablePrime(10););for(;this.q=new BigInteger(d,1,c),0!=this.q.subtract(BigInteger.ONE).gcd(e).compareTo(BigInteger.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var f=this.p;this.p=this.q,this.q=f}var g=this.p.subtract(BigInteger.ONE),h=this.q.subtract(BigInteger.ONE),i=g.multiply(h);if(0==i.gcd(e).compareTo(BigInteger.ONE)){this.n=this.p.multiply(this.q),this.d=e.modInverse(i),this.dmp1=this.d.mod(g),this.dmq1=this.d.mod(h),this.coeff=this.q.modInverse(this.p);break}}}function RSADoPrivate(a){if(null==this.p||null==this.q)return a.modPow(this.d,this.n);for(var b=a.mod(this.p).modPow(this.dmp1,this.p),c=a.mod(this.q).modPow(this.dmq1,this.q);b.compareTo(c)<0;)b=b.add(this.p);return b.subtract(c).multiply(this.coeff).mod(this.p).multiply(this.q).add(c)}function RSADecrypt(a){var b=parseBigInt(a,16),c=this.doPrivate(b);return null==c?null:pkcs1unpad2(c,this.n.bitLength()+7>>3)}function RSADecryptOAEP(a,b){var c=parseBigInt(a,16),d=this.doPrivate(c);return null==d?null:oaep_unpad(d,this.n.bitLength()+7>>3,b)}function ECFieldElementFp(a,b){this.x=b,this.q=a}function feFpEquals(a){return a==this?!0:this.q.equals(a.q)&&this.x.equals(a.x)}function feFpToBigInteger(){return this.x}function feFpNegate(){return new ECFieldElementFp(this.q,this.x.negate().mod(this.q))}function feFpAdd(a){return new ECFieldElementFp(this.q,this.x.add(a.toBigInteger()).mod(this.q))}function feFpSubtract(a){return new ECFieldElementFp(this.q,this.x.subtract(a.toBigInteger()).mod(this.q))}function feFpMultiply(a){return new ECFieldElementFp(this.q,this.x.multiply(a.toBigInteger()).mod(this.q))}function feFpSquare(){return new ECFieldElementFp(this.q,this.x.square().mod(this.q))}function feFpDivide(a){return new ECFieldElementFp(this.q,this.x.multiply(a.toBigInteger().modInverse(this.q)).mod(this.q))}function ECPointFp(a,b,c,d){this.curve=a,this.x=b,this.y=c,this.z=null==d?BigInteger.ONE:d,this.zinv=null}function pointFpGetX(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))}function pointFpGetY(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))}function pointFpEquals(a){if(a==this)return!0;if(this.isInfinity())return a.isInfinity();if(a.isInfinity())return this.isInfinity();var b,c;return b=a.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(a.z)).mod(this.curve.q),b.equals(BigInteger.ZERO)?(c=a.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(a.z)).mod(this.curve.q),c.equals(BigInteger.ZERO)):!1}function pointFpIsInfinity(){return null==this.x&&null==this.y?!0:this.z.equals(BigInteger.ZERO)&&!this.y.toBigInteger().equals(BigInteger.ZERO)}function pointFpNegate(){return new ECPointFp(this.curve,this.x,this.y.negate(),this.z)}function pointFpAdd(a){if(this.isInfinity())return a;if(a.isInfinity())return this;var b=a.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(a.z)).mod(this.curve.q),c=a.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(a.z)).mod(this.curve.q);if(BigInteger.ZERO.equals(c))return BigInteger.ZERO.equals(b)?this.twice():this.curve.getInfinity();var d=new BigInteger("3"),e=this.x.toBigInteger(),f=this.y.toBigInteger(),g=(a.x.toBigInteger(),a.y.toBigInteger(),c.square()),h=g.multiply(c),i=e.multiply(g),j=b.square().multiply(this.z),k=j.subtract(i.shiftLeft(1)).multiply(a.z).subtract(h).multiply(c).mod(this.curve.q),l=i.multiply(d).multiply(b).subtract(f.multiply(h)).subtract(j.multiply(b)).multiply(a.z).add(b.multiply(h)).mod(this.curve.q),m=h.multiply(this.z).multiply(a.z).mod(this.curve.q);return new ECPointFp(this.curve,this.curve.fromBigInteger(k),this.curve.fromBigInteger(l),m)}function pointFpTwice(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var a=new BigInteger("3"),b=this.x.toBigInteger(),c=this.y.toBigInteger(),d=c.multiply(this.z),e=d.multiply(c).mod(this.curve.q),f=this.curve.a.toBigInteger(),g=b.square().multiply(a);BigInteger.ZERO.equals(f)||(g=g.add(this.z.square().multiply(f))),g=g.mod(this.curve.q);var h=g.square().subtract(b.shiftLeft(3).multiply(e)).shiftLeft(1).multiply(d).mod(this.curve.q),i=g.multiply(a).multiply(b).subtract(e.shiftLeft(1)).shiftLeft(2).multiply(e).subtract(g.square().multiply(g)).mod(this.curve.q),j=d.square().multiply(d).shiftLeft(3).mod(this.curve.q);return new ECPointFp(this.curve,this.curve.fromBigInteger(h),this.curve.fromBigInteger(i),j)}function pointFpMultiply(a){if(this.isInfinity())return this;if(0==a.signum())return this.curve.getInfinity();var b,c=a,d=c.multiply(new BigInteger("3")),e=this.negate(),f=this;for(b=d.bitLength()-2;b>0;--b){f=f.twice();var g=d.testBit(b),h=c.testBit(b);g!=h&&(f=f.add(g?this:e))}return f}function pointFpMultiplyTwo(a,b,c){var d;d=a.bitLength()>c.bitLength()?a.bitLength()-1:c.bitLength()-1;for(var e=this.curve.getInfinity(),f=this.add(b);d>=0;)e=e.twice(),a.testBit(d)?e=e.add(c.testBit(d)?f:this):c.testBit(d)&&(e=e.add(b)),--d;return e}function ECCurveFp(a,b,c){this.q=a,this.a=this.fromBigInteger(b),this.b=this.fromBigInteger(c),this.infinity=new ECPointFp(this,null,null)}function curveFpGetQ(){return this.q}function curveFpGetA(){return this.a}function curveFpGetB(){return this.b}function curveFpEquals(a){return a==this?!0:this.q.equals(a.q)&&this.a.equals(a.a)&&this.b.equals(a.b)}function curveFpGetInfinity(){return this.infinity}function curveFpFromBigInteger(a){return new ECFieldElementFp(this.q,a)}function curveFpDecodePointHex(a){switch(parseInt(a.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:return null;case 4:case 6:case 7:var b=(a.length-2)/2,c=a.substr(2,b),d=a.substr(b+2,b);return new ECPointFp(this,this.fromBigInteger(new BigInteger(c,16)),this.fromBigInteger(new BigInteger(d,16)));default:return null}}function Base64x(){}function stoBA(a){for(var b=new Array,c=0;ce;e++)c+="0";return c+a}function _rsasign_signString(a,b){var c=function(a){return KJUR.crypto.Util.hashString(a,b)},d=c(a);return this.signWithMessageHash(d,b)}function _rsasign_signWithMessageHash(a,b){var c=KJUR.crypto.Util.getPaddedDigestInfoHex(a,b,this.n.bitLength()),d=parseBigInt(c,16),e=this.doPrivate(d),f=e.toString(16); -return _zeroPaddingOfSignature(f,this.n.bitLength())}function _rsasign_signStringWithSHA1(a){return _rsasign_signString.call(this,a,"sha1")}function _rsasign_signStringWithSHA256(a){return _rsasign_signString.call(this,a,"sha256")}function pss_mgf1_str(a,b,c){for(var d="",e=0;d.length>24,(16711680&e)>>16,(65280&e)>>8,255&e])))),e+=1;return d}function _rsasign_signStringPSS(a,b,c){var d=function(a){return KJUR.crypto.Util.hashHex(a,b)},e=d(rstrtohex(a));return void 0===c&&(c=-1),this.signWithMessageHashPSS(e,b,c)}function _rsasign_signWithMessageHashPSS(a,b,c){var d,e=hextorstr(a),f=e.length,g=this.n.bitLength()-1,h=Math.ceil(g/8),i=function(a){return KJUR.crypto.Util.hashHex(a,b)};if(-1===c||void 0===c)c=f;else if(-2===c)c=h-f-2;else if(-2>c)throw"invalid salt length";if(f+c+2>h)throw"data too long";var j="";c>0&&(j=new Array(c),(new SecureRandom).nextBytes(j),j=String.fromCharCode.apply(String,j));var k=hextorstr(i(rstrtohex("\x00\x00\x00\x00\x00\x00\x00\x00"+e+j))),l=[];for(d=0;h-c-f-2>d;d+=1)l[d]=0;var m=String.fromCharCode.apply(String,l)+""+j,n=pss_mgf1_str(k,m.length,i),o=[];for(d=0;d>8*h-g&255;for(o[0]&=~p,d=0;f>d;d++)o.push(k.charCodeAt(d));return o.push(188),_zeroPaddingOfSignature(this.doPrivate(new BigInteger(o)).toString(16),this.n.bitLength())}function _rsasign_getDecryptSignatureBI(a,b,c){var d=new RSAKey;d.setPublic(b,c);var e=d.doPublic(a);return e}function _rsasign_getHexDigestInfoFromSig(a,b,c){var d=_rsasign_getDecryptSignatureBI(a,b,c),e=d.toString(16).replace(/^1f+00/,"");return e}function _rsasign_getAlgNameAndHashFromHexDisgestInfo(a){for(var b in KJUR.crypto.Util.DIGESTINFOHEAD){var c=KJUR.crypto.Util.DIGESTINFOHEAD[b],d=c.length;if(a.substring(0,d)==c){var e=[b,a.substring(d)];return e}}return[]}function _rsasign_verifySignatureWithArgs(a,b,c,d){var e=_rsasign_getHexDigestInfoFromSig(b,c,d),f=_rsasign_getAlgNameAndHashFromHexDisgestInfo(e);if(0==f.length)return!1;var g=f[0],h=f[1],i=function(a){return KJUR.crypto.Util.hashString(a,g)},j=i(a);return h==j}function _rsasign_verifyHexSignatureForMessage(a,b){var c=parseBigInt(a,16),d=_rsasign_verifySignatureWithArgs(b,c,this.n.toString(16),this.e.toString(16));return d}function _rsasign_verifyString(a,b){b=b.replace(_RE_HEXDECONLY,""),b=b.replace(/[ \n]+/g,"");var c=parseBigInt(b,16);if(c.bitLength()>this.n.bitLength())return 0;var d=this.doPublic(c),e=d.toString(16).replace(/^1f+00/,""),f=_rsasign_getAlgNameAndHashFromHexDisgestInfo(e);if(0==f.length)return!1;var g=f[0],h=f[1],i=function(a){return KJUR.crypto.Util.hashString(a,g)},j=i(a);return h==j}function _rsasign_verifyWithMessageHash(a,b){b=b.replace(_RE_HEXDECONLY,""),b=b.replace(/[ \n]+/g,"");var c=parseBigInt(b,16);if(c.bitLength()>this.n.bitLength())return 0;var d=this.doPublic(c),e=d.toString(16).replace(/^1f+00/,""),f=_rsasign_getAlgNameAndHashFromHexDisgestInfo(e);if(0==f.length)return!1;var g=(f[0],f[1]);return g==a}function _rsasign_verifyStringPSS(a,b,c,d){var e=function(a){return KJUR.crypto.Util.hashHex(a,c)},f=e(rstrtohex(a));return void 0===d&&(d=-1),this.verifyWithMessageHashPSS(f,b,c,d)}function _rsasign_verifyWithMessageHashPSS(a,b,c,d){var e=new BigInteger(b,16);if(e.bitLength()>this.n.bitLength())return!1;var f,g=function(a){return KJUR.crypto.Util.hashHex(a,c)},h=hextorstr(a),i=h.length,j=this.n.bitLength()-1,k=Math.ceil(j/8);if(-1===d||void 0===d)d=i;else if(-2===d)d=k-i-2;else if(-2>d)throw"invalid salt length";if(i+d+2>k)throw"data too long";var l=this.doPublic(e).toByteArray();for(f=0;f>8*k-j&255;if(0!==(m.charCodeAt(0)&o))throw"bits beyond keysize not zero";var p=pss_mgf1_str(n,m.length,g),q=[];for(f=0;ff;f+=1)if(0!==q[f])throw"leftmost octets not zero";if(1!==q[r])throw"0x01 marker not found";return n===hextorstr(g(rstrtohex("\x00\x00\x00\x00\x00\x00\x00\x00"+h+String.fromCharCode.apply(String,q.slice(-d)))))}function X509(){this.subjectPublicKeyRSA=null,this.subjectPublicKeyRSA_hN=null,this.subjectPublicKeyRSA_hE=null,this.hex=null,this.getSerialNumberHex=function(){return ASN1HEX.getDecendantHexVByNthList(this.hex,0,[0,1])},this.getIssuerHex=function(){return ASN1HEX.getDecendantHexTLVByNthList(this.hex,0,[0,3])},this.getIssuerString=function(){return X509.hex2dn(ASN1HEX.getDecendantHexTLVByNthList(this.hex,0,[0,3]))},this.getSubjectHex=function(){return ASN1HEX.getDecendantHexTLVByNthList(this.hex,0,[0,5])},this.getSubjectString=function(){return X509.hex2dn(ASN1HEX.getDecendantHexTLVByNthList(this.hex,0,[0,5]))},this.getNotBefore=function(){var a=ASN1HEX.getDecendantHexVByNthList(this.hex,0,[0,4,0]);return a=a.replace(/(..)/g,"%$1"),a=decodeURIComponent(a)},this.getNotAfter=function(){var a=ASN1HEX.getDecendantHexVByNthList(this.hex,0,[0,4,1]);return a=a.replace(/(..)/g,"%$1"),a=decodeURIComponent(a)},this.readCertPEM=function(a){var b=X509.pemToHex(a),c=X509.getPublicKeyHexArrayFromCertHex(b),d=new RSAKey;d.setPublic(c[0],c[1]),this.subjectPublicKeyRSA=d,this.subjectPublicKeyRSA_hN=c[0],this.subjectPublicKeyRSA_hE=c[1],this.hex=b},this.readCertPEMWithoutRSAInit=function(a){var b=X509.pemToHex(a),c=X509.getPublicKeyHexArrayFromCertHex(b);this.subjectPublicKeyRSA.setPublic(c[0],c[1]),this.subjectPublicKeyRSA_hN=c[0],this.subjectPublicKeyRSA_hE=c[1],this.hex=b}}function url_base64_decode(a){var b=a.replace(/-/g,"+").replace(/_/g,"/");switch(b.length%4){case 0:break;case 2:b+="==";break;case 3:b+="=";break;default:throw"Illegal base64url string!"}var c=window.atob(b);try{return decodeURIComponent(escape(c))}catch(d){return c}}var Zepto=function(){function a(a){return null==a?String(a):U[V.call(a)]||"object"}function b(b){return"function"==a(b)}function c(a){return null!=a&&a==a.window}function d(a){return null!=a&&a.nodeType==a.DOCUMENT_NODE}function e(b){return"object"==a(b)}function f(a){return e(a)&&!c(a)&&Object.getPrototypeOf(a)==Object.prototype}function g(a){return"number"==typeof a.length}function h(a){return D.call(a,function(a){return null!=a})}function i(a){return a.length>0?x.fn.concat.apply([],a):a}function j(a){return a.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function k(a){return a in G?G[a]:G[a]=new RegExp("(^|\\s)"+a+"(\\s|$)")}function l(a,b){return"number"!=typeof b||H[j(a)]?b:b+"px"}function m(a){var b,c;return F[a]||(b=E.createElement(a),E.body.appendChild(b),c=getComputedStyle(b,"").getPropertyValue("display"),b.parentNode.removeChild(b),"none"==c&&(c="block"),F[a]=c),F[a]}function n(a){return"children"in a?C.call(a.children):x.map(a.childNodes,function(a){return 1==a.nodeType?a:void 0})}function o(a,b,c){for(w in b)c&&(f(b[w])||Z(b[w]))?(f(b[w])&&!f(a[w])&&(a[w]={}),Z(b[w])&&!Z(a[w])&&(a[w]=[]),o(a[w],b[w],c)):b[w]!==v&&(a[w]=b[w])}function p(a,b){return null==b?x(a):x(a).filter(b)}function q(a,c,d,e){return b(c)?c.call(a,d,e):c}function r(a,b,c){null==c?a.removeAttribute(b):a.setAttribute(b,c)}function s(a,b){var c=a.className,d=c&&c.baseVal!==v;return b===v?d?c.baseVal:c:void(d?c.baseVal=b:a.className=b)}function t(a){var b;try{return a?"true"==a||("false"==a?!1:"null"==a?null:/^0/.test(a)||isNaN(b=Number(a))?/^[\[\{]/.test(a)?x.parseJSON(a):a:b):a}catch(c){return a}}function u(a,b){b(a);for(var c in a.childNodes)u(a.childNodes[c],b)}var v,w,x,y,z,A,B=[],C=B.slice,D=B.filter,E=window.document,F={},G={},H={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},I=/^\s*<(\w+|!)[^>]*>/,J=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,K=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,L=/^(?:body|html)$/i,M=/([A-Z])/g,N=["val","css","html","text","data","width","height","offset"],O=["after","prepend","before","append"],P=E.createElement("table"),Q=E.createElement("tr"),R={tr:E.createElement("tbody"),tbody:P,thead:P,tfoot:P,td:Q,th:Q,"*":E.createElement("div")},S=/complete|loaded|interactive/,T=/^[\w-]*$/,U={},V=U.toString,W={},X=E.createElement("div"),Y={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},Z=Array.isArray||function(a){return a instanceof Array};return W.matches=function(a,b){if(!b||!a||1!==a.nodeType)return!1;var c=a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.matchesSelector;if(c)return c.call(a,b);var d,e=a.parentNode,f=!e;return f&&(e=X).appendChild(a),d=~W.qsa(e,b).indexOf(a),f&&X.removeChild(a),d},z=function(a){return a.replace(/-+(.)?/g,function(a,b){return b?b.toUpperCase():""})},A=function(a){return D.call(a,function(b,c){return a.indexOf(b)==c})},W.fragment=function(a,b,c){var d,e,g;return J.test(a)&&(d=x(E.createElement(RegExp.$1))),d||(a.replace&&(a=a.replace(K,"<$1>")),b===v&&(b=I.test(a)&&RegExp.$1),b in R||(b="*"),g=R[b],g.innerHTML=""+a,d=x.each(C.call(g.childNodes),function(){g.removeChild(this)})),f(c)&&(e=x(d),x.each(c,function(a,b){N.indexOf(a)>-1?e[a](b):e.attr(a,b)})),d},W.Z=function(a,b){return a=a||[],a.__proto__=x.fn,a.selector=b||"",a},W.isZ=function(a){return a instanceof W.Z},W.init=function(a,c){var d;if(!a)return W.Z();if("string"==typeof a)if(a=a.trim(),"<"==a[0]&&I.test(a))d=W.fragment(a,RegExp.$1,c),a=null;else{if(c!==v)return x(c).find(a);d=W.qsa(E,a)}else{if(b(a))return x(E).ready(a);if(W.isZ(a))return a;if(Z(a))d=h(a);else if(e(a))d=[a],a=null;else if(I.test(a))d=W.fragment(a.trim(),RegExp.$1,c),a=null;else{if(c!==v)return x(c).find(a);d=W.qsa(E,a)}}return W.Z(d,a)},x=function(a,b){return W.init(a,b)},x.extend=function(a){var b,c=C.call(arguments,1);return"boolean"==typeof a&&(b=a,a=c.shift()),c.forEach(function(c){o(a,c,b)}),a},W.qsa=function(a,b){var c,e="#"==b[0],f=!e&&"."==b[0],g=e||f?b.slice(1):b,h=T.test(g);return d(a)&&h&&e?(c=a.getElementById(g))?[c]:[]:1!==a.nodeType&&9!==a.nodeType?[]:C.call(h&&!e?f?a.getElementsByClassName(g):a.getElementsByTagName(b):a.querySelectorAll(b))},x.contains=function(a,b){return a!==b&&a.contains(b)},x.type=a,x.isFunction=b,x.isWindow=c,x.isArray=Z,x.isPlainObject=f,x.isEmptyObject=function(a){var b;for(b in a)return!1;return!0},x.inArray=function(a,b,c){return B.indexOf.call(b,a,c)},x.camelCase=z,x.trim=function(a){return null==a?"":String.prototype.trim.call(a)},x.uuid=0,x.support={},x.expr={},x.map=function(a,b){var c,d,e,f=[];if(g(a))for(d=0;d=0?a:a+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(a){return B.every.call(this,function(b,c){return a.call(b,c,b)!==!1}),this},filter:function(a){return b(a)?this.not(this.not(a)):x(D.call(this,function(b){return W.matches(b,a)}))},add:function(a,b){return x(A(this.concat(x(a,b))))},is:function(a){return this.length>0&&W.matches(this[0],a)},not:function(a){var c=[];if(b(a)&&a.call!==v)this.each(function(b){a.call(this,b)||c.push(this)});else{var d="string"==typeof a?this.filter(a):g(a)&&b(a.item)?C.call(a):x(a);this.forEach(function(a){d.indexOf(a)<0&&c.push(a)})}return x(c)},has:function(a){return this.filter(function(){return e(a)?x.contains(this,a):x(this).find(a).size()})},eq:function(a){return-1===a?this.slice(a):this.slice(a,+a+1)},first:function(){var a=this[0];return a&&!e(a)?a:x(a)},last:function(){var a=this[this.length-1];return a&&!e(a)?a:x(a)},find:function(a){var b,c=this;return b="object"==typeof a?x(a).filter(function(){var a=this;return B.some.call(c,function(b){return x.contains(b,a)})}):1==this.length?x(W.qsa(this[0],a)):this.map(function(){return W.qsa(this,a)})},closest:function(a,b){var c=this[0],e=!1;for("object"==typeof a&&(e=x(a));c&&!(e?e.indexOf(c)>=0:W.matches(c,a));)c=c!==b&&!d(c)&&c.parentNode;return x(c)},parents:function(a){for(var b=[],c=this;c.length>0;)c=x.map(c,function(a){return(a=a.parentNode)&&!d(a)&&b.indexOf(a)<0?(b.push(a),a):void 0});return p(b,a)},parent:function(a){return p(A(this.pluck("parentNode")),a)},children:function(a){return p(this.map(function(){return n(this)}),a)},contents:function(){return this.map(function(){return C.call(this.childNodes)})},siblings:function(a){return p(this.map(function(a,b){return D.call(n(b.parentNode),function(a){return a!==b})}),a)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(a){return x.map(this,function(b){return b[a]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=m(this.nodeName))})},replaceWith:function(a){return this.before(a).remove()},wrap:function(a){var c=b(a);if(this[0]&&!c)var d=x(a).get(0),e=d.parentNode||this.length>1;return this.each(function(b){x(this).wrapAll(c?a.call(this,b):e?d.cloneNode(!0):d)})},wrapAll:function(a){if(this[0]){x(this[0]).before(a=x(a));for(var b;(b=a.children()).length;)a=b.first();x(a).append(this)}return this},wrapInner:function(a){var c=b(a);return this.each(function(b){var d=x(this),e=d.contents(),f=c?a.call(this,b):a;e.length?e.wrapAll(f):d.append(f)})},unwrap:function(){return this.parent().each(function(){x(this).replaceWith(x(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(a){return this.each(function(){var b=x(this);(a===v?"none"==b.css("display"):a)?b.show():b.hide()})},prev:function(a){return x(this.pluck("previousElementSibling")).filter(a||"*")},next:function(a){return x(this.pluck("nextElementSibling")).filter(a||"*")},html:function(a){return 0===arguments.length?this.length>0?this[0].innerHTML:null:this.each(function(b){var c=this.innerHTML;x(this).empty().append(q(this,a,b,c))})},text:function(a){return 0===arguments.length?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=a===v?"":""+a})},attr:function(a,b){var c;return"string"==typeof a&&b===v?0==this.length||1!==this[0].nodeType?v:"value"==a&&"INPUT"==this[0].nodeName?this.val():!(c=this[0].getAttribute(a))&&a in this[0]?this[0][a]:c:this.each(function(c){if(1===this.nodeType)if(e(a))for(w in a)r(this,w,a[w]);else r(this,a,q(this,b,c,this.getAttribute(a)))})},removeAttr:function(a){return this.each(function(){1===this.nodeType&&r(this,a)})},prop:function(a,b){return a=Y[a]||a,b===v?this[0]&&this[0][a]:this.each(function(c){this[a]=q(this,b,c,this[a])})},data:function(a,b){var c=this.attr("data-"+a.replace(M,"-$1").toLowerCase(),b);return null!==c?t(c):v},val:function(a){return 0===arguments.length?this[0]&&(this[0].multiple?x(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value):this.each(function(b){this.value=q(this,a,b,this.value)})},offset:function(a){if(a)return this.each(function(b){var c=x(this),d=q(this,a,b,c.offset()),e=c.offsetParent().offset(),f={top:d.top-e.top,left:d.left-e.left};"static"==c.css("position")&&(f.position="relative"),c.css(f)});if(0==this.length)return null;var b=this[0].getBoundingClientRect();return{left:b.left+window.pageXOffset,top:b.top+window.pageYOffset,width:Math.round(b.width),height:Math.round(b.height)}},css:function(b,c){if(arguments.length<2){var d=this[0],e=getComputedStyle(d,"");if(!d)return;if("string"==typeof b)return d.style[z(b)]||e.getPropertyValue(b);if(Z(b)){var f={};return x.each(Z(b)?b:[b],function(a,b){f[b]=d.style[z(b)]||e.getPropertyValue(b)}),f}}var g="";if("string"==a(b))c||0===c?g=j(b)+":"+l(b,c):this.each(function(){this.style.removeProperty(j(b))});else for(w in b)b[w]||0===b[w]?g+=j(w)+":"+l(w,b[w])+";":this.each(function(){this.style.removeProperty(j(w))});return this.each(function(){this.style.cssText+=";"+g})},index:function(a){return a?this.indexOf(x(a)[0]):this.parent().children().indexOf(this[0])},hasClass:function(a){return a?B.some.call(this,function(a){return this.test(s(a))},k(a)):!1},addClass:function(a){return a?this.each(function(b){y=[];var c=s(this),d=q(this,a,b,c);d.split(/\s+/g).forEach(function(a){x(this).hasClass(a)||y.push(a)},this),y.length&&s(this,c+(c?" ":"")+y.join(" "))}):this},removeClass:function(a){return this.each(function(b){return a===v?s(this,""):(y=s(this),q(this,a,b,y).split(/\s+/g).forEach(function(a){y=y.replace(k(a)," ")}),void s(this,y.trim()))})},toggleClass:function(a,b){return a?this.each(function(c){var d=x(this),e=q(this,a,c,s(this));e.split(/\s+/g).forEach(function(a){(b===v?!d.hasClass(a):b)?d.addClass(a):d.removeClass(a)})}):this},scrollTop:function(a){if(this.length){var b="scrollTop"in this[0];return a===v?b?this[0].scrollTop:this[0].pageYOffset:this.each(b?function(){this.scrollTop=a}:function(){this.scrollTo(this.scrollX,a)})}},scrollLeft:function(a){if(this.length){var b="scrollLeft"in this[0];return a===v?b?this[0].scrollLeft:this[0].pageXOffset:this.each(b?function(){this.scrollLeft=a}:function(){this.scrollTo(a,this.scrollY)})}},position:function(){if(this.length){var a=this[0],b=this.offsetParent(),c=this.offset(),d=L.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(x(a).css("margin-top"))||0,c.left-=parseFloat(x(a).css("margin-left"))||0,d.top+=parseFloat(x(b[0]).css("border-top-width"))||0,d.left+=parseFloat(x(b[0]).css("border-left-width"))||0,{top:c.top-d.top,left:c.left-d.left}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||E.body;a&&!L.test(a.nodeName)&&"static"==x(a).css("position");)a=a.offsetParent;return a})}},x.fn.detach=x.fn.remove,["width","height"].forEach(function(a){var b=a.replace(/./,function(a){return a[0].toUpperCase()});x.fn[a]=function(e){var f,g=this[0];return e===v?c(g)?g["inner"+b]:d(g)?g.documentElement["scroll"+b]:(f=this.offset())&&f[a]:this.each(function(b){g=x(this),g.css(a,q(this,e,b,g[a]()))})}}),O.forEach(function(b,c){var d=c%2;x.fn[b]=function(){var b,e,f=x.map(arguments,function(c){return b=a(c),"object"==b||"array"==b||null==c?c:W.fragment(c)}),g=this.length>1;return f.length<1?this:this.each(function(a,b){e=d?b:b.parentNode,b=0==c?b.nextSibling:1==c?b.firstChild:2==c?b:null,f.forEach(function(a){if(g)a=a.cloneNode(!0);else if(!e)return x(a).remove();u(e.insertBefore(a,b),function(a){null==a.nodeName||"SCRIPT"!==a.nodeName.toUpperCase()||a.type&&"text/javascript"!==a.type||a.src||window.eval.call(window,a.innerHTML)})})})},x.fn[d?b+"To":"insert"+(c?"Before":"After")]=function(a){return x(a)[b](this),this}}),W.Z.prototype=x.fn,W.uniq=A,W.deserializeValue=t,x.zepto=W,x}();window.Zepto=Zepto,void 0===window.$&&(window.$=Zepto),function(a){function b(a){return a._zid||(a._zid=m++)}function c(a,c,f,g){if(c=d(c),c.ns)var h=e(c.ns);return(q[b(a)]||[]).filter(function(a){return!(!a||c.e&&a.e!=c.e||c.ns&&!h.test(a.ns)||f&&b(a.fn)!==b(f)||g&&a.sel!=g)})}function d(a){var b=(""+a).split(".");return{e:b[0],ns:b.slice(1).sort().join(" ")}}function e(a){return new RegExp("(?:^| )"+a.replace(" "," .* ?")+"(?: |$)")}function f(a,b){return a.del&&!s&&a.e in t||!!b}function g(a){return u[a]||s&&t[a]||a}function h(c,e,h,i,k,m,n){var o=b(c),p=q[o]||(q[o]=[]);e.split(/\s/).forEach(function(b){if("ready"==b)return a(document).ready(h);var e=d(b);e.fn=h,e.sel=k,e.e in u&&(h=function(b){var c=b.relatedTarget;return!c||c!==this&&!a.contains(this,c)?e.fn.apply(this,arguments):void 0}),e.del=m;var o=m||h;e.proxy=function(a){if(a=j(a),!a.isImmediatePropagationStopped()){a.data=i;var b=o.apply(c,a._args==l?[a]:[a].concat(a._args));return b===!1&&(a.preventDefault(),a.stopPropagation()),b}},e.i=p.length,p.push(e),"addEventListener"in c&&c.addEventListener(g(e.e),e.proxy,f(e,n))})}function i(a,d,e,h,i){var j=b(a);(d||"").split(/\s/).forEach(function(b){c(a,b,e,h).forEach(function(b){delete q[j][b.i],"removeEventListener"in a&&a.removeEventListener(g(b.e),b.proxy,f(b,i))})})}function j(b,c){return(c||!b.isDefaultPrevented)&&(c||(c=b),a.each(y,function(a,d){var e=c[a];b[a]=function(){return this[d]=v,e&&e.apply(c,arguments)},b[d]=w}),(c.defaultPrevented!==l?c.defaultPrevented:"returnValue"in c?c.returnValue===!1:c.getPreventDefault&&c.getPreventDefault())&&(b.isDefaultPrevented=v)),b}function k(a){var b,c={originalEvent:a};for(b in a)x.test(b)||a[b]===l||(c[b]=a[b]);return j(c,a)}var l,m=1,n=Array.prototype.slice,o=a.isFunction,p=function(a){return"string"==typeof a},q={},r={},s="onfocusin"in window,t={focus:"focusin",blur:"focusout"},u={mouseenter:"mouseover",mouseleave:"mouseout"};r.click=r.mousedown=r.mouseup=r.mousemove="MouseEvents",a.event={add:h,remove:i},a.proxy=function(c,d){if(o(c)){var e=function(){return c.apply(d,arguments)};return e._zid=b(c),e}if(p(d))return a.proxy(c[d],c);throw new TypeError("expected function")},a.fn.bind=function(a,b,c){return this.on(a,b,c)},a.fn.unbind=function(a,b){return this.off(a,b)},a.fn.one=function(a,b,c,d){return this.on(a,b,c,d,1)};var v=function(){return!0},w=function(){return!1},x=/^([A-Z]|returnValue$|layer[XY]$)/,y={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};a.fn.delegate=function(a,b,c){return this.on(b,a,c)},a.fn.undelegate=function(a,b,c){return this.off(b,a,c)},a.fn.live=function(b,c){return a(document.body).delegate(this.selector,b,c),this},a.fn.die=function(b,c){return a(document.body).undelegate(this.selector,b,c),this},a.fn.on=function(b,c,d,e,f){var g,j,m=this;return b&&!p(b)?(a.each(b,function(a,b){m.on(a,c,d,b,f)}),m):(p(c)||o(e)||e===!1||(e=d,d=c,c=l),(o(d)||d===!1)&&(e=d,d=l),e===!1&&(e=w),m.each(function(l,m){f&&(g=function(a){return i(m,a.type,e),e.apply(this,arguments)}),c&&(j=function(b){var d,f=a(b.target).closest(c,m).get(0);return f&&f!==m?(d=a.extend(k(b),{currentTarget:f,liveFired:m}),(g||e).apply(f,[d].concat(n.call(arguments,1)))):void 0}),h(m,b,e,d,c,j||g)}))},a.fn.off=function(b,c,d){var e=this;return b&&!p(b)?(a.each(b,function(a,b){e.off(a,c,b)}),e):(p(c)||o(d)||d===!1||(d=c,c=l),d===!1&&(d=w),e.each(function(){i(this,b,d,c)}))},a.fn.trigger=function(b,c){return b=p(b)||a.isPlainObject(b)?a.Event(b):j(b),b._args=c,this.each(function(){"dispatchEvent"in this?this.dispatchEvent(b):a(this).triggerHandler(b,c)})},a.fn.triggerHandler=function(b,d){var e,f;return this.each(function(g,h){e=k(p(b)?a.Event(b):b),e._args=d,e.target=h,a.each(c(h,b.type||b),function(a,b){return f=b.proxy(e),e.isImmediatePropagationStopped()?!1:void 0})}),f},"focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(b){a.fn[b]=function(a){return a?this.bind(b,a):this.trigger(b)}}),["focus","blur"].forEach(function(b){a.fn[b]=function(a){return a?this.bind(b,a):this.each(function(){try{this[b]()}catch(a){}}),this}}),a.Event=function(a,b){p(a)||(b=a,a=b.type);var c=document.createEvent(r[a]||"Events"),d=!0;if(b)for(var e in b)"bubbles"==e?d=!!b[e]:c[e]=b[e];return c.initEvent(a,d,!0),j(c)}}(Zepto),function(a){function b(b,c,d){var e=a.Event(c);return a(b).trigger(e,d),!e.isDefaultPrevented()}function c(a,c,d,e){return a.global?b(c||s,d,e):void 0}function d(b){b.global&&0===a.active++&&c(b,null,"ajaxStart")}function e(b){b.global&&!--a.active&&c(b,null,"ajaxStop")}function f(a,b){var d=b.context;return b.beforeSend.call(d,a,b)===!1||c(b,d,"ajaxBeforeSend",[a,b])===!1?!1:void c(b,d,"ajaxSend",[a,b])}function g(a,b,d,e){var f=d.context,g="success";d.success.call(f,a,g,b),e&&e.resolveWith(f,[a,g,b]),c(d,f,"ajaxSuccess",[b,d,a]),i(g,b,d)}function h(a,b,d,e,f){var g=e.context;e.error.call(g,d,b,a),f&&f.rejectWith(g,[d,b,a]),c(e,g,"ajaxError",[d,e,a||b]),i(b,d,e)}function i(a,b,d){var f=d.context;d.complete.call(f,b,a),c(d,f,"ajaxComplete",[b,d]),e(d)}function j(){}function k(a){return a&&(a=a.split(";",2)[0]),a&&(a==x?"html":a==w?"json":u.test(a)?"script":v.test(a)&&"xml")||"text"}function l(a,b){return""==b?a:(a+"&"+b).replace(/[&?]{1,2}/,"?")}function m(b){b.processData&&b.data&&"string"!=a.type(b.data)&&(b.data=a.param(b.data,b.traditional)),!b.data||b.type&&"GET"!=b.type.toUpperCase()||(b.url=l(b.url,b.data),b.data=void 0)}function n(b,c,d,e){return a.isFunction(c)&&(e=d,d=c,c=void 0),a.isFunction(d)||(e=d,d=void 0),{url:b,data:c,success:d,dataType:e}}function o(b,c,d,e){var f,g=a.isArray(c),h=a.isPlainObject(c);a.each(c,function(c,i){f=a.type(i),e&&(c=d?e:e+"["+(h||"object"==f||"array"==f?c:"")+"]"),!e&&g?b.add(i.name,i.value):"array"==f||!d&&"object"==f?o(b,i,d,c):b.add(c,i)})}var p,q,r=0,s=window.document,t=/)<[^<]*)*<\/script>/gi,u=/^(?:text|application)\/javascript/i,v=/^(?:text|application)\/xml/i,w="application/json",x="text/html",y=/^\s*$/;a.active=0,a.ajaxJSONP=function(b,c){if(!("type"in b))return a.ajax(b);var d,e,i=b.jsonpCallback,j=(a.isFunction(i)?i():i)||"jsonp"+ ++r,k=s.createElement("script"),l=window[j],m=function(b){a(k).triggerHandler("error",b||"abort")},n={abort:m};return c&&c.promise(n),a(k).on("load error",function(f,i){clearTimeout(e),a(k).off().remove(),"error"!=f.type&&d?g(d[0],n,b,c):h(null,i||"error",n,b,c),window[j]=l,d&&a.isFunction(l)&&l(d[0]),l=d=void 0}),f(n,b)===!1?(m("abort"),n):(window[j]=function(){d=arguments},k.src=b.url.replace(/\?(.+)=\?/,"?$1="+j),s.head.appendChild(k),b.timeout>0&&(e=setTimeout(function(){m("timeout")},b.timeout)),n)},a.ajaxSettings={type:"GET",beforeSend:j,success:j,error:j,complete:j,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:w,xml:"application/xml, text/xml",html:x,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0},a.ajax=function(b){var c=a.extend({},b||{}),e=a.Deferred&&a.Deferred();for(p in a.ajaxSettings)void 0===c[p]&&(c[p]=a.ajaxSettings[p]);d(c),c.crossDomain||(c.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(c.url)&&RegExp.$2!=window.location.host),c.url||(c.url=window.location.toString()),m(c),c.cache===!1&&(c.url=l(c.url,"_="+Date.now()));var i=c.dataType,n=/\?.+=\?/.test(c.url);if("jsonp"==i||n)return n||(c.url=l(c.url,c.jsonp?c.jsonp+"=?":c.jsonp===!1?"":"callback=?")),a.ajaxJSONP(c,e);var o,r=c.accepts[i],s={},t=function(a,b){s[a.toLowerCase()]=[a,b]},u=/^([\w-]+:)\/\//.test(c.url)?RegExp.$1:window.location.protocol,v=c.xhr(),w=v.setRequestHeader;if(e&&e.promise(v),c.crossDomain||t("X-Requested-With","XMLHttpRequest"),t("Accept",r||"*/*"),(r=c.mimeType||r)&&(r.indexOf(",")>-1&&(r=r.split(",",2)[0]),v.overrideMimeType&&v.overrideMimeType(r)),(c.contentType||c.contentType!==!1&&c.data&&"GET"!=c.type.toUpperCase())&&t("Content-Type",c.contentType||"application/x-www-form-urlencoded"),c.headers)for(q in c.headers)t(q,c.headers[q]);if(v.setRequestHeader=t,v.onreadystatechange=function(){if(4==v.readyState){v.onreadystatechange=j,clearTimeout(o);var b,d=!1;if(v.status>=200&&v.status<300||304==v.status||0==v.status&&"file:"==u){i=i||k(c.mimeType||v.getResponseHeader("content-type")),b=v.responseText;try{"script"==i?(1,eval)(b):"xml"==i?b=v.responseXML:"json"==i&&(b=y.test(b)?null:a.parseJSON(b))}catch(f){d=f}d?h(d,"parsererror",v,c,e):g(b,v,c,e)}else h(v.statusText||null,v.status?"error":"abort",v,c,e)}},f(v,c)===!1)return v.abort(),h(null,"abort",v,c,e),v;if(c.xhrFields)for(q in c.xhrFields)v[q]=c.xhrFields[q];var x="async"in c?c.async:!0;v.open(c.type,c.url,x,c.username,c.password);for(q in s)w.apply(v,s[q]);return c.timeout>0&&(o=setTimeout(function(){v.onreadystatechange=j,v.abort(),h(null,"timeout",v,c,e)},c.timeout)),v.send(c.data?c.data:null),v},a.get=function(){return a.ajax(n.apply(null,arguments))},a.post=function(){var b=n.apply(null,arguments);return b.type="POST",a.ajax(b)},a.getJSON=function(){var b=n.apply(null,arguments);return b.dataType="json",a.ajax(b)},a.fn.load=function(b,c,d){if(!this.length)return this;var e,f=this,g=b.split(/\s/),h=n(b,c,d),i=h.success;return g.length>1&&(h.url=g[0],e=g[1]),h.success=function(b){f.html(e?a("
").html(b.replace(t,"")).find(e):b),i&&i.apply(f,arguments)},a.ajax(h),this};var z=encodeURIComponent;a.param=function(a,b){var c=[];return c.add=function(a,b){this.push(z(a)+"="+z(b))},o(c,a,b),c.join("&").replace(/%20/g,"+")}}(Zepto),function(a){a.fn.serializeArray=function(){var b,c=[];return a([].slice.call(this.get(0).elements)).each(function(){b=a(this);var d=b.attr("type");"fieldset"!=this.nodeName.toLowerCase()&&!this.disabled&&"submit"!=d&&"reset"!=d&&"button"!=d&&("radio"!=d&&"checkbox"!=d||this.checked)&&c.push({name:b.attr("name"),value:b.val()})}),c},a.fn.serialize=function(){var a=[];return this.serializeArray().forEach(function(b){a.push(encodeURIComponent(b.name)+"="+encodeURIComponent(b.value))}),a.join("&")},a.fn.submit=function(b){if(b)this.bind("submit",b);else if(this.length){var c=a.Event("submit");this.eq(0).trigger(c),c.isDefaultPrevented()||this.get(0).submit()}return this}}(Zepto),function(a){"__proto__"in{}||a.extend(a.zepto,{Z:function(b,c){return b=b||[],a.extend(b,a.fn),b.selector=c||"",b.__Z=!0,b},isZ:function(b){return"array"===a.type(b)&&"__Z"in b}});try{getComputedStyle(void 0)}catch(b){var c=getComputedStyle;window.getComputedStyle=function(a){try{return c(a)}catch(b){return null}}}}(Zepto);var jsonlint=function(){var a={trace:function(){},yy:{},symbols_:{error:2,JSONString:3,STRING:4,JSONNumber:5,NUMBER:6,JSONNullLiteral:7,NULL:8,JSONBooleanLiteral:9,TRUE:10,FALSE:11,JSONText:12,JSONValue:13,EOF:14,JSONObject:15,JSONArray:16,"{":17,"}":18,JSONMemberList:19,JSONMember:20,":":21,",":22,"[":23,"]":24,JSONElementList:25,$accept:0,$end:1},terminals_:{2:"error",4:"STRING",6:"NUMBER",8:"NULL",10:"TRUE",11:"FALSE",14:"EOF",17:"{",18:"}",21:":",22:",",23:"[",24:"]"},productions_:[0,[3,1],[5,1],[7,1],[9,1],[9,1],[12,2],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[15,2],[15,3],[20,3],[19,1],[19,3],[16,2],[16,3],[25,1],[25,3]],performAction:function(a,b,c,d,e,f){var g=f.length-1;switch(e){case 1:this.$=a.replace(/\\(\\|")/g,"$1").replace(/\\n/g,"\n").replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\v/g," ").replace(/\\f/g,"\f").replace(/\\b/g,"\b");break;case 2:this.$=Number(a);break;case 3:this.$=null;break;case 4:this.$=!0;break;case 5:this.$=!1;break;case 6:return this.$=f[g-1];case 13:this.$={};break;case 14:this.$=f[g-1];break;case 15:this.$=[f[g-2],f[g]];break;case 16:this.$={},this.$[f[g][0]]=f[g][1];break;case 17:this.$=f[g-2],f[g-2][f[g][0]]=f[g][1];break;case 18:this.$=[];break;case 19:this.$=f[g-1];break;case 20:this.$=[f[g]];break;case 21:this.$=f[g-2],f[g-2].push(f[g])}},table:[{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],12:1,13:2,15:7,16:8,17:[1,14],23:[1,15]},{1:[3]},{14:[1,16]},{14:[2,7],18:[2,7],22:[2,7],24:[2,7]},{14:[2,8],18:[2,8],22:[2,8],24:[2,8]},{14:[2,9],18:[2,9],22:[2,9],24:[2,9]},{14:[2,10],18:[2,10],22:[2,10],24:[2,10]},{14:[2,11],18:[2,11],22:[2,11],24:[2,11]},{14:[2,12],18:[2,12],22:[2,12],24:[2,12]},{14:[2,3],18:[2,3],22:[2,3],24:[2,3]},{14:[2,4],18:[2,4],22:[2,4],24:[2,4]},{14:[2,5],18:[2,5],22:[2,5],24:[2,5]},{14:[2,1],18:[2,1],21:[2,1],22:[2,1],24:[2,1]},{14:[2,2],18:[2,2],22:[2,2],24:[2,2]},{3:20,4:[1,12],18:[1,17],19:18,20:19},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:23,15:7,16:8,17:[1,14],23:[1,15],24:[1,21],25:22},{1:[2,6]},{14:[2,13],18:[2,13],22:[2,13],24:[2,13]},{18:[1,24],22:[1,25]},{18:[2,16],22:[2,16]},{21:[1,26]},{14:[2,18],18:[2,18],22:[2,18],24:[2,18]},{22:[1,28],24:[1,27]},{22:[2,20],24:[2,20]},{14:[2,14],18:[2,14],22:[2,14],24:[2,14]},{3:20,4:[1,12],20:29},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:30,15:7,16:8,17:[1,14],23:[1,15]},{14:[2,19],18:[2,19],22:[2,19],24:[2,19]},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:31,15:7,16:8,17:[1,14],23:[1,15]},{18:[2,17],22:[2,17]},{18:[2,15],22:[2,15]},{22:[2,21],24:[2,21]}],defaultActions:{16:[2,6]},parseError:function(a){throw new Error(a) -},parse:function(a){function b(a){e.length=e.length-2*a,f.length=f.length-a,g.length=g.length-a}function c(){var a;return a=d.lexer.lex()||1,"number"!=typeof a&&(a=d.symbols_[a]||a),a}var d=this,e=[0],f=[null],g=[],h=this.table,i="",j=0,k=0,l=0,m=2,n=1;this.lexer.setInput(a),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var o=this.lexer.yylloc;g.push(o),"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var p,q,r,s,t,u,v,w,x,y={};;){if(r=e[e.length-1],this.defaultActions[r]?s=this.defaultActions[r]:(null==p&&(p=c()),s=h[r]&&h[r][p]),"undefined"==typeof s||!s.length||!s[0]){if(!l){x=[];for(u in h[r])this.terminals_[u]&&u>2&&x.push("'"+this.terminals_[u]+"'");var z="";z=this.lexer.showPosition?"Parse error on line "+(j+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+x.join(", ")+", got '"+this.terminals_[p]+"'":"Parse error on line "+(j+1)+": Unexpected "+(1==p?"end of input":"'"+(this.terminals_[p]||p)+"'"),this.parseError(z,{text:this.lexer.match,token:this.terminals_[p]||p,line:this.lexer.yylineno,loc:o,expected:x})}if(3==l){if(p==n)throw new Error(z||"Parsing halted.");k=this.lexer.yyleng,i=this.lexer.yytext,j=this.lexer.yylineno,o=this.lexer.yylloc,p=c()}for(;;){if(m.toString()in h[r])break;if(0==r)throw new Error(z||"Parsing halted.");b(1),r=e[e.length-1]}q=p,p=m,r=e[e.length-1],s=h[r]&&h[r][m],l=3}if(s[0]instanceof Array&&s.length>1)throw new Error("Parse Error: multiple actions possible at state: "+r+", token: "+p);switch(s[0]){case 1:e.push(p),f.push(this.lexer.yytext),g.push(this.lexer.yylloc),e.push(s[1]),p=null,q?(p=q,q=null):(k=this.lexer.yyleng,i=this.lexer.yytext,j=this.lexer.yylineno,o=this.lexer.yylloc,l>0&&l--);break;case 2:if(v=this.productions_[s[1]][1],y.$=f[f.length-v],y._$={first_line:g[g.length-(v||1)].first_line,last_line:g[g.length-1].last_line,first_column:g[g.length-(v||1)].first_column,last_column:g[g.length-1].last_column},t=this.performAction.call(y,i,k,j,this.yy,s[1],f,g),"undefined"!=typeof t)return t;v&&(e=e.slice(0,-1*v*2),f=f.slice(0,-1*v),g=g.slice(0,-1*v)),e.push(this.productions_[s[1]][0]),f.push(y.$),g.push(y._$),w=h[e[e.length-2]][e[e.length-1]],e.push(w);break;case 3:return!0}}return!0}},b=function(){var a={EOF:1,parseError:function(a,b){if(!this.yy.parseError)throw new Error(a);this.yy.parseError(a,b)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.match+=a,this.matched+=a;var b=a.match(/\n/);return b&&this.yylineno++,this._input=this._input.slice(1),a},unput:function(a){return this._input=a+this._input,this},more:function(){return this._more=!0,this},less:function(a){this._input=this.match.slice(a)+this._input},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),b=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,b,c,d,e;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),g=0;gb[0].length)||(b=c,d=g,this.options.flex));g++);return b?(e=b[0].match(/\n.*/g),e&&(this.yylineno+=e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:e?e[e.length-1].length-1:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.yyleng=this.yytext.length,this._more=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],a=this.performAction.call(this,this.yy,this,f[d],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a?a:void 0):""===this._input?this.EOF:void this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return"undefined"!=typeof a?a:this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(a){this.begin(a)}};return a.options={},a.performAction=function(a,b,c,d){switch(c){case 0:break;case 1:return 6;case 2:return b.yytext=b.yytext.substr(1,b.yyleng-2),4;case 3:return 17;case 4:return 18;case 5:return 23;case 6:return 24;case 7:return 22;case 8:return 21;case 9:return 10;case 10:return 11;case 11:return 8;case 12:return 14;case 13:return"INVALID"}},a.rules=[/^(?:\s+)/,/^(?:(-?([0-9]|[1-9][0-9]+))(\.[0-9]+)?([eE][-+]?[0-9]+)?\b)/,/^(?:"(?:\\[\\"bfnrt/]|\\u[a-fA-F0-9]{4}|[^\\\0-\x09\x0a-\x1f"])*")/,/^(?:\{)/,/^(?:\})/,/^(?:\[)/,/^(?:\])/,/^(?:,)/,/^(?::)/,/^(?:true\b)/,/^(?:false\b)/,/^(?:null\b)/,/^(?:$)/,/^(?:.)/],a.conditions={INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}},a}();return a.lexer=b,a}();"undefined"!=typeof require&&"undefined"!=typeof exports&&(exports.parser=jsonlint,exports.parse=function(){return jsonlint.parse.apply(jsonlint,arguments)},exports.main=function(a){if(!a[1])throw new Error("Usage: "+a[0]+" FILE");if("undefined"!=typeof process)var b=require("fs").readFileSync(require("path").join(process.cwd(),a[1]),"utf8");else var c=require("file").path(require("file").cwd()),b=c.join(a[1]).read({charset:"utf-8"});return exports.parser.parse(b)},"undefined"!=typeof module&&require.main===module&&exports.main("undefined"!=typeof process?process.argv.slice(1):require("system").args));var jsonParse=function(){function a(a,b,c){return b?g[b]:String.fromCharCode(parseInt(c,16))}var b="(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)",c='(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))',d='(?:"'+c+'*")',e=new RegExp("(?:false|true|null|[\\{\\}\\[\\]]|"+b+"|"+d+")","g"),f=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),g={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:"\n",r:"\r",t:" "},h=new String(""),i="\\",j=Object.hasOwnProperty;return function(b,c){var d,g=b.match(e),k=g[0],l=!1;"{"===k?d={}:"["===k?d=[]:(d=[],l=!0);for(var m,n=[d],o=1-l,p=g.length;p>o;++o){k=g[o];var q;switch(k.charCodeAt(0)){default:q=n[0],q[m||q.length]=+k,m=void 0;break;case 34:if(k=k.substring(1,k.length-1),-1!==k.indexOf(i)&&(k=k.replace(f,a)),q=n[0],!m){if(!(q instanceof Array)){m=k||h;break}m=q.length}q[m]=k,m=void 0;break;case 91:q=n[0],n.unshift(q[m||q.length]=[]),m=void 0;break;case 93:n.shift();break;case 102:q=n[0],q[m||q.length]=!1,m=void 0;break;case 110:q=n[0],q[m||q.length]=null,m=void 0;break;case 116:q=n[0],q[m||q.length]=!0,m=void 0;break;case 123:q=n[0],n.unshift(q[m||q.length]={}),m=void 0;break;case 125:n.shift()}}if(l){if(1!==n.length)throw new Error;d=d[0]}else if(n.length)throw new Error;if(c){var r=function(a,b){var d=a[b];if(d&&"object"==typeof d){var e=null;for(var f in d)if(j.call(d,f)&&d!==a){var g=r(d,f);void 0!==g?d[f]=g:(e||(e=[]),e.push(f))}if(e)for(var h=e.length;--h>=0;)delete d[e[h]]}return c.call(a,b,d)};d=r({"":d},"")}return d}}();if(function(a){if("object"==typeof exports&&"object"==typeof module)module.exports=a();else{if("function"==typeof define&&define.amd)return define([],a);this.CodeMirror=a()}}(function(){"use strict";function a(c,d){if(!(this instanceof a))return new a(c,d);this.options=d=d||{};for(var e in ag)d.hasOwnProperty(e)||(d[e]=ag[e]);n(d);var f=d.value;"string"==typeof f&&(f=new yg(f,d.mode));var g=this.display=new b(c,f);g.wrapper.CodeMirror=this,k(this),i(this),d.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),d.autofocus&&!Gf&&lc(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,draggingText:!1,highlight:new Me},qf&&setTimeout(Ue(kc,this,!0),20),oc(this);var h=this;Wb(this,function(){h.curOp.forceUpdate=!0,ge(h,f),d.autofocus&&!Gf||$e()==g.input?setTimeout(Ue(Jc,h),20):Kc(h);for(var a in bg)bg.hasOwnProperty(a)&&bg[a](h,d[a],cg);for(var b=0;bb.maxLineLength&&(b.maxLineLength=c,b.maxLine=a)})}function n(a){var b=Qe(a.gutters,"CodeMirror-linenumbers");-1==b&&a.lineNumbers?a.gutters=a.gutters.concat(["CodeMirror-linenumbers"]):b>-1&&!a.lineNumbers&&(a.gutters=a.gutters.slice(0),a.gutters.splice(b,1))}function o(a){var b=a.display.scroller;return{clientHeight:b.clientHeight,barHeight:a.display.scrollbarV.clientHeight,scrollWidth:b.scrollWidth,clientWidth:b.clientWidth,barWidth:a.display.scrollbarH.clientWidth,docHeight:a.doc.height+vb(a.display)}}function p(a,b){b||(b=o(a));var c=a.display,d=b.docHeight+Jg,e=b.scrollWidth>b.clientWidth,f=d>b.clientHeight;if(f?(c.scrollbarV.style.display="block",c.scrollbarV.style.bottom=e?_e(c.measure)+"px":"0",c.scrollbarV.firstChild.style.height=Math.max(0,d-b.clientHeight+(b.barHeight||c.scrollbarV.clientHeight))+"px"):(c.scrollbarV.style.display="",c.scrollbarV.firstChild.style.height="0"),e?(c.scrollbarH.style.display="block",c.scrollbarH.style.right=f?_e(c.measure)+"px":"0",c.scrollbarH.firstChild.style.width=b.scrollWidth-b.clientWidth+(b.barWidth||c.scrollbarH.clientWidth)+"px"):(c.scrollbarH.style.display="",c.scrollbarH.firstChild.style.width="0"),e&&f?(c.scrollbarFiller.style.display="block",c.scrollbarFiller.style.height=c.scrollbarFiller.style.width=_e(c.measure)+"px"):c.scrollbarFiller.style.display="",e&&a.options.coverGutterNextToScrollbar&&a.options.fixedGutter?(c.gutterFiller.style.display="block",c.gutterFiller.style.height=_e(c.measure)+"px",c.gutterFiller.style.width=c.gutters.offsetWidth+"px"):c.gutterFiller.style.display="",Cf&&0===_e(c.measure)){c.scrollbarV.style.minWidth=c.scrollbarH.style.minHeight=Df?"18px":"12px";var g=function(b){Fe(b)!=c.scrollbarV&&Fe(b)!=c.scrollbarH&&Xb(a,rc)(b)};Fg(c.scrollbarV,"mousedown",g),Fg(c.scrollbarH,"mousedown",g)}}function q(a,b,c){var d=c&&null!=c.top?c.top:a.scroller.scrollTop;d=Math.floor(d-ub(a));var e=c&&null!=c.bottom?c.bottom:d+a.wrapper.clientHeight,f=me(b,d),g=me(b,e);if(c&&c.ensure){var h=c.ensure.from.line,i=c.ensure.to.line;if(f>h)return{from:h,to:me(b,ne(he(b,h))+a.wrapper.clientHeight)};if(Math.min(i,b.lastLine())>=g)return{from:me(b,ne(he(b,i))-a.wrapper.clientHeight),to:i}}return{from:f,to:g}}function r(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=u(b)-b.scroller.scrollLeft+a.doc.scrollLeft,e=b.gutters.offsetWidth,f=d+"px",g=0;g=a.display.viewFrom&&g.to<=a.display.viewTo)break}return a.display.updateLineNumbers=null,d&&(He(a,"update",a),(a.display.viewFrom!=e||a.display.viewTo!=f)&&He(a,"viewportChange",a,a.display.viewFrom,a.display.viewTo)),d}function w(a,b,c){var d=a.display,e=a.doc;if(!d.wrapper.offsetWidth)return void cc(a);if(!(!c&&b.from>=d.viewFrom&&b.to<=d.viewTo&&0==gc(a))){s(a)&&cc(a);var f=B(a),g=e.first+e.size,h=Math.max(b.from-a.options.viewportMargin,e.first),i=Math.min(g,b.to+a.options.viewportMargin);d.viewFromi&&d.viewTo-i<20&&(i=Math.min(g,d.viewTo)),Nf&&(h=Jd(a.doc,h),i=Kd(a.doc,i));var j=h!=d.viewFrom||i!=d.viewTo||d.lastSizeC!=d.wrapper.clientHeight;fc(a,h,i),d.viewOffset=ne(he(a.doc,d.viewFrom)),a.display.mover.style.top=d.viewOffset+"px";var k=gc(a);if(j||0!=k||c){var l=$e();return k>4&&(d.lineDiv.style.display="none"),C(a,d.updateLineNumbers,f),k>4&&(d.lineDiv.style.display=""),l&&$e()!=l&&l.offsetHeight&&l.focus(),Ye(d.cursorDiv),Ye(d.selectionDiv),j&&(d.lastSizeC=d.wrapper.clientHeight,qb(a,400)),z(a),!0}}}function x(a){var b=a.display,c=Ab(a,b.maxLine,b.maxLine.text.length).left;b.maxLineChanged=!1;var d=Math.max(0,c+3),e=Math.max(0,b.sizer.offsetLeft+d+Jg-b.scroller.clientWidth);b.sizer.style.minWidth=d+"px",ee&&(e=Sb(b)),(i>.001||-.001>i)&&(ke(f.line,e),A(f.line),f.rest))for(var j=0;j=b&&l.lineNumber;l.changes&&(Qe(l.changes,"gutter")>-1&&(m=!1),D(a,l,j,c)),m&&(Ye(l.lineNumber),l.lineNumber.appendChild(document.createTextNode(t(a.options,j)))),h=l.node.nextSibling}else{var n=L(a,l,j,c);g.insertBefore(n,h)}j+=l.size}for(;h;)h=d(h)}function D(a,b,c,d){for(var e=0;e=0){var g=R(f.from(),e.from()),h=Q(f.to(),e.to()),i=f.empty()?e.from()==e.head:f.from()==f.head;b>=d&&--b,a.splice(--d,2,new T(i?h:g,i?g:h))}}return new S(a,b)}function V(a,b){return new S([new T(a,b||a)],0)}function W(a,b){return Math.max(a.first,Math.min(b,a.first+a.size-1))}function X(a,b){if(b.linec?Of(c,he(a,c).text.length):Y(b,he(a,b.line).text.length)}function Y(a,b){var c=a.ch;return null==c||c>b?Of(a.line,b):0>c?Of(a.line,0):a}function Z(a,b){return b>=a.first&&b=f.ch:j.to>f.ch))){if(d&&(Hg(k,"beforeCursorEnter"),k.explicitlyCleared)){if(h.markedSpans){--i;continue}break}if(!k.atomic)continue;var l=k.find(0>g?-1:1);if(0==Pf(l,f)&&(l.ch+=g,l.ch<0?l=l.line>a.first?X(a,Of(l.line-1)):null:l.ch>h.text.length&&(l=l.lineb&&(b=0),h.appendChild(Xe("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px; top: "+b+"px; width: "+(null==c?k-a:c)+"px; height: "+(d-b)+"px"))}function e(b,c,e){function f(c,d){return Mb(a,Of(b,c),"div",l,d)}var h,i,l=he(g,b),m=l.text.length;return cf(oe(l),c||0,null==e?m:e,function(a,b,g){var l,n,o,p=f(a,"left");if(a==b)l=p,n=o=p.left;else{if(l=f(b-1,"right"),"rtl"==g){var q=p;p=l,l=q}n=p.left,o=l.right}null==c&&0==a&&(n=j),l.top-p.top>3&&(d(n,p.top,null,p.bottom),n=j,p.bottomi.bottom||l.bottom==i.bottom&&l.right>i.right)&&(i=l),j+1>n&&(n=j),d(n,l.top,o-n,l.bottom)}),{start:h,end:i}}var f=a.display,g=a.doc,h=document.createDocumentFragment(),i=wb(a.display),j=i.left,k=f.lineSpace.offsetWidth-i.right,l=b.from(),m=b.to();if(l.line==m.line)e(l.line,l.ch,m.ch);else{var n=he(g,l.line),o=he(g,m.line),p=Hd(n)==Hd(o),q=e(l.line,l.ch,p?n.text.length+1:null).end,r=e(m.line,p?0:null,m.ch).start;p&&(q.top0&&(b.blinker=setInterval(function(){b.cursorDiv.style.visibility=(c=!c)?"":"hidden"},a.options.cursorBlinkRate))}}function qb(a,b){a.doc.mode.startState&&a.doc.frontier=a.display.viewTo)){var c=+new Date+a.options.workTime,d=ig(b.mode,tb(a,b.frontier));Wb(a,function(){b.iter(b.frontier,Math.min(b.first+b.size,a.display.viewTo+500),function(e){if(b.frontier>=a.display.viewFrom){var f=e.styles;e.styles=Sd(a,e,d,!0);for(var g=!f||f.length!=e.styles.length,h=0;!g&&hc?(qb(a,a.options.workDelay),!0):void 0})})}}function sb(a,b,c){for(var d,e,f=a.doc,g=c?-1:b-(a.doc.mode.innerMode?1e3:100),h=b;h>g;--h){if(h<=f.first)return f.first;var i=he(f,h-1);if(i.stateAfter&&(!c||h<=f.frontier))return h;var j=Og(i.text,null,a.options.tabSize);(null==e||d>j)&&(e=h-1,d=j)}return e}function tb(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return!0;var f=sb(a,b,c),g=f>d.first&&he(d,f-1).stateAfter;return g=g?ig(d.mode,g):jg(d.mode),d.iter(f,b,function(c){Ud(a,c.text,g);var h=f==b-1||f%5==0||f>=e.viewFrom&&f2&&f.push((i.bottom+j.top)/2-c.top)}}f.push(c.bottom-c.top)}}function yb(a,b,c){if(a.line==b)return{map:a.measure.map,cache:a.measure.cache};for(var d=0;dc)return{map:a.measure.maps[d],cache:a.measure.caches[d],before:!0}}function zb(a,b){b=Hd(b);var c=le(b),d=a.display.externalMeasured=new $b(a.doc,b,c);d.lineN=c;var e=d.built=Wd(a,d);return d.text=e.pre,Ze(a.display.lineMeasure,e.pre),d}function Ab(a,b,c,d){return Db(a,Cb(a,b),c,d)}function Bb(a,b){if(b>=a.display.viewFrom&&b=c.lineN&&bc?(f=0,g=1,h="left"):l>c?(f=c-k,g=f+1):(j==i.length-3||c==l&&i[j+3]>c)&&(g=l-k,f=g-1,c>=l&&(h="right")),null!=f){if(e=i[j+2],k==l&&d==(e.insertLeft?"left":"right")&&(h=d),"left"==d&&0==f)for(;j&&i[j-2]==i[j-3]&&i[j-1].insertLeft;)e=i[(j-=3)+2],h="left";if("right"==d&&f==l-k)for(;jk+g&&We(b.line.text.charAt(k+g));)++g;if(sf&&0==f&&g==l-k)m=e.parentNode.getBoundingClientRect();else if(vf&&a.options.lineWrapping){var n=Rg(e,f,g).getClientRects();m=n.length?n["right"==d?n.length-1:0]:Tf}else m=Rg(e,f,g).getBoundingClientRect()}else{f>0&&(h=d="right");var n;m=a.options.lineWrapping&&(n=e.getClientRects()).length>1?n["right"==d?n.length-1:0]:e.getBoundingClientRect()}if(sf&&!f&&(!m||!m.left&&!m.right)){var o=e.parentNode.getClientRects()[0];m=o?{left:o.left,right:o.left+Tb(a.display),top:o.top,bottom:o.bottom}:Tf}for(var p,q=(m.bottom+m.top)/2-b.rect.top,r=b.view.measure.heights,j=0;jc.from?f(a-1):f(a,d)}d=d||he(a.doc,b.line),e||(e=Cb(a,d));var h=oe(d),i=b.ch;if(!h)return f(i);var j=lf(h,i),k=g(i,j);return null!=bh&&(k.other=g(i,bh)),k}function Ob(a,b){var c=0,b=X(a.doc,b);a.options.lineWrapping||(c=Tb(a.display)*b.ch);var d=he(a.doc,b.line),e=ne(d)+ub(a.display);return{left:c,right:c,top:e,bottom:e+d.height}}function Pb(a,b,c,d){var e=Of(a,b);return e.xRel=d,c&&(e.outside=!0),e}function Qb(a,b,c){var d=a.doc;if(c+=a.display.viewOffset,0>c)return Pb(d.first,0,!0,-1);var e=me(d,c),f=d.first+d.size-1;if(e>f)return Pb(d.first+d.size-1,he(d,f).text.length,!0,1);0>b&&(b=0);for(var g=he(d,e);;){var h=Rb(a,g,e,b,c),i=Fd(g),j=i&&i.find(0,!0);if(!i||!(h.ch>j.from.ch||h.ch==j.from.ch&&h.xRel>0))return h;e=le(g=j.to.line)}}function Rb(a,b,c,d,e){function f(d){var e=Nb(a,Of(c,d),"line",b,j);return h=!0,g>e.bottom?e.left-i:gq)return Pb(c,n,r,1);for(;;){if(k?n==m||n==nf(b,m,1):1>=n-m){for(var s=o>d||q-d>=d-o?m:n,t=d-(s==m?o:q);We(b.text.charAt(s));)++s;var u=Pb(c,s,s==m?p:r,-1>t?-1:t>1?1:0);return u}var v=Math.ceil(l/2),w=m+v;if(k){w=m;for(var x=0;v>x;++x)w=nf(b,w,1)}var y=f(w);y>d?(n=w,q=y,(r=h)&&(q+=1e3),l=v):(m=w,o=y,p=h,l-=v)}}function Sb(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==Qf){Qf=Xe("pre");for(var b=0;49>b;++b)Qf.appendChild(document.createTextNode("x")),Qf.appendChild(Xe("br"));Qf.appendChild(document.createTextNode("x"))}Ze(a.measure,Qf);var c=Qf.offsetHeight/50;return c>3&&(a.cachedTextHeight=c),Ye(a.measure),c||1}function Tb(a){if(null!=a.cachedCharWidth)return a.cachedCharWidth;var b=Xe("span","xxxxxxxxxx"),c=Xe("pre",[b]);Ze(a.measure,c);var d=b.getBoundingClientRect(),e=(d.right-d.left)/10;return e>2&&(a.cachedCharWidth=e),e||10}function Ub(a){a.curOp={viewChanged:!1,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivity:!1,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,id:++Uf},Ig++||(Bg=[])}function Vb(a){var b=a.curOp,c=a.doc,d=a.display;if(a.curOp=null,b.updateMaxLine&&m(a),b.viewChanged||b.forceUpdate||null!=b.scrollTop||b.scrollToPos&&(b.scrollToPos.from.line=d.viewTo)||d.maxLineChanged&&a.options.lineWrapping){var e=v(a,{top:b.scrollTop,ensure:b.scrollToPos},b.forceUpdate);a.display.scroller.offsetHeight&&(a.doc.scrollTop=a.display.scroller.scrollTop)}if(!e&&b.selectionChanged&&mb(a),null!=b.scrollTop&&d.scroller.scrollTop!=b.scrollTop){var f=Math.max(0,Math.min(d.scroller.scrollHeight-d.scroller.clientHeight,b.scrollTop));d.scroller.scrollTop=d.scrollbarV.scrollTop=c.scrollTop=f}if(null!=b.scrollLeft&&d.scroller.scrollLeft!=b.scrollLeft){var g=Math.max(0,Math.min(d.scroller.scrollWidth-d.scroller.clientWidth,b.scrollLeft));d.scroller.scrollLeft=d.scrollbarH.scrollLeft=c.scrollLeft=g,r(a)}if(b.scrollToPos){var h=$c(a,X(a.doc,b.scrollToPos.from),X(a.doc,b.scrollToPos.to),b.scrollToPos.margin);b.scrollToPos.isCursor&&a.state.focused&&Zc(a,h)}b.selectionChanged&&pb(a),a.state.focused&&b.updateInput&&kc(a,b.typing);var i=b.maybeHiddenMarkers,j=b.maybeUnhiddenMarkers;if(i)for(var k=0;kf;f=d){var g=new $b(a.doc,he(a.doc,f),f);d=f+g.size,e.push(g)}return e}function ac(a,b,c,d){null==b&&(b=a.doc.first),null==c&&(c=a.doc.first+a.doc.size),d||(d=0);var e=a.display;if(d&&cb)&&(e.updateLineNumbers=b),a.curOp.viewChanged=!0,b>=e.viewTo)Nf&&Jd(a.doc,b)e.viewFrom?cc(a):(e.viewFrom+=d,e.viewTo+=d);else if(b<=e.viewFrom&&c>=e.viewTo)cc(a);else if(b<=e.viewFrom){var f=ec(a,c,c+d,1);f?(e.view=e.view.slice(f.index),e.viewFrom=f.lineN,e.viewTo+=d):cc(a)}else if(c>=e.viewTo){var f=ec(a,b,b,-1);f?(e.view=e.view.slice(0,f.index),e.viewTo=f.lineN):cc(a)}else{var g=ec(a,b,b,-1),h=ec(a,c,c+d,1);g&&h?(e.view=e.view.slice(0,g.index).concat(_b(a,g.lineN,h.lineN)).concat(e.view.slice(h.index)),e.viewTo+=d):cc(a)}var i=e.externalMeasured;i&&(c=e.lineN&&b=d.viewTo)){var f=d.view[dc(a,b)];if(null!=f.node){var g=f.changes||(f.changes=[]);-1==Qe(g,c)&&g.push(c)}}}function cc(a){a.display.viewFrom=a.display.viewTo=a.doc.first,a.display.view=[],a.display.viewOffset=0}function dc(a,b){if(b>=a.display.viewTo)return null;if(b-=a.display.viewFrom,0>b)return null;for(var c=a.display.view,d=0;db)return d}function ec(a,b,c,d){var e,f=dc(a,b),g=a.display.view;if(!Nf)return{index:f,lineN:c};for(var h=0,i=a.display.viewFrom;f>h;h++)i+=g[h].size;if(i!=b){if(d>0){if(f==g.length-1)return null;e=i+g[f].size-b,f++}else e=i-b;b+=e,c+=e}for(;Jd(a.doc,c)!=c;){if(f==(0>d?0:g.length-1))return null;c+=d*g[f-(0>d?1:0)].size,f+=d}return{index:f,lineN:c}}function fc(a,b,c){var d=a.display,e=d.view;0==e.length||b>=d.viewTo||c<=d.viewFrom?(d.view=_b(a,b,c),d.viewFrom=b):(d.viewFrom>b?d.view=_b(a,b,d.viewFrom).concat(d.view):d.viewFromc&&(d.view=d.view.slice(0,dc(a,c)))),d.viewTo=c}function gc(a){for(var b=a.display.view,c=0,d=0;dg&&c.charCodeAt(g)==e.charCodeAt(g);)++g;for(var i=e.slice(g),j=Zg(i),k=a.state.pasteIncoming&&j.length>1&&d.sel.ranges.length==j.length,l=d.sel.ranges.length-1;l>=0;l--){var m=d.sel.ranges[l],n=m.from(),o=m.to();g-1){ed(a,m.head.line,"smart");break}}}return cd(a),a.curOp.updateInput=p,a.curOp.typing=!0,e.length>1e3||e.indexOf("\n")>-1?b.value=a.display.prevInput="":a.display.prevInput=e,f&&Vb(a),a.state.pasteIncoming=a.state.cutIncoming=!1,!0}function kc(a,b){var c,d,e=a.doc;if(a.somethingSelected()){a.display.prevInput="";var f=e.sel.primary();c=_g&&(f.to().line-f.from().line>100||(d=a.getSelection()).length>1e3);var g=c?"-":d||a.getSelection();a.display.input.value=g,a.state.focused&&Qg(a.display.input),vf&&!sf&&(a.display.inputHasSelection=g)}else b||(a.display.prevInput=a.display.input.value="",vf&&!sf&&(a.display.inputHasSelection=null));a.display.inaccurateSelection=c}function lc(a){"nocursor"==a.options.readOnly||Gf&&$e()==a.display.input||a.display.input.focus()}function mc(a){a.state.focused||(lc(a),Jc(a))}function nc(a){return a.options.readOnly||a.doc.cantEdit}function oc(a){function b(){a.state.focused&&setTimeout(Ue(lc,a),0)}function c(){null==h&&(h=setTimeout(function(){h=null,g.cachedCharWidth=g.cachedTextHeight=g.cachedPaddingH=Vg=null,a.setSize()},100))}function d(){for(var a=g.wrapper.parentNode;a&&a!=document.body;a=a.parentNode);a?setTimeout(d,5e3):Gg(window,"resize",c)}function e(b){Je(a,b)||Eg(b)}function f(b){g.inaccurateSelection&&(g.prevInput="",g.inaccurateSelection=!1,g.input.value=a.getSelection(),Qg(g.input)),"cut"==b.type&&(a.state.cutIncoming=!0)}var g=a.display;Fg(g.scroller,"mousedown",Xb(a,rc)),qf?Fg(g.scroller,"dblclick",Xb(a,function(b){if(!Je(a,b)){var c=qc(a,b);if(c&&!wc(a,b)&&!pc(a.display,b)){Cg(b);var d=jd(a.doc,c);ab(a.doc,d.anchor,d.head)}}})):Fg(g.scroller,"dblclick",function(b){Je(a,b)||Cg(b)}),Fg(g.lineSpace,"selectstart",function(a){pc(g,a)||Cg(a)}),Lf||Fg(g.scroller,"contextmenu",function(b){Lc(a,b)}),Fg(g.scroller,"scroll",function(){g.scroller.clientHeight&&(zc(a,g.scroller.scrollTop),Ac(a,g.scroller.scrollLeft,!0),Hg(a,"scroll",a))}),Fg(g.scrollbarV,"scroll",function(){g.scroller.clientHeight&&zc(a,g.scrollbarV.scrollTop)}),Fg(g.scrollbarH,"scroll",function(){g.scroller.clientHeight&&Ac(a,g.scrollbarH.scrollLeft)}),Fg(g.scroller,"mousewheel",function(b){Bc(a,b)}),Fg(g.scroller,"DOMMouseScroll",function(b){Bc(a,b)}),Fg(g.scrollbarH,"mousedown",b),Fg(g.scrollbarV,"mousedown",b),Fg(g.wrapper,"scroll",function(){g.wrapper.scrollTop=g.wrapper.scrollLeft=0});var h;Fg(window,"resize",c),setTimeout(d,5e3),Fg(g.input,"keyup",Xb(a,Hc)),Fg(g.input,"input",function(){vf&&!sf&&a.display.inputHasSelection&&(a.display.inputHasSelection=null),ic(a)}),Fg(g.input,"keydown",Xb(a,Gc)),Fg(g.input,"keypress",Xb(a,Ic)),Fg(g.input,"focus",Ue(Jc,a)),Fg(g.input,"blur",Ue(Kc,a)),a.options.dragDrop&&(Fg(g.scroller,"dragstart",function(b){yc(a,b)}),Fg(g.scroller,"dragenter",e),Fg(g.scroller,"dragover",e),Fg(g.scroller,"drop",Xb(a,xc))),Fg(g.scroller,"paste",function(b){pc(g,b)||(a.state.pasteIncoming=!0,lc(a),ic(a))}),Fg(g.input,"paste",function(){if(wf&&!a.state.fakedLastChar&&!(new Date-a.state.lastMiddleDown<200)){var b=g.input.selectionStart,c=g.input.selectionEnd;g.input.value+="$",g.input.selectionStart=b,g.input.selectionEnd=c,a.state.fakedLastChar=!0}a.state.pasteIncoming=!0,ic(a)}),Fg(g.input,"cut",f),Fg(g.input,"copy",f),Bf&&Fg(g.sizer,"mouseup",function(){$e()==g.input&&g.input.blur(),lc(a)})}function pc(a,b){for(var c=Fe(b);c!=a.wrapper;c=c.parentNode)if(!c||c.ignoreEvents||c.parentNode==a.sizer&&c!=a.mover)return!0}function qc(a,b,c,d){var e=a.display;if(!c){var f=Fe(b);if(f==e.scrollbarH||f==e.scrollbarV||f==e.scrollbarFiller||f==e.gutterFiller)return null}var g,h,i=e.lineSpace.getBoundingClientRect();try{g=b.clientX-i.left,h=b.clientY-i.top}catch(b){return null}var j,k=Qb(a,g,h);if(d&&1==k.xRel&&(j=he(a.doc,k.line).text).length==k.ch){var l=Og(j,j.length,a.options.tabSize)-j.length;k=Of(k.line,Math.round((g-wb(a.display).left)/Tb(a.display))-l)}return k}function rc(a){if(!Je(this,a)){var b=this,c=b.display;if(c.shift=a.shiftKey,pc(c,a))return void(wf||(c.scroller.draggable=!1,setTimeout(function(){c.scroller.draggable=!0},100)));if(!wc(b,a)){var d=qc(b,a);switch(window.focus(),Ge(a)){case 1:d?sc(b,a,d):Fe(a)==c.scroller&&Cg(a);break;case 2:wf&&(b.state.lastMiddleDown=+new Date),d&&ab(b.doc,d),setTimeout(Ue(lc,b),20),Cg(a);break;case 3:Lf&&Lc(b,a)}}}}function sc(a,b,c){setTimeout(Ue(mc,a),0);var d,e=+new Date;Sf&&Sf.time>e-400&&0==Pf(Sf.pos,c)?d="triple":Rf&&Rf.time>e-400&&0==Pf(Rf.pos,c)?(d="double",Sf={time:e,pos:c}):(d="single",Rf={time:e,pos:c});var f=a.doc.sel,g=Hf?b.metaKey:b.ctrlKey;a.options.dragDrop&&Yg&&!g&&!nc(a)&&"single"==d&&f.contains(c)>-1&&f.somethingSelected()?tc(a,b,c):uc(a,b,c,d,g)}function tc(a,b,c){var d=a.display,e=Xb(a,function(f){wf&&(d.scroller.draggable=!1),a.state.draggingText=!1,Gg(document,"mouseup",e),Gg(d.scroller,"drop",e),Math.abs(b.clientX-f.clientX)+Math.abs(b.clientY-f.clientY)<10&&(Cg(f),ab(a.doc,c),lc(a),qf&&!sf&&setTimeout(function(){document.body.focus(),lc(a)},20))});wf&&(d.scroller.draggable=!0),a.state.draggingText=e,d.scroller.dragDrop&&d.scroller.dragDrop(),Fg(document,"mouseup",e),Fg(d.scroller,"drop",e)}function uc(a,b,c,d,e){function f(b){if(0!=Pf(p,b))if(p=b,"rect"==d){for(var e=[],f=a.options.tabSize,g=Og(he(j,c.line).text,c.ch,f),h=Og(he(j,b.line).text,b.ch,f),i=Math.min(g,h),n=Math.max(g,h),o=Math.min(c.line,b.line),q=Math.min(a.lastLine(),Math.max(c.line,b.line));q>=o;o++){var r=he(j,o).text,s=Ne(r,i,f);i==n?e.push(new T(Of(o,s),Of(o,s))):r.length>s&&e.push(new T(Of(o,s),Of(o,Ne(r,n,f))))}e.length||e.push(new T(c,c)),gb(j,U(m.ranges.slice(0,l).concat(e),l),Mg)}else{var t=k,u=t.anchor,v=b;if("single"!=d){if("double"==d)var w=jd(j,b);else var w=new T(Of(b.line,0),X(j,Of(b.line+1,0)));Pf(w.anchor,u)>0?(v=w.head,u=R(t.from(),w.anchor)):(v=w.anchor,u=Q(t.to(),w.head))}var e=m.ranges.slice(0);e[l]=new T(X(j,u),v),gb(j,U(e,l),Mg)}}function g(b){var c=++s,e=qc(a,b,!0,"rect"==d);if(e)if(0!=Pf(e,p)){mc(a),f(e);var h=q(i,j);(e.line>=h.to||e.liner.bottom?20:0;k&&setTimeout(Xb(a,function(){s==c&&(i.scroller.scrollTop+=k,g(b))}),50)}}function h(b){s=1/0,Cg(b),lc(a),Gg(document,"mousemove",t),Gg(document,"mouseup",u),j.history.lastSelOrigin=null}var i=a.display,j=a.doc;Cg(b);var k,l,m=j.sel;if(e?(l=j.sel.contains(c),k=l>-1?j.sel.ranges[l]:new T(c,c)):k=j.sel.primary(),b.altKey)d="rect",e||(k=new T(c,c)),c=qc(a,b,!0,!0),l=-1;else if("double"==d){var n=jd(j,c);k=a.display.shift||j.extend?_(j,k,n.anchor,n.head):n}else if("triple"==d){var o=new T(Of(c.line,0),X(j,Of(c.line+1,0)));k=a.display.shift||j.extend?_(j,k,o.anchor,o.head):o}else k=_(j,k,c);e?l>-1?cb(j,l,k,Mg):(l=j.sel.ranges.length,gb(j,U(j.sel.ranges.concat([k]),l),{scroll:!1,origin:"*mouse"})):(l=0,gb(j,new S([k],0),Mg));var p=c,r=i.wrapper.getBoundingClientRect(),s=0,t=Xb(a,function(a){(vf&&!tf?a.buttons:Ge(a))?g(a):h(a)}),u=Xb(a,h);Fg(document,"mousemove",t),Fg(document,"mouseup",u)}function vc(a,b,c,d,e){try{var f=b.clientX,g=b.clientY}catch(b){return!1}if(f>=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&Cg(b);var h=a.display,i=h.lineDiv.getBoundingClientRect();if(g>i.bottom||!Ke(a,c))return Ee(b);g-=i.top-h.viewOffset;for(var j=0;j=f){var l=me(a.doc,g),m=a.options.gutters[j];return e(a,c,a,l,m,b),Ee(b)}}}function wc(a,b){return vc(a,b,"gutterClick",!0,He)}function xc(a){var b=this;if(!Je(b,a)&&!pc(b.display,a)){Cg(a),qf&&(Vf=+new Date);var c=qc(b,a,!0),d=a.dataTransfer.files;if(c&&!nc(b))if(d&&d.length&&window.FileReader&&window.File)for(var e=d.length,f=Array(e),g=0,h=function(a,d){var h=new FileReader;h.onload=function(){if(f[d]=h.result,++g==e){c=X(b.doc,c);var a={from:c,to:c,text:Zg(f.join("\n")),origin:"paste"};Sc(b.doc,a),fb(b.doc,V(c,_f(a)))}},h.readAsText(a)},i=0;e>i;++i)h(d[i],i);else{if(b.state.draggingText&&b.doc.sel.contains(c)>-1)return b.state.draggingText(a),void setTimeout(Ue(lc,b),20);try{var f=a.dataTransfer.getData("Text");if(f){var j=b.state.draggingText&&b.listSelections();if(hb(b.doc,V(c,c)),j)for(var i=0;if.clientWidth||d&&f.scrollHeight>f.clientHeight){if(d&&Hf&&wf)a:for(var g=b.target,h=e.view;g!=f;g=g.parentNode)for(var i=0;ij?k=Math.max(0,k+j-50):l=Math.min(a.doc.height,l+j+50),v(a,{top:k,bottom:l})}20>Wf&&(null==e.wheelStartX?(e.wheelStartX=f.scrollLeft,e.wheelStartY=f.scrollTop,e.wheelDX=c,e.wheelDY=d,setTimeout(function(){if(null!=e.wheelStartX){var a=f.scrollLeft-e.wheelStartX,b=f.scrollTop-e.wheelStartY,c=b&&e.wheelDY&&b/e.wheelDY||a&&e.wheelDX&&a/e.wheelDX;e.wheelStartX=e.wheelStartY=null,c&&(Xf=(Xf*Wf+c)/(Wf+1),++Wf)}},200)):(e.wheelDX+=c,e.wheelDY+=d))}}function Cc(a,b,c){if("string"==typeof b&&(b=kg[b],!b))return!1;a.display.pollingFast&&jc(a)&&(a.display.pollingFast=!1);var d=a.display.shift,e=!1;try{nc(a)&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),e=b(a)!=Kg}finally{a.display.shift=d,a.state.suppressEdits=!1}return e}function Dc(a){var b=a.state.keyMaps.slice(0);return a.options.extraKeys&&b.push(a.options.extraKeys),b.push(a.options.keyMap),b}function Ec(a,b){var c=ld(a.options.keyMap),d=c.auto;clearTimeout(Yf),d&&!ng(b)&&(Yf=setTimeout(function(){ld(a.options.keyMap)==c&&(a.options.keyMap=d.call?d.call(null,a):d,h(a))},50));var e=og(b,!0),f=!1;if(!e)return!1;var g=Dc(a);return f=b.shiftKey?mg("Shift-"+e,g,function(b){return Cc(a,b,!0)})||mg(e,g,function(b){return("string"==typeof b?/^go[A-Z]/.test(b):b.motion)?Cc(a,b):void 0}):mg(e,g,function(b){return Cc(a,b)}),f&&(Cg(b),pb(a),He(a,"keyHandled",a,e,b)),f}function Fc(a,b,c){var d=mg("'"+c+"'",Dc(a),function(b){return Cc(a,b,!0)});return d&&(Cg(b),pb(a),He(a,"keyHandled",a,"'"+c+"'",b)),d}function Gc(a){var b=this;if(mc(b),!Je(b,a)){qf&&27==a.keyCode&&(a.returnValue=!1);var c=a.keyCode;b.display.shift=16==c||a.shiftKey;var d=Ec(b,a);zf&&($f=d?c:null,!d&&88==c&&!_g&&(Hf?a.metaKey:a.ctrlKey)&&b.replaceSelection("",null,"cut"))}}function Hc(a){Je(this,a)||16==a.keyCode&&(this.doc.sel.shift=!1)}function Ic(a){var b=this;if(!Je(b,a)){var c=a.keyCode,d=a.charCode;if(zf&&c==$f)return $f=null,void Cg(a);if(!(zf&&(!a.which||a.which<10)||Bf)||!Ec(b,a)){var e=String.fromCharCode(null==d?c:d);Fc(b,a,e)||(vf&&!sf&&(b.display.inputHasSelection=null),ic(b))}}}function Jc(a){"nocursor"!=a.options.readOnly&&(a.state.focused||(Hg(a,"focus",a),a.state.focused=!0,-1==a.display.wrapper.className.search(/\bCodeMirror-focused\b/)&&(a.display.wrapper.className+=" CodeMirror-focused"),a.curOp||(kc(a),wf&&setTimeout(Ue(kc,a,!0),0))),hc(a),pb(a))}function Kc(a){a.state.focused&&(Hg(a,"blur",a),a.state.focused=!1,a.display.wrapper.className=a.display.wrapper.className.replace(" CodeMirror-focused","")),clearInterval(a.display.blinker),setTimeout(function(){a.state.focused||(a.display.shift=!1)},150)}function Lc(a,b){function c(){if(null!=e.input.selectionStart){var a=e.input.value="​"+(j?e.input.value:"");e.prevInput="​",e.input.selectionStart=1,e.input.selectionEnd=a.length}}function d(){if(e.inputDiv.style.position="relative",e.input.style.cssText=i,sf&&(e.scrollbarV.scrollTop=e.scroller.scrollTop=g),hc(a),null!=e.input.selectionStart){(!vf||sf)&&c(),clearTimeout(Zf);var b=0,d=function(){"​"==e.prevInput&&0==e.input.selectionStart?Xb(a,kg.selectAll)(a):b++<10?Zf=setTimeout(d,500):kc(a)};Zf=setTimeout(d,200)}}if(!Je(a,b,"contextmenu")){var e=a.display;if(!pc(e,b)&&!Mc(a,b)){var f=qc(a,b),g=e.scroller.scrollTop;if(f&&!zf){var h=a.options.resetSelectionOnContextMenu;h&&-1==a.doc.sel.contains(f)&&Xb(a,gb)(a.doc,V(f),Lg);var i=e.input.style.cssText;e.inputDiv.style.position="absolute",e.input.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(b.clientY-5)+"px; left: "+(b.clientX-5)+"px; z-index: 1000; background: transparent; outline: none;border-width: 0; outline: none; overflow: hidden; opacity: .05; -ms-opacity: .05; filter: alpha(opacity=5);",lc(a),kc(a);var j=a.somethingSelected();if(j||(e.input.value=e.prevInput=" "),vf&&!sf&&c(),Lf){Eg(b);var k=function(){Gg(window,"mouseup",k),setTimeout(d,20)};Fg(window,"mouseup",k)}else setTimeout(d,50)}}}}function Mc(a,b){return Ke(a,"gutterContextMenu")?vc(a,b,"gutterContextMenu",!1,Hg):!1}function Nc(a,b){if(Pf(a,b.from)<0)return a;if(Pf(a,b.to)<=0)return _f(b);var c=a.line+b.text.length-(b.to.line-b.from.line)-1,d=a.ch;return a.line==b.to.line&&(d+=_f(b).ch-b.to.ch),Of(c,d)}function Oc(a,b){for(var c=[],d=0;d=0;--e)Tc(a,{from:d[e].from,to:d[e].to,text:e?[""]:b.text});else Tc(a,b)}}function Tc(a,b){if(1!=b.text.length||""!=b.text[0]||0!=Pf(b.from,b.to)){var c=Oc(a,b);te(a,b,c,a.cm?a.cm.curOp.id:0/0),Wc(a,b,c,ud(a,b));var d=[];fe(a,function(a,c){c||-1!=Qe(d,a.history)||(De(a.history,b),d.push(a.history)),Wc(a,b,null,ud(a,b))})}}function Uc(a,b,c){if(!a.cm||!a.cm.state.suppressEdits){for(var d,e=a.history,f=a.sel,g="undo"==b?e.done:e.undone,h="undo"==b?e.undone:e.done,i=0;i=0;--i){var l=d.changes[i];if(l.origin=b,k&&!Rc(a,l,!1))return void(g.length=0);j.push(qe(a,l));var m=i?Oc(a,l,null):Pe(g);Wc(a,l,m,wd(a,l)),a.cm&&cd(a.cm);var n=[];fe(a,function(a,b){b||-1!=Qe(n,a.history)||(De(a.history,l),n.push(a.history)),Wc(a,l,null,wd(a,l))})}}}}function Vc(a,b){a.first+=b,a.sel=new S(Re(a.sel.ranges,function(a){return new T(Of(a.anchor.line+b,a.anchor.ch),Of(a.head.line+b,a.head.ch))}),a.sel.primIndex),a.cm&&ac(a.cm,a.first,a.first-b,b)}function Wc(a,b,c,d){if(a.cm&&!a.cm.curOp)return Xb(a.cm,Wc)(a,b,c,d);if(b.to.linea.lastLine())){if(b.from.linef&&(b={from:b.from,to:Of(f,he(a,f).text.length),text:[b.text[0]],origin:b.origin}),b.removed=ie(a,b.from,b.to),c||(c=Oc(a,b,null)),a.cm?Xc(a.cm,b,d):ce(a,b,d),hb(a,c,Lg)}}function Xc(a,b,c){var d=a.doc,e=a.display,g=b.from,h=b.to,i=!1,j=g.line;a.options.lineWrapping||(j=le(Hd(he(d,g.line))),d.iter(j,h.line+1,function(a){return a==e.maxLine?(i=!0,!0):void 0})),d.sel.contains(b.from,b.to)>-1&&(a.curOp.cursorActivity=!0),ce(d,b,c,f(a)),a.options.lineWrapping||(d.iter(j,g.line+b.text.length,function(a){var b=l(a);b>e.maxLineLength&&(e.maxLine=a,e.maxLineLength=b,e.maxLineChanged=!0,i=!1)}),i&&(a.curOp.updateMaxLine=!0)),d.frontier=Math.min(d.frontier,g.line),qb(a,400);var k=b.text.length-(h.line-g.line)-1;g.line!=h.line||1!=b.text.length||be(a.doc,b)?ac(a,g.line,h.line+1,k):bc(a,g.line,"text"),(Ke(a,"change")||Ke(a,"changes"))&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push({from:g,to:h,text:b.text,removed:b.removed,origin:b.origin})}function Yc(a,b,c,d,e){if(d||(d=c),Pf(d,c)<0){var f=d;d=c,c=f}"string"==typeof b&&(b=Zg(b)),Sc(a,{from:c,to:d,text:b,origin:e})}function Zc(a,b){var c=a.display,d=c.sizer.getBoundingClientRect(),e=null;if(b.top+d.top<0?e=!0:b.bottom+d.top>(window.innerHeight||document.documentElement.clientHeight)&&(e=!1),null!=e&&!Ef){var f=Xe("div","​",null,"position: absolute; top: "+(b.top-c.viewOffset-ub(a.display))+"px; height: "+(b.bottom-b.top+Jg)+"px; left: "+b.left+"px; width: 2px;");a.display.lineSpace.appendChild(f),f.scrollIntoView(e),a.display.lineSpace.removeChild(f)}}function $c(a,b,c,d){for(null==d&&(d=0);;){var e=!1,f=Nb(a,b),g=c&&c!=b?Nb(a,c):f,h=ad(a,Math.min(f.left,g.left),Math.min(f.top,g.top)-d,Math.max(f.left,g.left),Math.max(f.bottom,g.bottom)+d),i=a.doc.scrollTop,j=a.doc.scrollLeft;if(null!=h.scrollTop&&(zc(a,h.scrollTop),Math.abs(a.doc.scrollTop-i)>1&&(e=!0)),null!=h.scrollLeft&&(Ac(a,h.scrollLeft),Math.abs(a.doc.scrollLeft-j)>1&&(e=!0)),!e)return f}}function _c(a,b,c,d,e){var f=ad(a,b,c,d,e);null!=f.scrollTop&&zc(a,f.scrollTop),null!=f.scrollLeft&&Ac(a,f.scrollLeft)}function ad(a,b,c,d,e){var f=a.display,g=Sb(a.display);0>c&&(c=0);var h=a.curOp&&null!=a.curOp.scrollTop?a.curOp.scrollTop:f.scroller.scrollTop,i=f.scroller.clientHeight-Jg,j={},k=a.doc.height+vb(f),l=g>c,m=e>k-g;if(h>c)j.scrollTop=l?0:c;else if(e>h+i){var n=Math.min(c,(m?k:e)-i);n!=h&&(j.scrollTop=n)}var o=a.curOp&&null!=a.curOp.scrollLeft?a.curOp.scrollLeft:f.scroller.scrollLeft,p=f.scroller.clientWidth-Jg;b+=f.gutters.offsetWidth,d+=f.gutters.offsetWidth;var q=f.gutters.offsetWidth,r=q+10>b;return o+q>b||r?(r&&(b=0),j.scrollLeft=Math.max(0,b-10-q)):d>p+o-3&&(j.scrollLeft=d+10-p),j}function bd(a,b,c){(null!=b||null!=c)&&dd(a),null!=b&&(a.curOp.scrollLeft=(null==a.curOp.scrollLeft?a.doc.scrollLeft:a.curOp.scrollLeft)+b),null!=c&&(a.curOp.scrollTop=(null==a.curOp.scrollTop?a.doc.scrollTop:a.curOp.scrollTop)+c)}function cd(a){dd(a);var b=a.getCursor(),c=b,d=b;a.options.lineWrapping||(c=b.ch?Of(b.line,b.ch-1):b,d=Of(b.line,b.ch+1)),a.curOp.scrollToPos={from:c,to:d,margin:a.options.cursorScrollMargin,isCursor:!0}}function dd(a){var b=a.curOp.scrollToPos;if(b){a.curOp.scrollToPos=null;var c=Ob(a,b.from),d=Ob(a,b.to),e=ad(a,Math.min(c.left,d.left),Math.min(c.top,d.top)-b.margin,Math.max(c.right,d.right),Math.max(c.bottom,d.bottom)+b.margin);a.scrollTo(e.scrollLeft,e.scrollTop)}}function ed(a,b,c,d){var e,f=a.doc;null==c&&(c="add"),"smart"==c&&(a.doc.mode.indent?e=tb(a,b):c="prev");var g=a.options.tabSize,h=he(f,b),i=Og(h.text,null,g);h.stateAfter&&(h.stateAfter=null);var j,k=h.text.match(/^\s*/)[0];if(d||/\S/.test(h.text)){if("smart"==c&&(j=a.doc.mode.indent(e,h.text.slice(k.length),h.text),j==Kg)){if(!d)return;c="prev"}}else j=0,c="not";"prev"==c?j=b>f.first?Og(he(f,b-1).text,null,g):0:"add"==c?j=i+a.options.indentUnit:"subtract"==c?j=i-a.options.indentUnit:"number"==typeof c&&(j=i+c),j=Math.max(0,j);var l="",m=0;if(a.options.indentWithTabs)for(var n=Math.floor(j/g);n;--n)m+=g,l+=" ";if(j>m&&(l+=Oe(j-m)),l!=k)Yc(a.doc,l,Of(b,0),Of(b,k.length),"+input"); -else for(var n=0;n=0;b--)Yc(a.doc,"",d[b].from,d[b].to,"+delete");cd(a)})}function hd(a,b,c,d,e){function f(){var b=h+c;return b=a.first+a.size?l=!1:(h=b,k=he(a,b))}function g(a){var b=(e?nf:of)(k,i,c,!0);if(null==b){if(a||!f())return l=!1;i=e?(0>c?gf:ff)(k):0>c?k.text.length:0}else i=b;return!0}var h=b.line,i=b.ch,j=c,k=he(a,h),l=!0;if("char"==d)g();else if("column"==d)g(!0);else if("word"==d||"group"==d)for(var m=null,n="group"==d,o=!0;!(0>c)||g(!o);o=!1){var p=k.text.charAt(i)||"\n",q=Tg(p)?"w":n&&"\n"==p?"n":!n||/\s/.test(p)?null:"p";if(!n||o||q||(q="s"),m&&m!=q){0>c&&(c=1,g());break}if(q&&(m=q),c>0&&!g(!o))break}var r=lb(a,Of(h,i),j,!0);return l||(r.hitSide=!0),r}function id(a,b,c,d){var e,f=a.doc,g=b.left;if("page"==d){var h=Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight);e=b.top+c*(h-(0>c?1.5:.5)*Sb(a.display))}else"line"==d&&(e=c>0?b.bottom+3:b.top-3);for(;;){var i=Qb(a,g,e);if(!i.outside)break;if(0>c?0>=e:e>=f.height){i.hitSide=!0;break}e+=5*c}return i}function jd(a,b){var c=he(a,b.line).text,d=b.ch,e=b.ch;if(c){(b.xRel<0||e==c.length)&&d?--d:++e;for(var f=c.charAt(d),g=Tg(f)?Tg:/\s/.test(f)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!Tg(a)};d>0&&g(c.charAt(d-1));)--d;for(;e0||0==g&&f.clearWhenEmpty!==!1)return f;if(f.replacedWith&&(f.collapsed=!0,f.widgetNode=Xe("span",[f.replacedWith],"CodeMirror-widget"),d.handleMouseEvents||(f.widgetNode.ignoreEvents=!0),d.insertLeft&&(f.widgetNode.insertLeft=!0)),f.collapsed){if(Gd(a,b.line,b,c,f)||b.line!=c.line&&Gd(a,c.line,b,c,f))throw new Error("Inserting collapsed marker partially overlapping an existing one");Nf=!0}f.addToHistory&&te(a,{from:b,to:c,origin:"markText"},a.sel,0/0);var h,i=b.line,j=a.cm;if(a.iter(i,c.line+1,function(a){j&&f.collapsed&&!j.options.lineWrapping&&Hd(a)==j.display.maxLine&&(h=!0),f.collapsed&&i!=b.line&&ke(a,0),rd(a,new od(f,i==b.line?b.ch:null,i==c.line?c.ch:null)),++i}),f.collapsed&&a.iter(b.line,c.line+1,function(b){Ld(a,b)&&ke(b,0)}),f.clearOnEnter&&Fg(f,"beforeCursorEnter",function(){f.clear()}),f.readOnly&&(Mf=!0,(a.history.done.length||a.history.undone.length)&&a.clearHistory()),f.collapsed&&(f.id=++rg,f.atomic=!0),j){if(h&&(j.curOp.updateMaxLine=!0),f.collapsed)ac(j,b.line,c.line+1);else if(f.className||f.title||f.startStyle||f.endStyle)for(var k=b.line;k<=c.line;k++)bc(j,k,"text");f.atomic&&jb(j.doc)}return He(j,"markerAdded",j,f),f}function nd(a,b,c,d,e){d=Te(d),d.shared=!1;var f=[md(a,b,c,d,e)],g=f[0],h=d.widgetNode;return fe(a,function(a){h&&(d.widgetNode=h.cloneNode(!0)),f.push(md(a,X(a,b),X(a,c),d,e));for(var i=0;i=b:f.to>b);(d||(d=[])).push(new od(g,f.from,i?null:f.to))}}return d}function td(a,b,c){if(a)for(var d,e=0;e=b:f.to>b);if(h||f.from==b&&"bookmark"==g.type&&(!c||f.marker.insertLeft)){var i=null==f.from||(g.inclusiveLeft?f.from<=b:f.from0&&h)for(var l=0;ll;++l)o.push(p);o.push(i)}return o}function vd(a){for(var b=0;b0)){var k=[i,1],l=Pf(j.from,h.from),m=Pf(j.to,h.to);(0>l||!g.inclusiveLeft&&!l)&&k.push({from:j.from,to:h.from}),(m>0||!g.inclusiveRight&&!m)&&k.push({from:h.to,to:j.to}),e.splice.apply(e,k),i+=k.length-1}}return e}function yd(a){var b=a.markedSpans;if(b){for(var c=0;c=0&&0>=l||0>=k&&l>=0)&&(0>=k&&(Pf(j.to,c)||Bd(i.marker)-Ad(e))>0||k>=0&&(Pf(j.from,d)||Ad(i.marker)-Bd(e))<0))return!0}}}function Hd(a){for(var b;b=Ed(a);)a=b.find(-1,!0).line;return a}function Id(a){for(var b,c;b=Fd(a);)a=b.find(1,!0).line,(c||(c=[])).push(a);return c}function Jd(a,b){var c=he(a,b),d=Hd(c);return c==d?b:le(d)}function Kd(a,b){if(b>a.lastLine())return b;var c,d=he(a,b);if(!Ld(a,d))return b;for(;c=Fd(d);)d=c.find(1,!0).line;return le(d)+1}function Ld(a,b){var c=Nf&&b.markedSpans;if(c)for(var d,e=0;eb.options.maxHighlightLength?(h=!1,g&&Ud(b,c,e,l.pos),l.pos=c.length,i=null):i=d.token(l,e),b.options.addModeClass){var m=a.innerMode(d,e).mode.name;m&&(i="m-"+(i?m+" "+i:m))}h&&k==i||(ji;){var d=e[h];d>a&&e.splice(h,1,a,e[h+1],d),h+=2,i=Math.min(a,d)}if(b)if(g.opaque)e.splice(c,h-c,a,b),h=c+2;else for(;h>c;c+=2){var f=e[c+1];e[c+1]=f?f+" "+b:b}})}return e}function Td(a,b){return b.styles&&b.styles[0]==a.state.modeGen||(b.styles=Sd(a,b,b.stateAfter=tb(a,le(b)))),b.styles}function Ud(a,b,c,d){var e=a.doc.mode,f=new pg(b,a.options.tabSize);for(f.start=f.pos=d||0,""==b&&e.blankLine&&e.blankLine(c);!f.eol()&&f.pos<=a.options.maxHighlightLength;)e.token(f,c),f.start=f.pos}function Vd(a,b){if(!a)return null;for(;;){var c=a.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!c)break;a=a.slice(0,c.index)+a.slice(c.index+c[0].length);var d=c[1]?"bgClass":"textClass";null==b[d]?b[d]=c[2]:new RegExp("(?:^|s)"+c[2]+"(?:$|s)").test(b[d])||(b[d]+=" "+c[2])}if(/^\s*$/.test(a))return null;var e=b.cm.options.addModeClass?wg:vg;return e[a]||(e[a]=a.replace(/\S+/g,"cm-$&"))}function Wd(a,b){var c=Xe("span",null,null,wf?"padding-right: .1px":null),d={pre:Xe("pre",[c]),content:c,col:0,pos:0,cm:a};b.measure={};for(var e=0;e<=(b.rest?b.rest.length:0);e++){var f,g=e?b.rest[e-1]:b.line;d.pos=0,d.addToken=Yd,(vf||wf)&&a.getOption("lineWrapping")&&(d.addToken=Zd(d.addToken)),bf(a.display.measure)&&(f=oe(g))&&(d.addToken=$d(d.addToken,f)),d.map=[],ae(g,d,Td(a,g)),0==d.map.length&&d.map.push(0,0,d.content.appendChild(af(a.display.measure))),0==e?(b.measure.map=d.map,b.measure.cache={}):((b.measure.maps||(b.measure.maps=[])).push(d.map),(b.measure.caches||(b.measure.caches=[])).push({}))}return Hg(a,"renderLine",a,b.line,d.pre),d}function Xd(a){var b=Xe("span","•","cm-invalidchar");return b.title="\\u"+a.charCodeAt(0).toString(16),b}function Yd(a,b,c,d,e,f){if(b){var g=a.cm.options.specialChars,h=!1;if(g.test(b))for(var i=document.createDocumentFragment(),j=0;;){g.lastIndex=j;var k=g.exec(b),l=k?k.index-j:b.length-j;if(l){var m=document.createTextNode(b.slice(j,j+l));i.appendChild(sf?Xe("span",[m]):m),a.map.push(a.pos,a.pos+l,m),a.col+=l,a.pos+=l}if(!k)break;if(j+=l+1," "==k[0]){var n=a.cm.options.tabSize,o=n-a.col%n,m=i.appendChild(Xe("span",Oe(o),"cm-tab"));a.col+=o}else{var m=a.cm.options.specialCharPlaceholder(k[0]);i.appendChild(sf?Xe("span",[m]):m),a.col+=1}a.map.push(a.pos,a.pos+1,m),a.pos++}else{a.col+=b.length;var i=document.createTextNode(b);a.map.push(a.pos,a.pos+b.length,i),sf&&(h=!0),a.pos+=b.length}if(c||d||e||h){var p=c||"";d&&(p+=d),e&&(p+=e);var q=Xe("span",[i],p);return f&&(q.title=f),a.content.appendChild(q)}a.content.appendChild(i)}}function Zd(a){function b(a){for(var b=" ",c=0;ci&&l.from<=i)break}if(l.to>=j)return a(c,d,e,f,g,h);a(c,d.slice(0,l.to-i),e,f,null,h),f=null,d=d.slice(l.to-i),i=l.to}}}function _d(a,b,c,d){var e=!d&&c.widgetNode;e&&(a.map.push(a.pos,a.pos+b,e),a.content.appendChild(e)),a.pos+=b}function ae(a,b,c){var d=a.markedSpans,e=a.text,f=0;if(d)for(var g,h,i,j,k,l,m=e.length,n=0,o=1,p="",q=0;;){if(q==n){h=i=j=k="",l=null,q=1/0;for(var r=[],s=0;sn)?(null!=t.to&&q>t.to&&(q=t.to,i=""),u.className&&(h+=" "+u.className),u.startStyle&&t.from==n&&(j+=" "+u.startStyle),u.endStyle&&t.to==q&&(i+=" "+u.endStyle),u.title&&!k&&(k=u.title),u.collapsed&&(!l||Cd(l.marker,u)<0)&&(l=t)):t.from>n&&q>t.from&&(q=t.from),"bookmark"==u.type&&t.from==n&&u.widgetNode&&r.push(u)}if(l&&(l.from||0)==n&&(_d(b,(null==l.to?m+1:l.to)-n,l.marker,null==l.from),null==l.to))return;if(!l&&r.length)for(var s=0;s=m)break;for(var v=Math.min(m,q);;){if(p){var w=n+p.length;if(!l){var x=w>v?p.slice(0,v-n):p;b.addToken(b,x,g?g+h:h,j,n+x.length==q?i:"",k)}if(w>=v){p=p.slice(v-n),n=v;break}n=w,j=""}p=e.slice(f,f=c[o++]),g=Vd(c[o++],b)}}else for(var o=1;o1&&a.remove(g.line+1,n-1),a.insert(g.line+1,p)}He(a,"change",a,b)}function de(a){this.lines=a,this.parent=null;for(var b=0,c=0;bb||b>=a.size)throw new Error("There is no line "+(b+a.first)+" in the document.");for(var c=a;!c.lines;)for(var d=0;;++d){var e=c.children[d],f=e.chunkSize();if(f>b){c=e;break}b-=f}return c.lines[b]}function ie(a,b,c){var d=[],e=b.line;return a.iter(b.line,c.line+1,function(a){var f=a.text;e==c.line&&(f=f.slice(0,c.ch)),e==b.line&&(f=f.slice(b.ch)),d.push(f),++e}),d}function je(a,b,c){var d=[];return a.iter(b,c,function(a){d.push(a.text)}),d}function ke(a,b){var c=b-a.height;if(c)for(var d=a;d;d=d.parent)d.height+=c}function le(a){if(null==a.parent)return null;for(var b=a.parent,c=Qe(b.lines,a),d=b.parent;d;b=d,d=d.parent)for(var e=0;d.children[e]!=b;++e)c+=d.children[e].chunkSize();return c+b.first}function me(a,b){var c=a.first;a:do{for(var d=0;db){a=e;continue a}b-=f,c+=e.chunkSize()}return c}while(!a.lines);for(var d=0;db)break;b-=h}return c+d}function ne(a){a=Hd(a);for(var b=0,c=a.parent,d=0;d1&&!a.done[a.done.length-2].ranges?(a.done.pop(),Pe(a.done)):void 0}function te(a,b,c,d){var e=a.history;e.undone.length=0;var f,g=+new Date;if((e.lastOp==d||e.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&a.cm&&e.lastModTime>g-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0)))&&(f=se(e,e.lastOp==d))){var h=Pe(f.changes);0==Pf(b.from,b.to)&&0==Pf(b.from,h.to)?h.to=_f(b):f.changes.push(qe(a,b))}else{var i=Pe(e.done);for(i&&i.ranges||we(a.sel,e.done),f={changes:[qe(a,b)],generation:e.generation},e.done.push(f);e.done.length>e.undoDepth;)e.done.shift(),e.done[0].ranges||e.done.shift()}e.done.push(c),e.generation=++e.maxGeneration,e.lastModTime=g,e.lastOp=d,e.lastOrigin=e.lastSelOrigin=b.origin,h||Hg(a,"historyAdded")}function ue(a,b,c,d){var e=b.charAt(0);return"*"==e||"+"==e&&c.ranges.length==d.ranges.length&&c.somethingSelected()==d.somethingSelected()&&new Date-a.history.lastSelTime<=(a.cm?a.cm.options.historyEventDelay:500)}function ve(a,b,c,d){var e=a.history,f=d&&d.origin;c==e.lastOp||f&&e.lastSelOrigin==f&&ue(a,f,Pe(e.done),b)?e.done[e.done.length-1]=b:we(b,e.done),e.lastSelTime=+new Date,e.lastSelOrigin=f,e.lastOp=c,d&&d.clearRedo!==!1&&re(e.undone)}function we(a,b){var c=Pe(b);c&&c.ranges&&c.equals(a)||b.push(a)}function xe(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans),++f})}function ye(a){if(!a)return null;for(var b,c=0;c-1&&(Pe(h)[l]=k[l],delete k[l])}}}return e}function Be(a,b,c,d){c0}function Le(a){a.prototype.on=function(a,b){Fg(this,a,b)},a.prototype.off=function(a,b){Gg(this,a,b)}}function Me(){this.id=null}function Ne(a,b,c){for(var d=0,e=0;;){var f=a.indexOf(" ",d);-1==f&&(f=a.length);var g=f-d;if(f==a.length||e+g>=b)return d+Math.min(g,b-e);if(e+=f-d,e+=c-e%c,d=f+1,e>=b)return d}}function Oe(a){for(;Pg.length<=a;)Pg.push(Pe(Pg)+" ");return Pg[a]}function Pe(a){return a[a.length-1]}function Qe(a,b){for(var c=0;c=768&&Ug.test(a)}function Xe(a,b,c,d){var e=document.createElement(a);if(c&&(e.className=c),d&&(e.style.cssText=d),"string"==typeof b)e.appendChild(document.createTextNode(b));else if(b)for(var f=0;f0;--b)a.removeChild(a.firstChild);return a}function Ze(a,b){return Ye(a).appendChild(b)}function $e(){return document.activeElement}function _e(a){if(null!=Vg)return Vg;var b=Xe("div",null,null,"width: 50px; height: 50px; overflow-x: scroll");return Ze(a,b),b.offsetWidth&&(Vg=b.offsetHeight-b.clientHeight),Vg||0}function af(a){if(null==Wg){var b=Xe("span","​");Ze(a,Xe("span",[b,document.createTextNode("x")])),0!=a.firstChild.offsetHeight&&(Wg=b.offsetWidth<=1&&b.offsetHeight>2&&!rf)}return Wg?Xe("span","​"):Xe("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px")}function bf(a){if(null!=Xg)return Xg;var b=Ze(a,document.createTextNode("AخA")),c=Rg(b,0,1).getBoundingClientRect();if(c.left==c.right)return!1;var d=Rg(b,1,2).getBoundingClientRect();return Xg=d.right-c.right<3}function cf(a,b,c,d){if(!a)return d(b,c,"ltr");for(var e=!1,f=0;fb||b==c&&g.to==b)&&(d(Math.max(g.from,b),Math.min(g.to,c),1==g.level?"rtl":"ltr"),e=!0)}e||d(b,c,"ltr")}function df(a){return a.level%2?a.to:a.from}function ef(a){return a.level%2?a.from:a.to}function ff(a){var b=oe(a);return b?df(b[0]):0}function gf(a){var b=oe(a);return b?ef(Pe(b)):a.text.length}function hf(a,b){var c=he(a.doc,b),d=Hd(c);d!=c&&(b=le(d));var e=oe(d),f=e?e[0].level%2?gf(d):ff(d):0;return Of(b,f)}function jf(a,b){for(var c,d=he(a.doc,b);c=Fd(d);)d=c.find(1,!0).line,b=null;var e=oe(d),f=e?e[0].level%2?ff(d):gf(d):d.text.length;return Of(null==b?le(d):b,f)}function kf(a,b,c){var d=a[0].level;return b==d?!0:c==d?!1:c>b}function lf(a,b){bh=null;for(var c,d=0;db)return d;if(e.from==b||e.to==b){if(null!=c)return kf(a,e.level,a[c].level)?(e.from!=e.to&&(bh=c),d):(e.from!=e.to&&(bh=d),c);c=d}}return c}function mf(a,b,c,d){if(!d)return b+c;do b+=c;while(b>0&&We(a.text.charAt(b)));return b}function nf(a,b,c,d){var e=oe(a);if(!e)return of(a,b,c,d);for(var f=lf(e,b),g=e[f],h=mf(a,b,g.level%2?-c:c,d);;){if(h>g.from&&h0==g.level%2?g.to:g.from);if(g=e[f+=c],!g)return null;h=c>0==g.level%2?mf(a,g.to,-1,d):mf(a,g.from,1,d)}}function of(a,b,c,d){var e=b+c;if(d)for(;e>0&&We(a.text.charAt(e));)e+=c;return 0>e||e>a.text.length?null:e}var pf=/gecko\/\d/i.test(navigator.userAgent),qf=/MSIE \d/.test(navigator.userAgent),rf=qf&&(null==document.documentMode||document.documentMode<8),sf=qf&&(null==document.documentMode||document.documentMode<9),tf=qf&&(null==document.documentMode||document.documentMode<10),uf=/Trident\/([7-9]|\d{2,})\./.test(navigator.userAgent),vf=qf||uf,wf=/WebKit\//.test(navigator.userAgent),xf=wf&&/Qt\/\d+\.\d+/.test(navigator.userAgent),yf=/Chrome\//.test(navigator.userAgent),zf=/Opera\//.test(navigator.userAgent),Af=/Apple Computer/.test(navigator.vendor),Bf=/KHTML\//.test(navigator.userAgent),Cf=/Mac OS X 1\d\D([7-9]|\d\d)\D/.test(navigator.userAgent),Df=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(navigator.userAgent),Ef=/PhantomJS/.test(navigator.userAgent),Ff=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent),Gf=Ff||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(navigator.userAgent),Hf=Ff||/Mac/.test(navigator.platform),If=/win/i.test(navigator.platform),Jf=zf&&navigator.userAgent.match(/Version\/(\d*\.\d*)/);Jf&&(Jf=Number(Jf[1])),Jf&&Jf>=15&&(zf=!1,wf=!0);var Kf=Hf&&(xf||zf&&(null==Jf||12.11>Jf)),Lf=pf||vf&&!sf,Mf=!1,Nf=!1,Of=a.Pos=function(a,b){return this instanceof Of?(this.line=a,void(this.ch=b)):new Of(a,b)},Pf=a.cmpPos=function(a,b){return a.line-b.line||a.ch-b.ch};S.prototype={primary:function(){return this.ranges[this.primIndex]},equals:function(a){if(a==this)return!0;if(a.primIndex!=this.primIndex||a.ranges.length!=this.ranges.length)return!1;for(var b=0;b=0&&Pf(a,d.to())<=0)return c}return-1}},T.prototype={from:function(){return R(this.anchor,this.head)},to:function(){return Q(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};var Qf,Rf,Sf,Tf={left:0,right:0,top:0,bottom:0},Uf=0,Vf=0,Wf=0,Xf=null;vf?Xf=-.53:pf?Xf=15:yf?Xf=-.7:Af&&(Xf=-1/3);var Yf,Zf,$f=null,_f=a.changeEnd=function(a){return a.text?Of(a.from.line+a.text.length-1,Pe(a.text).length+(1==a.text.length?a.from.ch:0)):a.to};a.prototype={constructor:a,focus:function(){window.focus(),lc(this),ic(this)},setOption:function(a,b){var c=this.options,d=c[a];(c[a]!=b||"mode"==a)&&(c[a]=b,bg.hasOwnProperty(a)&&Xb(this,bg[a])(this,b,d))},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](a)},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;cc&&(ed(this,e.head.line,a,!0),c=e.head.line,d==this.doc.sel.primIndex&&cd(this));else{var f=Math.max(c,e.from().line),g=e.to();c=Math.min(this.lastLine(),g.line-(g.ch?0:1))+1;for(var h=f;c>h;++h)ed(this,h,a)}}}),getTokenAt:function(a,b){var c=this.doc;a=X(c,a);for(var d=tb(this,a.line,b),e=this.doc.mode,f=he(c,a.line),g=new pg(f.text,this.options.tabSize);g.pos>1;if((f?b[2*f-1]:0)>=e)d=f;else{if(!(b[2*f+1]d&&(a=d,c=!0);var e=he(this.doc,a);return Kb(this,he(this.doc,a),{top:0,left:0},b||"page").top+(c?e.height:0)},defaultTextHeight:function(){return Sb(this.display)},defaultCharWidth:function(){return Tb(this.display)},setGutterMarker:Yb(function(a,b,c){return fd(this,a,"gutter",function(a){var d=a.gutterMarkers||(a.gutterMarkers={});return d[b]=c,!c&&Ve(d)&&(a.gutterMarkers=null),!0})}),clearGutter:Yb(function(a){var b=this,c=b.doc,d=c.first;c.iter(function(c){c.gutterMarkers&&c.gutterMarkers[a]&&(c.gutterMarkers[a]=null,bc(b,d,"gutter"),Ve(c.gutterMarkers)&&(c.gutterMarkers=null)),++d})}),addLineClass:Yb(function(a,b,c){return fd(this,a,"class",function(a){var d="text"==b?"textClass":"background"==b?"bgClass":"wrapClass";if(a[d]){if(new RegExp("(?:^|\\s)"+c+"(?:$|\\s)").test(a[d]))return!1;a[d]+=" "+c}else a[d]=c;return!0})}),removeLineClass:Yb(function(a,b,c){return fd(this,a,"class",function(a){var d="text"==b?"textClass":"background"==b?"bgClass":"wrapClass",e=a[d];if(!e)return!1;if(null==c)a[d]=null;else{var f=e.match(new RegExp("(?:^|\\s+)"+c+"(?:$|\\s+)"));if(!f)return!1;var g=f.index+f[0].length;a[d]=e.slice(0,f.index)+(f.index&&g!=e.length?" ":"")+e.slice(g)||null}return!0})}),addLineWidget:Yb(function(a,b,c){return Od(this,a,b,c)}),removeLineWidget:function(a){a.clear()},lineInfo:function(a){if("number"==typeof a){if(!Z(this.doc,a))return null;var b=a;if(a=he(this.doc,a),!a)return null}else{var b=le(a);if(null==b)return null}return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=Nb(this,X(this.doc,a));var g=a.bottom,h=a.left;if(b.style.position="absolute",f.sizer.appendChild(b),"over"==d)g=a.top;else if("above"==d||"near"==d){var i=Math.max(f.wrapper.clientHeight,this.doc.height),j=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>i)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=i&&(g=a.bottom),h+b.offsetWidth>j&&(h=j-b.offsetWidth) -}b.style.top=g+"px",b.style.left=b.style.right="","right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left=h+"px"),c&&_c(this,h,g,h+b.offsetWidth,g+b.offsetHeight)},triggerOnKeyDown:Yb(Gc),triggerOnKeyPress:Yb(Ic),triggerOnKeyUp:Yb(Hc),execCommand:function(a){return kg.hasOwnProperty(a)?kg[a](this):void 0},findPosH:function(a,b,c,d){var e=1;0>b&&(e=-1,b=-b);for(var f=0,g=X(this.doc,a);b>f&&(g=hd(this.doc,g,e,c,d),!g.hitSide);++f);return g},moveH:Yb(function(a,b){var c=this;c.extendSelectionsBy(function(d){return c.display.shift||c.doc.extend||d.empty()?hd(c.doc,d.head,a,b,c.options.rtlMoveVisually):0>a?d.from():d.to()},Ng)}),deleteH:Yb(function(a,b){var c=this.doc.sel,d=this.doc;c.somethingSelected()?d.replaceSelection("",null,"+delete"):gd(this,function(c){var e=hd(d,c.head,a,b,!1);return 0>a?{from:e,to:c.head}:{from:c.head,to:e}})}),findPosV:function(a,b,c,d){var e=1,f=d;0>b&&(e=-1,b=-b);for(var g=0,h=X(this.doc,a);b>g;++g){var i=Nb(this,h,"div");if(null==f?f=i.left:i.left=f,h=id(this,i,e,c),h.hitSide)break}return h},moveV:Yb(function(a,b){var c=this,d=this.doc,e=[],f=!c.display.shift&&!d.sel.extend&&d.sel.somethingSelected();if(d.extendSelectionsBy(function(g){if(f)return 0>a?g.from():g.to();var h=Nb(c,g.head,"div");null!=g.goalColumn&&(h.left=g.goalColumn),e.push(h.left);var i=id(c,h,a,b);return"page"==b&&g==d.sel.primary()&&bd(c,null,Mb(c,i,"div").top-h.top),i},Ng),e.length)for(var g=0;g.5)&&g(this),Hg(this,"refresh",this)}),swapDoc:Yb(function(a){var b=this.doc;return b.cm=null,ge(this,a),Hb(this),kc(this),this.scrollTo(a.scrollLeft,a.scrollTop),He(this,"swapDoc",this,b),b}),getInputField:function(){return this.display.input},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Le(a);var ag=a.defaults={},bg=a.optionHandlers={},cg=a.Init={toString:function(){return"CodeMirror.Init"}};kd("value","",function(a,b){a.setValue(b)},!0),kd("mode",null,function(a,b){a.doc.modeOption=b,c(a)},!0),kd("indentUnit",2,c,!0),kd("indentWithTabs",!1),kd("smartIndent",!0),kd("tabSize",4,function(a){d(a),Hb(a),ac(a)},!0),kd("specialChars",/[\t\u0000-\u0019\u00ad\u200b\u2028\u2029\ufeff]/g,function(a,b){a.options.specialChars=new RegExp(b.source+(b.test(" ")?"":"| "),"g"),a.refresh()},!0),kd("specialCharPlaceholder",Xd,function(a){a.refresh()},!0),kd("electricChars",!0),kd("rtlMoveVisually",!If),kd("wholeLineUpdateBefore",!0),kd("theme","default",function(a){i(a),j(a)},!0),kd("keyMap","default",h),kd("extraKeys",null),kd("lineWrapping",!1,e,!0),kd("gutters",[],function(a){n(a.options),j(a)},!0),kd("fixedGutter",!0,function(a,b){a.display.gutters.style.left=b?u(a.display)+"px":"0",a.refresh()},!0),kd("coverGutterNextToScrollbar",!1,p,!0),kd("lineNumbers",!1,function(a){n(a.options),j(a)},!0),kd("firstLineNumber",1,j,!0),kd("lineNumberFormatter",function(a){return a},j,!0),kd("showCursorWhenSelecting",!1,mb,!0),kd("resetSelectionOnContextMenu",!0),kd("readOnly",!1,function(a,b){"nocursor"==b?(Kc(a),a.display.input.blur(),a.display.disabled=!0):(a.display.disabled=!1,b||kc(a))}),kd("disableInput",!1,function(a,b){b||kc(a)},!0),kd("dragDrop",!0),kd("cursorBlinkRate",530),kd("cursorScrollMargin",0),kd("cursorHeight",1),kd("workTime",100),kd("workDelay",100),kd("flattenSpans",!0,d,!0),kd("addModeClass",!1,d,!0),kd("pollInterval",100),kd("undoDepth",200,function(a,b){a.doc.history.undoDepth=b}),kd("historyEventDelay",1250),kd("viewportMargin",10,function(a){a.refresh()},!0),kd("maxHighlightLength",1e4,d,!0),kd("moveInputWithCursor",!0,function(a,b){b||(a.display.inputDiv.style.top=a.display.inputDiv.style.left=0)}),kd("tabindex",null,function(a,b){a.display.input.tabIndex=b||""}),kd("autofocus",null);var dg=a.modes={},eg=a.mimeModes={};a.defineMode=function(b,c){if(a.defaults.mode||"null"==b||(a.defaults.mode=b),arguments.length>2){c.dependencies=[];for(var d=2;d0&&d.chc;c++){var d=a.listSelections()[c];a.replaceRange("\n",d.anchor,d.head,"+input"),a.indentLine(d.from().line+1,null,!0),cd(a)}})},toggleOverwrite:function(a){a.toggleOverwrite()}},lg=a.keyMap={};lg.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},lg.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-Up":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Down":"goDocEnd","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},lg.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineStart","Cmd-Right":"goLineEnd","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delLineLeft","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection",fallthrough:["basic","emacsy"]},lg.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars"},lg["default"]=Hf?lg.macDefault:lg.pcDefault;var mg=a.lookupKey=function(a,b,c){function d(b){b=ld(b);var e=b[a];if(e===!1)return"stop";if(null!=e&&c(e))return!0;if(b.nofallthrough)return"stop";var f=b.fallthrough;if(null==f)return!1;if("[object Array]"!=Object.prototype.toString.call(f))return d(f);for(var g=0;g=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){return this.posb},eatSpace:function(){for(var a=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>a},skipToEnd:function(){this.pos=this.string.length},skipTo:function(a){var b=this.string.indexOf(a,this.pos);return b>-1?(this.pos=b,!0):void 0},backUp:function(a){this.pos-=a},column:function(){return this.lastColumnPos0?null:(d&&b!==!1&&(this.pos+=d[0].length),d)}var e=function(a){return c?a.toLowerCase():a},f=this.string.substr(this.pos,a.length);return e(f)==e(a)?(b!==!1&&(this.pos+=a.length),!0):void 0},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}}};var qg=a.TextMarker=function(a,b){this.lines=[],this.type=b,this.doc=a};Le(qg),qg.prototype.clear=function(){if(!this.explicitlyCleared){var a=this.doc.cm,b=a&&!a.curOp;if(b&&Ub(a),Ke(this,"clear")){var c=this.find();c&&He(this,"clear",c.from,c.to)}for(var d=null,e=null,f=0;fa.display.maxLineLength&&(a.display.maxLine=i,a.display.maxLineLength=j,a.display.maxLineChanged=!0)}null!=d&&a&&this.collapsed&&ac(a,d,e+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,a&&jb(a.doc)),He(a,"markerCleared",a,this),b&&Vb(a)}},qg.prototype.find=function(a,b){null==a&&"bookmark"==this.type&&(a=1);for(var c,d,e=0;e=b.display.viewFrom&&dc;++c){var e=this.lines[c];this.height-=e.height,Qd(e),He(e,"delete")}this.lines.splice(a,b)},collapse:function(a){a.push.apply(a,this.lines)},insertInner:function(a,b,c){this.height+=c,this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));for(var d=0;da;++a)if(c(this.lines[a]))return!0}},ee.prototype={chunkSize:function(){return this.size},removeInner:function(a,b){this.size-=b;for(var c=0;ca){var f=Math.min(b,e-a),g=d.height;if(d.removeInner(a,f),this.height-=g-d.height,e==f&&(this.children.splice(c--,1),d.parent=null),0==(b-=f))break;a=0}else a-=e}if(this.size-b<25&&(this.children.length>1||!(this.children[0]instanceof de))){var h=[];this.collapse(h),this.children=[new de(h)],this.children[0].parent=this}},collapse:function(a){for(var b=0;b=a){if(e.insertInner(a,b,c),e.lines&&e.lines.length>50){for(;e.lines.length>50;){var g=e.lines.splice(e.lines.length-25,25),h=new de(g);e.height-=h.height,this.children.splice(d+1,0,h),h.parent=this}this.maybeSpill()}break}a-=f}},maybeSpill:function(){if(!(this.children.length<=10)){var a=this;do{var b=a.children.splice(a.children.length-5,5),c=new ee(b);if(a.parent){a.size-=c.size,a.height-=c.height;var d=Qe(a.parent.children,a);a.parent.children.splice(d+1,0,c)}else{var e=new ee(a.children);e.parent=a,a.children=[e,c],a=e}c.parent=a.parent}while(a.children.length>10);a.parent.maybeSpill()}},iterN:function(a,b,c){for(var d=0;da){var g=Math.min(b,f-a);if(e.iterN(a,g,c))return!0;if(0==(b-=g))break;a=0}else a-=f}}};var xg=0,yg=a.Doc=function(a,b,c){if(!(this instanceof yg))return new yg(a,b,c);null==c&&(c=0),ee.call(this,[new de([new ug("",null)])]),this.first=c,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.frontier=c;var d=Of(c,0);this.sel=V(d),this.history=new pe(null),this.id=++xg,this.modeOption=b,"string"==typeof a&&(a=Zg(a)),ce(this,{from:d,to:d,text:a}),gb(this,V(d),Lg)};yg.prototype=Se(ee.prototype,{constructor:yg,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a,b){for(var c=0,d=0;d=0;f--)Sc(this,d[f]);h?fb(this,h):this.cm&&cd(this.cm)},undo:Zb(function(){Uc(this,"undo")}),redo:Zb(function(){Uc(this,"redo")}),undoSelection:Zb(function(){Uc(this,"undo",!0)}),redoSelection:Zb(function(){Uc(this,"redo",!0)}),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b){a=X(this,a),b=X(this,b);var c=[],d=a.line;return this.iter(a.line,b.line+1,function(e){var f=e.markedSpans;if(f)for(var g=0;gh.to||null==h.from&&d!=a.line||d==b.line&&h.from>b.ch||c.push(h.marker.parent||h.marker)}++d}),c},getAllMarks:function(){var a=[];return this.iter(function(b){var c=b.markedSpans;if(c)for(var d=0;da?(b=a,!0):(a-=e,void++c)}),X(this,Of(c,b))},indexFromPos:function(a){a=X(this,a);var b=a.ch;return a.lineb&&(b=a.from),null!=a.to&&a.toh||h>=b)return g+(b-f);g+=h-f,g+=c-g%c,f=h+1}},Pg=[""],Qg=function(a){a.select()};Ff?Qg=function(a){a.selectionStart=0,a.selectionEnd=a.value.length}:vf&&(Qg=function(a){try{a.select()}catch(b){}}),[].indexOf&&(Qe=function(a,b){return a.indexOf(b)}),[].map&&(Re=function(a,b){return a.map(b)});var Rg,Sg=/[\u00df\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Tg=a.isWordChar=function(a){return/\w/.test(a)||a>"€"&&(a.toUpperCase()!=a.toLowerCase()||Sg.test(a))},Ug=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;Rg=document.createRange?function(a,b,c){var d=document.createRange(); -return d.setEnd(a,c),d.setStart(a,b),d}:function(a,b,c){var d=document.body.createTextRange();return d.moveToElementText(a.parentNode),d.collapse(!0),d.moveEnd("character",c),d.moveStart("character",b),d},qf&&($e=function(){try{return document.activeElement}catch(a){return document.body}});var Vg,Wg,Xg,Yg=function(){if(sf)return!1;var a=Xe("div");return"draggable"in a||"dragDrop"in a}(),Zg=a.splitLines=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;d>=b;){var e=a.indexOf("\n",b);-1==e&&(e=a.length);var f=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),g=f.indexOf("\r");-1!=g?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},$g=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(b){return!1}}:function(a){try{var b=a.ownerDocument.selection.createRange()}catch(c){}return b&&b.parentElement()==a?0!=b.compareEndPoints("StartToEnd",b):!1},_g=function(){var a=Xe("div");return"oncopy"in a?!0:(a.setAttribute("oncopy","return;"),"function"==typeof a.oncopy)}(),ah={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",107:"=",109:"-",127:"Delete",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"};a.keyNames=ah,function(){for(var a=0;10>a;a++)ah[a+48]=ah[a+96]=String(a);for(var a=65;90>=a;a++)ah[a]=String.fromCharCode(a);for(var a=1;12>=a;a++)ah[a+111]=ah[a+63235]="F"+a}();var bh,ch=function(){function a(a){return 247>=a?c.charAt(a):a>=1424&&1524>=a?"R":a>=1536&&1773>=a?d.charAt(a-1536):a>=1774&&2220>=a?"r":a>=8192&&8203>=a?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a,this.from=b,this.to=c}var c="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",d="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm",e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,f=/[stwN]/,g=/[LRr]/,h=/[Lb1n]/,i=/[1n]/,j="L";return function(c){if(!e.test(c))return!1;for(var d,k=c.length,l=[],m=0;k>m;++m)l.push(d=a(c.charCodeAt(m)));for(var m=0,n=j;k>m;++m){var d=l[m];"m"==d?l[m]=n:n=d}for(var m=0,o=j;k>m;++m){var d=l[m];"1"==d&&"r"==o?l[m]="n":g.test(d)&&(o=d,"r"==d&&(l[m]="R"))}for(var m=1,n=l[0];k-1>m;++m){var d=l[m];"+"==d&&"1"==n&&"1"==l[m+1]?l[m]="1":","!=d||n!=l[m+1]||"1"!=n&&"n"!=n||(l[m]=n),n=d}for(var m=0;k>m;++m){var d=l[m];if(","==d)l[m]="N";else if("%"==d){for(var p=m+1;k>p&&"%"==l[p];++p);for(var q=m&&"!"==l[m-1]||k>p&&"1"==l[p]?"1":"N",r=m;p>r;++r)l[r]=q;m=p-1}}for(var m=0,o=j;k>m;++m){var d=l[m];"L"==o&&"1"==d?l[m]="L":g.test(d)&&(o=d)}for(var m=0;k>m;++m)if(f.test(l[m])){for(var p=m+1;k>p&&f.test(l[p]);++p);for(var s="L"==(m?l[m-1]:j),t="L"==(k>p?l[p]:j),q=s||t?"L":"R",r=m;p>r;++r)l[r]=q;m=p-1}for(var u,v=[],m=0;k>m;)if(h.test(l[m])){var w=m;for(++m;k>m&&h.test(l[m]);++m);v.push(new b(0,w,m))}else{var x=m,y=v.length;for(++m;k>m&&"L"!=l[m];++m);for(var r=x;m>r;)if(i.test(l[r])){r>x&&v.splice(y,0,new b(1,x,r));var z=r;for(++r;m>r&&i.test(l[r]);++r);v.splice(y,0,new b(2,z,r)),x=r}else++r;m>x&&v.splice(y,0,new b(1,x,m))}return 1==v[0].level&&(u=c.match(/^\s+/))&&(v[0].from=u[0].length,v.unshift(new b(0,0,u[0].length))),1==Pe(v).level&&(u=c.match(/\s+$/))&&(Pe(v).to-=u[0].length,v.push(new b(0,k-u[0].length,k))),v[0].level!=Pe(v).level&&v.push(new b(v[0].level,k,k)),v}}();return a.version="4.0.1",a}),function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)}(function(a){"use strict";a.defineMode("javascript",function(b,c){function d(a){for(var b,c=!1,d=!1;null!=(b=a.next());){if(!c){if("/"==b&&!d)return;"["==b?d=!0:d&&"]"==b&&(d=!1)}c=!c&&"\\"==b}}function e(a,b,c){return nb=a,ob=c,b}function f(a,b){var c=a.next();if('"'==c||"'"==c)return b.tokenize=g(c),b.tokenize(a,b);if("."==c&&a.match(/^\d+(?:[eE][+\-]?\d+)?/))return e("number","number");if("."==c&&a.match(".."))return e("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(c))return e(c);if("="==c&&a.eat(">"))return e("=>","operator");if("0"==c&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),e("number","number");if(/\d/.test(c))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),e("number","number");if("/"==c)return a.eat("*")?(b.tokenize=h,h(a,b)):a.eat("/")?(a.skipToEnd(),e("comment","comment")):"operator"==b.lastType||"keyword c"==b.lastType||"sof"==b.lastType||/^[\[{}\(,;:]$/.test(b.lastType)?(d(a),a.eatWhile(/[gimy]/),e("regexp","string-2")):(a.eatWhile(vb),e("operator","operator",a.current()));if("`"==c)return b.tokenize=i,i(a,b);if("#"==c)return a.skipToEnd(),e("error","error");if(vb.test(c))return a.eatWhile(vb),e("operator","operator",a.current());a.eatWhile(/[\w\$_]/);var f=a.current(),j=ub.propertyIsEnumerable(f)&&ub[f];return j&&"."!=b.lastType?e(j.type,j.style,f):e("variable","variable",f)}function g(a){return function(b,c){var d,g=!1;if(rb&&"@"==b.peek()&&b.match(wb))return c.tokenize=f,e("jsonld-keyword","meta");for(;null!=(d=b.next())&&(d!=a||g);)g=!g&&"\\"==d;return g||(c.tokenize=f),e("string","string")}}function h(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=f;break}d="*"==c}return e("comment","comment")}function i(a,b){for(var c,d=!1;null!=(c=a.next());){if(!d&&("`"==c||"$"==c&&a.eat("{"))){b.tokenize=f;break}d=!d&&"\\"==c}return e("quasi","string-2",a.current())}function j(a,b){b.fatArrowAt&&(b.fatArrowAt=null);var c=a.string.indexOf("=>",a.start);if(!(0>c)){for(var d=0,e=!1,f=c-1;f>=0;--f){var g=a.string.charAt(f),h=xb.indexOf(g);if(h>=0&&3>h){if(!d){++f;break}if(0==--d)break}else if(h>=3&&6>h)++d;else if(/[$\w]/.test(g))e=!0;else if(e&&!d){++f;break}}e&&!d&&(b.fatArrowAt=f)}}function k(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.prev=e,this.info=f,null!=d&&(this.align=d)}function l(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0;for(var d=a.context;d;d=d.prev)for(var c=d.vars;c;c=c.next)if(c.name==b)return!0}function m(a,b,c,d,e){var f=a.cc;for(zb.state=a,zb.stream=e,zb.marked=null,zb.cc=f,a.lexical.hasOwnProperty("align")||(a.lexical.align=!0);;){var g=f.length?f.pop():sb?w:v;if(g(c,d)){for(;f.length&&f[f.length-1].lex;)f.pop()();return zb.marked?zb.marked:"variable"==c&&l(a,d)?"variable-2":b}}}function n(){for(var a=arguments.length-1;a>=0;a--)zb.cc.push(arguments[a])}function o(){return n.apply(null,arguments),!0}function p(a){function b(b){for(var c=b;c;c=c.next)if(c.name==a)return!0;return!1}var d=zb.state;if(d.context){if(zb.marked="def",b(d.localVars))return;d.localVars={name:a,next:d.localVars}}else{if(b(d.globalVars))return;c.globalVars&&(d.globalVars={name:a,next:d.globalVars})}}function q(){zb.state.context={prev:zb.state.context,vars:zb.state.localVars},zb.state.localVars=Ab}function r(){zb.state.localVars=zb.state.context.vars,zb.state.context=zb.state.context.prev}function s(a,b){var c=function(){var c=zb.state,d=c.indented;"stat"==c.lexical.type&&(d=c.lexical.indented),c.lexical=new k(d,zb.stream.column(),a,null,c.lexical,b)};return c.lex=!0,c}function t(){var a=zb.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function u(a){function b(c){return c==a?o():";"==a?n():o(b)}return b}function v(a,b){return"var"==a?o(s("vardef",b.length),R,u(";"),t):"keyword a"==a?o(s("form"),w,v,t):"keyword b"==a?o(s("form"),v,t):"{"==a?o(s("}"),O,t):";"==a?o():"if"==a?o(s("form"),w,v,t,W):"function"==a?o(ab):"for"==a?o(s("form"),X,v,t):"variable"==a?o(s("stat"),H):"switch"==a?o(s("form"),w,s("}","switch"),u("{"),O,t,t):"case"==a?o(w,u(":")):"default"==a?o(u(":")):"catch"==a?o(s("form"),q,u("("),bb,u(")"),v,t,r):"module"==a?o(s("form"),q,fb,r,t):"class"==a?o(s("form"),cb,eb,t):"export"==a?o(s("form"),gb,t):"import"==a?o(s("form"),hb,t):n(s("stat"),w,u(";"),t)}function w(a){return y(a,!1)}function x(a){return y(a,!0)}function y(a,b){if(zb.state.fatArrowAt==zb.stream.start){var c=b?G:F;if("("==a)return o(q,s(")"),M(S,")"),t,u("=>"),c,r);if("variable"==a)return n(q,S,u("=>"),c,r)}var d=b?C:B;return yb.hasOwnProperty(a)?o(d):"function"==a?o(ab):"keyword c"==a?o(b?A:z):"("==a?o(s(")"),z,mb,u(")"),t,d):"operator"==a||"spread"==a?o(b?x:w):"["==a?o(s("]"),kb,t,d):"{"==a?N(J,"}",null,d):o()}function z(a){return a.match(/[;\}\)\],]/)?n():n(w)}function A(a){return a.match(/[;\}\)\],]/)?n():n(x)}function B(a,b){return","==a?o(w):C(a,b,!1)}function C(a,b,c){var d=0==c?B:C,e=0==c?w:x;return"=>"==b?o(q,c?G:F,r):"operator"==a?/\+\+|--/.test(b)?o(d):"?"==b?o(w,u(":"),e):o(e):"quasi"==a?(zb.cc.push(d),D(b)):";"!=a?"("==a?N(x,")","call",d):"."==a?o(I,d):"["==a?o(s("]"),z,u("]"),t,d):void 0:void 0}function D(a){return"${"!=a.slice(a.length-2)?o():o(w,E)}function E(a){return"}"==a?(zb.marked="string-2",zb.state.tokenize=i,o()):void 0}function F(a){return j(zb.stream,zb.state),n("{"==a?v:w)}function G(a){return j(zb.stream,zb.state),n("{"==a?v:x)}function H(a){return":"==a?o(t,v):n(B,u(";"),t)}function I(a){return"variable"==a?(zb.marked="property",o()):void 0}function J(a,b){if("variable"==a){if(zb.marked="property","get"==b||"set"==b)return o(K)}else if("number"==a||"string"==a)zb.marked=rb?"property":a+" property";else if("["==a)return o(w,u("]"),L);return yb.hasOwnProperty(a)?o(L):void 0}function K(a){return"variable"!=a?n(L):(zb.marked="property",o(ab))}function L(a){return":"==a?o(x):"("==a?n(ab):void 0}function M(a,b){function c(d){if(","==d){var e=zb.state.lexical;return"call"==e.info&&(e.pos=(e.pos||0)+1),o(a,c)}return d==b?o():o(u(b))}return function(d){return d==b?o():n(a,c)}}function N(a,b,c){for(var d=3;d!?|~^]/,wb=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,xb="([{}])",yb={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,"this":!0,"jsonld-keyword":!0},zb={state:null,column:null,marked:null,cc:null},Ab={name:"this",next:{name:"arguments"}};return t.lex=!0,{startState:function(a){var b={tokenize:f,lastType:"sof",cc:[],lexical:new k((a||0)-pb,0,"block",!1),localVars:c.localVars,context:c.localVars&&{vars:c.localVars},indented:0};return c.globalVars&&"object"==typeof c.globalVars&&(b.globalVars=c.globalVars),b},token:function(a,b){if(a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation(),j(a,b)),b.tokenize!=h&&a.eatSpace())return null;var c=b.tokenize(a,b);return"comment"==nb?c:(b.lastType="operator"!=nb||"++"!=ob&&"--"!=ob?nb:"incdec",m(b,c,nb,ob,a))},indent:function(b,d){if(b.tokenize==h)return a.Pass;if(b.tokenize!=f)return 0;for(var e=d&&d.charAt(0),g=b.lexical,i=b.cc.length-1;i>=0;--i){var j=b.cc[i];if(j==t)g=g.prev;else if(j!=W)break}"stat"==g.type&&"}"==e&&(g=g.prev),qb&&")"==g.type&&"stat"==g.prev.type&&(g=g.prev);var k=g.type,l=e==k;return"vardef"==k?g.indented+("operator"==b.lastType||","==b.lastType?g.info+1:0):"form"==k&&"{"==e?g.indented:"form"==k?g.indented+pb:"stat"==k?g.indented+("operator"==b.lastType||","==b.lastType?qb||pb:0):"switch"!=g.info||l||0==c.doubleIndentSwitch?g.align?g.column+(l?0:1):g.indented+(l?0:pb):g.indented+(/^(?:case|default)\b/.test(d)?pb:2*pb)},electricChars:":{}",blockCommentStart:sb?null:"/*",blockCommentEnd:sb?null:"*/",lineComment:sb?null:"//",fold:"brace",helperType:sb?"json":"javascript",jsonldMode:rb,jsonMode:sb}}),a.defineMIME("text/javascript","javascript"),a.defineMIME("text/ecmascript","javascript"),a.defineMIME("application/javascript","javascript"),a.defineMIME("application/ecmascript","javascript"),a.defineMIME("application/json",{name:"javascript",json:!0}),a.defineMIME("application/x-json",{name:"javascript",json:!0}),a.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),a.defineMIME("text/typescript",{name:"javascript",typescript:!0}),a.defineMIME("application/typescript",{name:"javascript",typescript:!0})}),function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)}(function(a){"use strict";function b(b,c){function d(b){return e.parentNode?(e.style.top=Math.max(0,b.clientY-e.offsetHeight-5)+"px",void(e.style.left=b.clientX+5+"px")):a.off(document,"mousemove",d)}var e=document.createElement("div");return e.className="CodeMirror-lint-tooltip",e.appendChild(c.cloneNode(!0)),document.body.appendChild(e),a.on(document,"mousemove",d),d(b),null!=e.style.opacity&&(e.style.opacity=1),e}function c(a){a.parentNode&&a.parentNode.removeChild(a)}function d(a){a.parentNode&&(null==a.style.opacity&&c(a),a.style.opacity=0,setTimeout(function(){c(a)},600))}function e(c,e,f){function g(){a.off(f,"mouseout",g),h&&(d(h),h=null)}var h=b(c,e),i=setInterval(function(){if(h)for(var a=f;;a=a.parentNode){if(a==document.body)return;if(!a){g();break}}return h?void 0:clearInterval(i)},400);a.on(f,"mouseout",g)}function f(a,b,c){this.marked=[],this.options=b,this.timeout=null,this.hasGutter=c,this.onMouseOver=function(b){q(a,b)}}function g(b,c){if(c instanceof Function)return{getAnnotations:c};if(c&&c!==!0||(c={}),c.getAnnotations||(c.getAnnotations=b.getHelper(a.Pos(0,0),"lint")),!c.getAnnotations)throw new Error("Required option 'getAnnotations' missing (lint addon)");return c}function h(a){var b=a.state.lint;b.hasGutter&&a.clearGutter(r);for(var c=0;c1,c.options.tooltips))}}d.onUpdateLinting&&d.onUpdateLinting(b,e,a)}function o(a){var b=a.state.lint;clearTimeout(b.timeout),b.timeout=setTimeout(function(){m(a)},b.options.delay||500)}function p(a,b){var c=b.target||b.srcElement;e(b,l(a),c)}function q(a,b){if(/\bCodeMirror-lint-mark-/.test((b.target||b.srcElement).className))for(var c=0;c0){var k=f.character;i.forEach(function(a){k>a&&(k-=1)}),f.character=k}}var l=f.character-1,m=l+1;f.evidence&&(h=f.evidence.substring(l).search(/.\b/),h>-1&&(m+=h)),f.description=f.reason,f.start=f.character,f.end=m,f=c(f),f&&d.push({message:f.description,severity:f.severity,from:a.Pos(f.line-1,l),to:a.Pos(f.line-1,m)})}}}var g=["Dangerous comment"],h=[["Expected '{'","Statement body should be inside '{ }' braces."]],i=["Missing semicolon","Extra comma","Missing property name","Unmatched "," and instead saw"," is not defined","Unclosed string","Stopping, unable to continue"];a.registerHelper("lint","javascript",b)}),function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)}(function(a){"use strict";a.registerHelper("lint","json",function(b){var c=[];jsonlint.parseError=function(b,d){var e=d.loc;c.push({from:a.Pos(e.first_line-1,e.first_column),to:a.Pos(e.last_line-1,e.last_column),message:b})};try{jsonlint.parse(b)}catch(d){}return c})}),"undefined"==typeof YAHOO||!YAHOO)var YAHOO={};YAHOO.namespace=function(){var a,b,c,d=arguments,e=null;for(a=0;a":">",'"':""","'":"'","/":"/","`":"`"},h=["toString","valueOf"],i={isArray:function(a){return b.toString.apply(a)===c},isBoolean:function(a){return"boolean"==typeof a},isFunction:function(a){return"function"==typeof a||b.toString.apply(a)===d},isNull:function(a){return null===a},isNumber:function(a){return"number"==typeof a&&isFinite(a)},isObject:function(b){return b&&("object"==typeof b||a.isFunction(b))||!1},isString:function(a){return"string"==typeof a},isUndefined:function(a){return"undefined"==typeof a},_IEEnumFix:YAHOO.env.ua.ie?function(c,d){var e,f,g;for(e=0;e"'\/`]/g,function(a){return g[a]})},extend:function(c,d,e){if(!d||!c)throw new Error("extend failed, please check that all dependencies are included.");var f,g=function(){};if(g.prototype=d.prototype,c.prototype=new g,c.prototype.constructor=c,c.superclass=d.prototype,d.prototype.constructor==b.constructor&&(d.prototype.constructor=d),e){for(f in e)a.hasOwnProperty(e,f)&&(c.prototype[f]=e[f]);a._IEEnumFix(c.prototype,e)}},augmentObject:function(b,c){if(!c||!b)throw new Error("Absorb failed, verify dependencies.");var d,e,f=arguments,g=f[2];if(g&&g!==!0)for(d=2;dd;d+=1)f.push(a.isObject(b[d])?c>0?a.dump(b[d],c-1):g:b[d]),f.push(i);f.length>1&&f.pop(),f.push("]")}else{f.push("{");for(d in b)a.hasOwnProperty(b,d)&&(f.push(d+j),f.push(a.isObject(b[d])?c>0?a.dump(b[d],c-1):g:b[d]),f.push(i));f.length>1&&f.pop(),f.push("}")}return f.join("")},substitute:function(b,c,d,f){for(var g,h,i,j,k,l,m,n,o,p=[],q=b.length,r="dump",s=" ",t="{",u="}";(g=b.lastIndexOf(t,q),!(0>g))&&(h=b.indexOf(u,g),!(g+1>h));)m=b.substring(g+1,h),j=m,l=null,i=j.indexOf(s),i>-1&&(l=j.substring(i+1),j=j.substring(0,i)),k=c[j],d&&(k=d(j,k,l)),a.isObject(k)?a.isArray(k)?k=a.dump(k,parseInt(l,10)):(l=l||"",n=l.indexOf(r),n>-1&&(l=l.substring(4)),o=k.toString(),k=o===e||n>-1?a.dump(k,parseInt(l,10)):o):a.isString(k)||a.isNumber(k)||(k="~-"+p.length+"-~",p[p.length]=m),b=b.substring(0,g)+k+b.substring(h+1),f===!1&&(q=g-1);for(g=p.length-1;g>=0;g-=1)b=b.replace(new RegExp("~-"+g+"-~"),"{"+p[g]+"}","g");return b},trim:function(a){try{return a.replace(/^\s+|\s+$/g,"")}catch(b){return a}},merge:function(){var b,c={},d=arguments,e=d.length;for(b=0;e>b;b+=1)a.augmentObject(c,d[b],!0);return c},later:function(b,c,d,e,g){b=b||0,c=c||{};var h,i,j=d,k=e;if(a.isString(d)&&(j=c[d]),!j)throw new TypeError("method undefined");return a.isUndefined(e)||a.isArray(k)||(k=[e]),h=function(){j.apply(c,k||f)},i=g?setInterval(h,b):setTimeout(h,b),{interval:g,cancel:function(){this.interval?clearInterval(i):clearTimeout(i)}}},isValue:function(b){return a.isObject(b)||a.isString(b)||a.isNumber(b)||a.isBoolean(b)}};a.hasOwnProperty=b.hasOwnProperty?function(a,b){return a&&a.hasOwnProperty&&a.hasOwnProperty(b)}:function(b,c){return!a.isUndefined(b[c])&&b.constructor.prototype[c]!==b[c]},i.augmentObject(a,i,!0),YAHOO.util.Lang=a,a.augment=a.augmentProto,YAHOO.augment=a.augmentProto,YAHOO.extend=a.extend}(),YAHOO.register("yahoo",YAHOO,{version:"2.9.0",build:"2800"});var CryptoJS=CryptoJS||function(a,b){var c={},d=c.lib={},e=d.Base=function(){function a(){}return{extend:function(b){a.prototype=this;var c=new a;return b&&c.mixIn(b),c.hasOwnProperty("init")||(c.init=function(){c.$super.init.apply(this,arguments)}),c.init.prototype=c,c.$super=this,c},create:function(){var a=this.extend();return a.init.apply(a,arguments),a},init:function(){},mixIn:function(a){for(var b in a)a.hasOwnProperty(b)&&(this[b]=a[b]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),f=d.WordArray=e.extend({init:function(a,c){a=this.words=a||[],this.sigBytes=c!=b?c:4*a.length},toString:function(a){return(a||h).stringify(this)},concat:function(a){var b=this.words,c=a.words,d=this.sigBytes,e=a.sigBytes;if(this.clamp(),d%4)for(var f=0;e>f;f++){var g=c[f>>>2]>>>24-f%4*8&255;b[d+f>>>2]|=g<<24-(d+f)%4*8}else for(var f=0;e>f;f+=4)b[d+f>>>2]=c[f>>>2];return this.sigBytes+=e,this},clamp:function(){var b=this.words,c=this.sigBytes;b[c>>>2]&=4294967295<<32-c%4*8,b.length=a.ceil(c/4)},clone:function(){var a=e.clone.call(this);return a.words=this.words.slice(0),a},random:function(b){for(var c=[],d=0;b>d;d+=4)c.push(4294967296*a.random()|0);return new f.init(c,b)}}),g=c.enc={},h=g.Hex={stringify:function(a){for(var b=a.words,c=a.sigBytes,d=[],e=0;c>e;e++){var f=b[e>>>2]>>>24-e%4*8&255;d.push((f>>>4).toString(16)),d.push((15&f).toString(16))}return d.join("")},parse:function(a){for(var b=a.length,c=[],d=0;b>d;d+=2)c[d>>>3]|=parseInt(a.substr(d,2),16)<<24-d%8*4;return new f.init(c,b/2)}},i=g.Latin1={stringify:function(a){for(var b=a.words,c=a.sigBytes,d=[],e=0;c>e;e++){var f=b[e>>>2]>>>24-e%4*8&255;d.push(String.fromCharCode(f))}return d.join("")},parse:function(a){for(var b=a.length,c=[],d=0;b>d;d++)c[d>>>2]|=(255&a.charCodeAt(d))<<24-d%4*8;return new f.init(c,b)}},j=g.Utf8={stringify:function(a){try{return decodeURIComponent(escape(i.stringify(a)))}catch(b){throw new Error("Malformed UTF-8 data")}},parse:function(a){return i.parse(unescape(encodeURIComponent(a)))}},k=d.BufferedBlockAlgorithm=e.extend({reset:function(){this._data=new f.init,this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=j.parse(a)),this._data.concat(a),this._nDataBytes+=a.sigBytes},_process:function(b){var c=this._data,d=c.words,e=c.sigBytes,g=this.blockSize,h=4*g,i=e/h;i=b?a.ceil(i):a.max((0|i)-this._minBufferSize,0);var j=i*g,k=a.min(4*j,e);if(j){for(var l=0;j>l;l+=g)this._doProcessBlock(d,l);var m=d.splice(0,j);c.sigBytes-=k}return new f.init(m,k)},clone:function(){var a=e.clone.call(this);return a._data=this._data.clone(),a},_minBufferSize:0}),l=(d.Hasher=k.extend({cfg:e.extend(),init:function(a){this.cfg=this.cfg.extend(a),this.reset()},reset:function(){k.reset.call(this),this._doReset()},update:function(a){return this._append(a),this._process(),this},finalize:function(a){a&&this._append(a);var b=this._doFinalize();return b},blockSize:16,_createHelper:function(a){return function(b,c){return new a.init(c).finalize(b)}},_createHmacHelper:function(a){return function(b,c){return new l.HMAC.init(a,c).finalize(b)}}}),c.algo={});return c}(Math);!function(a){var b=CryptoJS,c=b.lib,d=c.Base,e=c.WordArray,b=b.x64={};b.Word=d.extend({init:function(a,b){this.high=a,this.low=b}}),b.WordArray=d.extend({init:function(b,c){b=this.words=b||[],this.sigBytes=c!=a?c:8*b.length},toX32:function(){for(var a=this.words,b=a.length,c=[],d=0;b>d;d++){var f=a[d];c.push(f.high),c.push(f.low)}return e.create(c,this.sigBytes)},clone:function(){for(var a=d.clone.call(this),b=a.words=this.words.slice(0),c=b.length,e=0;c>e;e++)b[e]=b[e].clone();return a}})}(),function(){var a=CryptoJS,b=a.enc.Utf8;a.algo.HMAC=a.lib.Base.extend({init:function(a,c){a=this._hasher=new a.init,"string"==typeof c&&(c=b.parse(c));var d=a.blockSize,e=4*d;c.sigBytes>e&&(c=a.finalize(c)),c.clamp();for(var f=this._oKey=c.clone(),g=this._iKey=c.clone(),h=f.words,i=g.words,j=0;d>j;j++)h[j]^=1549556828,i[j]^=909522486;f.sigBytes=g.sigBytes=e,this.reset()},reset:function(){var a=this._hasher;a.reset(),a.update(this._iKey)},update:function(a){return this._hasher.update(a),this},finalize:function(a){var b=this._hasher;return a=b.finalize(a),b.reset(),b.finalize(this._oKey.clone().concat(a))}})}(),function(a){for(var b=CryptoJS,c=b.lib,d=c.WordArray,e=c.Hasher,c=b.algo,f=[],g=[],h=function(a){return 4294967296*(a-(0|a))|0},i=2,j=0;64>j;){var k;a:{k=i;for(var l=a.sqrt(k),m=2;l>=m;m++)if(!(k%m)){k=!1;break a}k=!0}k&&(8>j&&(f[j]=h(a.pow(i,.5))),g[j]=h(a.pow(i,1/3)),j++),i++}var n=[],c=c.SHA256=e.extend({_doReset:function(){this._hash=new d.init(f.slice(0)) -},_doProcessBlock:function(a,b){for(var c=this._hash.words,d=c[0],e=c[1],f=c[2],h=c[3],i=c[4],j=c[5],k=c[6],l=c[7],m=0;64>m;m++){if(16>m)n[m]=0|a[b+m];else{var o=n[m-15],p=n[m-2];n[m]=((o<<25|o>>>7)^(o<<14|o>>>18)^o>>>3)+n[m-7]+((p<<15|p>>>17)^(p<<13|p>>>19)^p>>>10)+n[m-16]}o=l+((i<<26|i>>>6)^(i<<21|i>>>11)^(i<<7|i>>>25))+(i&j^~i&k)+g[m]+n[m],p=((d<<30|d>>>2)^(d<<19|d>>>13)^(d<<10|d>>>22))+(d&e^d&f^e&f),l=k,k=j,j=i,i=h+o|0,h=f,f=e,e=d,d=o+p|0}c[0]=c[0]+d|0,c[1]=c[1]+e|0,c[2]=c[2]+f|0,c[3]=c[3]+h|0,c[4]=c[4]+i|0,c[5]=c[5]+j|0,c[6]=c[6]+k|0,c[7]=c[7]+l|0},_doFinalize:function(){var b=this._data,c=b.words,d=8*this._nDataBytes,e=8*b.sigBytes;return c[e>>>5]|=128<<24-e%32,c[(e+64>>>9<<4)+14]=a.floor(d/4294967296),c[(e+64>>>9<<4)+15]=d,b.sigBytes=4*c.length,this._process(),this._hash},clone:function(){var a=e.clone.call(this);return a._hash=this._hash.clone(),a}});b.SHA256=e._createHelper(c),b.HmacSHA256=e._createHmacHelper(c)}(Math),function(){var a=CryptoJS,b=a.lib.WordArray,c=a.algo,d=c.SHA256,c=c.SHA224=d.extend({_doReset:function(){this._hash=new b.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var a=d._doFinalize.call(this);return a.sigBytes-=4,a}});a.SHA224=d._createHelper(c),a.HmacSHA224=d._createHmacHelper(c)}(),function(){function a(){return e.create.apply(e,arguments)}for(var b=CryptoJS,c=b.lib.Hasher,d=b.x64,e=d.Word,f=d.WordArray,d=b.algo,g=[a(1116352408,3609767458),a(1899447441,602891725),a(3049323471,3964484399),a(3921009573,2173295548),a(961987163,4081628472),a(1508970993,3053834265),a(2453635748,2937671579),a(2870763221,3664609560),a(3624381080,2734883394),a(310598401,1164996542),a(607225278,1323610764),a(1426881987,3590304994),a(1925078388,4068182383),a(2162078206,991336113),a(2614888103,633803317),a(3248222580,3479774868),a(3835390401,2666613458),a(4022224774,944711139),a(264347078,2341262773),a(604807628,2007800933),a(770255983,1495990901),a(1249150122,1856431235),a(1555081692,3175218132),a(1996064986,2198950837),a(2554220882,3999719339),a(2821834349,766784016),a(2952996808,2566594879),a(3210313671,3203337956),a(3336571891,1034457026),a(3584528711,2466948901),a(113926993,3758326383),a(338241895,168717936),a(666307205,1188179964),a(773529912,1546045734),a(1294757372,1522805485),a(1396182291,2643833823),a(1695183700,2343527390),a(1986661051,1014477480),a(2177026350,1206759142),a(2456956037,344077627),a(2730485921,1290863460),a(2820302411,3158454273),a(3259730800,3505952657),a(3345764771,106217008),a(3516065817,3606008344),a(3600352804,1432725776),a(4094571909,1467031594),a(275423344,851169720),a(430227734,3100823752),a(506948616,1363258195),a(659060556,3750685593),a(883997877,3785050280),a(958139571,3318307427),a(1322822218,3812723403),a(1537002063,2003034995),a(1747873779,3602036899),a(1955562222,1575990012),a(2024104815,1125592928),a(2227730452,2716904306),a(2361852424,442776044),a(2428436474,593698344),a(2756734187,3733110249),a(3204031479,2999351573),a(3329325298,3815920427),a(3391569614,3928383900),a(3515267271,566280711),a(3940187606,3454069534),a(4118630271,4000239992),a(116418474,1914138554),a(174292421,2731055270),a(289380356,3203993006),a(460393269,320620315),a(685471733,587496836),a(852142971,1086792851),a(1017036298,365543100),a(1126000580,2618297676),a(1288033470,3409855158),a(1501505948,4234509866),a(1607167915,987167468),a(1816402316,1246189591)],h=[],i=0;80>i;i++)h[i]=a();d=d.SHA512=c.extend({_doReset:function(){this._hash=new f.init([new e.init(1779033703,4089235720),new e.init(3144134277,2227873595),new e.init(1013904242,4271175723),new e.init(2773480762,1595750129),new e.init(1359893119,2917565137),new e.init(2600822924,725511199),new e.init(528734635,4215389547),new e.init(1541459225,327033209)])},_doProcessBlock:function(a,b){for(var c=this._hash.words,d=c[0],e=c[1],f=c[2],i=c[3],j=c[4],k=c[5],l=c[6],c=c[7],m=d.high,n=d.low,o=e.high,p=e.low,q=f.high,r=f.low,s=i.high,t=i.low,u=j.high,v=j.low,w=k.high,x=k.low,y=l.high,z=l.low,A=c.high,B=c.low,C=m,D=n,E=o,F=p,G=q,H=r,I=s,J=t,K=u,L=v,M=w,N=x,O=y,P=z,Q=A,R=B,S=0;80>S;S++){var T=h[S];if(16>S)var U=T.high=0|a[b+2*S],V=T.low=0|a[b+2*S+1];else{var U=h[S-15],V=U.high,W=U.low,U=(V>>>1|W<<31)^(V>>>8|W<<24)^V>>>7,W=(W>>>1|V<<31)^(W>>>8|V<<24)^(W>>>7|V<<25),X=h[S-2],V=X.high,Y=X.low,X=(V>>>19|Y<<13)^(V<<3|Y>>>29)^V>>>6,Y=(Y>>>19|V<<13)^(Y<<3|V>>>29)^(Y>>>6|V<<26),V=h[S-7],Z=V.high,$=h[S-16],_=$.high,$=$.low,V=W+V.low,U=U+Z+(W>>>0>V>>>0?1:0),V=V+Y,U=U+X+(Y>>>0>V>>>0?1:0),V=V+$,U=U+_+($>>>0>V>>>0?1:0);T.high=U,T.low=V}var Z=K&M^~K&O,$=L&N^~L&P,T=C&E^C&G^E&G,ab=D&F^D&H^F&H,W=(C>>>28|D<<4)^(C<<30|D>>>2)^(C<<25|D>>>7),X=(D>>>28|C<<4)^(D<<30|C>>>2)^(D<<25|C>>>7),Y=g[S],bb=Y.high,cb=Y.low,Y=R+((L>>>14|K<<18)^(L>>>18|K<<14)^(L<<23|K>>>9)),_=Q+((K>>>14|L<<18)^(K>>>18|L<<14)^(K<<23|L>>>9))+(R>>>0>Y>>>0?1:0),Y=Y+$,_=_+Z+($>>>0>Y>>>0?1:0),Y=Y+cb,_=_+bb+(cb>>>0>Y>>>0?1:0),Y=Y+V,_=_+U+(V>>>0>Y>>>0?1:0),V=X+ab,T=W+T+(X>>>0>V>>>0?1:0),Q=O,R=P,O=M,P=N,M=K,N=L,L=J+Y|0,K=I+_+(J>>>0>L>>>0?1:0)|0,I=G,J=H,G=E,H=F,E=C,F=D,D=Y+V|0,C=_+T+(Y>>>0>D>>>0?1:0)|0}n=d.low=n+D,d.high=m+C+(D>>>0>n>>>0?1:0),p=e.low=p+F,e.high=o+E+(F>>>0>p>>>0?1:0),r=f.low=r+H,f.high=q+G+(H>>>0>r>>>0?1:0),t=i.low=t+J,i.high=s+I+(J>>>0>t>>>0?1:0),v=j.low=v+L,j.high=u+K+(L>>>0>v>>>0?1:0),x=k.low=x+N,k.high=w+M+(N>>>0>x>>>0?1:0),z=l.low=z+P,l.high=y+O+(P>>>0>z>>>0?1:0),B=c.low=B+R,c.high=A+Q+(R>>>0>B>>>0?1:0)},_doFinalize:function(){var a=this._data,b=a.words,c=8*this._nDataBytes,d=8*a.sigBytes;return b[d>>>5]|=128<<24-d%32,b[(d+128>>>10<<5)+30]=Math.floor(c/4294967296),b[(d+128>>>10<<5)+31]=c,a.sigBytes=4*b.length,this._process(),this._hash.toX32()},clone:function(){var a=c.clone.call(this);return a._hash=this._hash.clone(),a},blockSize:32}),b.SHA512=c._createHelper(d),b.HmacSHA512=c._createHmacHelper(d)}(),function(){var a=CryptoJS,b=a.x64,c=b.Word,d=b.WordArray,b=a.algo,e=b.SHA512,b=b.SHA384=e.extend({_doReset:function(){this._hash=new d.init([new c.init(3418070365,3238371032),new c.init(1654270250,914150663),new c.init(2438529370,812702999),new c.init(355462360,4144912697),new c.init(1731405415,4290775857),new c.init(2394180231,1750603025),new c.init(3675008525,1694076839),new c.init(1203062813,3204075428)])},_doFinalize:function(){var a=e._doFinalize.call(this);return a.sigBytes-=16,a}});a.SHA384=e._createHelper(b),a.HmacSHA384=e._createHmacHelper(b)}(),function(a){function b(a,b,c,d,e,f,g){return a=a+(b&c|~b&d)+e+g,(a<>>32-f)+b}function c(a,b,c,d,e,f,g){return a=a+(b&d|c&~d)+e+g,(a<>>32-f)+b}function d(a,b,c,d,e,f,g){return a=a+(b^c^d)+e+g,(a<>>32-f)+b}function e(a,b,c,d,e,f,g){return a=a+(c^(b|~d))+e+g,(a<>>32-f)+b}for(var f=CryptoJS,g=f.lib,h=g.WordArray,i=g.Hasher,g=f.algo,j=[],k=0;64>k;k++)j[k]=4294967296*a.abs(a.sin(k+1))|0;g=g.MD5=i.extend({_doReset:function(){this._hash=new h.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(a,f){for(var g=0;16>g;g++){var h=f+g,i=a[h];a[h]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var g=this._hash.words,h=a[f+0],i=a[f+1],k=a[f+2],l=a[f+3],m=a[f+4],n=a[f+5],o=a[f+6],p=a[f+7],q=a[f+8],r=a[f+9],s=a[f+10],t=a[f+11],u=a[f+12],v=a[f+13],w=a[f+14],x=a[f+15],y=g[0],z=g[1],A=g[2],B=g[3],y=b(y,z,A,B,h,7,j[0]),B=b(B,y,z,A,i,12,j[1]),A=b(A,B,y,z,k,17,j[2]),z=b(z,A,B,y,l,22,j[3]),y=b(y,z,A,B,m,7,j[4]),B=b(B,y,z,A,n,12,j[5]),A=b(A,B,y,z,o,17,j[6]),z=b(z,A,B,y,p,22,j[7]),y=b(y,z,A,B,q,7,j[8]),B=b(B,y,z,A,r,12,j[9]),A=b(A,B,y,z,s,17,j[10]),z=b(z,A,B,y,t,22,j[11]),y=b(y,z,A,B,u,7,j[12]),B=b(B,y,z,A,v,12,j[13]),A=b(A,B,y,z,w,17,j[14]),z=b(z,A,B,y,x,22,j[15]),y=c(y,z,A,B,i,5,j[16]),B=c(B,y,z,A,o,9,j[17]),A=c(A,B,y,z,t,14,j[18]),z=c(z,A,B,y,h,20,j[19]),y=c(y,z,A,B,n,5,j[20]),B=c(B,y,z,A,s,9,j[21]),A=c(A,B,y,z,x,14,j[22]),z=c(z,A,B,y,m,20,j[23]),y=c(y,z,A,B,r,5,j[24]),B=c(B,y,z,A,w,9,j[25]),A=c(A,B,y,z,l,14,j[26]),z=c(z,A,B,y,q,20,j[27]),y=c(y,z,A,B,v,5,j[28]),B=c(B,y,z,A,k,9,j[29]),A=c(A,B,y,z,p,14,j[30]),z=c(z,A,B,y,u,20,j[31]),y=d(y,z,A,B,n,4,j[32]),B=d(B,y,z,A,q,11,j[33]),A=d(A,B,y,z,t,16,j[34]),z=d(z,A,B,y,w,23,j[35]),y=d(y,z,A,B,i,4,j[36]),B=d(B,y,z,A,m,11,j[37]),A=d(A,B,y,z,p,16,j[38]),z=d(z,A,B,y,s,23,j[39]),y=d(y,z,A,B,v,4,j[40]),B=d(B,y,z,A,h,11,j[41]),A=d(A,B,y,z,l,16,j[42]),z=d(z,A,B,y,o,23,j[43]),y=d(y,z,A,B,r,4,j[44]),B=d(B,y,z,A,u,11,j[45]),A=d(A,B,y,z,x,16,j[46]),z=d(z,A,B,y,k,23,j[47]),y=e(y,z,A,B,h,6,j[48]),B=e(B,y,z,A,p,10,j[49]),A=e(A,B,y,z,w,15,j[50]),z=e(z,A,B,y,n,21,j[51]),y=e(y,z,A,B,u,6,j[52]),B=e(B,y,z,A,l,10,j[53]),A=e(A,B,y,z,s,15,j[54]),z=e(z,A,B,y,i,21,j[55]),y=e(y,z,A,B,q,6,j[56]),B=e(B,y,z,A,x,10,j[57]),A=e(A,B,y,z,o,15,j[58]),z=e(z,A,B,y,v,21,j[59]),y=e(y,z,A,B,m,6,j[60]),B=e(B,y,z,A,t,10,j[61]),A=e(A,B,y,z,k,15,j[62]),z=e(z,A,B,y,r,21,j[63]);g[0]=g[0]+y|0,g[1]=g[1]+z|0,g[2]=g[2]+A|0,g[3]=g[3]+B|0},_doFinalize:function(){var b=this._data,c=b.words,d=8*this._nDataBytes,e=8*b.sigBytes;c[e>>>5]|=128<<24-e%32;var f=a.floor(d/4294967296);for(c[(e+64>>>9<<4)+15]=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),c[(e+64>>>9<<4)+14]=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8),b.sigBytes=4*(c.length+1),this._process(),b=this._hash,c=b.words,d=0;4>d;d++)e=c[d],c[d]=16711935&(e<<8|e>>>24)|4278255360&(e<<24|e>>>8);return b},clone:function(){var a=i.clone.call(this);return a._hash=this._hash.clone(),a}}),f.MD5=i._createHelper(g),f.HmacMD5=i._createHmacHelper(g)}(Math),function(){var a=CryptoJS,b=a.lib.WordArray;a.enc.Base64={stringify:function(a){var b=a.words,c=a.sigBytes,d=this._map;a.clamp(),a=[];for(var e=0;c>e;e+=3)for(var f=(b[e>>>2]>>>24-8*(e%4)&255)<<16|(b[e+1>>>2]>>>24-8*((e+1)%4)&255)<<8|b[e+2>>>2]>>>24-8*((e+2)%4)&255,g=0;4>g&&c>e+.75*g;g++)a.push(d.charAt(f>>>6*(3-g)&63));if(b=d.charAt(64))for(;a.length%4;)a.push(b);return a.join("")},parse:function(a){var c=a.length,d=this._map,e=d.charAt(64);e&&(e=a.indexOf(e),-1!=e&&(c=e));for(var e=[],f=0,g=0;c>g;g++)if(g%4){var h=d.indexOf(a.charAt(g-1))<<2*(g%4),i=d.indexOf(a.charAt(g))>>>6-2*(g%4);e[f>>>2]|=(h|i)<<24-8*(f%4),f++}return b.create(e,f)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),CryptoJS.lib.Cipher||function(a){var b=CryptoJS,c=b.lib,d=c.Base,e=c.WordArray,f=c.BufferedBlockAlgorithm,g=b.enc.Base64,h=b.algo.EvpKDF,i=c.Cipher=f.extend({cfg:d.extend(),createEncryptor:function(a,b){return this.create(this._ENC_XFORM_MODE,a,b)},createDecryptor:function(a,b){return this.create(this._DEC_XFORM_MODE,a,b)},init:function(a,b,c){this.cfg=this.cfg.extend(c),this._xformMode=a,this._key=b,this.reset()},reset:function(){f.reset.call(this),this._doReset()},process:function(a){return this._append(a),this._process()},finalize:function(a){return a&&this._append(a),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(a){return{encrypt:function(b,c,d){return("string"==typeof c?o:n).encrypt(a,b,c,d)},decrypt:function(b,c,d){return("string"==typeof c?o:n).decrypt(a,b,c,d)}}}});c.StreamCipher=i.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var j=b.mode={},k=function(b,c,d){var e=this._iv;e?this._iv=a:e=this._prevBlock;for(var f=0;d>f;f++)b[c+f]^=e[f]},l=(c.BlockCipherMode=d.extend({createEncryptor:function(a,b){return this.Encryptor.create(a,b)},createDecryptor:function(a,b){return this.Decryptor.create(a,b)},init:function(a,b){this._cipher=a,this._iv=b}})).extend();l.Encryptor=l.extend({processBlock:function(a,b){var c=this._cipher,d=c.blockSize;k.call(this,a,b,d),c.encryptBlock(a,b),this._prevBlock=a.slice(b,b+d)}}),l.Decryptor=l.extend({processBlock:function(a,b){var c=this._cipher,d=c.blockSize,e=a.slice(b,b+d);c.decryptBlock(a,b),k.call(this,a,b,d),this._prevBlock=e}}),j=j.CBC=l,l=(b.pad={}).Pkcs7={pad:function(a,b){for(var c=4*b,c=c-a.sigBytes%c,d=c<<24|c<<16|c<<8|c,f=[],g=0;c>g;g+=4)f.push(d);c=e.create(f,c),a.concat(c)},unpad:function(a){a.sigBytes-=255&a.words[a.sigBytes-1>>>2]}},c.BlockCipher=i.extend({cfg:i.cfg.extend({mode:j,padding:l}),reset:function(){i.reset.call(this);var a=this.cfg,b=a.iv,a=a.mode;if(this._xformMode==this._ENC_XFORM_MODE)var c=a.createEncryptor;else c=a.createDecryptor,this._minBufferSize=1;this._mode=c.call(a,this,b&&b.words)},_doProcessBlock:function(a,b){this._mode.processBlock(a,b)},_doFinalize:function(){var a=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){a.pad(this._data,this.blockSize);var b=this._process(!0)}else b=this._process(!0),a.unpad(b);return b},blockSize:4});var m=c.CipherParams=d.extend({init:function(a){this.mixIn(a)},toString:function(a){return(a||this.formatter).stringify(this)}}),j=(b.format={}).OpenSSL={stringify:function(a){var b=a.ciphertext;return a=a.salt,(a?e.create([1398893684,1701076831]).concat(a).concat(b):b).toString(g)},parse:function(a){a=g.parse(a);var b=a.words;if(1398893684==b[0]&&1701076831==b[1]){var c=e.create(b.slice(2,4));b.splice(0,4),a.sigBytes-=16}return m.create({ciphertext:a,salt:c})}},n=c.SerializableCipher=d.extend({cfg:d.extend({format:j}),encrypt:function(a,b,c,d){d=this.cfg.extend(d);var e=a.createEncryptor(c,d);return b=e.finalize(b),e=e.cfg,m.create({ciphertext:b,key:c,iv:e.iv,algorithm:a,mode:e.mode,padding:e.padding,blockSize:a.blockSize,formatter:d.format})},decrypt:function(a,b,c,d){return d=this.cfg.extend(d),b=this._parse(b,d.format),a.createDecryptor(c,d).finalize(b.ciphertext)},_parse:function(a,b){return"string"==typeof a?b.parse(a,this):a}}),b=(b.kdf={}).OpenSSL={execute:function(a,b,c,d){return d||(d=e.random(8)),a=h.create({keySize:b+c}).compute(a,d),c=e.create(a.words.slice(b),4*c),a.sigBytes=4*b,m.create({key:a,iv:c,salt:d})}},o=c.PasswordBasedCipher=n.extend({cfg:n.cfg.extend({kdf:b}),encrypt:function(a,b,c,d){return d=this.cfg.extend(d),c=d.kdf.execute(c,a.keySize,a.ivSize),d.iv=c.iv,a=n.encrypt.call(this,a,b,c.key,d),a.mixIn(c),a},decrypt:function(a,b,c,d){return d=this.cfg.extend(d),b=this._parse(b,d.format),c=d.kdf.execute(c,a.keySize,a.ivSize,b.salt),d.iv=c.iv,n.decrypt.call(this,a,b,c.key,d)}})}(),function(){for(var a=CryptoJS,b=a.lib.BlockCipher,c=a.algo,d=[],e=[],f=[],g=[],h=[],i=[],j=[],k=[],l=[],m=[],n=[],o=0;256>o;o++)n[o]=128>o?o<<1:o<<1^283;for(var p=0,q=0,o=0;256>o;o++){var r=q^q<<1^q<<2^q<<3^q<<4,r=r>>>8^255&r^99;d[p]=r,e[r]=p;var s=n[p],t=n[s],u=n[t],v=257*n[r]^16843008*r;f[p]=v<<24|v>>>8,g[p]=v<<16|v>>>16,h[p]=v<<8|v>>>24,i[p]=v,v=16843009*u^65537*t^257*s^16843008*p,j[r]=v<<24|v>>>8,k[r]=v<<16|v>>>16,l[r]=v<<8|v>>>24,m[r]=v,p?(p=s^n[n[n[u^s]]],q^=n[n[q]]):p=q=1}var w=[0,1,2,4,8,16,32,64,128,27,54],c=c.AES=b.extend({_doReset:function(){for(var a=this._key,b=a.words,c=a.sigBytes/4,a=4*((this._nRounds=c+6)+1),e=this._keySchedule=[],f=0;a>f;f++)if(c>f)e[f]=b[f];else{var g=e[f-1];f%c?c>6&&4==f%c&&(g=d[g>>>24]<<24|d[g>>>16&255]<<16|d[g>>>8&255]<<8|d[255&g]):(g=g<<8|g>>>24,g=d[g>>>24]<<24|d[g>>>16&255]<<16|d[g>>>8&255]<<8|d[255&g],g^=w[f/c|0]<<24),e[f]=e[f-c]^g}for(b=this._invKeySchedule=[],c=0;a>c;c++)f=a-c,g=c%4?e[f]:e[f-4],b[c]=4>c||4>=f?g:j[d[g>>>24]]^k[d[g>>>16&255]]^l[d[g>>>8&255]]^m[d[255&g]]},encryptBlock:function(a,b){this._doCryptBlock(a,b,this._keySchedule,f,g,h,i,d)},decryptBlock:function(a,b){var c=a[b+1];a[b+1]=a[b+3],a[b+3]=c,this._doCryptBlock(a,b,this._invKeySchedule,j,k,l,m,e),c=a[b+1],a[b+1]=a[b+3],a[b+3]=c},_doCryptBlock:function(a,b,c,d,e,f,g,h){for(var i=this._nRounds,j=a[b]^c[0],k=a[b+1]^c[1],l=a[b+2]^c[2],m=a[b+3]^c[3],n=4,o=1;i>o;o++)var p=d[j>>>24]^e[k>>>16&255]^f[l>>>8&255]^g[255&m]^c[n++],q=d[k>>>24]^e[l>>>16&255]^f[m>>>8&255]^g[255&j]^c[n++],r=d[l>>>24]^e[m>>>16&255]^f[j>>>8&255]^g[255&k]^c[n++],m=d[m>>>24]^e[j>>>16&255]^f[k>>>8&255]^g[255&l]^c[n++],j=p,k=q,l=r;p=(h[j>>>24]<<24|h[k>>>16&255]<<16|h[l>>>8&255]<<8|h[255&m])^c[n++],q=(h[k>>>24]<<24|h[l>>>16&255]<<16|h[m>>>8&255]<<8|h[255&j])^c[n++],r=(h[l>>>24]<<24|h[m>>>16&255]<<16|h[j>>>8&255]<<8|h[255&k])^c[n++],m=(h[m>>>24]<<24|h[j>>>16&255]<<16|h[k>>>8&255]<<8|h[255&l])^c[n++],a[b]=p,a[b+1]=q,a[b+2]=r,a[b+3]=m},keySize:8});a.AES=b._createHelper(c)}(),function(){function a(a,b){var c=(this._lBlock>>>a^this._rBlock)&b;this._rBlock^=c,this._lBlock^=c<>>a^this._lBlock)&b;this._lBlock^=c,this._rBlock^=c<c;c++){var d=g[c]-1;b[c]=a[d>>>5]>>>31-d%32&1}for(a=this._subKeys=[],d=0;16>d;d++){for(var e=a[d]=[],f=i[d],c=0;24>c;c++)e[c/6|0]|=b[(h[c]-1+f)%28]<<31-c%6,e[4+(c/6|0)]|=b[28+(h[c+24]-1+f)%28]<<31-c%6;for(e[0]=e[0]<<1|e[0]>>>31,c=1;7>c;c++)e[c]>>>=4*(c-1)+3;e[7]=e[7]<<5|e[7]>>>27}for(b=this._invSubKeys=[],c=0;16>c;c++)b[c]=a[15-c]},encryptBlock:function(a,b){this._doCryptBlock(a,b,this._subKeys)},decryptBlock:function(a,b){this._doCryptBlock(a,b,this._invSubKeys)},_doCryptBlock:function(c,d,e){this._lBlock=c[d],this._rBlock=c[d+1],a.call(this,4,252645135),a.call(this,16,65535),b.call(this,2,858993459),b.call(this,8,16711935),a.call(this,1,1431655765);for(var f=0;16>f;f++){for(var g=e[f],h=this._lBlock,i=this._rBlock,l=0,m=0;8>m;m++)l|=j[m][((i^g[m])&k[m])>>>0];this._lBlock=i,this._rBlock=h^l}e=this._lBlock,this._lBlock=this._rBlock,this._rBlock=e,a.call(this,1,1431655765),b.call(this,8,16711935),b.call(this,2,858993459),a.call(this,16,65535),a.call(this,4,252645135),c[d]=this._lBlock,c[d+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});c.DES=d._createHelper(l),f=f.TripleDES=d.extend({_doReset:function(){var a=this._key.words;this._des1=l.createEncryptor(e.create(a.slice(0,2))),this._des2=l.createEncryptor(e.create(a.slice(2,4))),this._des3=l.createEncryptor(e.create(a.slice(4,6)))},encryptBlock:function(a,b){this._des1.encryptBlock(a,b),this._des2.decryptBlock(a,b),this._des3.encryptBlock(a,b)},decryptBlock:function(a,b){this._des3.decryptBlock(a,b),this._des2.encryptBlock(a,b),this._des1.decryptBlock(a,b)},keySize:6,ivSize:2,blockSize:2}),c.TripleDES=d._createHelper(f)}(),function(){var a=CryptoJS,b=a.lib,c=b.WordArray,d=b.Hasher,e=[],b=a.algo.SHA1=d.extend({_doReset:function(){this._hash=new c.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(a,b){for(var c=this._hash.words,d=c[0],f=c[1],g=c[2],h=c[3],i=c[4],j=0;80>j;j++){if(16>j)e[j]=0|a[b+j];else{var k=e[j-3]^e[j-8]^e[j-14]^e[j-16];e[j]=k<<1|k>>>31}k=(d<<5|d>>>27)+i+e[j],k=20>j?k+((f&g|~f&h)+1518500249):40>j?k+((f^g^h)+1859775393):60>j?k+((f&g|f&h|g&h)-1894007588):k+((f^g^h)-899497514),i=h,h=g,g=f<<30|f>>>2,f=d,d=k}c[0]=c[0]+d|0,c[1]=c[1]+f|0,c[2]=c[2]+g|0,c[3]=c[3]+h|0,c[4]=c[4]+i|0},_doFinalize:function(){var a=this._data,b=a.words,c=8*this._nDataBytes,d=8*a.sigBytes;return b[d>>>5]|=128<<24-d%32,b[(d+64>>>9<<4)+14]=Math.floor(c/4294967296),b[(d+64>>>9<<4)+15]=c,a.sigBytes=4*b.length,this._process(),this._hash},clone:function(){var a=d.clone.call(this);return a._hash=this._hash.clone(),a}});a.SHA1=d._createHelper(b),a.HmacSHA1=d._createHmacHelper(b)}(),function(){var a=CryptoJS,b=a.lib,c=b.WordArray,d=b.Hasher,b=a.algo,e=c.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),f=c.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),g=c.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),h=c.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),i=c.create([0,1518500249,1859775393,2400959708,2840853838]),j=c.create([1352829926,1548603684,1836072691,2053994217,0]),b=b.RIPEMD160=d.extend({_doReset:function(){this._hash=c.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(a,b){for(var c=0;16>c;c++){var d=b+c,k=a[d];a[d]=16711935&(k<<8|k>>>24)|4278255360&(k<<24|k>>>8)}var l,m,n,o,p,q,r,s,t,u,d=this._hash.words,k=i.words,v=j.words,w=e.words,x=f.words,y=g.words,z=h.words;q=l=d[0],r=m=d[1],s=n=d[2],t=o=d[3],u=p=d[4];for(var A,c=0;80>c;c+=1)A=l+a[b+w[c]]|0,A=16>c?A+((m^n^o)+k[0]):32>c?A+((m&n|~m&o)+k[1]):48>c?A+(((m|~n)^o)+k[2]):64>c?A+((m&o|n&~o)+k[3]):A+((m^(n|~o))+k[4]),A|=0,A=A<>>32-y[c],A=A+p|0,l=p,p=o,o=n<<10|n>>>22,n=m,m=A,A=q+a[b+x[c]]|0,A=16>c?A+((r^(s|~t))+v[0]):32>c?A+((r&t|s&~t)+v[1]):48>c?A+(((r|~s)^t)+v[2]):64>c?A+((r&s|~r&t)+v[3]):A+((r^s^t)+v[4]),A|=0,A=A<>>32-z[c],A=A+u|0,q=u,u=t,t=s<<10|s>>>22,s=r,r=A;A=d[1]+n+t|0,d[1]=d[2]+o+u|0,d[2]=d[3]+p+q|0,d[3]=d[4]+l+r|0,d[4]=d[0]+m+s|0,d[0]=A},_doFinalize:function(){var a=this._data,b=a.words,c=8*this._nDataBytes,d=8*a.sigBytes;for(b[d>>>5]|=128<<24-d%32,b[(d+64>>>9<<4)+14]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),a.sigBytes=4*(b.length+1),this._process(),a=this._hash,b=a.words,c=0;5>c;c++)d=b[c],b[c]=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8);return a},clone:function(){var a=d.clone.call(this);return a._hash=this._hash.clone(),a}});a.RIPEMD160=d._createHelper(b),a.HmacRIPEMD160=d._createHmacHelper(b)}(Math),function(){var a=CryptoJS,b=a.lib,c=b.Base,d=b.WordArray,b=a.algo,e=b.HMAC,f=b.PBKDF2=c.extend({cfg:c.extend({keySize:4,hasher:b.SHA1,iterations:1}),init:function(a){this.cfg=this.cfg.extend(a)},compute:function(a,b){for(var c=this.cfg,f=e.create(c.hasher,a),g=d.create(),h=d.create([1]),i=g.words,j=h.words,k=c.keySize,c=c.iterations;i.lengthp;p++){o=f.finalize(o),f.reset();for(var q=o.words,r=0;n>r;r++)m[r]^=q[r]}g.concat(l),j[0]++}return g.sigBytes=4*k,g}});a.PBKDF2=function(a,b,c){return f.create(c).compute(a,b)}}();var b64map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",b64pad="=",dbits,canary=0xdeadbeefcafe,j_lm=15715070==(16777215&canary);j_lm&&"Microsoft Internet Explorer"==navigator.appName?(BigInteger.prototype.am=am2,dbits=30):j_lm&&"Netscape"!=navigator.appName?(BigInteger.prototype.am=am1,dbits=26):(BigInteger.prototype.am=am3,dbits=28),BigInteger.prototype.DB=dbits,BigInteger.prototype.DM=(1<=vv;++vv)BI_RC[rr++]=vv;for(rr="a".charCodeAt(0),vv=10;36>vv;++vv)BI_RC[rr++]=vv;for(rr="A".charCodeAt(0),vv=10;36>vv;++vv)BI_RC[rr++]=vv;Classic.prototype.convert=cConvert,Classic.prototype.revert=cRevert,Classic.prototype.reduce=cReduce,Classic.prototype.mulTo=cMulTo,Classic.prototype.sqrTo=cSqrTo,Montgomery.prototype.convert=montConvert,Montgomery.prototype.revert=montRevert,Montgomery.prototype.reduce=montReduce,Montgomery.prototype.mulTo=montMulTo,Montgomery.prototype.sqrTo=montSqrTo,BigInteger.prototype.copyTo=bnpCopyTo,BigInteger.prototype.fromInt=bnpFromInt,BigInteger.prototype.fromString=bnpFromString,BigInteger.prototype.clamp=bnpClamp,BigInteger.prototype.dlShiftTo=bnpDLShiftTo,BigInteger.prototype.drShiftTo=bnpDRShiftTo,BigInteger.prototype.lShiftTo=bnpLShiftTo,BigInteger.prototype.rShiftTo=bnpRShiftTo,BigInteger.prototype.subTo=bnpSubTo,BigInteger.prototype.multiplyTo=bnpMultiplyTo,BigInteger.prototype.squareTo=bnpSquareTo,BigInteger.prototype.divRemTo=bnpDivRemTo,BigInteger.prototype.invDigit=bnpInvDigit,BigInteger.prototype.isEven=bnpIsEven,BigInteger.prototype.exp=bnpExp,BigInteger.prototype.toString=bnToString,BigInteger.prototype.negate=bnNegate,BigInteger.prototype.abs=bnAbs,BigInteger.prototype.compareTo=bnCompareTo,BigInteger.prototype.bitLength=bnBitLength,BigInteger.prototype.mod=bnMod,BigInteger.prototype.modPowInt=bnModPowInt,BigInteger.ZERO=nbv(0),BigInteger.ONE=nbv(1),NullExp.prototype.convert=nNop,NullExp.prototype.revert=nNop,NullExp.prototype.mulTo=nMulTo,NullExp.prototype.sqrTo=nSqrTo,Barrett.prototype.convert=barrettConvert,Barrett.prototype.revert=barrettRevert,Barrett.prototype.reduce=barrettReduce,Barrett.prototype.mulTo=barrettMulTo,Barrett.prototype.sqrTo=barrettSqrTo; -var lowprimes=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],lplim=(1<<26)/lowprimes[lowprimes.length-1];BigInteger.prototype.chunkSize=bnpChunkSize,BigInteger.prototype.toRadix=bnpToRadix,BigInteger.prototype.fromRadix=bnpFromRadix,BigInteger.prototype.fromNumber=bnpFromNumber,BigInteger.prototype.bitwiseTo=bnpBitwiseTo,BigInteger.prototype.changeBit=bnpChangeBit,BigInteger.prototype.addTo=bnpAddTo,BigInteger.prototype.dMultiply=bnpDMultiply,BigInteger.prototype.dAddOffset=bnpDAddOffset,BigInteger.prototype.multiplyLowerTo=bnpMultiplyLowerTo,BigInteger.prototype.multiplyUpperTo=bnpMultiplyUpperTo,BigInteger.prototype.modInt=bnpModInt,BigInteger.prototype.millerRabin=bnpMillerRabin,BigInteger.prototype.clone=bnClone,BigInteger.prototype.intValue=bnIntValue,BigInteger.prototype.byteValue=bnByteValue,BigInteger.prototype.shortValue=bnShortValue,BigInteger.prototype.signum=bnSigNum,BigInteger.prototype.toByteArray=bnToByteArray,BigInteger.prototype.equals=bnEquals,BigInteger.prototype.min=bnMin,BigInteger.prototype.max=bnMax,BigInteger.prototype.and=bnAnd,BigInteger.prototype.or=bnOr,BigInteger.prototype.xor=bnXor,BigInteger.prototype.andNot=bnAndNot,BigInteger.prototype.not=bnNot,BigInteger.prototype.shiftLeft=bnShiftLeft,BigInteger.prototype.shiftRight=bnShiftRight,BigInteger.prototype.getLowestSetBit=bnGetLowestSetBit,BigInteger.prototype.bitCount=bnBitCount,BigInteger.prototype.testBit=bnTestBit,BigInteger.prototype.setBit=bnSetBit,BigInteger.prototype.clearBit=bnClearBit,BigInteger.prototype.flipBit=bnFlipBit,BigInteger.prototype.add=bnAdd,BigInteger.prototype.subtract=bnSubtract,BigInteger.prototype.multiply=bnMultiply,BigInteger.prototype.divide=bnDivide,BigInteger.prototype.remainder=bnRemainder,BigInteger.prototype.divideAndRemainder=bnDivideAndRemainder,BigInteger.prototype.modPow=bnModPow,BigInteger.prototype.modInverse=bnModInverse,BigInteger.prototype.pow=bnPow,BigInteger.prototype.gcd=bnGCD,BigInteger.prototype.isProbablePrime=bnIsProbablePrime,BigInteger.prototype.square=bnSquare,Arcfour.prototype.init=ARC4init,Arcfour.prototype.next=ARC4next;var rng_psize=256,rng_state,rng_pool,rng_pptr;if(null==rng_pool){rng_pool=new Array,rng_pptr=0;var t;if("Netscape"==navigator.appName&&navigator.appVersion<"5"&&window.crypto){var z=window.crypto.random(32);for(t=0;trng_pptr;)t=Math.floor(65536*Math.random()),rng_pool[rng_pptr++]=t>>>8,rng_pool[rng_pptr++]=255&t;rng_pptr=0,rng_seed_time()}SecureRandom.prototype.nextBytes=rng_get_bytes;var SHA1_SIZE=20;RSAKey.prototype.doPublic=RSADoPublic,RSAKey.prototype.setPublic=RSASetPublic,RSAKey.prototype.encrypt=RSAEncrypt,RSAKey.prototype.encryptOAEP=RSAEncryptOAEP,RSAKey.prototype.type="RSA";var SHA1_SIZE=20;RSAKey.prototype.doPrivate=RSADoPrivate,RSAKey.prototype.setPrivate=RSASetPrivate,RSAKey.prototype.setPrivateEx=RSASetPrivateEx,RSAKey.prototype.generate=RSAGenerate,RSAKey.prototype.decrypt=RSADecrypt,RSAKey.prototype.decryptOAEP=RSADecryptOAEP,ECFieldElementFp.prototype.equals=feFpEquals,ECFieldElementFp.prototype.toBigInteger=feFpToBigInteger,ECFieldElementFp.prototype.negate=feFpNegate,ECFieldElementFp.prototype.add=feFpAdd,ECFieldElementFp.prototype.subtract=feFpSubtract,ECFieldElementFp.prototype.multiply=feFpMultiply,ECFieldElementFp.prototype.square=feFpSquare,ECFieldElementFp.prototype.divide=feFpDivide,ECPointFp.prototype.getX=pointFpGetX,ECPointFp.prototype.getY=pointFpGetY,ECPointFp.prototype.equals=pointFpEquals,ECPointFp.prototype.isInfinity=pointFpIsInfinity,ECPointFp.prototype.negate=pointFpNegate,ECPointFp.prototype.add=pointFpAdd,ECPointFp.prototype.twice=pointFpTwice,ECPointFp.prototype.multiply=pointFpMultiply,ECPointFp.prototype.multiplyTwo=pointFpMultiplyTwo,ECCurveFp.prototype.getQ=curveFpGetQ,ECCurveFp.prototype.getA=curveFpGetA,ECCurveFp.prototype.getB=curveFpGetB,ECCurveFp.prototype.equals=curveFpEquals,ECCurveFp.prototype.getInfinity=curveFpGetInfinity,ECCurveFp.prototype.fromBigInteger=curveFpFromBigInteger,ECCurveFp.prototype.decodePointHex=curveFpDecodePointHex,ECFieldElementFp.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},ECPointFp.prototype.getEncoded=function(a){var b=function(a,b){var c=a.toByteArrayUnsigned();if(bc.length;)c.unshift(0);return c},c=this.getX().toBigInteger(),d=this.getY().toBigInteger(),e=b(c,32);return a?e.unshift(d.isEven()?2:3):(e.unshift(4),e=e.concat(b(d,32))),e},ECPointFp.decodeFrom=function(a,b){var c=(b[0],b.length-1),d=b.slice(1,1+c/2),e=b.slice(1+c/2,1+c);d.unshift(0),e.unshift(0);var f=new BigInteger(d),g=new BigInteger(e);return new ECPointFp(a,a.fromBigInteger(f),a.fromBigInteger(g))},ECPointFp.decodeFromHex=function(a,b){var c=(b.substr(0,2),b.length-2),d=b.substr(2,c/2),e=b.substr(2+c/2,c/2),f=new BigInteger(d,16),g=new BigInteger(e,16);return new ECPointFp(a,a.fromBigInteger(f),a.fromBigInteger(g))},ECPointFp.prototype.add2D=function(a){if(this.isInfinity())return a;if(a.isInfinity())return this;if(this.x.equals(a.x))return this.y.equals(a.y)?this.twice():this.curve.getInfinity();var b=a.x.subtract(this.x),c=a.y.subtract(this.y),d=c.divide(b),e=d.square().subtract(this.x).subtract(a.x),f=d.multiply(this.x.subtract(e)).subtract(this.y);return new ECPointFp(this.curve,e,f)},ECPointFp.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var a=this.curve.fromBigInteger(BigInteger.valueOf(2)),b=this.curve.fromBigInteger(BigInteger.valueOf(3)),c=this.x.square().multiply(b).add(this.curve.a).divide(this.y.multiply(a)),d=c.square().subtract(this.x.multiply(a)),e=c.multiply(this.x.subtract(d)).subtract(this.y);return new ECPointFp(this.curve,d,e)},ECPointFp.prototype.multiply2D=function(a){if(this.isInfinity())return this;if(0==a.signum())return this.curve.getInfinity();var b,c=a,d=c.multiply(new BigInteger("3")),e=this.negate(),f=this;for(b=d.bitLength()-2;b>0;--b){f=f.twice();var g=d.testBit(b),h=c.testBit(b);g!=h&&(f=f.add2D(g?this:e))}return f},ECPointFp.prototype.isOnCurve=function(){var a=this.getX().toBigInteger(),b=this.getY().toBigInteger(),c=this.curve.getA().toBigInteger(),d=this.curve.getB().toBigInteger(),e=this.curve.getQ(),f=b.multiply(b).mod(e),g=a.multiply(a).multiply(a).add(c.multiply(a)).add(d).mod(e);return f.equals(g)},ECPointFp.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"},ECPointFp.prototype.validate=function(){var a=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var b=this.getX().toBigInteger(),c=this.getY().toBigInteger();if(b.compareTo(BigInteger.ONE)<0||b.compareTo(a.subtract(BigInteger.ONE))>0)throw new Error("x coordinate out of bounds");if(c.compareTo(BigInteger.ONE)<0||c.compareTo(a.subtract(BigInteger.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(a).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0},"undefined"!=typeof KJUR&&KJUR||(KJUR={}),"undefined"!=typeof KJUR.asn1&&KJUR.asn1||(KJUR.asn1={}),KJUR.asn1.ASN1Util=new function(){this.integerToByteHex=function(a){var b=a.toString(16);return b.length%2==1&&(b="0"+b),b},this.bigIntToMinTwosComplementsHex=function(a){var b=a.toString(16);if("-"!=b.substr(0,1))b.length%2==1?b="0"+b:b.match(/^[0-7]/)||(b="00"+b);else{var c=b.substr(1),d=c.length;d%2==1?d+=1:b.match(/^[0-7]/)||(d+=2);for(var e="",f=0;d>f;f++)e+="f";var g=new BigInteger(e,16),h=g.xor(a).add(BigInteger.ONE);b=h.toString(16).replace(/^-/,"")}return b},this.getPEMStringFromHex=function(a,b){var c=(KJUR.asn1,CryptoJS.enc.Hex.parse(a)),d=CryptoJS.enc.Base64.stringify(c),e=d.replace(/(.{64})/g,"$1\r\n");return e=e.replace(/\r\n$/,""),"-----BEGIN "+b+"-----\r\n"+e+"\r\n-----END "+b+"-----\r\n"},this.newObject=function(a){var b=KJUR.asn1,c=Object.keys(a);if(1!=c.length)throw"key of param shall be only one.";var d=c[0];if(-1==":bool:int:bitstr:octstr:null:oid:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:".indexOf(":"+d+":"))throw"undefined key: "+d;if("bool"==d)return new b.DERBoolean(a[d]);if("int"==d)return new b.DERInteger(a[d]);if("bitstr"==d)return new b.DERBitString(a[d]);if("octstr"==d)return new b.DEROctetString(a[d]);if("null"==d)return new b.DERNull(a[d]);if("oid"==d)return new b.DERObjectIdentifier(a[d]);if("utf8str"==d)return new b.DERUTF8String(a[d]);if("numstr"==d)return new b.DERNumericString(a[d]);if("prnstr"==d)return new b.DERPrintableString(a[d]);if("telstr"==d)return new b.DERTeletexString(a[d]);if("ia5str"==d)return new b.DERIA5String(a[d]);if("utctime"==d)return new b.DERUTCTime(a[d]);if("gentime"==d)return new b.DERGeneralizedTime(a[d]);if("seq"==d){for(var e=a[d],f=[],g=0;gb)return c;var d=c.length/2;if(d>15)throw"ASN.1 length too long to represent by 8x: n = "+b.toString(16);var e=128+d;return e.toString(16)+c},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""}},KJUR.asn1.DERAbstractString=function(a){KJUR.asn1.DERAbstractString.superclass.constructor.call(this);this.getString=function(){return this.s},this.setString=function(a){this.hTLV=null,this.isModified=!0,this.s=a,this.hV=stohex(this.s)},this.setStringHex=function(a){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=a},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof a&&("string"==typeof a?this.setString(a):"undefined"!=typeof a.str?this.setString(a.str):"undefined"!=typeof a.hex&&this.setStringHex(a.hex))},YAHOO.lang.extend(KJUR.asn1.DERAbstractString,KJUR.asn1.ASN1Object),KJUR.asn1.DERAbstractTime=function(){KJUR.asn1.DERAbstractTime.superclass.constructor.call(this);this.localDateToUTC=function(a){utc=a.getTime()+6e4*a.getTimezoneOffset();var b=new Date(utc);return b},this.formatDate=function(a,b){var c=this.zeroPadding,d=this.localDateToUTC(a),e=String(d.getFullYear());"utc"==b&&(e=e.substr(2,2));var f=c(String(d.getMonth()+1),2),g=c(String(d.getDate()),2),h=c(String(d.getHours()),2),i=c(String(d.getMinutes()),2),j=c(String(d.getSeconds()),2);return e+f+g+h+i+j+"Z"},this.zeroPadding=function(a,b){return a.length>=b?a:new Array(b-a.length+1).join("0")+a},this.getString=function(){return this.s},this.setString=function(a){this.hTLV=null,this.isModified=!0,this.s=a,this.hV=stohex(a)},this.setByDateValue=function(a,b,c,d,e,f){var g=new Date(Date.UTC(a,b-1,c,d,e,f,0));this.setByDate(g)},this.getFreshValueHex=function(){return this.hV}},YAHOO.lang.extend(KJUR.asn1.DERAbstractTime,KJUR.asn1.ASN1Object),KJUR.asn1.DERAbstractStructured=function(a){KJUR.asn1.DERAbstractString.superclass.constructor.call(this);this.setByASN1ObjectArray=function(a){this.hTLV=null,this.isModified=!0,this.asn1Array=a},this.appendASN1Object=function(a){this.hTLV=null,this.isModified=!0,this.asn1Array.push(a)},this.asn1Array=new Array,"undefined"!=typeof a&&"undefined"!=typeof a.array&&(this.asn1Array=a.array)},YAHOO.lang.extend(KJUR.asn1.DERAbstractStructured,KJUR.asn1.ASN1Object),KJUR.asn1.DERBoolean=function(){KJUR.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV="0101ff"},YAHOO.lang.extend(KJUR.asn1.DERBoolean,KJUR.asn1.ASN1Object),KJUR.asn1.DERInteger=function(a){KJUR.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(a){this.hTLV=null,this.isModified=!0,this.hV=KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(a)},this.setByInteger=function(a){var b=new BigInteger(String(a),10);this.setByBigInteger(b)},this.setValueHex=function(a){this.hV=a},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof a&&("undefined"!=typeof a.bigint?this.setByBigInteger(a.bigint):"undefined"!=typeof a["int"]?this.setByInteger(a["int"]):"number"==typeof a?this.setByInteger(a):"undefined"!=typeof a.hex&&this.setValueHex(a.hex))},YAHOO.lang.extend(KJUR.asn1.DERInteger,KJUR.asn1.ASN1Object),KJUR.asn1.DERBitString=function(a){KJUR.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(a){this.hTLV=null,this.isModified=!0,this.hV=a},this.setUnusedBitsAndHexValue=function(a,b){if(0>a||a>7)throw"unused bits shall be from 0 to 7: u = "+a;var c="0"+a;this.hTLV=null,this.isModified=!0,this.hV=c+b},this.setByBinaryString=function(a){a=a.replace(/0+$/,"");var b=8-a.length%8;8==b&&(b=0);for(var c=0;b>=c;c++)a+="0";for(var d="",c=0;cc;c++)b[c]=!1;return b},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof a&&("string"==typeof a&&a.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(a):"undefined"!=typeof a.hex?this.setHexValueIncludingUnusedBits(a.hex):"undefined"!=typeof a.bin?this.setByBinaryString(a.bin):"undefined"!=typeof a.array&&this.setByBooleanArray(a.array))},YAHOO.lang.extend(KJUR.asn1.DERBitString,KJUR.asn1.ASN1Object),KJUR.asn1.DEROctetString=function(a){KJUR.asn1.DEROctetString.superclass.constructor.call(this,a),this.hT="04"},YAHOO.lang.extend(KJUR.asn1.DEROctetString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERNull=function(){KJUR.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},YAHOO.lang.extend(KJUR.asn1.DERNull,KJUR.asn1.ASN1Object),KJUR.asn1.DERObjectIdentifier=function(a){var b=function(a){var b=a.toString(16);return 1==b.length&&(b="0"+b),b},c=function(a){var c="",d=new BigInteger(a,10),e=d.toString(2),f=7-e.length%7;7==f&&(f=0);for(var g="",h=0;f>h;h++)g+="0";e=g+e;for(var h=0;h0&&10>c?c+1:-2},this.getHexOfL_AtObj=function(a,b){var c=this.getByteLengthOfL_AtObj(a,b);return 1>c?"":a.substring(b+2,b+2+2*c)},this.getIntOfL_AtObj=function(a,b){var c=this.getHexOfL_AtObj(a,b);if(""==c)return-1;var d;return d=parseInt(c.substring(0,1))<8?new BigInteger(c,16):new BigInteger(c.substring(2),16),d.intValue()},this.getStartPosOfV_AtObj=function(a,b){var c=this.getByteLengthOfL_AtObj(a,b);return 0>c?c:b+2*(c+1)},this.getHexOfV_AtObj=function(a,b){var c=this.getStartPosOfV_AtObj(a,b),d=this.getIntOfL_AtObj(a,b);return a.substring(c,c+2*d)},this.getHexOfTLV_AtObj=function(a,b){var c=a.substr(b,2),d=this.getHexOfL_AtObj(a,b),e=this.getHexOfV_AtObj(a,b);return c+d+e},this.getPosOfNextSibling_AtObj=function(a,b){var c=this.getStartPosOfV_AtObj(a,b),d=this.getIntOfL_AtObj(a,b);return c+2*d},this.getPosArrayOfChildren_AtObj=function(a,b){var c=new Array,d=this.getStartPosOfV_AtObj(a,b);c.push(d);for(var e=this.getIntOfL_AtObj(a,b),f=d,g=0;;){var h=this.getPosOfNextSibling_AtObj(a,f);if(null==h||h-d>=2*e)break;if(g>=200)break;c.push(h),f=h,g++}return c},this.getNthChildIndex_AtObj=function(a,b,c){var d=this.getPosArrayOfChildren_AtObj(a,b);return d[c]},this.getDecendantIndexByNthList=function(a,b,c){if(0==c.length)return b;var d=c.shift(),e=this.getPosArrayOfChildren_AtObj(a,b);return this.getDecendantIndexByNthList(a,e[d],c)},this.getDecendantHexTLVByNthList=function(a,b,c){var d=this.getDecendantIndexByNthList(a,b,c);return this.getHexOfTLV_AtObj(a,d)},this.getDecendantHexVByNthList=function(a,b,c){var d=this.getDecendantIndexByNthList(a,b,c);return this.getHexOfV_AtObj(a,d)}};"undefined"!=typeof KJUR&&KJUR||(KJUR={}),"undefined"!=typeof KJUR.asn1&&KJUR.asn1||(KJUR.asn1={}),"undefined"!=typeof KJUR.asn1.x509&&KJUR.asn1.x509||(KJUR.asn1.x509={}),KJUR.asn1.x509.Certificate=function(a){KJUR.asn1.x509.Certificate.superclass.constructor.call(this);this.setRsaPrvKeyByPEMandPass=function(a,b){var c=PKCS5PKEY.getDecryptedKeyHex(a,b),d=new RSAKey;d.readPrivateKeyFromASN1HexString(c),this.rsaPrvKey=d},this.sign=function(){this.asn1SignatureAlg=this.asn1TBSCert.asn1SignatureAlg,sig=new KJUR.crypto.Signature({alg:"SHA1withRSA",prov:"cryptojs/jsrsa"}),sig.initSign(this.rsaPrvKey),sig.updateHex(this.asn1TBSCert.getEncodedHex()),this.hexSig=sig.sign(),this.asn1Sig=new KJUR.asn1.DERBitString({hex:"00"+this.hexSig});var a=new KJUR.asn1.DERSequence({array:[this.asn1TBSCert,this.asn1SignatureAlg,this.asn1Sig]});this.hTLV=a.getEncodedHex(),this.isModified=!1},this.getEncodedHex=function(){if(0==this.isModified&&null!=this.hTLV)return this.hTLV;throw"not signed yet"},this.getPEMString=function(){var a=this.getEncodedHex(),b=CryptoJS.enc.Hex.parse(a),c=CryptoJS.enc.Base64.stringify(b),d=c.replace(/(.{64})/g,"$1\r\n");return"-----BEGIN CERTIFICATE-----\r\n"+d+"\r\n-----END CERTIFICATE-----\r\n"},"undefined"!=typeof a&&("undefined"!=typeof a.tbscertobj&&(this.asn1TBSCert=a.tbscertobj),"undefined"!=typeof a.rsaprvkey&&(this.rsaPrvKey=a.rsaprvkey),"undefined"!=typeof a.rsaprvpem&&"undefined"!=typeof a.rsaprvpas&&this.setRsaPrvKeyByPEMandPass(a.rsaprvpem,a.rsaprvpas))},YAHOO.lang.extend(KJUR.asn1.x509.Certificate,KJUR.asn1.ASN1Object),KJUR.asn1.x509.TBSCertificate=function(){KJUR.asn1.x509.TBSCertificate.superclass.constructor.call(this),this._initialize=function(){this.asn1Array=new Array,this.asn1Version=new KJUR.asn1.DERTaggedObject({obj:new KJUR.asn1.DERInteger({"int":2})}),this.asn1SerialNumber=null,this.asn1SignatureAlg=null,this.asn1Issuer=null,this.asn1NotBefore=null,this.asn1NotAfter=null,this.asn1Subject=null,this.asn1SubjPKey=null,this.extensionsArray=new Array},this.setSerialNumberByParam=function(a){this.asn1SerialNumber=new KJUR.asn1.DERInteger(a)},this.setSignatureAlgByParam=function(a){this.asn1SignatureAlg=new KJUR.asn1.x509.AlgorithmIdentifier(a)},this.setIssuerByParam=function(a){this.asn1Issuer=new KJUR.asn1.x509.X500Name(a)},this.setNotBeforeByParam=function(a){this.asn1NotBefore=new KJUR.asn1.x509.Time(a)},this.setNotAfterByParam=function(a){this.asn1NotAfter=new KJUR.asn1.x509.Time(a)},this.setSubjectByParam=function(a){this.asn1Subject=new KJUR.asn1.x509.X500Name(a)},this.setSubjectPublicKeyByParam=function(a){this.asn1SubjPKey=new KJUR.asn1.x509.SubjectPublicKeyInfo(a)},this.appendExtension=function(a){this.extensionsArray.push(a)},this.getEncodedHex=function(){if(null==this.asn1NotBefore||null==this.asn1NotAfter)throw"notBefore and/or notAfter not set";var a=new KJUR.asn1.DERSequence({array:[this.asn1NotBefore,this.asn1NotAfter]});if(this.asn1Array=new Array,this.asn1Array.push(this.asn1Version),this.asn1Array.push(this.asn1SerialNumber),this.asn1Array.push(this.asn1SignatureAlg),this.asn1Array.push(this.asn1Issuer),this.asn1Array.push(a),this.asn1Array.push(this.asn1Subject),this.asn1Array.push(this.asn1SubjPKey),this.extensionsArray.length>0){var b=new KJUR.asn1.DERSequence({array:this.extensionsArray}),c=new KJUR.asn1.DERTaggedObject({explicit:!0,tag:"a3",obj:b});this.asn1Array.push(c)}var d=new KJUR.asn1.DERSequence({array:this.asn1Array});return this.hTLV=d.getEncodedHex(),this.isModified=!1,this.hTLV},this._initialize()},YAHOO.lang.extend(KJUR.asn1.x509.TBSCertificate,KJUR.asn1.ASN1Object),KJUR.asn1.x509.Extension=function(a){KJUR.asn1.x509.Extension.superclass.constructor.call(this);this.getEncodedHex=function(){var a=new KJUR.asn1.DERObjectIdentifier({oid:this.oid}),b=new KJUR.asn1.DEROctetString({hex:this.getExtnValueHex()}),c=new Array;c.push(a),this.critical&&c.push(new KJUR.asn1.DERBoolean),c.push(b);var d=new KJUR.asn1.DERSequence({array:c});return d.getEncodedHex()},this.critical=!1,"undefined"!=typeof a&&"undefined"!=typeof a.critical&&(this.critical=a.critical)},YAHOO.lang.extend(KJUR.asn1.x509.Extension,KJUR.asn1.ASN1Object),KJUR.asn1.x509.KeyUsage=function(a){KJUR.asn1.x509.KeyUsage.superclass.constructor.call(this,a),this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.15","undefined"!=typeof a&&"undefined"!=typeof a.bin&&(this.asn1ExtnValue=new KJUR.asn1.DERBitString(a))},YAHOO.lang.extend(KJUR.asn1.x509.KeyUsage,KJUR.asn1.x509.Extension),KJUR.asn1.x509.BasicConstraints=function(a){KJUR.asn1.x509.BasicConstraints.superclass.constructor.call(this,a);this.getExtnValueHex=function(){var a=new Array;this.cA&&a.push(new KJUR.asn1.DERBoolean),this.pathLen>-1&&a.push(new KJUR.asn1.DERInteger({"int":this.pathLen}));var b=new KJUR.asn1.DERSequence({array:a});return this.asn1ExtnValue=b,this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.19",this.cA=!1,this.pathLen=-1,"undefined"!=typeof a&&("undefined"!=typeof a.cA&&(this.cA=a.cA),"undefined"!=typeof a.pathLen&&(this.pathLen=a.pathLen))},YAHOO.lang.extend(KJUR.asn1.x509.BasicConstraints,KJUR.asn1.x509.Extension),KJUR.asn1.x509.CRLDistributionPoints=function(a){KJUR.asn1.x509.CRLDistributionPoints.superclass.constructor.call(this,a),this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.setByDPArray=function(a){this.asn1ExtnValue=new KJUR.asn1.DERSequence({array:a})},this.setByOneURI=function(a){var b=new KJUR.asn1.x509.GeneralNames([{uri:a}]),c=new KJUR.asn1.x509.DistributionPointName(b),d=new KJUR.asn1.x509.DistributionPoint({dpobj:c});this.setByDPArray([d])},this.oid="2.5.29.31","undefined"!=typeof a&&("undefined"!=typeof a.array?this.setByDPArray(a.array):"undefined"!=typeof a.uri&&this.setByOneURI(a.uri))},YAHOO.lang.extend(KJUR.asn1.x509.CRLDistributionPoints,KJUR.asn1.x509.Extension),KJUR.asn1.x509.ExtKeyUsage=function(a){KJUR.asn1.x509.ExtKeyUsage.superclass.constructor.call(this,a),this.setPurposeArray=function(a){this.asn1ExtnValue=new KJUR.asn1.DERSequence;for(var b=0;b0){var a=new KJUR.asn1.DERSequence({array:this.aRevokedCert});this.asn1Array.push(a)}var b=new KJUR.asn1.DERSequence({array:this.asn1Array});return this.hTLV=b.getEncodedHex(),this.isModified=!1,this.hTLV},this._initialize=function(){this.asn1Version=null,this.asn1SignatureAlg=null,this.asn1Issuer=null,this.asn1ThisUpdate=null,this.asn1NextUpdate=null,this.aRevokedCert=new Array},this._initialize()},YAHOO.lang.extend(KJUR.asn1.x509.TBSCertList,KJUR.asn1.ASN1Object),KJUR.asn1.x509.CRLEntry=function(a){KJUR.asn1.x509.CRLEntry.superclass.constructor.call(this);this.setCertSerial=function(a){this.sn=new KJUR.asn1.DERInteger(a)},this.setRevocationDate=function(a){this.time=new KJUR.asn1.x509.Time(a)},this.getEncodedHex=function(){var a=new KJUR.asn1.DERSequence({array:[this.sn,this.time]});return this.TLV=a.getEncodedHex(),this.TLV},"undefined"!=typeof a&&("undefined"!=typeof a.time&&this.setRevocationDate(a.time),"undefined"!=typeof a.sn&&this.setCertSerial(a.sn))},YAHOO.lang.extend(KJUR.asn1.x509.CRLEntry,KJUR.asn1.ASN1Object),KJUR.asn1.x509.X500Name=function(a){KJUR.asn1.x509.X500Name.superclass.constructor.call(this),this.asn1Array=new Array,this.setByString=function(a){var b=a.split("/");b.shift();for(var c=0;ce)throw"key is too short for SigAlg: keylen="+c+","+b;for(var f="0001",g="00"+d,h="",i=e-f.length-g.length,j=0;i>j;j+=2)h+="ff";var k=f+h+g;return k},this.hashString=function(a,b){var c=new KJUR.crypto.MessageDigest({alg:b});return c.digestString(a)},this.hashHex=function(a,b){var c=new KJUR.crypto.MessageDigest({alg:b});return c.digestHex(a)},this.sha1=function(a){var b=new KJUR.crypto.MessageDigest({alg:"sha1",prov:"cryptojs"});return b.digestString(a)},this.sha256=function(a){var b=new KJUR.crypto.MessageDigest({alg:"sha256",prov:"cryptojs"});return b.digestString(a)},this.sha256Hex=function(a){var b=new KJUR.crypto.MessageDigest({alg:"sha256",prov:"cryptojs"});return b.digestHex(a)},this.sha512=function(a){var b=new KJUR.crypto.MessageDigest({alg:"sha512",prov:"cryptojs"});return b.digestString(a)},this.sha512Hex=function(a){var b=new KJUR.crypto.MessageDigest({alg:"sha512",prov:"cryptojs"});return b.digestHex(a)},this.md5=function(a){var b=new KJUR.crypto.MessageDigest({alg:"md5",prov:"cryptojs"});return b.digestString(a)},this.ripemd160=function(a){var b=new KJUR.crypto.MessageDigest({alg:"ripemd160",prov:"cryptojs"});return b.digestString(a)},this.getCryptoJSMDByName=function(){}},KJUR.crypto.MessageDigest=function(params){var md=null,algName=null,provName=null;this.setAlgAndProvider=function(alg,prov){if(null!=alg&&void 0===prov&&(prov=KJUR.crypto.Util.DEFAULTPROVIDER[alg]),-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(alg)&&"cryptojs"==prov){try{this.md=eval(KJUR.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[alg]).create()}catch(ex){throw"setAlgAndProvider hash alg set fail alg="+alg+"/"+ex}this.updateString=function(a){this.md.update(a)},this.updateHex=function(a){var b=CryptoJS.enc.Hex.parse(a);this.md.update(b)},this.digest=function(){var a=this.md.finalize();return a.toString(CryptoJS.enc.Hex)},this.digestString=function(a){return this.updateString(a),this.digest()},this.digestHex=function(a){return this.updateHex(a),this.digest()}}if(-1!=":sha256:".indexOf(alg)&&"sjcl"==prov){try{this.md=new sjcl.hash.sha256}catch(ex){throw"setAlgAndProvider hash alg set fail alg="+alg+"/"+ex}this.updateString=function(a){this.md.update(a)},this.updateHex=function(a){var b=sjcl.codec.hex.toBits(a);this.md.update(b)},this.digest=function(){var a=this.md.finalize();return sjcl.codec.hex.fromBits(a)},this.digestString=function(a){return this.updateString(a),this.digest()},this.digestHex=function(a){return this.updateHex(a),this.digest()}}},this.updateString=function(){throw"updateString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.updateHex=function(){throw"updateHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digest=function(){throw"digest() not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestString=function(){throw"digestString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestHex=function(){throw"digestHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},void 0!==params&&void 0!==params.alg&&(this.algName=params.alg,void 0===params.prov&&(this.provName=KJUR.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName))},KJUR.crypto.Mac=function(params){var mac=null,pass=null,algName=null,provName=null,algProv=null;this.setAlgAndProvider=function(alg,prov){if(null==alg&&(alg="hmacsha1"),alg=alg.toLowerCase(),"hmac"!=alg.substr(0,4))throw"setAlgAndProvider unsupported HMAC alg: "+alg;void 0===prov&&(prov=KJUR.crypto.Util.DEFAULTPROVIDER[alg]),this.algProv=alg+"/"+prov;var hashAlg=alg.substr(4);if(-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(hashAlg)&&"cryptojs"==prov){try{var mdObj=eval(KJUR.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[hashAlg]);this.mac=CryptoJS.algo.HMAC.create(mdObj,this.pass)}catch(ex){throw"setAlgAndProvider hash alg set fail hashAlg="+hashAlg+"/"+ex}this.updateString=function(a){this.mac.update(a)},this.updateHex=function(a){var b=CryptoJS.enc.Hex.parse(a);this.mac.update(b)},this.doFinal=function(){var a=this.mac.finalize();return a.toString(CryptoJS.enc.Hex)},this.doFinalString=function(a){return this.updateString(a),this.doFinal()},this.doFinalHex=function(a){return this.updateHex(a),this.doFinal()}}},this.updateString=function(){throw"updateString(str) not supported for this alg/prov: "+this.algProv},this.updateHex=function(){throw"updateHex(hex) not supported for this alg/prov: "+this.algProv},this.doFinal=function(){throw"digest() not supported for this alg/prov: "+this.algProv},this.doFinalString=function(){throw"digestString(str) not supported for this alg/prov: "+this.algProv},this.doFinalHex=function(){throw"digestHex(hex) not supported for this alg/prov: "+this.algProv},void 0!==params&&(void 0!==params.pass&&(this.pass=params.pass),void 0!==params.alg&&(this.algName=params.alg,void 0===params.prov&&(this.provName=KJUR.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName)))},KJUR.crypto.Signature=function(a){var b=null;if(this._setAlgNames=function(){this.algName.match(/^(.+)with(.+)$/)&&(this.mdAlgName=RegExp.$1.toLowerCase(),this.pubkeyAlgName=RegExp.$2.toLowerCase())},this._zeroPaddingOfSignature=function(a,b){for(var c="",d=b/4-a.length,e=0;d>e;e++)c+="0";return c+a},this.setAlgAndProvider=function(a,b){if(this._setAlgNames(),"cryptojs/jsrsa"!=b)throw"provider not supported: "+b;if(-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(this.mdAlgName)){try{this.md=new KJUR.crypto.MessageDigest({alg:this.mdAlgName})}catch(c){throw"setAlgAndProvider hash alg set fail alg="+this.mdAlgName+"/"+c}this.init=function(a,b){if("string"==typeof a)if(-1!=a.indexOf("-END ENCRYPTED PRIVATE KEY-",0)&&void 0!==b)this.prvKey=PKCS5PKEY.getKeyFromEncryptedPKCS8PEM(a,b),this.state="SIGN";else if(-1!=a.indexOf("-END RSA PRIVATE KEY-",0)&&-1!=a.indexOf(",ENCRYPTED",0)&&void 0!==b)this.prvKey=PKCS5PKEY.getRSAKeyFromEncryptedPKCS5PEM(a,b),this.state="SIGN";else if(-1!=a.indexOf("-END RSA PRIVATE KEY-",0)&&-1==a.indexOf(",ENCRYPTED",0)&&void 0===b)this.prvKey=new RSAKey,this.prvKey.readPrivateKeyFromPEMString(a),this.state="SIGN";else if(-1!=a.indexOf("-END PRIVATE KEY-",0)&&void 0===b)this.prvKey=PKCS5PKEY.getKeyFromPlainPrivatePKCS8PEM(a),this.state="SIGN";else if(-1!=a.indexOf("-END PUBLIC KEY-",0)&&void 0===b)this.pubKey=PKCS5PKEY.getKeyFromPublicPKCS8PEM(a),this.state="VERIFY";else{if(-1==a.indexOf("-END CERTIFICATE-",0)&&-1==a.indexOf("-END X509 CERTIFICATE-",0)&&-1==a.indexOf("-END TRUSTED CERTIFICATE-",0)||void 0!==b)throw"unsupported arguments";this.pubKey=X509.getPublicKeyFromCertPEM(a),this.state="VERIFY"}else if(a instanceof RSAKey)if(null!=a.d)this.prvKey=a,this.state="SIGN";else{if(null==a.n)throw"RSAKey object is not private and public key";this.pubKey=a,this.state="VERIFY"}else if(a instanceof KJUR.crypto.ECDSA)if(null!=a.prvKeyHex)this.prvKey=a,this.state="SIGN";else{if(null==a.pubKeyHex)throw"ECDSA object is not private and public key";this.pubKey=a,this.state="VERIFY"}},this.initSign=function(a){"string"==typeof a.ecprvhex&&"string"==typeof a.eccurvename?(this.ecprvhex=a.ecprvhex,this.eccurvename=a.eccurvename):this.prvKey=a,this.state="SIGN"},this.initVerifyByPublicKey=function(a){"string"==typeof a.ecpubhex&&"string"==typeof a.eccurvename?(this.ecpubhex=a.ecpubhex,this.eccurvename=a.eccurvename):a instanceof KJUR.crypto.ECDSA?this.pubKey=a:a instanceof RSAKey&&(this.pubKey=a),this.state="VERIFY"},this.initVerifyByCertificatePEM=function(a){var b=new X509;b.readCertPEM(a),this.pubKey=b.subjectPublicKeyRSA,this.state="VERIFY"},this.updateString=function(a){this.md.updateString(a)},this.updateHex=function(a){this.md.updateHex(a)},this.sign=function(){if(this.sHashHex=this.md.digest(),"undefined"!=typeof this.ecprvhex&&"undefined"!=typeof this.eccurvename){var a=new KJUR.crypto.ECDSA({curve:this.eccurvename});this.hSign=a.signHex(this.sHashHex,this.ecprvhex)}else if("rsaandmgf1"==this.pubkeyAlgName)this.hSign=this.prvKey.signWithMessageHashPSS(this.sHashHex,this.mdAlgName,this.pssSaltLen);else if("rsa"==this.pubkeyAlgName)this.hSign=this.prvKey.signWithMessageHash(this.sHashHex,this.mdAlgName);else{if(!(this.prvKey instanceof KJUR.crypto.ECDSA))throw"Signature: unsupported public key alg: "+this.pubkeyAlgName;this.hSign=this.prvKey.signWithMessageHash(this.sHashHex)}return this.hSign},this.signString=function(a){this.updateString(a),this.sign()},this.signHex=function(a){this.updateHex(a),this.sign()},this.verify=function(a){if(this.sHashHex=this.md.digest(),"undefined"!=typeof this.ecpubhex&&"undefined"!=typeof this.eccurvename){var b=new KJUR.crypto.ECDSA({curve:this.eccurvename});return b.verifyHex(this.sHashHex,a,this.ecpubhex)}if("rsaandmgf1"==this.pubkeyAlgName)return this.pubKey.verifyWithMessageHashPSS(this.sHashHex,a,this.mdAlgName,this.pssSaltLen);if("rsa"==this.pubkeyAlgName)return this.pubKey.verifyWithMessageHash(this.sHashHex,a);if(this.pubKey instanceof KJUR.crypto.ECDSA)return this.pubKey.verifyWithMessageHash(this.sHashHex,a);throw"Signature: unsupported public key alg: "+this.pubkeyAlgName}}},this.init=function(){throw"init(key, pass) not supported for this alg:prov="+this.algProvName},this.initVerifyByPublicKey=function(){throw"initVerifyByPublicKey(rsaPubKeyy) not supported for this alg:prov="+this.algProvName},this.initVerifyByCertificatePEM=function(){throw"initVerifyByCertificatePEM(certPEM) not supported for this alg:prov="+this.algProvName},this.initSign=function(){throw"initSign(prvKey) not supported for this alg:prov="+this.algProvName},this.updateString=function(){throw"updateString(str) not supported for this alg:prov="+this.algProvName},this.updateHex=function(){throw"updateHex(hex) not supported for this alg:prov="+this.algProvName},this.sign=function(){throw"sign() not supported for this alg:prov="+this.algProvName},this.signString=function(){throw"digestString(str) not supported for this alg:prov="+this.algProvName},this.signHex=function(){throw"digestHex(hex) not supported for this alg:prov="+this.algProvName},this.verify=function(){throw"verify(hSigVal) not supported for this alg:prov="+this.algProvName},this.initParams=a,void 0!==a&&(void 0!==a.alg&&(this.algName=a.alg,this.provName=void 0===a.prov?KJUR.crypto.Util.DEFAULTPROVIDER[this.algName]:a.prov,this.algProvName=this.algName+":"+this.provName,this.setAlgAndProvider(this.algName,this.provName),this._setAlgNames()),void 0!==a.psssaltlen&&(this.pssSaltLen=a.psssaltlen),void 0!==a.prvkeypem)){if(void 0!==a.prvkeypas)throw"both prvkeypem and prvkeypas parameters not supported";try{var b=new RSAKey;b.readPrivateKeyFromPEMString(a.prvkeypem),this.initSign(b)}catch(c){throw"fatal error to load pem private key: "+c}}},KJUR.crypto.OID=new function(){this.oidhex2name={"2a864886f70d010101":"rsaEncryption","2a8648ce3d0201":"ecPublicKey","2a8648ce3d030107":"secp256r1","2b8104001f":"secp192k1","2b81040021":"secp224r1","2b8104000a":"secp256k1","2b81040023":"secp521r1","2b81040022":"secp384r1"}},"undefined"!=typeof KJUR&&KJUR||(KJUR={}),"undefined"!=typeof KJUR.crypto&&KJUR.crypto||(KJUR.crypto={}),KJUR.crypto.ECDSA=function(a){var b="secp256r1",c=new SecureRandom;this.type="EC",this.getBigRandom=function(a){return new BigInteger(a.bitLength(),c).mod(a.subtract(BigInteger.ONE)).add(BigInteger.ONE)},this.setNamedCurve=function(a){this.ecparams=KJUR.crypto.ECParameterDB.getByName(a),this.prvKeyHex=null,this.pubKeyHex=null,this.curveName=a},this.setPrivateKeyHex=function(a){this.prvKeyHex=a},this.setPublicKeyHex=function(a){this.pubKeyHex=a},this.generateKeyPairHex=function(){var a=this.ecparams.n,b=this.getBigRandom(a),c=this.ecparams.G.multiply(b),d=c.getX().toBigInteger(),e=c.getY().toBigInteger(),f=this.ecparams.keylen/4,g=("0000000000"+b.toString(16)).slice(-f),h=("0000000000"+d.toString(16)).slice(-f),i=("0000000000"+e.toString(16)).slice(-f),j="04"+h+i;return this.prvKeyHex=g,this.pubKeyHex=j,{ecprvhex:g,ecpubhex:j}},this.signWithMessageHash=function(a){return this.signHex(a,this.prvKeyHex)},this.signHex=function(a,b){var c=new BigInteger(b,16),d=this.ecparams.n,e=new BigInteger(a,16);do var f=this.getBigRandom(d),g=this.ecparams.G,h=g.multiply(f),i=h.getX().toBigInteger().mod(d);while(i.compareTo(BigInteger.ZERO)<=0);var j=f.modInverse(d).multiply(e.add(c.multiply(i))).mod(d);return KJUR.crypto.ECDSA.biRSSigToASN1Sig(i,j)},this.sign=function(a,b){var c=b,d=this.ecparams.n,e=BigInteger.fromByteArrayUnsigned(a);do var f=this.getBigRandom(d),g=this.ecparams.G,h=g.multiply(f),i=h.getX().toBigInteger().mod(d);while(i.compareTo(BigInteger.ZERO)<=0);var j=f.modInverse(d).multiply(e.add(c.multiply(i))).mod(d);return this.serializeSig(i,j)},this.verifyWithMessageHash=function(a,b){return this.verifyHex(a,b,this.pubKeyHex)},this.verifyHex=function(a,b,c){var d,e,f=KJUR.crypto.ECDSA.parseSigHex(b);d=f.r,e=f.s;var g;g=ECPointFp.decodeFromHex(this.ecparams.curve,c);var h=new BigInteger(a,16);return this.verifyRaw(h,d,e,g)},this.verify=function(a,b,c){var d,e;if(Bitcoin.Util.isArray(b)){var f=this.parseSig(b);d=f.r,e=f.s}else{if("object"!=typeof b||!b.r||!b.s)throw"Invalid value for signature";d=b.r,e=b.s}var g;if(c instanceof ECPointFp)g=c;else{if(!Bitcoin.Util.isArray(c))throw"Invalid format for pubkey value, must be byte array or ECPointFp";g=ECPointFp.decodeFrom(this.ecparams.curve,c)}var h=BigInteger.fromByteArrayUnsigned(a);return this.verifyRaw(h,d,e,g)},this.verifyRaw=function(a,b,c,d){var e=this.ecparams.n,f=this.ecparams.G;if(b.compareTo(BigInteger.ONE)<0||b.compareTo(e)>=0)return!1;if(c.compareTo(BigInteger.ONE)<0||c.compareTo(e)>=0)return!1;var g=c.modInverse(e),h=a.multiply(g).mod(e),i=b.multiply(g).mod(e),j=f.multiply(h).add(d.multiply(i)),k=j.getX().toBigInteger().mod(e);return k.equals(b)},this.serializeSig=function(a,b){var c=a.toByteArraySigned(),d=b.toByteArraySigned(),e=[];return e.push(2),e.push(c.length),e=e.concat(c),e.push(2),e.push(d.length),e=e.concat(d),e.unshift(e.length),e.unshift(48),e},this.parseSig=function(a){var b;if(48!=a[0])throw new Error("Signature not a valid DERSequence");if(b=2,2!=a[b])throw new Error("First element in signature must be a DERInteger");var c=a.slice(b+2,b+2+a[b+1]);if(b+=2+a[b+1],2!=a[b])throw new Error("Second element in signature must be a DERInteger");var d=a.slice(b+2,b+2+a[b+1]);b+=2+a[b+1];var e=BigInteger.fromByteArrayUnsigned(c),f=BigInteger.fromByteArrayUnsigned(d);return{r:e,s:f}},this.parseSigCompact=function(a){if(65!==a.length)throw"Signature has the wrong length";var b=a[0]-27;if(0>b||b>7)throw"Invalid signature type";var c=this.ecparams.n,d=BigInteger.fromByteArrayUnsigned(a.slice(1,33)).mod(c),e=BigInteger.fromByteArrayUnsigned(a.slice(33,65)).mod(c);return{r:d,s:e,i:b}},void 0!==a&&void 0!==a.curve&&(this.curveName=a.curve),void 0===this.curveName&&(this.curveName=b),this.setNamedCurve(this.curveName),void 0!==a&&(void 0!==a.prv&&(this.prvKeyHex=a.prv),void 0!==a.pub&&(this.pubKeyHex=a.pub))},KJUR.crypto.ECDSA.parseSigHex=function(a){var b=KJUR.crypto.ECDSA.parseSigHexInHexRS(a),c=new BigInteger(b.r,16),d=new BigInteger(b.s,16);return{r:c,s:d}},KJUR.crypto.ECDSA.parseSigHexInHexRS=function(a){if("30"!=a.substr(0,2))throw"signature is not a ASN.1 sequence";var b=ASN1HEX.getPosArrayOfChildren_AtObj(a,0);if(2!=b.length)throw"number of signature ASN.1 sequence elements seem wrong";var c=b[0],d=b[1];if("02"!=a.substr(c,2))throw"1st item of sequene of signature is not ASN.1 integer";if("02"!=a.substr(d,2))throw"2nd item of sequene of signature is not ASN.1 integer";var e=ASN1HEX.getHexOfV_AtObj(a,c),f=ASN1HEX.getHexOfV_AtObj(a,d);return{r:e,s:f}},KJUR.crypto.ECDSA.asn1SigToConcatSig=function(a){var b=KJUR.crypto.ECDSA.parseSigHexInHexRS(a),c=b.r,d=b.s;if("00"==c.substr(0,2)&&c.length/2*8%128==8&&(c=c.substr(2)),"00"==d.substr(0,2)&&d.length/2*8%128==8&&(d=d.substr(2)),c.length/2*8%128!=0)throw"unknown ECDSA sig r length error";if(d.length/2*8%128!=0)throw"unknown ECDSA sig s length error";return c+d},KJUR.crypto.ECDSA.concatSigToASN1Sig=function(a){if(a.length/2*8%128!=0)throw"unknown ECDSA concatinated r-s sig length error";var b=a.substr(0,a.length/2),c=a.substr(a.length/2);return KJUR.crypto.ECDSA.hexRSSigToASN1Sig(b,c)},KJUR.crypto.ECDSA.hexRSSigToASN1Sig=function(a,b){var c=new BigInteger(a,16),d=new BigInteger(b,16);return KJUR.crypto.ECDSA.biRSSigToASN1Sig(c,d)},KJUR.crypto.ECDSA.biRSSigToASN1Sig=function(a,b){var c=new KJUR.asn1.DERInteger({bigint:a}),d=new KJUR.asn1.DERInteger({bigint:b}),e=new KJUR.asn1.DERSequence({array:[c,d]});return e.getEncodedHex()},"undefined"!=typeof KJUR&&KJUR||(KJUR={}),"undefined"!=typeof KJUR.crypto&&KJUR.crypto||(KJUR.crypto={}),KJUR.crypto.ECParameterDB=new function(){function a(a){return new BigInteger(a,16)}var b={},c={};this.getByName=function(a){var d=a;if("undefined"!=typeof c[d]&&(d=c[a]),"undefined"!=typeof b[d])return b[d];throw"unregistered EC curve name: "+d},this.regist=function(d,e,f,g,h,i,j,k,l,m,n,o){b[d]={};var p=a(f),q=a(g),r=a(h),s=a(i),t=a(j),u=new ECCurveFp(p,q,r),v=u.decodePointHex("04"+k+l);b[d].name=d,b[d].keylen=e,b[d].curve=u,b[d].G=v,b[d].n=s,b[d].h=t,b[d].oid=n,b[d].info=o;for(var w=0;w=2*h)break}var l={};return l.keyhex=i.substr(0,2*g[a].keylen),l.ivhex=i.substr(2*g[a].keylen,2*g[a].ivlen),l},l=function(a,b,c,d){var e=CryptoJS.enc.Base64.parse(a),f=CryptoJS.enc.Hex.stringify(e),h=g[b].proc,i=h(f,c,d);return i},m=function(a,b,c,d){var e=g[b].eproc,f=e(a,c,d);return f};return{version:"1.0.5",getHexFromPEM:function(a,b){var c=a;if(-1==c.indexOf("BEGIN "+b))throw"can't find PEM header: "+b;c=c.replace("-----BEGIN "+b+"-----",""),c=c.replace("-----END "+b+"-----","");var d=c.replace(/\s+/g,""),e=b64tohex(d);return e},getDecryptedKeyHexByKeyIV:function(a,b,c,d){var e=h(b);return e(a,c,d)},parsePKCS5PEM:function(a){return j(a)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(a,b,c){return k(a,b,c)},decryptKeyB64:function(a,b,c,d){return l(a,b,c,d)},getDecryptedKeyHex:function(a,b){var c=j(a),d=(c.type,c.cipher),e=c.ivsalt,f=c.data,g=k(d,b,e),h=g.keyhex,i=l(f,d,h,e);return i},getRSAKeyFromEncryptedPKCS5PEM:function(a,b){var c=this.getDecryptedKeyHex(a,b),d=new RSAKey;return d.readPrivateKeyFromASN1HexString(c),d},getEryptedPKCS5PEMFromPrvKeyHex:function(a,b,c,d){var e="";if(("undefined"==typeof c||null==c)&&(c="AES-256-CBC"),"undefined"==typeof g[c])throw"PKCS5PKEY unsupported algorithm: "+c;if("undefined"==typeof d||null==d){var f=g[c].ivlen,h=i(f);d=h.toUpperCase()}var j=k(c,b,d),l=j.keyhex,n=m(a,c,l,d),o=n.replace(/(.{64})/g,"$1\r\n"),e="-----BEGIN RSA PRIVATE KEY-----\r\n";return e+="Proc-Type: 4,ENCRYPTED\r\n",e+="DEK-Info: "+c+","+d+"\r\n",e+="\r\n",e+=o,e+="\r\n-----END RSA PRIVATE KEY-----\r\n"},getEryptedPKCS5PEMFromRSAKey:function(a,b,c,d){var e=new KJUR.asn1.DERInteger({"int":0}),f=new KJUR.asn1.DERInteger({bigint:a.n}),g=new KJUR.asn1.DERInteger({"int":a.e}),h=new KJUR.asn1.DERInteger({bigint:a.d}),i=new KJUR.asn1.DERInteger({bigint:a.p}),j=new KJUR.asn1.DERInteger({bigint:a.q}),k=new KJUR.asn1.DERInteger({bigint:a.dmp1}),l=new KJUR.asn1.DERInteger({bigint:a.dmq1}),m=new KJUR.asn1.DERInteger({bigint:a.coeff}),n=new KJUR.asn1.DERSequence({array:[e,f,g,h,i,j,k,l,m]}),o=n.getEncodedHex();return this.getEryptedPKCS5PEMFromPrvKeyHex(o,b,c,d)},newEncryptedPKCS5PEM:function(a,b,c,d){("undefined"==typeof b||null==b)&&(b=1024),("undefined"==typeof c||null==c)&&(c="10001");var e=new RSAKey;e.generate(b,c);var f=null;return f="undefined"==typeof d||null==d?this.getEncryptedPKCS5PEMFromRSAKey(pkey,a):this.getEncryptedPKCS5PEMFromRSAKey(pkey,a,d)},getRSAKeyFromPlainPKCS8PEM:function(a){if(a.match(/ENCRYPTED/))throw"pem shall be not ENCRYPTED";var b=this.getHexFromPEM(a,"PRIVATE KEY"),c=this.getRSAKeyFromPlainPKCS8Hex(b);return c},getRSAKeyFromPlainPKCS8Hex:function(a){var b=ASN1HEX.getPosArrayOfChildren_AtObj(a,0);if(3!=b.length)throw"outer DERSequence shall have 3 elements: "+b.length;var c=ASN1HEX.getHexOfTLV_AtObj(a,b[1]);if("300d06092a864886f70d0101010500"!=c)throw"PKCS8 AlgorithmIdentifier is not rsaEnc: "+c;var c=ASN1HEX.getHexOfTLV_AtObj(a,b[1]),d=ASN1HEX.getHexOfTLV_AtObj(a,b[2]),e=ASN1HEX.getHexOfV_AtObj(d,0),f=new RSAKey;return f.readPrivateKeyFromASN1HexString(e),f},parseHexOfEncryptedPKCS8:function(a){var b={},c=ASN1HEX.getPosArrayOfChildren_AtObj(a,0);if(2!=c.length)throw"malformed format: SEQUENCE(0).items != 2: "+c.length;b.ciphertext=ASN1HEX.getHexOfV_AtObj(a,c[1]);var d=ASN1HEX.getPosArrayOfChildren_AtObj(a,c[0]);if(2!=d.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+d.length;if("2a864886f70d01050d"!=ASN1HEX.getHexOfV_AtObj(a,d[0]))throw"this only supports pkcs5PBES2";var e=ASN1HEX.getPosArrayOfChildren_AtObj(a,d[1]);if(2!=d.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+e.length;var f=ASN1HEX.getPosArrayOfChildren_AtObj(a,e[1]);if(2!=f.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+f.length;if("2a864886f70d0307"!=ASN1HEX.getHexOfV_AtObj(a,f[0]))throw"this only supports TripleDES";b.encryptionSchemeAlg="TripleDES",b.encryptionSchemeIV=ASN1HEX.getHexOfV_AtObj(a,f[1]);var g=ASN1HEX.getPosArrayOfChildren_AtObj(a,e[0]);if(2!=g.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+g.length;if("2a864886f70d01050c"!=ASN1HEX.getHexOfV_AtObj(a,g[0]))throw"this only supports pkcs5PBKDF2";var h=ASN1HEX.getPosArrayOfChildren_AtObj(a,g[1]);if(h.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+h.length;b.pbkdf2Salt=ASN1HEX.getHexOfV_AtObj(a,h[0]);var i=ASN1HEX.getHexOfV_AtObj(a,h[1]);try{b.pbkdf2Iter=parseInt(i,16)}catch(j){throw"malformed format pbkdf2Iter: "+i}return b},getPBKDF2KeyHexFromParam:function(a,b){var c=CryptoJS.enc.Hex.parse(a.pbkdf2Salt),d=a.pbkdf2Iter,e=CryptoJS.PBKDF2(b,c,{keySize:6,iterations:d}),f=CryptoJS.enc.Hex.stringify(e);return f},getPlainPKCS8HexFromEncryptedPKCS8PEM:function(a,b){var c=this.getHexFromPEM(a,"ENCRYPTED PRIVATE KEY"),d=this.parseHexOfEncryptedPKCS8(c),e=PKCS5PKEY.getPBKDF2KeyHexFromParam(d,b),f={};f.ciphertext=CryptoJS.enc.Hex.parse(d.ciphertext);var g=CryptoJS.enc.Hex.parse(e),h=CryptoJS.enc.Hex.parse(d.encryptionSchemeIV),i=CryptoJS.TripleDES.decrypt(f,g,{iv:h}),j=CryptoJS.enc.Hex.stringify(i);return j},getRSAKeyFromEncryptedPKCS8PEM:function(a,b){var c=this.getPlainPKCS8HexFromEncryptedPKCS8PEM(a,b),d=this.getRSAKeyFromPlainPKCS8Hex(c);return d},getKeyFromEncryptedPKCS8PEM:function(a,b){var c=this.getPlainPKCS8HexFromEncryptedPKCS8PEM(a,b),d=this.getKeyFromPlainPrivatePKCS8Hex(c);return d},parsePlainPrivatePKCS8Hex:function(a){var b={};if(b.algparam=null,"30"!=a.substr(0,2))throw"malformed plain PKCS8 private key(code:001)";var c=ASN1HEX.getPosArrayOfChildren_AtObj(a,0);if(3!=c.length)throw"malformed plain PKCS8 private key(code:002)";if("30"!=a.substr(c[1],2))throw"malformed PKCS8 private key(code:003)";var d=ASN1HEX.getPosArrayOfChildren_AtObj(a,c[1]);if(2!=d.length)throw"malformed PKCS8 private key(code:004)";if("06"!=a.substr(d[0],2))throw"malformed PKCS8 private key(code:005)";if(b.algoid=ASN1HEX.getHexOfV_AtObj(a,d[0]),"06"==a.substr(d[1],2)&&(b.algparam=ASN1HEX.getHexOfV_AtObj(a,d[1])),"04"!=a.substr(c[2],2))throw"malformed PKCS8 private key(code:006)";return b.keyidx=ASN1HEX.getStartPosOfV_AtObj(a,c[2]),b},getKeyFromPlainPrivatePKCS8PEM:function(a){var b=this.getHexFromPEM(a,"PRIVATE KEY"),c=this.getKeyFromPlainPrivatePKCS8Hex(b);return c},getKeyFromPlainPrivatePKCS8Hex:function(a){var b=this.parsePlainPrivatePKCS8Hex(a);if("2a864886f70d010101"==b.algoid){this.parsePrivateRawRSAKeyHexAtObj(a,b);var c=b.key,d=new RSAKey;return d.setPrivateEx(c.n,c.e,c.d,c.p,c.q,c.dp,c.dq,c.co),d}if("2a8648ce3d0201"==b.algoid){if(this.parsePrivateRawECKeyHexAtObj(a,b),void 0===KJUR.crypto.OID.oidhex2name[b.algparam])throw"KJUR.crypto.OID.oidhex2name undefined: "+b.algparam;var e=KJUR.crypto.OID.oidhex2name[b.algparam],d=new KJUR.crypto.ECDSA({curve:e,prv:b.key});return d}throw"unsupported private key algorithm"},getRSAKeyFromPublicPKCS8PEM:function(a){var b=this.getHexFromPEM(a,"PUBLIC KEY"),c=this.getRSAKeyFromPublicPKCS8Hex(b);return c},getKeyFromPublicPKCS8PEM:function(a){var b=this.getHexFromPEM(a,"PUBLIC KEY"),c=this.getKeyFromPublicPKCS8Hex(b);return c},getKeyFromPublicPKCS8Hex:function(a){var b=this.parsePublicPKCS8Hex(a);if("2a864886f70d010101"==b.algoid){var c=this.parsePublicRawRSAKeyHex(b.key),d=new RSAKey;return d.setPublic(c.n,c.e),d}if("2a8648ce3d0201"==b.algoid){if(void 0===KJUR.crypto.OID.oidhex2name[b.algparam])throw"KJUR.crypto.OID.oidhex2name undefined: "+b.algparam;var e=KJUR.crypto.OID.oidhex2name[b.algparam],d=new KJUR.crypto.ECDSA({curve:e,pub:b.key});return d}throw"unsupported public key algorithm"},parsePublicRawRSAKeyHex:function(a){var b={};if("30"!=a.substr(0,2))throw"malformed RSA key(code:001)";var c=ASN1HEX.getPosArrayOfChildren_AtObj(a,0);if(2!=c.length)throw"malformed RSA key(code:002)";if("02"!=a.substr(c[0],2))throw"malformed RSA key(code:003)";if(b.n=ASN1HEX.getHexOfV_AtObj(a,c[0]),"02"!=a.substr(c[1],2))throw"malformed RSA key(code:004)";return b.e=ASN1HEX.getHexOfV_AtObj(a,c[1]),b},parsePrivateRawRSAKeyHexAtObj:function(a,b){var c=b.keyidx;if("30"!=a.substr(c,2))throw"malformed RSA private key(code:001)";var d=ASN1HEX.getPosArrayOfChildren_AtObj(a,c);if(9!=d.length)throw"malformed RSA private key(code:002)";b.key={},b.key.n=ASN1HEX.getHexOfV_AtObj(a,d[1]),b.key.e=ASN1HEX.getHexOfV_AtObj(a,d[2]),b.key.d=ASN1HEX.getHexOfV_AtObj(a,d[3]),b.key.p=ASN1HEX.getHexOfV_AtObj(a,d[4]),b.key.q=ASN1HEX.getHexOfV_AtObj(a,d[5]),b.key.dp=ASN1HEX.getHexOfV_AtObj(a,d[6]),b.key.dq=ASN1HEX.getHexOfV_AtObj(a,d[7]),b.key.co=ASN1HEX.getHexOfV_AtObj(a,d[8])},parsePrivateRawECKeyHexAtObj:function(a,b){var c=b.keyidx;if("30"!=a.substr(c,2))throw"malformed ECC private key(code:001)";var d=ASN1HEX.getPosArrayOfChildren_AtObj(a,c);if(3!=d.length)throw"malformed ECC private key(code:002)";if("04"!=a.substr(d[1],2))throw"malformed ECC private key(code:003)";b.key=ASN1HEX.getHexOfV_AtObj(a,d[1])},parsePublicPKCS8Hex:function(a){var b={};b.algparam=null;var c=ASN1HEX.getPosArrayOfChildren_AtObj(a,0);if(2!=c.length)throw"outer DERSequence shall have 2 elements: "+c.length;var d=c[0];if("30"!=a.substr(d,2))throw"malformed PKCS8 public key(code:001)";var e=ASN1HEX.getPosArrayOfChildren_AtObj(a,d);if(2!=e.length)throw"malformed PKCS8 public key(code:002)";if("06"!=a.substr(e[0],2))throw"malformed PKCS8 public key(code:003)";if(b.algoid=ASN1HEX.getHexOfV_AtObj(a,e[0]),"06"==a.substr(e[1],2)&&(b.algparam=ASN1HEX.getHexOfV_AtObj(a,e[1])),"03"!=a.substr(c[1],2))throw"malformed PKCS8 public key(code:004)";return b.key=ASN1HEX.getHexOfV_AtObj(a,c[1]).substr(2),b},getRSAKeyFromPublicPKCS8Hex:function(a){var b=ASN1HEX.getPosArrayOfChildren_AtObj(a,0);if(2!=b.length)throw"outer DERSequence shall have 2 elements: "+b.length;var c=ASN1HEX.getHexOfTLV_AtObj(a,b[0]);if("300d06092a864886f70d0101010500"!=c)throw"PKCS8 AlgorithmId is not rsaEncryption";if("03"!=a.substr(b[1],2))throw"PKCS8 Public Key is not BITSTRING encapslated.";var d=ASN1HEX.getStartPosOfV_AtObj(a,b[1])+2;if("30"!=a.substr(d,2))throw"PKCS8 Public Key is not SEQUENCE.";var e=ASN1HEX.getPosArrayOfChildren_AtObj(a,d);if(2!=e.length)throw"inner DERSequence shall have 2 elements: "+e.length;if("02"!=a.substr(e[0],2))throw"N is not ASN.1 INTEGER";if("02"!=a.substr(e[1],2))throw"E is not ASN.1 INTEGER";var f=ASN1HEX.getHexOfV_AtObj(a,e[0]),g=ASN1HEX.getHexOfV_AtObj(a,e[1]),h=new RSAKey;return h.setPublic(f,g),h}}}(),KEYUTIL=function(){var a=function(a,b,d){return c(CryptoJS.AES,a,b,d)},b=function(a,b,d){return c(CryptoJS.TripleDES,a,b,d)},c=function(a,b,c,d){var e=CryptoJS.enc.Hex.parse(b),f=CryptoJS.enc.Hex.parse(c),g=CryptoJS.enc.Hex.parse(d),h={};h.key=f,h.iv=g,h.ciphertext=e;var i=a.decrypt(h,f,{iv:g});return CryptoJS.enc.Hex.stringify(i)},d=function(a,b,c){return f(CryptoJS.AES,a,b,c)},e=function(a,b,c){return f(CryptoJS.TripleDES,a,b,c)},f=function(a,b,c,d){var e=CryptoJS.enc.Hex.parse(b),f=CryptoJS.enc.Hex.parse(c),g=CryptoJS.enc.Hex.parse(d),h=a.encrypt(e,f,{iv:g}),i=CryptoJS.enc.Hex.parse(h.toString()),j=CryptoJS.enc.Base64.stringify(i);return j},g={"AES-256-CBC":{proc:a,eproc:d,keylen:32,ivlen:16},"AES-192-CBC":{proc:a,eproc:d,keylen:24,ivlen:16},"AES-128-CBC":{proc:a,eproc:d,keylen:16,ivlen:16},"DES-EDE3-CBC":{proc:b,eproc:e,keylen:24,ivlen:8}},h=function(a){return g[a].proc},i=function(a){var b=CryptoJS.lib.WordArray.random(a),c=CryptoJS.enc.Hex.stringify(b);return c},j=function(a){var b={};a.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"))&&(b.cipher=RegExp.$1,b.ivsalt=RegExp.$2),a.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"))&&(b.type=RegExp.$1);var c=-1,d=0;-1!=a.indexOf("\r\n\r\n")&&(c=a.indexOf("\r\n\r\n"),d=2),-1!=a.indexOf("\n\n")&&(c=a.indexOf("\n\n"),d=1);var e=a.indexOf("-----END");if(-1!=c&&-1!=e){var f=a.substring(c+2*d,e-d);f=f.replace(/\s+/g,""),b.data=f}return b},k=function(a,b,c){for(var d=c.substring(0,16),e=CryptoJS.enc.Hex.parse(d),f=CryptoJS.enc.Utf8.parse(b),h=g[a].keylen+g[a].ivlen,i="",j=null;;){var k=CryptoJS.algo.MD5.create();if(null!=j&&k.update(j),k.update(f),k.update(e),j=k.finalize(),i+=CryptoJS.enc.Hex.stringify(j),i.length>=2*h)break}var l={};return l.keyhex=i.substr(0,2*g[a].keylen),l.ivhex=i.substr(2*g[a].keylen,2*g[a].ivlen),l},l=function(a,b,c,d){var e=CryptoJS.enc.Base64.parse(a),f=CryptoJS.enc.Hex.stringify(e),h=g[b].proc,i=h(f,c,d);return i},m=function(a,b,c,d){var e=g[b].eproc,f=e(a,c,d);return f};return{version:"1.0.0",getHexFromPEM:function(a,b){var c=a;if(-1==c.indexOf("BEGIN "+b))throw"can't find PEM header: "+b;c=c.replace("-----BEGIN "+b+"-----",""),c=c.replace("-----END "+b+"-----","");var d=c.replace(/\s+/g,""),e=b64tohex(d);return e},getDecryptedKeyHexByKeyIV:function(a,b,c,d){var e=h(b);return e(a,c,d)},parsePKCS5PEM:function(a){return j(a)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(a,b,c){return k(a,b,c)},decryptKeyB64:function(a,b,c,d){return l(a,b,c,d)},getDecryptedKeyHex:function(a,b){var c=j(a),d=(c.type,c.cipher),e=c.ivsalt,f=c.data,g=k(d,b,e),h=g.keyhex,i=l(f,d,h,e);return i},getRSAKeyFromEncryptedPKCS5PEM:function(a,b){var c=this.getDecryptedKeyHex(a,b),d=new RSAKey;return d.readPrivateKeyFromASN1HexString(c),d},getEncryptedPKCS5PEMFromPrvKeyHex:function(a,b,c,d){var e="";if(("undefined"==typeof c||null==c)&&(c="AES-256-CBC"),"undefined"==typeof g[c])throw"KEYUTIL unsupported algorithm: "+c;if("undefined"==typeof d||null==d){var f=g[c].ivlen,h=i(f);d=h.toUpperCase()}var j=k(c,b,d),l=j.keyhex,n=m(a,c,l,d),o=n.replace(/(.{64})/g,"$1\r\n"),e="-----BEGIN RSA PRIVATE KEY-----\r\n";return e+="Proc-Type: 4,ENCRYPTED\r\n",e+="DEK-Info: "+c+","+d+"\r\n",e+="\r\n",e+=o,e+="\r\n-----END RSA PRIVATE KEY-----\r\n"},getEncryptedPKCS5PEMFromRSAKey:function(a,b,c,d){var e=new KJUR.asn1.DERInteger({"int":0}),f=new KJUR.asn1.DERInteger({bigint:a.n}),g=new KJUR.asn1.DERInteger({"int":a.e}),h=new KJUR.asn1.DERInteger({bigint:a.d}),i=new KJUR.asn1.DERInteger({bigint:a.p}),j=new KJUR.asn1.DERInteger({bigint:a.q}),k=new KJUR.asn1.DERInteger({bigint:a.dmp1}),l=new KJUR.asn1.DERInteger({bigint:a.dmq1}),m=new KJUR.asn1.DERInteger({bigint:a.coeff}),n=new KJUR.asn1.DERSequence({array:[e,f,g,h,i,j,k,l,m]}),o=n.getEncodedHex();return this.getEncryptedPKCS5PEMFromPrvKeyHex(o,b,c,d)},newEncryptedPKCS5PEM:function(a,b,c,d){("undefined"==typeof b||null==b)&&(b=1024),("undefined"==typeof c||null==c)&&(c="10001");var e=new RSAKey;e.generate(b,c);var f=null;return f="undefined"==typeof d||null==d?this.getEncryptedPKCS5PEMFromRSAKey(pkey,a):this.getEncryptedPKCS5PEMFromRSAKey(pkey,a,d)},getRSAKeyFromPlainPKCS8PEM:function(a){if(a.match(/ENCRYPTED/))throw"pem shall be not ENCRYPTED";var b=this.getHexFromPEM(a,"PRIVATE KEY"),c=this.getRSAKeyFromPlainPKCS8Hex(b);return c},getRSAKeyFromPlainPKCS8Hex:function(a){var b=ASN1HEX.getPosArrayOfChildren_AtObj(a,0);if(3!=b.length)throw"outer DERSequence shall have 3 elements: "+b.length;var c=ASN1HEX.getHexOfTLV_AtObj(a,b[1]);if("300d06092a864886f70d0101010500"!=c)throw"PKCS8 AlgorithmIdentifier is not rsaEnc: "+c;var c=ASN1HEX.getHexOfTLV_AtObj(a,b[1]),d=ASN1HEX.getHexOfTLV_AtObj(a,b[2]),e=ASN1HEX.getHexOfV_AtObj(d,0),f=new RSAKey;return f.readPrivateKeyFromASN1HexString(e),f},parseHexOfEncryptedPKCS8:function(a){var b={},c=ASN1HEX.getPosArrayOfChildren_AtObj(a,0);if(2!=c.length)throw"malformed format: SEQUENCE(0).items != 2: "+c.length;b.ciphertext=ASN1HEX.getHexOfV_AtObj(a,c[1]);var d=ASN1HEX.getPosArrayOfChildren_AtObj(a,c[0]);if(2!=d.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+d.length;if("2a864886f70d01050d"!=ASN1HEX.getHexOfV_AtObj(a,d[0]))throw"this only supports pkcs5PBES2";var e=ASN1HEX.getPosArrayOfChildren_AtObj(a,d[1]);if(2!=d.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+e.length;var f=ASN1HEX.getPosArrayOfChildren_AtObj(a,e[1]);if(2!=f.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+f.length;if("2a864886f70d0307"!=ASN1HEX.getHexOfV_AtObj(a,f[0]))throw"this only supports TripleDES";b.encryptionSchemeAlg="TripleDES",b.encryptionSchemeIV=ASN1HEX.getHexOfV_AtObj(a,f[1]);var g=ASN1HEX.getPosArrayOfChildren_AtObj(a,e[0]);if(2!=g.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+g.length;if("2a864886f70d01050c"!=ASN1HEX.getHexOfV_AtObj(a,g[0]))throw"this only supports pkcs5PBKDF2";var h=ASN1HEX.getPosArrayOfChildren_AtObj(a,g[1]);if(h.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+h.length;b.pbkdf2Salt=ASN1HEX.getHexOfV_AtObj(a,h[0]);var i=ASN1HEX.getHexOfV_AtObj(a,h[1]);try{b.pbkdf2Iter=parseInt(i,16)}catch(j){throw"malformed format pbkdf2Iter: "+i}return b},getPBKDF2KeyHexFromParam:function(a,b){var c=CryptoJS.enc.Hex.parse(a.pbkdf2Salt),d=a.pbkdf2Iter,e=CryptoJS.PBKDF2(b,c,{keySize:6,iterations:d}),f=CryptoJS.enc.Hex.stringify(e);return f},getPlainPKCS8HexFromEncryptedPKCS8PEM:function(a,b){var c=this.getHexFromPEM(a,"ENCRYPTED PRIVATE KEY"),d=this.parseHexOfEncryptedPKCS8(c),e=KEYUTIL.getPBKDF2KeyHexFromParam(d,b),f={};f.ciphertext=CryptoJS.enc.Hex.parse(d.ciphertext);var g=CryptoJS.enc.Hex.parse(e),h=CryptoJS.enc.Hex.parse(d.encryptionSchemeIV),i=CryptoJS.TripleDES.decrypt(f,g,{iv:h}),j=CryptoJS.enc.Hex.stringify(i);return j},getRSAKeyFromEncryptedPKCS8PEM:function(a,b){var c=this.getPlainPKCS8HexFromEncryptedPKCS8PEM(a,b),d=this.getRSAKeyFromPlainPKCS8Hex(c);return d},getKeyFromEncryptedPKCS8PEM:function(a,b){var c=this.getPlainPKCS8HexFromEncryptedPKCS8PEM(a,b),d=this.getKeyFromPlainPrivatePKCS8Hex(c);return d},parsePlainPrivatePKCS8Hex:function(a){var b={};if(b.algparam=null,"30"!=a.substr(0,2))throw"malformed plain PKCS8 private key(code:001)";var c=ASN1HEX.getPosArrayOfChildren_AtObj(a,0);if(3!=c.length)throw"malformed plain PKCS8 private key(code:002)";if("30"!=a.substr(c[1],2))throw"malformed PKCS8 private key(code:003)";var d=ASN1HEX.getPosArrayOfChildren_AtObj(a,c[1]);if(2!=d.length)throw"malformed PKCS8 private key(code:004)";if("06"!=a.substr(d[0],2))throw"malformed PKCS8 private key(code:005)";if(b.algoid=ASN1HEX.getHexOfV_AtObj(a,d[0]),"06"==a.substr(d[1],2)&&(b.algparam=ASN1HEX.getHexOfV_AtObj(a,d[1])),"04"!=a.substr(c[2],2))throw"malformed PKCS8 private key(code:006)";return b.keyidx=ASN1HEX.getStartPosOfV_AtObj(a,c[2]),b},getKeyFromPlainPrivatePKCS8PEM:function(a){var b=this.getHexFromPEM(a,"PRIVATE KEY"),c=this.getKeyFromPlainPrivatePKCS8Hex(b);return c},getKeyFromPlainPrivatePKCS8Hex:function(a){var b=this.parsePlainPrivatePKCS8Hex(a);if("2a864886f70d010101"==b.algoid){this.parsePrivateRawRSAKeyHexAtObj(a,b);var c=b.key,d=new RSAKey;return d.setPrivateEx(c.n,c.e,c.d,c.p,c.q,c.dp,c.dq,c.co),d}if("2a8648ce3d0201"==b.algoid){if(this.parsePrivateRawECKeyHexAtObj(a,b),void 0===KJUR.crypto.OID.oidhex2name[b.algparam])throw"KJUR.crypto.OID.oidhex2name undefined: "+b.algparam;var e=KJUR.crypto.OID.oidhex2name[b.algparam],d=new KJUR.crypto.ECDSA({curve:e,prv:b.key});return d}throw"unsupported private key algorithm"},getRSAKeyFromPublicPKCS8PEM:function(a){var b=this.getHexFromPEM(a,"PUBLIC KEY"),c=this.getRSAKeyFromPublicPKCS8Hex(b);return c},getKeyFromPublicPKCS8PEM:function(a){var b=this.getHexFromPEM(a,"PUBLIC KEY"),c=this.getKeyFromPublicPKCS8Hex(b);return c},getKeyFromPublicPKCS8Hex:function(a){var b=this.parsePublicPKCS8Hex(a);if("2a864886f70d010101"==b.algoid){var c=this.parsePublicRawRSAKeyHex(b.key),d=new RSAKey;return d.setPublic(c.n,c.e),d}if("2a8648ce3d0201"==b.algoid){if(void 0===KJUR.crypto.OID.oidhex2name[b.algparam])throw"KJUR.crypto.OID.oidhex2name undefined: "+b.algparam;var e=KJUR.crypto.OID.oidhex2name[b.algparam],d=new KJUR.crypto.ECDSA({curve:e,pub:b.key});return d}throw"unsupported public key algorithm"},parsePublicRawRSAKeyHex:function(a){var b={};if("30"!=a.substr(0,2))throw"malformed RSA key(code:001)";var c=ASN1HEX.getPosArrayOfChildren_AtObj(a,0);if(2!=c.length)throw"malformed RSA key(code:002)";if("02"!=a.substr(c[0],2))throw"malformed RSA key(code:003)";if(b.n=ASN1HEX.getHexOfV_AtObj(a,c[0]),"02"!=a.substr(c[1],2))throw"malformed RSA key(code:004)";return b.e=ASN1HEX.getHexOfV_AtObj(a,c[1]),b},parsePrivateRawRSAKeyHexAtObj:function(a,b){var c=b.keyidx;if("30"!=a.substr(c,2))throw"malformed RSA private key(code:001)";var d=ASN1HEX.getPosArrayOfChildren_AtObj(a,c);if(9!=d.length)throw"malformed RSA private key(code:002)";b.key={},b.key.n=ASN1HEX.getHexOfV_AtObj(a,d[1]),b.key.e=ASN1HEX.getHexOfV_AtObj(a,d[2]),b.key.d=ASN1HEX.getHexOfV_AtObj(a,d[3]),b.key.p=ASN1HEX.getHexOfV_AtObj(a,d[4]),b.key.q=ASN1HEX.getHexOfV_AtObj(a,d[5]),b.key.dp=ASN1HEX.getHexOfV_AtObj(a,d[6]),b.key.dq=ASN1HEX.getHexOfV_AtObj(a,d[7]),b.key.co=ASN1HEX.getHexOfV_AtObj(a,d[8])},parsePrivateRawECKeyHexAtObj:function(a,b){var c=b.keyidx;if("30"!=a.substr(c,2))throw"malformed ECC private key(code:001)";var d=ASN1HEX.getPosArrayOfChildren_AtObj(a,c);if(3!=d.length)throw"malformed ECC private key(code:002)";if("04"!=a.substr(d[1],2))throw"malformed ECC private key(code:003)";b.key=ASN1HEX.getHexOfV_AtObj(a,d[1])},parsePublicPKCS8Hex:function(a){var b={};b.algparam=null;var c=ASN1HEX.getPosArrayOfChildren_AtObj(a,0);if(2!=c.length)throw"outer DERSequence shall have 2 elements: "+c.length;var d=c[0];if("30"!=a.substr(d,2))throw"malformed PKCS8 public key(code:001)";var e=ASN1HEX.getPosArrayOfChildren_AtObj(a,d);if(2!=e.length)throw"malformed PKCS8 public key(code:002)";if("06"!=a.substr(e[0],2))throw"malformed PKCS8 public key(code:003)";if(b.algoid=ASN1HEX.getHexOfV_AtObj(a,e[0]),"06"==a.substr(e[1],2)&&(b.algparam=ASN1HEX.getHexOfV_AtObj(a,e[1])),"03"!=a.substr(c[1],2))throw"malformed PKCS8 public key(code:004)";return b.key=ASN1HEX.getHexOfV_AtObj(a,c[1]).substr(2),b},getRSAKeyFromPublicPKCS8Hex:function(a){var b=ASN1HEX.getPosArrayOfChildren_AtObj(a,0);if(2!=b.length)throw"outer DERSequence shall have 2 elements: "+b.length;var c=ASN1HEX.getHexOfTLV_AtObj(a,b[0]);if("300d06092a864886f70d0101010500"!=c)throw"PKCS8 AlgorithmId is not rsaEncryption";if("03"!=a.substr(b[1],2))throw"PKCS8 Public Key is not BITSTRING encapslated.";var d=ASN1HEX.getStartPosOfV_AtObj(a,b[1])+2;if("30"!=a.substr(d,2))throw"PKCS8 Public Key is not SEQUENCE.";var e=ASN1HEX.getPosArrayOfChildren_AtObj(a,d);if(2!=e.length)throw"inner DERSequence shall have 2 elements: "+e.length;if("02"!=a.substr(e[0],2))throw"N is not ASN.1 INTEGER";if("02"!=a.substr(e[1],2))throw"E is not ASN.1 INTEGER";var f=ASN1HEX.getHexOfV_AtObj(a,e[0]),g=ASN1HEX.getHexOfV_AtObj(a,e[1]),h=new RSAKey;return h.setPublic(f,g),h}}}();KEYUTIL.getKey=function(a,b,c){if(a instanceof RSAKey)return a;if(a instanceof KJUR.crypto.ECDSA)return a;if(void 0!==a.xy&&void 0!==a.curve)return new KJUR.crypto.ECDSA({prv:a.xy,curve:a.curve});if(void 0!==a.n&&void 0!==a.e&&void 0!==a.d&&void 0!==a.p&&void 0!==a.q&&void 0!==a.dp&&void 0!==a.dq&&void 0!==a.co){var d=new RSAKey;return d.setPrivateEx(a.n,a.e,a.d,a.p,a.q,a.dp,a.dq,a.co),d}if(void 0!==a.d&&void 0!==a.curve)return new KJUR.crypto.ECDSA({pub:a.d,curve:a.curve});if(void 0!==a.n&&a.e){var d=new RSAKey;return d.setPublic(a.n,a.e),d}if(-1!=a.indexOf("-END CERTIFICATE-",0)||-1!=a.indexOf("-END X509 CERTIFICATE-",0)||-1!=a.indexOf("-END TRUSTED CERTIFICATE-",0))return X509.getPublicKeyFromCertPEM(a);if("pkcs8pub"===c)return KEYUTIL.getKeyFromPublicPKCS8Hex(a);if(-1!=a.indexOf("-END PUBLIC KEY-"))return KEYUTIL.getKeyFromPublicPKCS8PEM(a);if("pkcs5prv"===c){var d=new RSAKey;return d.readPrivateKeyFromASN1HexString(a),d}if("pkcs5prv"===c){var d=new RSAKey;return d.readPrivateKeyFromASN1HexString(a),d}if(-1!=a.indexOf("-END RSA PRIVATE KEY-")&&-1==a.indexOf("4,ENCRYPTED")){var d=new RSAKey;return d.readPrivateKeyFromPEMString(a),d}if(-1!=a.indexOf("-END PRIVATE KEY-"))return KEYUTIL.getKeyFromPlainPrivatePKCS8PEM(a);if(-1!=a.indexOf("-END RSA PRIVATE KEY-")&&-1!=a.indexOf("4,ENCRYPTED"))return KEYUTIL.getRSAKeyFromEncryptedPKCS5PEM(a,b);if(-1!=a.indexOf("-END ENCRYPTED PRIVATE KEY-"))return KEYUTIL.getKeyFromEncryptedPKCS8PEM(a,b);throw"not supported argument"},KEYUTIL.generateKeypair=function(a,b){if("RSA"==a){var c=b,d=new RSAKey;d.generate(c,"10001");var e=new RSAKey,f=d.n.toString(16),g=d.e.toString(16);e.setPublic(f,g);var h={};return h.prvKeyObj=d,h.pubKeyObj=e,h}if("EC"==a){var i=b,j=new KJUR.crypto.ECDSA({curve:i}),k=j.generateKeyPairHex(),d=new KJUR.crypto.ECDSA({curve:i});d.setPrivateKeyHex(k.ecprvhex);var e=new KJUR.crypto.ECDSA({curve:i});e.setPublicKeyHex(k.ecpubhex);var h={};return h.prvKeyObj=d,h.pubKeyObj=e,h}throw"unknown algorithm: "+a},RSAKey.prototype.readPrivateKeyFromPEMString=_rsapem_readPrivateKeyFromPEMString,RSAKey.prototype.readPrivateKeyFromASN1HexString=_rsapem_readPrivateKeyFromASN1HexString;var _RE_HEXDECONLY=new RegExp("");_RE_HEXDECONLY.compile("[^0-9a-f]","gi"),RSAKey.prototype.signWithMessageHash=_rsasign_signWithMessageHash,RSAKey.prototype.signString=_rsasign_signString,RSAKey.prototype.signStringWithSHA1=_rsasign_signStringWithSHA1,RSAKey.prototype.signStringWithSHA256=_rsasign_signStringWithSHA256,RSAKey.prototype.sign=_rsasign_signString,RSAKey.prototype.signWithSHA1=_rsasign_signStringWithSHA1,RSAKey.prototype.signWithSHA256=_rsasign_signStringWithSHA256,RSAKey.prototype.signWithMessageHashPSS=_rsasign_signWithMessageHashPSS,RSAKey.prototype.signStringPSS=_rsasign_signStringPSS,RSAKey.prototype.signPSS=_rsasign_signStringPSS,RSAKey.SALT_LEN_HLEN=-1,RSAKey.SALT_LEN_MAX=-2,RSAKey.prototype.verifyWithMessageHash=_rsasign_verifyWithMessageHash,RSAKey.prototype.verifyString=_rsasign_verifyString,RSAKey.prototype.verifyHexSignatureForMessage=_rsasign_verifyHexSignatureForMessage,RSAKey.prototype.verify=_rsasign_verifyString,RSAKey.prototype.verifyHexSignatureForByteArrayMessage=_rsasign_verifyHexSignatureForMessage,RSAKey.prototype.verifyWithMessageHashPSS=_rsasign_verifyWithMessageHashPSS,RSAKey.prototype.verifyStringPSS=_rsasign_verifyStringPSS,RSAKey.prototype.verifyPSS=_rsasign_verifyStringPSS,RSAKey.SALT_LEN_RECOVER=-2,X509.pemToBase64=function(a){var b=a;return b=b.replace("-----BEGIN CERTIFICATE-----",""),b=b.replace("-----END CERTIFICATE-----",""),b=b.replace(/[ \n]+/g,"")},X509.pemToHex=function(a){var b=X509.pemToBase64(a),c=b64tohex(b);return c},X509.getSubjectPublicKeyPosFromCertHex=function(a){var b=X509.getSubjectPublicKeyInfoPosFromCertHex(a);if(-1==b)return-1;var c=ASN1HEX.getPosArrayOfChildren_AtObj(a,b);if(2!=c.length)return-1;var d=c[1];if("03"!=a.substring(d,d+2))return-1;var e=ASN1HEX.getStartPosOfV_AtObj(a,d);return"00"!=a.substring(e,e+2)?-1:e+2},X509.getSubjectPublicKeyInfoPosFromCertHex=function(a){var b=ASN1HEX.getStartPosOfV_AtObj(a,0),c=ASN1HEX.getPosArrayOfChildren_AtObj(a,b);return c.length<1?-1:"a003020102"==a.substring(c[0],c[0]+10)?c.length<6?-1:c[6]:c.length<5?-1:c[5]},X509.getPublicKeyHexArrayFromCertHex=function(a){var b=X509.getSubjectPublicKeyPosFromCertHex(a),c=ASN1HEX.getPosArrayOfChildren_AtObj(a,b);if(2!=c.length)return[];var d=ASN1HEX.getHexOfV_AtObj(a,c[0]),e=ASN1HEX.getHexOfV_AtObj(a,c[1]);return null!=d&&null!=e?[d,e]:[]},X509.getHexTbsCertificateFromCert=function(a){var b=ASN1HEX.getStartPosOfV_AtObj(a,0);return b},X509.getPublicKeyHexArrayFromCertPEM=function(a){var b=X509.pemToHex(a),c=X509.getPublicKeyHexArrayFromCertHex(b);return c},X509.hex2dn=function(a){for(var b="",c=ASN1HEX.getPosArrayOfChildren_AtObj(a,0),d=0;d signature verified'):($(a).removeClass("valid-token"),$(a).addClass("invalid-token"),a.innerHTML=' invalid signature')}}var k=CodeMirror,l=k(document.getElementsByClassName("js-input")[0],{mode:"jwt",theme:"night",lineWrapping:!0,autofocus:!0,extraKeys:{Tab:b}}),m=k(document.getElementsByClassName("js-header")[0],{mode:"application/json",lineWrapping:!0,extraKeys:{Tab:b},lint:!0}),n=k(document.getElementsByClassName("js-payload")[0],{mode:"application/json",lineWrapping:!0,extraKeys:{Tab:b},lint:!0});l.on("change",d),n.on("change",g),m.on("change",g);var o=document.getElementsByName("secret")[0],p=document.getElementsByName("is-base64-encoded")[0];if(o.addEventListener("change",j,!1),o.addEventListener("keyup",j,!1),p.addEventListener("change",j,!1),document.location.search){var q=document.location.search.slice(1),r={};if(q=q.split("&"),q.forEach(function(a){a=a.split("="),r[a[0]]=a[1]}),r.value)return void l.setValue(decodeURIComponent(r.value))}if(document.location.hash){var q=document.location.hash.slice(1),r={};if(q=q.split("&"),q.forEach(function(a){a=a.split("="),r[a[0]]=a[1]}),r.id_token)return void l.setValue(decodeURIComponent(r.id_token))}f(function(a){l.setValue(a||"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.eoaDVGTClRdfxUZXiPs3f8FmJDkDE_VCQFXqKxpLsts")})}(),function(){setInterval(function(){var a,b;return b=new Date(1987,5,30),a=new Date,$("#time").text(((a-b)/1e3).toFixed(0))},1e3)}.call(this); \ No newline at end of file diff --git a/e2e/debugger.spec.ts b/e2e/debugger.spec.ts new file mode 100644 index 00000000..ba77657c --- /dev/null +++ b/e2e/debugger.spec.ts @@ -0,0 +1,192 @@ +import { expect, test } from "@playwright/test"; +import { dataTestidDictionary } from "@/libs/testing/data-testid.dictionary"; +import { + checkHeaderEditorStatusBarMessage, + checkJwtEditorNotificationBarMessage, + checkJwtEditorStatusBarMessage, + checkPayloadEditorStatusBarMessage, + E2E_BASE_URL, + expectToBeNonNull, + getLang, + switchToEncoderTab, +} from "./e2e.utils"; +import { MessageStatusValue, MessageTypeValue } from "./e2e.values"; + +test("Can load decoded header and decoded payload from the JWT Decoder as inputs into the JWT Encoder", async ({ + page, +}) => { + const jwtSignedWithNotSupportedAlgorithm = + "eyJhbGciOiJCUDI1NlIxIiwidHlwIjoiYXQrSldUIiwia2lkIjoic2lnIn0.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.kSA6uak_GNjbj_X7Va8OCSWe3h1lxU_xlonWFKkenAIYCG6ylCjGoRj9ZIQFAV-XAueyPvYkKU1EuDF5t9Y0Ag"; + const expectedDecodedHeader = { + alg: "BP256R1", + typ: "at+JWT", + kid: "sig", + }; + const expectedDecodedPayload = { + "sub": "1234567890", + "name": "John Doe", + "admin": true, + "iat": 1516239022 + }; + + await page.goto(E2E_BASE_URL); + + const lang = await getLang(page); + expectToBeNonNull(lang); + + const decoderWidget = page.getByTestId(dataTestidDictionary.decoder.id); + + const jwtEditor = decoderWidget.getByTestId( + dataTestidDictionary.decoder.jwtEditor.id, + ); + const jwtEditorInput = jwtEditor.getByRole("textbox"); + + await jwtEditorInput.fill(jwtSignedWithNotSupportedAlgorithm); + + await expect(jwtEditorInput).toHaveValue(jwtSignedWithNotSupportedAlgorithm); + + await checkJwtEditorStatusBarMessage({ + page, + type: MessageTypeValue.ERROR, + status: MessageStatusValue.VISIBLE, + }); + + await checkJwtEditorNotificationBarMessage({ + page, + type: MessageTypeValue.WARNING, + status: MessageStatusValue.VISIBLE, + }); + + await expect( + decoderWidget.getByTestId( + dataTestidDictionary.decoder.decodedHeader.json.id, + ), + ).toHaveText(JSON.stringify(expectedDecodedHeader, null, 2), { + useInnerText: true, + }); + + await expect( + decoderWidget.getByTestId( + dataTestidDictionary.decoder.decodedPayload.json.id, + ), + ).toHaveText(JSON.stringify(expectedDecodedPayload, null, 2), { + useInnerText: true, + }); + + const secretKeyEditor = decoderWidget.getByTestId( + dataTestidDictionary.decoder.secretKeyEditor.id, + ); + + await expect(secretKeyEditor).not.toBeVisible(); + + await switchToEncoderTab(page); + + const encoderWidget = page.getByTestId(dataTestidDictionary.encoder.id); + + const headerEditor = encoderWidget + .getByTestId(dataTestidDictionary.encoder.headerEditor.id) + .first(); + const payloadEditor = encoderWidget.getByTestId( + dataTestidDictionary.encoder.payloadEditor.id, + ); + + await expect(headerEditor.getByRole("textbox")).toHaveValue( + JSON.stringify(expectedDecodedHeader, null, 2), + ); + + await expect(payloadEditor.getByRole("textbox")).toHaveValue( + JSON.stringify(expectedDecodedPayload, null, 2), + ); + + await checkHeaderEditorStatusBarMessage({ + page, + type: MessageTypeValue.ERROR, + status: MessageStatusValue.VISIBLE, + }); + + await checkPayloadEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); +}); + +test("Can decode a single jwt piece and load it as input into the jwt encoded header", async ({ + page, +}) => { + const jwtWithHeaderSegmentOnly = "eyJhbGciOiJCUDI1NlIxIiwidHlwIjoiYXQrSldUIiwia2lkIjoic2lnIn0" + const expectedDecodedHeader = { + alg: "BP256R1", + typ: "at+JWT", + kid: "sig", + }; + + await page.goto(E2E_BASE_URL); + + const lang = await getLang(page); + expectToBeNonNull(lang); + + const decoderWidget = page.getByTestId(dataTestidDictionary.decoder.id); + + const jwtEditor = decoderWidget.getByTestId( + dataTestidDictionary.decoder.jwtEditor.id, + ); + const jwtEditorInput = jwtEditor.getByRole("textbox"); + + await jwtEditorInput.fill(jwtWithHeaderSegmentOnly); + + await expect( + decoderWidget.getByTestId( + dataTestidDictionary.decoder.decodedHeader.json.id, + ), + ).toHaveText(JSON.stringify(expectedDecodedHeader, null, 2), { + useInnerText: true, + }); + + await expect( + decoderWidget.getByTestId( + dataTestidDictionary.decoder.decodedPayload.json.id, + ), + ).toBeEmpty(); + + const secretKeyEditor = decoderWidget.getByTestId( + dataTestidDictionary.decoder.secretKeyEditor.id, + ); + + await expect(secretKeyEditor).not.toBeVisible(); + + await switchToEncoderTab(page); + + const encoderWidget = page.getByTestId(dataTestidDictionary.encoder.id); + + const headerEditor = encoderWidget + .getByTestId(dataTestidDictionary.encoder.headerEditor.id) + .first(); + const payloadEditor = encoderWidget.getByTestId( + dataTestidDictionary.encoder.payloadEditor.id, + ); + + await expect(headerEditor.getByRole("textbox")).toHaveValue( + JSON.stringify(expectedDecodedHeader, null, 2), + ); + + await expect(payloadEditor.getByRole("textbox")).toBeEmpty(); + + await checkHeaderEditorStatusBarMessage({ + page, + type: MessageTypeValue.ERROR, + status: MessageStatusValue.VISIBLE, + }); + + await checkPayloadEditorStatusBarMessage({ + page, + type: MessageTypeValue.ERROR, + status: MessageStatusValue.VISIBLE, + }); + + const encoderSecretKeyEditor = decoderWidget.getByTestId( + dataTestidDictionary.encoder.secretKeyEditor.id, + ); + + await expect(encoderSecretKeyEditor).not.toBeVisible(); +}); \ No newline at end of file diff --git a/e2e/decoder.spec.ts b/e2e/decoder.spec.ts new file mode 100644 index 00000000..7ecfd1c9 --- /dev/null +++ b/e2e/decoder.spec.ts @@ -0,0 +1,780 @@ +import { expect, test } from "@playwright/test"; +import { + getButtonsUiDictionary, + getPickersUiDictionary, +} from "@/features/localization/services/ui-language-dictionary.service"; +import { + DefaultTokensValues, + DefaultTokenWithKeysModel, + DefaultTokenWithSecretModel, +} from "@/features/common/values/default-tokens.values"; +import { dataTestidDictionary } from "@/libs/testing/data-testid.dictionary"; +import { + isDigitalSignatureAlg, + isHmacAlg, + isNoneAlg, +} from "@/features/common/services/jwt.service"; +import { + checkJwtEditorStatusBarMessage, + checkJwtEditorNotificationBarMessage, + checkSecretKeyDecoderEditorStatusBarMessage, + E2E_BASE_URL, + expectToBeNonNull, + getDecoderJwtEditor, + getDecoderJwtEditorInput, + getLang, +} from "./e2e.utils"; +import { MessageStatusValue, MessageTypeValue } from "./e2e.values"; +import { JwtDictionaryModel, JwtSignedWithDigitalModel } from "./e2e.models"; +import jwts from "./jwt.json" assert { type: "json" }; + +const TestJwts = (jwts as JwtDictionaryModel).byAlgorithm; + +test.describe("Can interact with JWT Decoder JWT editor", () => { + test.beforeEach(async ({ page }) => { + await page.goto(E2E_BASE_URL); + }); + + test("Can read default value in JWT editor", async ({ page }) => { + const jwtEditorInput = getDecoderJwtEditorInput(page); + + await expect(jwtEditorInput).toHaveValue( + "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.KMUFsIDTnFmyG3nMiGM6H9FNFUROf3wh7SmqJp-QV30", + ); + }); + + test("can edit value in JWT editor", async ({ page }) => { + const inputValue = (TestJwts.RS512 as JwtSignedWithDigitalModel).withPemKey + .jwt; + + const jwtEditorInput = getDecoderJwtEditorInput(page); + await jwtEditorInput.fill(inputValue); + + await expect(jwtEditorInput).toHaveValue(inputValue); + }); + + test("can copy value in JWT editor", async ({ page, context }) => { + const inputValue = (TestJwts.RS512 as JwtSignedWithDigitalModel).withPemKey + .jwt; + await context.grantPermissions(["clipboard-read", "clipboard-write"]); + + const lang = await getLang(page); + expectToBeNonNull(lang); + + const buttonsUiDictionary = getButtonsUiDictionary(lang); + + const jwtEditor = getDecoderJwtEditor(page); + const jwtEditorInput = getDecoderJwtEditorInput(page); + + await jwtEditorInput.fill(inputValue); + + const copyButton = jwtEditor.getByRole("button", { + name: buttonsUiDictionary.copyButton.idle.label, + }); + + await copyButton.click(); + + const clipboardContent = await page.evaluate(() => + navigator.clipboard.readText(), + ); + + expect(clipboardContent).toBe(inputValue); + }); + + test("can clear value in JWT editor", async ({ page }) => { + const lang = await getLang(page); + expectToBeNonNull(lang); + + const buttonsUiDictionary = getButtonsUiDictionary(lang); + + const jwtEditor = getDecoderJwtEditor(page); + const jwtEditorInput = getDecoderJwtEditorInput(page); + + const clearButton = jwtEditor.getByRole("button", { + name: buttonsUiDictionary.clearButton.label, + }); + await clearButton.click(); + + await expect(jwtEditorInput).toHaveValue(""); + }); +}); + +test.describe("Can generate JWT examples", () => { + test.beforeEach(async ({ page }) => { + await page.goto(E2E_BASE_URL); + }); + + test("Can open and close JWT Decoder example widget", async ({ page }) => { + const lang = await getLang(page); + expectToBeNonNull(lang); + + const pickersUiDictionary = getPickersUiDictionary(lang); + + const decoderWidget = page.getByTestId(dataTestidDictionary.decoder.id); + + const exampleButton = decoderWidget.getByRole("button", { + name: pickersUiDictionary.exampleAlgPicker.label, + }); + + await exampleButton.click(); + + await expect(exampleButton).not.toBeVisible(); + + const closeButton = page.getByRole("button", { + name: pickersUiDictionary.exampleAlgPicker.closeButton.label, + }); + + await closeButton.click(); + + await expect(exampleButton).toBeVisible(); + await expect(closeButton).not.toBeVisible(); + }); + + test.describe("Can generate a JWT decoder example", () => { + test.beforeEach(async ({ page }) => { + const lang = await getLang(page); + expectToBeNonNull(lang); + + const pickersUiDictionary = getPickersUiDictionary(lang); + + const decoderWidget = page.getByTestId(dataTestidDictionary.decoder.id); + + const exampleButton = decoderWidget.getByRole("button", { + name: pickersUiDictionary.exampleAlgPicker.label, + }); + + await exampleButton.click(); + + await expect(exampleButton).not.toBeVisible(); + + const pickerIndicator = decoderWidget.getByText( + pickersUiDictionary.exampleAlgPicker.defaultValue, + ); + + await pickerIndicator.click(); + }); + + const options = Object.keys(DefaultTokensValues); + + options.forEach((option) => { + test(`can generate a JWT decoder example for ${option}`, async ({ + page, + }) => { + if (option === "Ed25519") { + return; + } + + const lang = await getLang(page); + expectToBeNonNull(lang); + + const decoderWidget = page.getByTestId(dataTestidDictionary.decoder.id); + await page.getByRole("option", { name: option }).click(); + + const targetToken = DefaultTokensValues[option]; + + const jwtEditor = decoderWidget.getByTestId( + dataTestidDictionary.decoder.jwtEditor.id, + ); + const jwtEditorInput = jwtEditor.getByRole("textbox"); + + await expect(jwtEditorInput).toHaveValue(targetToken.token); + + await checkJwtEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + if (isNoneAlg(option)) { + await checkJwtEditorNotificationBarMessage({ + page, + type: MessageTypeValue.WARNING, + status: MessageStatusValue.VISIBLE, + }); + + return; + } + + await checkJwtEditorNotificationBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + const secretKeyEditor = decoderWidget.getByTestId( + dataTestidDictionary.decoder.secretKeyEditor.id, + ); + const secretKeyInput = secretKeyEditor.getByRole("textbox"); + + if (isHmacAlg(option)) { + const symmetricToken = targetToken as DefaultTokenWithSecretModel; + await expect(secretKeyInput).toHaveValue(symmetricToken.secret); + + await checkSecretKeyDecoderEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + const encodingValue = await secretKeyEditor + .locator(".react-select__single-value") + .innerText(); + + expect(encodingValue).toBe(symmetricToken.secretEncoding); + + return; + } + + if (isDigitalSignatureAlg(option)) { + const asymmetricToken = targetToken as DefaultTokenWithKeysModel; + await expect(secretKeyInput).toHaveValue(asymmetricToken.publicKey); + + await checkSecretKeyDecoderEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + const formatValue = await secretKeyEditor + .locator(".react-select__single-value") + .innerText(); + + expect(formatValue).toBe(asymmetricToken.publicKeyFormat); + + return; + } + + throw new Error(`Unsupported alg: ${option}`); + }); + }); + }); +}); + +test.describe("decode JWTs", () => { + test.beforeEach(async ({ page }) => { + await page.goto(E2E_BASE_URL); + }); + + const options = Object.keys(DefaultTokensValues); + + options.forEach((option) => { + test(`Can input a JWT signed with ${option}`, async ({ page }) => { + if (option === "Ed25519") { + return; + } + + const lang = await getLang(page); + expectToBeNonNull(lang); + + const decoderWidget = page.getByTestId(dataTestidDictionary.decoder.id); + + const jwtEditor = decoderWidget.getByTestId( + dataTestidDictionary.decoder.jwtEditor.id, + ); + const jwtEditorInput = jwtEditor.getByRole("textbox"); + + const testJwt = TestJwts[option]; + + if (isNoneAlg(option) && testJwt.type === "unsecured") { + const jwt = testJwt.jwt; + await jwtEditorInput.fill(jwt); + + await expect(jwtEditorInput).toHaveValue(jwt); + + await checkJwtEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await checkJwtEditorNotificationBarMessage({ + page, + type: MessageTypeValue.WARNING, + status: MessageStatusValue.VISIBLE, + }); + + const decodedHeader = await decoderWidget + .getByTestId(dataTestidDictionary.decoder.decodedHeader.json.id) + .innerText(); + const decodedPayload = await decoderWidget + .getByTestId(dataTestidDictionary.decoder.decodedPayload.json.id) + .innerText(); + + expect(decodedHeader).toBe(testJwt.header); + expect(decodedPayload).toBe(testJwt.payload); + + return; + } + + if (isHmacAlg(option) && testJwt.type === "hmac") { + const entryWithUtf8Secret = testJwt.withUtf8Secret; + const jwt = entryWithUtf8Secret.jwt; + await jwtEditorInput.fill(jwt); + + await expect(jwtEditorInput).toHaveValue(jwt); + + await checkJwtEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await checkJwtEditorNotificationBarMessage({ + page, + type: MessageTypeValue.ERROR, + status: MessageStatusValue.VISIBLE, + }); + + const secretKeyEditor = decoderWidget.getByTestId( + dataTestidDictionary.decoder.secretKeyEditor.id, + ); + const secretKeyEditorInput = secretKeyEditor.getByRole("textbox"); + + await secretKeyEditorInput.fill(entryWithUtf8Secret.secret); + + await expect(secretKeyEditorInput).toHaveValue( + entryWithUtf8Secret.secret, + ); + + await checkSecretKeyDecoderEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + const encodingValue = await secretKeyEditor + .locator(".react-select__single-value") + .innerText(); + + expect(encodingValue).toBe(entryWithUtf8Secret.secretEncoding); + + await checkJwtEditorNotificationBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + const decodedHeader = await decoderWidget + .getByTestId(dataTestidDictionary.decoder.decodedHeader.json.id) + .innerText(); + const decodedPayload = await decoderWidget + .getByTestId(dataTestidDictionary.decoder.decodedPayload.json.id) + .innerText(); + + expect(decodedHeader).toBe(entryWithUtf8Secret.header); + expect(decodedPayload).toBe(entryWithUtf8Secret.payload); + + { + const entryWithBase64urlSecret = testJwt.withBase64urlSecret; + + await jwtEditorInput.fill(entryWithBase64urlSecret.jwt); + + await checkJwtEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await checkJwtEditorNotificationBarMessage({ + page, + type: MessageTypeValue.ERROR, + status: MessageStatusValue.VISIBLE, + }); + + await checkSecretKeyDecoderEditorStatusBarMessage({ + page, + type: MessageTypeValue.ERROR, + status: MessageStatusValue.VISIBLE, + }); + + const formatPicker = secretKeyEditor.locator( + ".react-select__single-value", + ); + + await formatPicker.click(); + + await page + .getByRole("option", { + name: entryWithBase64urlSecret.secretEncoding, + }) + .click(); + + await secretKeyEditorInput.fill(entryWithBase64urlSecret.secret); + + await checkJwtEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await checkJwtEditorNotificationBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await checkSecretKeyDecoderEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + const decodedHeader = await decoderWidget + .getByTestId(dataTestidDictionary.decoder.decodedHeader.json.id) + .innerText(); + const decodedPayload = await decoderWidget + .getByTestId(dataTestidDictionary.decoder.decodedPayload.json.id) + .innerText(); + + expect(decodedHeader).toBe(entryWithBase64urlSecret.header); + expect(decodedPayload).toBe(entryWithBase64urlSecret.payload); + } + } + + if (isDigitalSignatureAlg(option) && testJwt.type === "digital") { + const entry = testJwt.withPemKey; + await jwtEditorInput.fill(entry.jwt); + + await expect(jwtEditorInput).toHaveValue(entry.jwt); + + await checkJwtEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await checkJwtEditorNotificationBarMessage({ + page, + type: MessageTypeValue.WARNING, + status: MessageStatusValue.VISIBLE, + }); + + const secretKeyEditor = decoderWidget.getByTestId( + dataTestidDictionary.decoder.secretKeyEditor.id, + ); + const secretKeyEditorInput = secretKeyEditor.getByRole("textbox"); + + await secretKeyEditorInput.fill(entry.publicKey); + + await expect(secretKeyEditorInput).toHaveValue(entry.publicKey); + + await checkSecretKeyDecoderEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + const formatValue = await secretKeyEditor + .locator(".react-select__single-value") + .innerText(); + + expect(formatValue).toBe(entry.publicKeyFormat); + + await checkJwtEditorNotificationBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + const decodedHeader = await decoderWidget + .getByTestId(dataTestidDictionary.decoder.decodedHeader.json.id) + .innerText(); + const decodedPayload = await decoderWidget + .getByTestId(dataTestidDictionary.decoder.decodedPayload.json.id) + .innerText(); + + expect(decodedHeader).toBe(entry.header); + expect(decodedPayload).toBe(entry.payload); + + { + const entrywithJwkKey = testJwt.withJwkKey; + + await jwtEditorInput.fill(entrywithJwkKey.jwt); + + if (option.includes("RS")) { + await checkJwtEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await checkJwtEditorNotificationBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await checkSecretKeyDecoderEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + const formatPicker = secretKeyEditor.locator( + ".react-select__single-value", + ); + + await formatPicker.click(); + + await page + .getByRole("option", { + name: entrywithJwkKey.publicKeyFormat, + }) + .click(); + + await checkSecretKeyDecoderEditorStatusBarMessage({ + page, + type: MessageTypeValue.ERROR, + status: MessageStatusValue.VISIBLE, + }); + + await secretKeyEditorInput.fill( + JSON.stringify(entrywithJwkKey.publicKey, null, 2), + ); + + await checkJwtEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await checkJwtEditorNotificationBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await checkSecretKeyDecoderEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + const decodedHeader = await decoderWidget + .getByTestId(dataTestidDictionary.decoder.decodedHeader.json.id) + .innerText(); + const decodedPayload = await decoderWidget + .getByTestId(dataTestidDictionary.decoder.decodedPayload.json.id) + .innerText(); + + expect(decodedHeader).toBe(entrywithJwkKey.header); + expect(decodedPayload).toBe(entrywithJwkKey.payload); + } + + if (option.includes("ES") || option.includes("PS")) { + await checkJwtEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await checkJwtEditorNotificationBarMessage({ + page, + type: MessageTypeValue.WARNING, + status: MessageStatusValue.VISIBLE, + }); + + await checkSecretKeyDecoderEditorStatusBarMessage({ + page, + type: MessageTypeValue.ERROR, + status: MessageStatusValue.VISIBLE, + }); + + const formatPicker = secretKeyEditor.locator( + ".react-select__single-value", + ); + + await formatPicker.click(); + + await page + .getByRole("option", { + name: entrywithJwkKey.publicKeyFormat, + }) + .click(); + + await secretKeyEditorInput.fill( + JSON.stringify(entrywithJwkKey.publicKey, null, 2), + ); + + await checkJwtEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await checkJwtEditorNotificationBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await checkSecretKeyDecoderEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + const decodedHeader = await decoderWidget + .getByTestId(dataTestidDictionary.decoder.decodedHeader.json.id) + .innerText(); + const decodedPayload = await decoderWidget + .getByTestId(dataTestidDictionary.decoder.decodedPayload.json.id) + .innerText(); + + expect(decodedHeader).toBe(entrywithJwkKey.header); + expect(decodedPayload).toBe(entrywithJwkKey.payload); + } + } + } + }); + }); +}); + +test("Can decode JWTs signed with a non-supported algorithm", async ({ + page, +}) => { + const jwtSignedWithNotSupportedAlgorithm = + "eyJhbGciOiJCUDI1NlIxIiwidHlwIjoiYXQrSldUIiwia2lkIjoic2lnIn0.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.kSA6uak_GNjbj_X7Va8OCSWe3h1lxU_xlonWFKkenAIYCG6ylCjGoRj9ZIQFAV-XAueyPvYkKU1EuDF5t9Y0Ag"; + const expectedDecodedHeader = { + alg: "BP256R1", + typ: "at+JWT", + kid: "sig", + }; + const expectedDecodedPayload = { + "sub": "1234567890", + "name": "John Doe", + "admin": true, + "iat": 1516239022 + }; + + await page.goto(E2E_BASE_URL); + + const lang = await getLang(page); + expectToBeNonNull(lang); + + const decoderWidget = page.getByTestId(dataTestidDictionary.decoder.id); + + const jwtEditor = decoderWidget.getByTestId( + dataTestidDictionary.decoder.jwtEditor.id, + ); + const jwtEditorInput = jwtEditor.getByRole("textbox"); + + await jwtEditorInput.fill(jwtSignedWithNotSupportedAlgorithm); + + await expect(jwtEditorInput).toHaveValue(jwtSignedWithNotSupportedAlgorithm); + + await checkJwtEditorStatusBarMessage({ + page, + type: MessageTypeValue.ERROR, + status: MessageStatusValue.VISIBLE, + }); + + await checkJwtEditorNotificationBarMessage({ + page, + type: MessageTypeValue.WARNING, + status: MessageStatusValue.VISIBLE, + }); + + await expect( + decoderWidget.getByTestId( + dataTestidDictionary.decoder.decodedHeader.json.id, + ), + ).toHaveText(JSON.stringify(expectedDecodedHeader, null, 2), { + useInnerText: true, + }); + + await expect( + decoderWidget.getByTestId( + dataTestidDictionary.decoder.decodedPayload.json.id, + ), + ).toHaveText(JSON.stringify(expectedDecodedPayload, null, 2), { + useInnerText: true, + }); + + const secretKeyEditor = decoderWidget.getByTestId( + dataTestidDictionary.decoder.secretKeyEditor.id, + ); + + await expect(secretKeyEditor).not.toBeVisible(); +}); + +test.describe("Decode pieces of JWTs in Base64Url", () => { + test.beforeEach(async ({ page }) => { + await page.goto(E2E_BASE_URL); + }); + + const testCases = [ + { + description: + "it should decode a single segment or JWT piece that doesn't include the alg property when decoded", + jwtPiece: + "eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0", + expectedDecodedOutput: { + "sub": "1234567890", + "name": "John Doe", + "admin": true, + "iat": 1516239022 + }, + }, + { + description: + "it should decode a single segment or JWT piece that includes the alg property when decoded", + jwtPiece: "eyJhbGciOiJCUDI1NlIxIiwidHlwIjoiYXQrSldUIiwia2lkIjoic2lnIn0", + expectedDecodedOutput: { + alg: "BP256R1", + typ: "at+JWT", + kid: "sig", + }, + }, + ]; + + testCases.forEach(({ description, jwtPiece, expectedDecodedOutput }) => { + test(description, async ({ page }) => { + const lang = await getLang(page); + expectToBeNonNull(lang); + + const decoderWidget = page.getByTestId(dataTestidDictionary.decoder.id); + + const jwtEditor = decoderWidget.getByTestId( + dataTestidDictionary.decoder.jwtEditor.id, + ); + const jwtEditorInput = jwtEditor.getByRole("textbox"); + + await jwtEditorInput.fill(jwtPiece); + + await expect(jwtEditorInput).toHaveValue(jwtPiece); + + await checkJwtEditorStatusBarMessage({ + page, + type: MessageTypeValue.ERROR, + status: MessageStatusValue.VISIBLE, + }); + + await checkJwtEditorNotificationBarMessage({ + page, + type: MessageTypeValue.WARNING, + status: MessageStatusValue.VISIBLE, + }); + + await expect( + decoderWidget.getByTestId( + dataTestidDictionary.decoder.decodedHeader.json.id, + ), + ).toHaveText(JSON.stringify(expectedDecodedOutput, null, 2), { + useInnerText: true, + }); + + await expect( + decoderWidget.getByTestId( + dataTestidDictionary.decoder.decodedPayload.json.id, + ), + ).toBeEmpty(); + + const secretKeyEditor = decoderWidget.getByTestId( + dataTestidDictionary.decoder.secretKeyEditor.id, + ); + + await expect(secretKeyEditor).not.toBeVisible(); + }); + }); +}); diff --git a/e2e/e2e.models.ts b/e2e/e2e.models.ts new file mode 100644 index 00000000..5a988370 --- /dev/null +++ b/e2e/e2e.models.ts @@ -0,0 +1,74 @@ +import { EncodingValues } from "@/features/common/values/encoding.values"; +import { AsymmetricKeyFormatValues } from "@/features/common/values/asymmetric-key-format.values"; + +export interface UnsecuredJwtModel { + type: "unsecured"; + header: string; + payload: string; + jwt: string; +} + +export interface JwtSignedWithHmacModel { + type: "hmac"; + withUtf8Secret: { + header: string; + payload: string; + secret: string; + jwt: string; + secretEncoding: EncodingValues.UTF8; + }; + withBase64urlSecret: { + header: string; + payload: string; + secret: string; + jwt: string; + secretEncoding: EncodingValues.BASE64URL; + }; +} + +export interface JwtSignedWithDigitalModel { + type: "digital"; + withPemKey: { + header: string; + payload: string; + publicKey: string; + publicKeyFormat: AsymmetricKeyFormatValues.PEM; + privateKey: string; + privateKeyFormat: AsymmetricKeyFormatValues.PEM; + jwt: string; + }; + withJwkKey: { + header: string; + payload: string; + publicKey: object; + publicKeyFormat: AsymmetricKeyFormatValues.JWK; + privateKey: object; + privateKeyFormat: AsymmetricKeyFormatValues.JWK; + jwt: string; + }; +} + +export type JwtDictionaryEntryModel = + | UnsecuredJwtModel + | JwtSignedWithHmacModel + | JwtSignedWithDigitalModel; + +export interface JwtDictionaryModel { + byAlgorithm: { + [index: string]: JwtDictionaryEntryModel; + none: JwtDictionaryEntryModel; + HS256: JwtDictionaryEntryModel; + HS384: JwtDictionaryEntryModel; + HS512: JwtDictionaryEntryModel; + RS256: JwtDictionaryEntryModel; + RS384: JwtDictionaryEntryModel; + RS512: JwtDictionaryEntryModel; + ES256: JwtDictionaryEntryModel; + ES384: JwtDictionaryEntryModel; + ES512: JwtDictionaryEntryModel; + PS256: JwtDictionaryEntryModel; + PS384: JwtDictionaryEntryModel; + PS512: JwtDictionaryEntryModel; + Ed25519: JwtDictionaryEntryModel; + }; +} diff --git a/e2e/e2e.utils.ts b/e2e/e2e.utils.ts new file mode 100644 index 00000000..03e16a10 --- /dev/null +++ b/e2e/e2e.utils.ts @@ -0,0 +1,320 @@ +import { expect, Page } from "@playwright/test"; +import { dataTestidDictionary } from "@/libs/testing/data-testid.dictionary"; +import { MessageStatusValue, MessageTypeValue } from "./e2e.values"; + +export const E2E_BASE_URL = "http://localhost:1234/"; + +export const getLang = async (page: Page) => + await page.locator("html").getAttribute("lang"); + +export function expectToBeDefined(value: T | undefined): asserts value is T { + expect(value).toBeDefined(); +} + +export function expectToBeNonNull(value: T | null): asserts value is T { + expect(value).not.toBeNull(); +} + +export const getDecoderJwtEditor = (page: Page) => + page.getByTestId(dataTestidDictionary.decoder.jwtEditor.id); + +export const getDecoderJwtEditorInput = (page: Page) => + page + .getByTestId(dataTestidDictionary.decoder.jwtEditor.id) + .getByRole("textbox"); + +interface CheckMessageParams { + page: Page; + type: MessageTypeValue; + status: MessageStatusValue; +} + +export const checkJwtEditorStatusBarMessage = async ({ + page, + type, + status, +}: CheckMessageParams) => { + const jwtEditor = page.getByTestId(dataTestidDictionary.decoder.jwtEditor.id); + + if (type === MessageTypeValue.SUCCESS) { + const successMessage = jwtEditor.getByTestId( + dataTestidDictionary.decoder.jwtEditor.statusBar.success.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(successMessage).toBeVisible() + : await expect(successMessage).not.toBeVisible(); + } + + if (type === MessageTypeValue.WARNING) { + const warningMessage = jwtEditor.getByTestId( + dataTestidDictionary.decoder.jwtEditor.statusBar.warning.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(warningMessage).toBeVisible() + : await expect(warningMessage).not.toBeVisible(); + } + + if (type === MessageTypeValue.ERROR) { + const errorMessage = jwtEditor.getByTestId( + dataTestidDictionary.decoder.jwtEditor.statusBar.error.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(errorMessage).toBeVisible() + : await expect(errorMessage).not.toBeVisible(); + } +}; + +export const checkJwtEditorNotificationBarMessage = async ({ + page, + type, + status, +}: CheckMessageParams) => { + const jwtEditor = page.getByTestId(dataTestidDictionary.decoder.jwtEditor.id); + + if (type === MessageTypeValue.SUCCESS) { + const successMessage = jwtEditor.getByTestId( + dataTestidDictionary.decoder.jwtEditor.notificationBar.success.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(successMessage).toBeVisible() + : await expect(successMessage).not.toBeVisible(); + } + + if (type === MessageTypeValue.WARNING) { + const warningMessage = jwtEditor.getByTestId( + dataTestidDictionary.decoder.jwtEditor.notificationBar.warning.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(warningMessage).toBeVisible() + : await expect(warningMessage).not.toBeVisible(); + } + + if (type === MessageTypeValue.ERROR) { + const errorMessage = jwtEditor.getByTestId( + dataTestidDictionary.decoder.jwtEditor.notificationBar.error.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(errorMessage).toBeVisible() + : await expect(errorMessage).not.toBeVisible(); + } +}; + +export const checkSecretKeyDecoderEditorStatusBarMessage = async ({ + page, + type, + status, +}: CheckMessageParams) => { + const secretKeyEditor = page.getByTestId( + dataTestidDictionary.decoder.secretKeyEditor.id, + ); + + if (type === MessageTypeValue.SUCCESS) { + const successMessage = secretKeyEditor.getByTestId( + dataTestidDictionary.decoder.secretKeyEditor.statusBar.success.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(successMessage).toBeVisible() + : await expect(successMessage).not.toBeVisible(); + } + + if (type === MessageTypeValue.WARNING) { + const warningMessage = secretKeyEditor.getByTestId( + dataTestidDictionary.decoder.secretKeyEditor.statusBar.warning.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(warningMessage).toBeVisible() + : await expect(warningMessage).not.toBeVisible(); + } + + if (type === MessageTypeValue.ERROR) { + const errorMessage = secretKeyEditor.getByTestId( + dataTestidDictionary.decoder.secretKeyEditor.statusBar.error.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(errorMessage).toBeVisible() + : await expect(errorMessage).not.toBeVisible(); + } +}; + +interface CheckMessageParams { + page: Page; + type: MessageTypeValue; + status: MessageStatusValue; +} + +export const checkHeaderEditorStatusBarMessage = async ({ + page, + type, + status, +}: CheckMessageParams) => { + const headerEditor = page + .getByTestId(dataTestidDictionary.encoder.headerEditor.id) + .first(); + + if (type === MessageTypeValue.SUCCESS) { + const successMessage = headerEditor + .getByTestId( + dataTestidDictionary.encoder.headerEditor.statusBar.success.id, + ) + .first(); + + status === MessageStatusValue.VISIBLE + ? await expect(successMessage).toBeVisible() + : await expect(successMessage).not.toBeVisible(); + } + + if (type === MessageTypeValue.WARNING) { + const warningMessage = headerEditor.getByTestId( + dataTestidDictionary.encoder.headerEditor.statusBar.warning.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(warningMessage).toBeVisible() + : await expect(warningMessage).not.toBeVisible(); + } + + if (type === MessageTypeValue.ERROR) { + const errorMessage = headerEditor.getByTestId( + dataTestidDictionary.encoder.headerEditor.statusBar.error.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(errorMessage).toBeVisible() + : await expect(errorMessage).not.toBeVisible(); + } +}; + +export const checkPayloadEditorStatusBarMessage = async ({ + page, + type, + status, +}: CheckMessageParams) => { + const payloadEditor = page.getByTestId( + dataTestidDictionary.encoder.payloadEditor.id, + ); + + if (type === MessageTypeValue.SUCCESS) { + const successMessage = payloadEditor.getByTestId( + dataTestidDictionary.encoder.payloadEditor.statusBar.success.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(successMessage).toBeVisible() + : await expect(successMessage).not.toBeVisible(); + } + + if (type === MessageTypeValue.WARNING) { + const warningMessage = payloadEditor.getByTestId( + dataTestidDictionary.encoder.payloadEditor.statusBar.warning.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(warningMessage).toBeVisible() + : await expect(warningMessage).not.toBeVisible(); + } + + if (type === MessageTypeValue.ERROR) { + const errorMessage = payloadEditor.getByTestId( + dataTestidDictionary.encoder.payloadEditor.statusBar.error.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(errorMessage).toBeVisible() + : await expect(errorMessage).not.toBeVisible(); + } +}; + +export const checkSecretKeyEncoderEditorStatusBarMessage = async ({ + page, + type, + status, +}: CheckMessageParams) => { + const secretKeyEditor = page.getByTestId( + dataTestidDictionary.encoder.secretKeyEditor.id, + ); + + if (type === MessageTypeValue.SUCCESS) { + const successMessage = secretKeyEditor.getByTestId( + dataTestidDictionary.encoder.secretKeyEditor.statusBar.success.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(successMessage).toBeVisible() + : await expect(successMessage).not.toBeVisible(); + } + + if (type === MessageTypeValue.WARNING) { + const warningMessage = secretKeyEditor.getByTestId( + dataTestidDictionary.encoder.secretKeyEditor.statusBar.warning.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(warningMessage).toBeVisible() + : await expect(warningMessage).not.toBeVisible(); + } + + if (type === MessageTypeValue.ERROR) { + const errorMessage = secretKeyEditor.getByTestId( + dataTestidDictionary.encoder.secretKeyEditor.statusBar.error.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(errorMessage).toBeVisible() + : await expect(errorMessage).not.toBeVisible(); + } +}; + +export const checkJwtStatusBarMessage = async ({ + page, + type, + status, +}: CheckMessageParams) => { + const jwt = page.getByTestId(dataTestidDictionary.encoder.jwt.id); + + if (type === MessageTypeValue.SUCCESS) { + const successMessage = jwt.getByTestId( + dataTestidDictionary.encoder.jwt.statusBar.success.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(successMessage).toBeVisible() + : await expect(successMessage).not.toBeVisible(); + } + + if (type === MessageTypeValue.WARNING) { + const warningMessage = jwt.getByTestId( + dataTestidDictionary.encoder.jwt.statusBar.warning.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(warningMessage).toBeVisible() + : await expect(warningMessage).not.toBeVisible(); + } + + if (type === MessageTypeValue.ERROR) { + const errorMessage = jwt.getByTestId( + dataTestidDictionary.encoder.jwt.statusBar.error.id, + ); + + status === MessageStatusValue.VISIBLE + ? await expect(errorMessage).toBeVisible() + : await expect(errorMessage).not.toBeVisible(); + } +}; + +export const switchToEncoderTab = async (page: Page) => { + const debuggerWidget = page.getByTestId(dataTestidDictionary.debugger.id); + + await debuggerWidget + .getByTestId(dataTestidDictionary.debugger.encoderTab.id) + .click(); +}; diff --git a/e2e/e2e.values.ts b/e2e/e2e.values.ts new file mode 100644 index 00000000..c58f4051 --- /dev/null +++ b/e2e/e2e.values.ts @@ -0,0 +1,10 @@ +export enum MessageTypeValue { + SUCCESS = "success", + WARNING = "warning", + ERROR = "error", +} + +export enum MessageStatusValue { + VISIBLE = "visible", + NOT_VISIBLE = "not-visible", +} diff --git a/e2e/encoder.spec.ts b/e2e/encoder.spec.ts new file mode 100644 index 00000000..5cf26eec --- /dev/null +++ b/e2e/encoder.spec.ts @@ -0,0 +1,525 @@ +import { expect, test } from "@playwright/test"; +import { + getButtonsUiDictionary, + getPickersUiDictionary, +} from "@/features/localization/services/ui-language-dictionary.service"; +import { DefaultTokensValues } from "@/features/common/values/default-tokens.values"; +import { dataTestidDictionary } from "@/libs/testing/data-testid.dictionary"; +import { + checkHeaderEditorStatusBarMessage, + checkJwtStatusBarMessage, + checkPayloadEditorStatusBarMessage, + checkSecretKeyEncoderEditorStatusBarMessage, + E2E_BASE_URL, + expectToBeNonNull, + getLang, + switchToEncoderTab, +} from "./e2e.utils"; +import jwts from "./jwt.json" assert { type: "json" }; +import { + JwtDictionaryModel, + JwtSignedWithDigitalModel, + JwtSignedWithHmacModel, +} from "./e2e.models"; +import { + isDigitalSignatureAlg, + isHmacAlg, + isNoneAlg, +} from "@/features/common/services/jwt.service"; +import { MessageStatusValue, MessageTypeValue } from "./e2e.values"; + +const TestJwts = (jwts as JwtDictionaryModel).byAlgorithm; + +test.describe("Can interact with header editor in JWT Encoder", () => { + test.beforeEach(async ({ page }) => { + await page.goto(E2E_BASE_URL); + + await switchToEncoderTab(page); + }); + + test("Can read default value in header editor", async ({ page }) => { + const encoderWidget = page.getByTestId(dataTestidDictionary.encoder.id); + + const headerEditor = encoderWidget.getByTestId( + dataTestidDictionary.encoder.headerEditor.id, + ); + const headerEditorInput = headerEditor.getByRole("textbox"); + + const header = { + alg: `HS256`, + typ: "JWT", + }; + + const headerAsString = JSON.stringify(header, null, 2); + + await expect(headerEditorInput).toHaveValue(headerAsString); + }); + + test("Can edit value in header editor", async ({ page }) => { + const inputValue = (TestJwts.RS512 as JwtSignedWithDigitalModel).withPemKey + .header; + + const lang = await getLang(page); + expectToBeNonNull(lang); + + const encoderWidget = page.getByTestId(dataTestidDictionary.encoder.id); + + const headerEditor = encoderWidget.getByTestId( + dataTestidDictionary.encoder.headerEditor.id, + ); + const headerEditorInput = headerEditor.getByRole("textbox"); + + await headerEditorInput.fill(inputValue); + + await expect(headerEditorInput).toHaveValue(inputValue); + }); + + test("Can clear value in header editor", async ({ page }) => { + const lang = await getLang(page); + expectToBeNonNull(lang); + + const buttonsUiDictionary = getButtonsUiDictionary(lang); + + const encoder = page.getByTestId(dataTestidDictionary.encoder.id); + + const headerEditor = encoder.getByTestId( + dataTestidDictionary.encoder.headerEditor.id, + ); + const headerEditorInput = headerEditor.getByRole("textbox"); + + const clearButton = headerEditor.getByRole("button", { + name: buttonsUiDictionary.clearButton.label, + }); + await clearButton.click(); + + await expect(headerEditorInput).toHaveValue(""); + }); +}); + +test.describe("can interact with payload editor in JWT encoder", () => { + test.beforeEach(async ({ page }) => { + await page.goto(E2E_BASE_URL); + + await switchToEncoderTab(page); + }); + + test("can read default value in payload editor", async ({ page }) => { + const encoderWidget = page.getByTestId(dataTestidDictionary.encoder.id); + + const payloadEditor = encoderWidget.getByTestId( + dataTestidDictionary.encoder.payloadEditor.id, + ); + const payloadEditorInput = payloadEditor.getByRole("textbox"); + + const payload = { + sub: "1234567890", + name: "John Doe", + admin: true, + iat: 1516239022, + }; + const payloadAsString = JSON.stringify(payload, null, 2); + + await expect(payloadEditorInput).toHaveValue(payloadAsString); + }); + + test("can edit value in payload editor", async ({ page }) => { + const inputValue = "abc"; + + const lang = await getLang(page); + expectToBeNonNull(lang); + + const encoderWidget = page.getByTestId(dataTestidDictionary.encoder.id); + + const payloadEditor = encoderWidget.getByTestId( + dataTestidDictionary.encoder.payloadEditor.id, + ); + const payloadEditorInput = payloadEditor.getByRole("textbox"); + + await payloadEditorInput.fill(inputValue); + + await expect(payloadEditorInput).toHaveValue(inputValue); + }); + + test("can clear value in payload editor", async ({ page }) => { + const lang = await getLang(page); + expectToBeNonNull(lang); + + const buttonsUiDictionary = getButtonsUiDictionary(lang); + + const encoder = page.getByTestId(dataTestidDictionary.encoder.id); + + const payloadEditor = encoder.getByTestId( + dataTestidDictionary.encoder.payloadEditor.id, + ); + const payloadEditorInput = payloadEditor.getByRole("textbox"); + + const clearButton = payloadEditor.getByRole("button", { + name: buttonsUiDictionary.clearButton.label, + }); + await clearButton.click(); + + await expect(payloadEditorInput).toHaveValue(""); + }); +}); + +test.describe("can interact with secret editor in JWT encoder", () => { + test.beforeEach(async ({ page }) => { + await page.goto(E2E_BASE_URL); + + await switchToEncoderTab(page); + }); + + test("can read default value in secret editor", async ({ page }) => { + const encoderWidget = page.getByTestId(dataTestidDictionary.encoder.id); + + const secretKeyEditor = encoderWidget.getByTestId( + dataTestidDictionary.encoder.secretKeyEditor.id, + ); + const secretKeyEditorInput = secretKeyEditor.getByRole("textbox"); + + const secret = "a-string-secret-at-least-256-bits-long"; + + await expect(secretKeyEditorInput).toHaveValue(secret); + }); + + test("can edit value in secret editor", async ({ page }) => { + const inputValue = "abc"; + + const lang = await getLang(page); + expectToBeNonNull(lang); + + const encoderWidget = page.getByTestId(dataTestidDictionary.encoder.id); + + const secretKeyEditor = encoderWidget.getByTestId( + dataTestidDictionary.encoder.secretKeyEditor.id, + ); + const secretKeyEditorInput = secretKeyEditor.getByRole("textbox"); + + await secretKeyEditorInput.fill(inputValue); + + await expect(secretKeyEditorInput).toHaveValue(inputValue); + }); + + test("can clear value in secret editor", async ({ page }) => { + const lang = await getLang(page); + expectToBeNonNull(lang); + + const buttonsUiDictionary = getButtonsUiDictionary(lang); + + const encoder = page.getByTestId(dataTestidDictionary.encoder.id); + + const secretKeyEditor = encoder.getByTestId( + dataTestidDictionary.encoder.secretKeyEditor.id, + ); + const secretKeyEditorInput = secretKeyEditor.getByRole("textbox"); + + const clearButton = secretKeyEditor.getByRole("button", { + name: buttonsUiDictionary.clearButton.label, + }); + await clearButton.click(); + + await expect(secretKeyEditorInput).toHaveValue(""); + }); +}); + +test.describe("Generate JWT encoding examples", () => { + test.beforeEach(async ({ page }) => { + await page.goto(E2E_BASE_URL); + + await switchToEncoderTab(page); + }); + + test("Can open and close encoder example widget", async ({ page }) => { + const lang = await getLang(page); + expectToBeNonNull(lang); + + const pickersUiDictionary = getPickersUiDictionary(lang); + + const encoder = page.getByTestId(dataTestidDictionary.encoder.id); + + const exampleButton = encoder.getByRole("button", { + name: pickersUiDictionary.exampleAlgPicker.label, + }); + + await exampleButton.click(); + + await expect(exampleButton).not.toBeVisible(); + + const closeButton = page.getByRole("button", { + name: pickersUiDictionary.exampleAlgPicker.closeButton.label, + }); + + await closeButton.click(); + + await expect(exampleButton).toBeVisible(); + await expect(closeButton).not.toBeVisible(); + }); + + test.describe("Can generate a JWT example", () => { + test.beforeEach(async ({ page }) => { + const lang = await getLang(page); + expectToBeNonNull(lang); + + const pickersUiDictionary = getPickersUiDictionary(lang); + + const encoder = page.getByTestId(dataTestidDictionary.encoder.id); + + const exampleButton = encoder.getByRole("button", { + name: pickersUiDictionary.exampleAlgPicker.label, + }); + + await exampleButton.click(); + + await expect(exampleButton).not.toBeVisible(); + + const pickerIndicator = encoder.getByText( + pickersUiDictionary.exampleAlgPicker.defaultValue, + ); + + await pickerIndicator.click(); + }); + + const options = Object.keys(DefaultTokensValues); + + options.forEach((option) => { + test(`can generate a JWT encoding example for ${option}`, async ({ + page, + }) => { + if (option === "Ed25519") { + return; + } + + const encoder = page.getByTestId(dataTestidDictionary.encoder.id); + await page.getByRole("option", { name: option }).click(); + + const jwtOutput = encoder + .getByTestId(dataTestidDictionary.encoder.jwt.id) + .getByRole("textbox"); + + if (isNoneAlg(option)) { + await checkHeaderEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await checkJwtStatusBarMessage({ + page, + type: MessageTypeValue.WARNING, + status: MessageStatusValue.VISIBLE, + }); + } + + await expect(jwtOutput).toHaveValue( + /^[A-Za-z0-9_-]*\.[A-Za-z0-9_-]*\.[A-Za-z0-9_-]*$/, + ); + }); + }); + }); +}); + +test.describe("encode JWTs", () => { + test.beforeEach(async ({ page }) => { + await page.goto(E2E_BASE_URL); + + await switchToEncoderTab(page); + }); + + const options = Object.keys(DefaultTokensValues); + + options.forEach((option) => { + test(`Can encode and sign a JWT with ${option}`, async ({ page }) => { + if (option === "Ed25519") { + return; + } + + const encoderWidget = page.getByTestId(dataTestidDictionary.encoder.id); + + const headerEditor = encoderWidget.getByTestId( + dataTestidDictionary.encoder.headerEditor.id, + ); + const payloadEditor = encoderWidget.getByTestId( + dataTestidDictionary.encoder.payloadEditor.id, + ); + const secretKeyEditor = encoderWidget.getByTestId( + dataTestidDictionary.encoder.secretKeyEditor.id, + ); + const jwtOutput = encoderWidget + .getByTestId(dataTestidDictionary.encoder.jwt.id) + .getByRole("textbox"); + + const headerEditorInput = headerEditor.getByRole("textbox"); + const payloadEditorInput = payloadEditor.getByRole("textbox"); + + const testJwt = TestJwts[option]; + + if (isNoneAlg(option) && testJwt.type === "unsecured") { + await headerEditorInput.fill(testJwt.header); + + await checkHeaderEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await payloadEditorInput.fill(testJwt.payload); + + await checkPayloadEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await expect(jwtOutput).toHaveValue(testJwt.jwt); + + await checkJwtStatusBarMessage({ + page, + type: MessageTypeValue.WARNING, + status: MessageStatusValue.VISIBLE, + }); + + return; + } + + const secretKeyEditorInput = secretKeyEditor.getByRole("textbox"); + + if (isHmacAlg(option) && testJwt.type === "hmac") { + const tokenWithUtf8Secret = (testJwt as JwtSignedWithHmacModel) + .withUtf8Secret; + const tokenWithBase64urlSecret = (testJwt as JwtSignedWithHmacModel) + .withBase64urlSecret; + + await headerEditorInput.fill(tokenWithUtf8Secret.header); + + await checkHeaderEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await payloadEditorInput.fill(tokenWithUtf8Secret.payload); + + await checkPayloadEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await secretKeyEditorInput.fill(tokenWithUtf8Secret.secret); + + await checkSecretKeyEncoderEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await expect(jwtOutput).toHaveValue(tokenWithUtf8Secret.jwt); + + const formatPicker = secretKeyEditor.locator( + ".react-select__single-value", + ); + await formatPicker.click(); + + await page + .getByRole("option", { + name: tokenWithBase64urlSecret.secretEncoding, + }) + .click(); + + await checkSecretKeyEncoderEditorStatusBarMessage({ + page, + type: MessageTypeValue.ERROR, + status: MessageStatusValue.VISIBLE, + }); + + await secretKeyEditorInput.fill(tokenWithBase64urlSecret.secret); + + await checkSecretKeyEncoderEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await expect(jwtOutput).toHaveValue(tokenWithBase64urlSecret.jwt); + + return; + } + + if (isDigitalSignatureAlg(option) && testJwt.type === "digital") { + const tokenWithPemKey = (testJwt as JwtSignedWithDigitalModel) + .withPemKey; + const tokenWithJwkKey = (testJwt as JwtSignedWithDigitalModel) + .withJwkKey; + + await headerEditorInput.fill(tokenWithPemKey.header); + + await checkHeaderEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await payloadEditorInput.fill(tokenWithPemKey.payload); + + await checkPayloadEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + await secretKeyEditorInput.fill(tokenWithPemKey.privateKey); + + await checkSecretKeyEncoderEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + if (option.includes("RS")) { + await expect(jwtOutput).toHaveValue(tokenWithPemKey.jwt); + } else { + await expect(jwtOutput).toHaveValue( + /^[A-Za-z0-9_-]*\.[A-Za-z0-9_-]*\.[A-Za-z0-9_-]*$/, + ); + } + + const formatPicker = secretKeyEditor.locator( + ".react-select__single-value", + ); + await formatPicker.click(); + + await page + .getByRole("option", { + name: tokenWithJwkKey.privateKeyFormat, + }) + .click(); + + await checkSecretKeyEncoderEditorStatusBarMessage({ + page, + type: MessageTypeValue.ERROR, + status: MessageStatusValue.VISIBLE, + }); + + await secretKeyEditorInput.fill( + JSON.stringify(tokenWithJwkKey.privateKey, null, 2), + ); + + await checkSecretKeyEncoderEditorStatusBarMessage({ + page, + type: MessageTypeValue.SUCCESS, + status: MessageStatusValue.VISIBLE, + }); + + if (option.includes("RS")) { + await expect(jwtOutput).toHaveValue(tokenWithJwkKey.jwt); + } else { + await expect(jwtOutput).toHaveValue( + /^[A-Za-z0-9_-]*\.[A-Za-z0-9_-]*\.[A-Za-z0-9_-]*$/, + ); + } + + return; + } + }); + }); +}); diff --git a/e2e/jwt.json b/e2e/jwt.json new file mode 100644 index 00000000..41bcd8e7 --- /dev/null +++ b/e2e/jwt.json @@ -0,0 +1,397 @@ +{ + "byAlgorithm": { + "none": { + "type": "unsecured", + "header": "{\n \"alg\": \"none\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "jwt": "eyJhbGciOiJub25lIn0.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0." + }, + "HS256": { + "type": "hmac", + "withUtf8Secret": { + "header": "{\n \"alg\": \"HS256\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "secret": "bLoK5yaK9XGmEfcEk9dV1cxDWLoAdQg9", + "secretEncoding": "UTF-8", + "jwt": "eyJhbGciOiJIUzI1NiIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.a0SnOW9tHtrmBBaJ9wMNlYF05BxPSUH79c3myg8QVOA" + }, + "withBase64urlSecret": { + "header": "{\n \"alg\": \"HS256\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "secret": "c8y_QVYNPWYCmbm0WctPNldrEH1Kw-DPl5ULQfr6YT0", + "secretEncoding": "base64url", + "jwt": "eyJhbGciOiJIUzI1NiIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.c2MFFVFtsGBGnx3a_FXA7A3xwhIrW4oVXImIhQ1f0_A" + } + }, + "HS384": { + "type": "hmac", + "withUtf8Secret": { + "header": "{\n \"alg\": \"HS384\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "secret": "bX1ZtSt1buhvFVnzk77yTVoorzHINBXcHBslaubKNhBtDPtP", + "secretEncoding": "UTF-8", + "jwt": "eyJhbGciOiJIUzM4NCIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.yeJGEFU7D_p_yNCQBYLvIEvyp876eZd9zT28MyuzOmA2_df8pDcb0hkSDkQI5oMf" + }, + "withBase64urlSecret": { + "header": "{\n \"alg\": \"HS384\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "secret": "K_POTUAF4QNKo18MnBnlR_TmLCuFrFT0JCn6eYP23yYTFLXKV5ZRcOKu_K-XJNSy", + "secretEncoding": "base64url", + "jwt": "eyJhbGciOiJIUzM4NCIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.xTdrzPbxKJ7YiA4Xk5vsqpqFT9goRCVPlQlrFn8_LZhafEyCpXOoW5uS_UqSexQ3" + } + }, + "HS512": { + "type": "hmac", + "withUtf8Secret": { + "header": "{\n \"alg\": \"HS512\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "secret": "6gmUA90NOTut1jS3NM5tpIZ4SeLid8tHYQf79eNTo3mRLS0vbYFEIjTRku40w8D9", + "secretEncoding": "UTF-8", + "jwt": "eyJhbGciOiJIUzUxMiIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.pY0VEaihsE__ObyrO54mIEtpS9CreGjDeqkrNEXsvAXyYUcLZrsbyRis2qXAY1eZwbCFV4uZY0EdGdaGqsRSvg" + }, + "withBase64urlSecret": { + "header": "{\n \"alg\": \"HS512\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "secret": "KVG0WWbVA_Bg8sx5KnB-MoMiC1AQf3nl2nhSylHDXKMJUfuS-y_ESbduM0kjF-SqYw4ca0A0Kv0-EPtRiorybw", + "secretEncoding": "base64url", + "jwt": "eyJhbGciOiJIUzUxMiIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.D43P3OgkMW9YV7wJ_1ccIJzhHkIbjia6cSlM7hRQUUd5z9wniwetRphXopIOZvo324BHxNY5maZ1G9IOg8k6VQ" + } + }, + "RS256": { + "type": "digital", + "withPemKey": { + "header": "{\n \"alg\": \"RS256\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6ijZmDlrLczGWCoiIEW8\n65WO6BiYjsmkSdaryoMEGbJbbpaJiRO6ebzPEXBep+mvKhdHVDO/Or6USFmZEHi8\nazpjV+Fc2wb0eB1io4K3gqZsQ5xQpO2ueDqXLK4IB4hMWEGNs36z1o8CqUGsVzX4\nsqd3APENqc6SUHdSubzxhHMSW49JXEdJiX9vhCXPHL9bO30IhMGxCZEy9YM3L8bU\nMFQ0TeAItIbaKIkX0MyiMOJNoq6qFw4QTDgrrvtvAJl4QTe1hoFUFXJvRhRYatju\n79184C9toftBsquyMrVIBe0wiQ7LBOHJTKeI6Uz4RxLFKyFPOR5uPyIcE2VnJiyu\nJQIDAQAB\n-----END PUBLIC KEY-----", + "publicKeyFormat": "PEM", + "privateKey": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDqKNmYOWstzMZY\nKiIgRbzrlY7oGJiOyaRJ1qvKgwQZsltulomJE7p5vM8RcF6n6a8qF0dUM786vpRI\nWZkQeLxrOmNX4VzbBvR4HWKjgreCpmxDnFCk7a54OpcsrggHiExYQY2zfrPWjwKp\nQaxXNfiyp3cA8Q2pzpJQd1K5vPGEcxJbj0lcR0mJf2+EJc8cv1s7fQiEwbEJkTL1\ngzcvxtQwVDRN4Ai0htooiRfQzKIw4k2irqoXDhBMOCuu+28AmXhBN7WGgVQVcm9G\nFFhq2O7v3XzgL22h+0Gyq7IytUgF7TCJDssE4clMp4jpTPhHEsUrIU85Hm4/IhwT\nZWcmLK4lAgMBAAECggEABEfG4n96NBYgMhBjG0/rCitrt1Zrw4BwHmFsNoF6m7Wk\n8jqSPQ09RWhsKJdzQ4KEDzLpvOJNRpehQklRAPoUB6nDkyGtftt7sI5o9TA4hozg\nQcQjvUATBmOby9dKkkitjJd2LafNRcjLdaibq+RyrWFeTYgahdYe2pWzz21ixNcE\ntU+tLEA8E4qkTP8Ah+JDTOuoKBQWSgV7TqfAt88+E/EUOEruZytxLfLpBTGllbQT\nxPuWnNTcBRH5emEkiKND+x4KaSj7znRuBsUCXYDYYkg28Czy6JI6WFLaRP1iXiZI\n6l5BfymDBnC8N0HWYIa0fDjMJz50Q0PRjztD6M1QKQKBgQD2qLOQHbMZQI7U6OAM\n07JOXiciWM34AgFcVEnBIeJpbowQo4P30UurUjWTlLnMHo6jT3z5oG90m2RazYg0\n/5dSYx8cWbPfUe5jzXZqJ3m73vDPzLUqYcNUQrRdWJ/nI9yaNwWnSVlOap7o+blc\nxDPYkB6ggM/naao/U/gU/s1FLwKBgQDzBvhBKp5gMv11gH8g+WOOG4c+shjTgPyJ\nPrNl6EqVq0+Ve4eCjIGgOQgXOxOGSmK8ecuh179VnZi4ccWD/McJlCeoTdcUS8yY\nrWP993eVjLyMgwwx1LQZVuwXxTdHVwb1Dx1BWJfTXFC2KULpN2u+QCHNDhSCMVZZ\nvtLLFnGU6wKBgQDGeQyzhBJe2WGU1CWkbJtnD7+xlX92djaeEnyeWSOT7o3pvYks\n2U5n9miB7gRqyJPBuO449u14CKmBnyxgaOFcO8IGz+86XPTTfbowxL7hewyOSIvm\nJHBF1r7G9c8E8AhMVsXHy+9+d7CSio6qpH2LXrwmLkAcVxvUhT5ztmt5pQKBgBKC\nAl/8HemXmIPdUFEzjOhiok8dAxUAarsNAl6NbTiuvjXVHYHMr4aDMWGLhzYf7hsK\nb36YzqJ3iQzq5S7jDklldgu0Od/60c8CzW2m7f1+pVFSHZih6UFQxFQfGdGeCBKb\nnw+97noTOrZUuBrItLTdb3WNT/SGS1w0UxtSTz4XAoGAL4crwNs5CidpAJlmbyc0\nOIKq7Lr8+GH47vSSliFnZmVqG/Y3mDxC0+E77wLY5k4heT3DYv5XW50brGFwI5iM\nMUbHupYePKRllbxb32uFFsIZa/JOnznDVIXD2R3lAj+tk8JiTOfqiTo2icKrrtmy\ns/4Zr7VeRFwxt0Leghsswao=\n-----END PRIVATE KEY-----", + "privateKeyFormat": "PEM", + "jwt": "eyJhbGciOiJSUzI1NiIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.leRxeES7xOxhamF4OZzmwWBsvaZF3s6-G-ZIXYUIWG42TrhazAKvpvoZpyLGGu8XEVAKMFCiffBLm30h8K1TwKeERZrdRa64h4nm8y3n4K05VZhej373dAqhqSsYJqbK4Vokrpg-Nb18-_C-HSb9sM1UyB5baAcTCxqg9KPO_OSAAUxJiTsIXxe4swUtbOU4GkhWRHb6DlTFqMw-l-p70H6OuwQNgHM-L4oAxRWmM285jfKCsfwy5eaeVkOUpnQyawFH8cRmztV7MUGnO3qR02LpKbQd6BbeMpo8mzz5rx4VpAtmXKSiGEEWKePYokt9igife5FwS98rYwpIM8ArqA" + }, + "withJwkKey": { + "header": "{\n \"alg\": \"RS256\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": { + "kty": "RSA", + "n": "6ijZmDlrLczGWCoiIEW865WO6BiYjsmkSdaryoMEGbJbbpaJiRO6ebzPEXBep-mvKhdHVDO_Or6USFmZEHi8azpjV-Fc2wb0eB1io4K3gqZsQ5xQpO2ueDqXLK4IB4hMWEGNs36z1o8CqUGsVzX4sqd3APENqc6SUHdSubzxhHMSW49JXEdJiX9vhCXPHL9bO30IhMGxCZEy9YM3L8bUMFQ0TeAItIbaKIkX0MyiMOJNoq6qFw4QTDgrrvtvAJl4QTe1hoFUFXJvRhRYatju79184C9toftBsquyMrVIBe0wiQ7LBOHJTKeI6Uz4RxLFKyFPOR5uPyIcE2VnJiyuJQ", + "e": "AQAB" + }, + "publicKeyFormat": "JWK", + "privateKey": { + "kty": "RSA", + "n": "6ijZmDlrLczGWCoiIEW865WO6BiYjsmkSdaryoMEGbJbbpaJiRO6ebzPEXBep-mvKhdHVDO_Or6USFmZEHi8azpjV-Fc2wb0eB1io4K3gqZsQ5xQpO2ueDqXLK4IB4hMWEGNs36z1o8CqUGsVzX4sqd3APENqc6SUHdSubzxhHMSW49JXEdJiX9vhCXPHL9bO30IhMGxCZEy9YM3L8bUMFQ0TeAItIbaKIkX0MyiMOJNoq6qFw4QTDgrrvtvAJl4QTe1hoFUFXJvRhRYatju79184C9toftBsquyMrVIBe0wiQ7LBOHJTKeI6Uz4RxLFKyFPOR5uPyIcE2VnJiyuJQ", + "e": "AQAB", + "d": "BEfG4n96NBYgMhBjG0_rCitrt1Zrw4BwHmFsNoF6m7Wk8jqSPQ09RWhsKJdzQ4KEDzLpvOJNRpehQklRAPoUB6nDkyGtftt7sI5o9TA4hozgQcQjvUATBmOby9dKkkitjJd2LafNRcjLdaibq-RyrWFeTYgahdYe2pWzz21ixNcEtU-tLEA8E4qkTP8Ah-JDTOuoKBQWSgV7TqfAt88-E_EUOEruZytxLfLpBTGllbQTxPuWnNTcBRH5emEkiKND-x4KaSj7znRuBsUCXYDYYkg28Czy6JI6WFLaRP1iXiZI6l5BfymDBnC8N0HWYIa0fDjMJz50Q0PRjztD6M1QKQ", + "p": "9qizkB2zGUCO1OjgDNOyTl4nIljN-AIBXFRJwSHiaW6MEKOD99FLq1I1k5S5zB6Oo098-aBvdJtkWs2INP-XUmMfHFmz31HuY812aid5u97wz8y1KmHDVEK0XVif5yPcmjcFp0lZTmqe6Pm5XMQz2JAeoIDP52mqP1P4FP7NRS8", + "q": "8wb4QSqeYDL9dYB_IPljjhuHPrIY04D8iT6zZehKlatPlXuHgoyBoDkIFzsThkpivHnLode_VZ2YuHHFg_zHCZQnqE3XFEvMmK1j_fd3lYy8jIMMMdS0GVbsF8U3R1cG9Q8dQViX01xQtilC6TdrvkAhzQ4UgjFWWb7SyxZxlOs", + "dp": "xnkMs4QSXtlhlNQlpGybZw-_sZV_dnY2nhJ8nlkjk-6N6b2JLNlOZ_Zoge4EasiTwbjuOPbteAipgZ8sYGjhXDvCBs_vOlz00326MMS-4XsMjkiL5iRwRda-xvXPBPAITFbFx8vvfnewkoqOqqR9i168Ji5AHFcb1IU-c7ZreaU", + "dq": "EoICX_wd6ZeYg91QUTOM6GKiTx0DFQBquw0CXo1tOK6-NdUdgcyvhoMxYYuHNh_uGwpvfpjOoneJDOrlLuMOSWV2C7Q53_rRzwLNbabt_X6lUVIdmKHpQVDEVB8Z0Z4IEpufD73uehM6tlS4Gsi0tN1vdY1P9IZLXDRTG1JPPhc", + "qi": "L4crwNs5CidpAJlmbyc0OIKq7Lr8-GH47vSSliFnZmVqG_Y3mDxC0-E77wLY5k4heT3DYv5XW50brGFwI5iMMUbHupYePKRllbxb32uFFsIZa_JOnznDVIXD2R3lAj-tk8JiTOfqiTo2icKrrtmys_4Zr7VeRFwxt0Leghsswao" + }, + "privateKeyFormat": "JWK", + "jwt": "eyJhbGciOiJSUzI1NiIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.leRxeES7xOxhamF4OZzmwWBsvaZF3s6-G-ZIXYUIWG42TrhazAKvpvoZpyLGGu8XEVAKMFCiffBLm30h8K1TwKeERZrdRa64h4nm8y3n4K05VZhej373dAqhqSsYJqbK4Vokrpg-Nb18-_C-HSb9sM1UyB5baAcTCxqg9KPO_OSAAUxJiTsIXxe4swUtbOU4GkhWRHb6DlTFqMw-l-p70H6OuwQNgHM-L4oAxRWmM285jfKCsfwy5eaeVkOUpnQyawFH8cRmztV7MUGnO3qR02LpKbQd6BbeMpo8mzz5rx4VpAtmXKSiGEEWKePYokt9igife5FwS98rYwpIM8ArqA" + } + }, + "RS384": { + "type": "digital", + "withPemKey": { + "header": "{\n \"alg\": \"RS384\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAw12TYMlRY0SUQyBoO2OX\n4hLLYim5Y7DRHiTzKi0g4fH3LWbICOvS0bGlPKzjmmoOL7+PsETpwydZzPO30XXl\nSsYviq3Xd3SO8txAXuQjlWTZrzEhk55wC2vP8EnQuT9rlSdLf0Bz4rhAtQwo++a6\nsk2fGC6Enr3cGBD8Rac6w1uomib6j3ISNJCCAAaFWFIfehRU1SZ5r5NXg8izisoL\nDe5ELkzjIcyzTitu6YVqlKi6+fZ9ckRVgD6AsQI0AMB8DIPampMRm3dD/2VcHs8C\n6KY+VsmLLG0PhKe/DfsF3d9HhpkB4kQIxKBRlwDFu4OHJxhEMamokHUQmQlyDxtl\nL8B0hqLW+nRB8Lla81h5HJyEUZ645saPChBn27ia1vqu50n6NcetqXUwjZCI13Fh\n7FQRw7+18IdWPNi6l6iPdE+vCsbJGvqpp+XKuaNqW2260nJ3g34jlrvwNSwsknuq\nHeinFWipIuroLN2lgIyO8pWC2b7Lck3n3ZtmBjFNlx9jAgMBAAE=\n-----END PUBLIC KEY-----", + "publicKeyFormat": "PEM", + "privateKey": "-----BEGIN PRIVATE KEY-----\nMIIG/gIBADANBgkqhkiG9w0BAQEFAASCBugwggbkAgEAAoIBgQDDXZNgyVFjRJRD\nIGg7Y5fiEstiKbljsNEeJPMqLSDh8fctZsgI69LRsaU8rOOaag4vv4+wROnDJ1nM\n87fRdeVKxi+Krdd3dI7y3EBe5COVZNmvMSGTnnALa8/wSdC5P2uVJ0t/QHPiuEC1\nDCj75rqyTZ8YLoSevdwYEPxFpzrDW6iaJvqPchI0kIIABoVYUh96FFTVJnmvk1eD\nyLOKygsN7kQuTOMhzLNOK27phWqUqLr59n1yRFWAPoCxAjQAwHwMg9qakxGbd0P/\nZVwezwLopj5WyYssbQ+Ep78N+wXd30eGmQHiRAjEoFGXAMW7g4cnGEQxqaiQdRCZ\nCXIPG2UvwHSGotb6dEHwuVrzWHkcnIRRnrjmxo8KEGfbuJrW+q7nSfo1x62pdTCN\nkIjXcWHsVBHDv7Xwh1Y82LqXqI90T68Kxska+qmn5cq5o2pbbbrScneDfiOWu/A1\nLCySe6od6KcVaKki6ugs3aWAjI7ylYLZvstyTefdm2YGMU2XH2MCAwEAAQKCAYAu\nrk/WSxRO52aTyY0OT8RNaRc+2+Bn4Sp+jO6rb8ARLPtWVl5Kv2qO32cvodH6pgfA\nwgGH6Vd/4Ym0DrIn8wc4QDXA6bv315qGjjk1U0brXf8jvNYcizmTiQ3VCRY+BVjj\n+VExVUm7bTJM8FxkoGOQ0jpHEWpv8cbC22AkForUfjTBrLmnB+cwtyzQ67319h1+\nUphYnApseQTqwMyhx5gvmnShKY8GFv7rGTa1xsLKRazzqEGeSZSygXzHjtK1MUin\nh4TtkIRv1MtoJRlB6Vwr2iUdOOW4lkIueQDdBxee0WvnFeQSNWonnG3k5xUi6YYG\ntNHRCaznqI252lTkirRHSbrM9HfvPOEJM9D3j9uFgLHDVj6soPQDFQeyzvQ76paZ\nRYcKwobGC0wH4og0hJ61GYttMNmTUu2pq8FJX7dsdNwyNRU0qJ6r3Ly3eCmjxwlL\nhLWI9HzVqmoVdazdPFKKUJM1hWU+ZWufAeX5QtKFMBfVz5Sd3zWxbjEjqaVELf0C\ngcEA8yJVePbHxd37CDLOqNoY6Mh3T4B2wFL3uj08eYGe9EG/pYhBt5Hxe+Cy2dpx\nk67SQYbYRtMvmOehcjCi5doUW657qUInBCa8nDoicUBHuqwMuU/i8C+LPFS7+XGY\nD0n2/HJD1AdaI7wPhVf0o81JTdG1RKy/YdThQT/8XRjLTjIwc5w6fyzV0mFixWRA\nClrSdg0+s5fcn66+C12b2ALbNOKirIuNPlQgv0CDDPGjqU6iGW7QGcxU8jSd2mH7\nK/mdAoHBAM20IocM1eXDWCMwiQOToFcs4JlHvXwAJxBj5mhvBt6+SdKJF9r1gPb7\nrIwjmy3cU2TjVyyW1MFJSjLnDWqBlyg+1E7Nn5gw5CNuXxdajkxVAJ9g18N54W59\nUOC0m0RpT39WNRb5j0oE+2mhBBowrzh8ax2gvGey+N4uEMZ/5UyzJh1SHLu7/Ix+\nHF/Vkokaeb3vYqbh28kiZz0kaTu7UsdDYPIDQrj8hzC1mXpie0UuC4seI2QElb7U\nsA9zIySs/wKBwQDyVTFN/OKHNEZmGIXkxGT5d/17TzaNYOSrSyfAj9KH8BR9f77I\nof1IFGEPRGvZ3/CPAUEF7q5NP+mpsBJc+K076EA3JslOmPF64XK84G3eAGg6OAag\nkTK9MlOdP3xpGLbFTXqPlbhhT6tEo7MhpJZAqxl6Vpf2gcD2UTlO7UyOJvYl9PxV\nD7IbG5ff2Jj/+SA2K+NoC6AJxJiFKYsQlWA5aP7s7bcc/asaFMnKF/qg4NAue0WN\nwRyVwJ3pMamwXf0CgcBvLJgsnUdNcpJEEos6n6Lc+qg4r4k9Z2e1eAijEL6JzBZh\n7y4xbNZSphrPcr7/vkBkGmqW8r3x6QZtFGsv0PI9Ehf0rzU+L85dR92k5ZBauOYp\nPVHfmBO6f4giqfnws2n/zDvNOvuyaZbns9pfvUg2IyhRTvoEobnXetYeMilflsNW\nvXZCEIuh8tarBOa5qtF5UdPjldYPksRxSyiE2+0VPNk8c36wM+ts6/kTJ/6vmP8s\nJRHDkKbOCG1PLE8mF0kCgcEAwBgDEcC4Hy5Xlqw8Par40yUrfUehy6z1qaoNV3k9\nxxIeTSIc/vFWHwaxKOq+arYtGsqYR2s1vaz7q9UPV7tQqtrYm3vv49+/EXMnAPz2\n9fBTQuDUaNRu9LNBPbCrlFzP1+8UVZ16EAqCqJhLtqcy0+kEocMkEgctwNRUxxIm\neudPBGZq8Ov+ePKAQwsPnIwzQdaagXXNRlkgGVbLPVI27DBg6kKLWpKcKABcoAIQ\ngOSUCpPanyCZbdWkFEmPYkwB\n-----END PRIVATE KEY-----", + "privateKeyFormat": "PEM", + "jwt": "eyJhbGciOiJSUzM4NCIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.UPGD92ZW0P-4wtx_RBYFMyPpSocIUiKhBrQ2y8uGA9lcaHQ1aS1NkaIjEyrAsR_TfLeVmDmUJZ9pX8W1mJenOvuMM9SA7_DuHWdfpOHUOCxyP6xGziehUC5lszeSIaFmiQmJrRMW2hAMLYRbm9XkAW87ya3Vcet4nARxtUba9qRPqR1tmsy46Upsbm82FgAVsg8MxotfttH1L3kl_jwkHiLsvleZ_yt7EYh0bL4bpfEzRmV1iFFwTS_MKmrgcxGzrJi00QscmK3Zs7L1uhs9rEsWSKp6bkLfcLJEhLfMPp19ouOVVsM7XwWpO8t6q_QbuknV7vfOmwIxsgTVCGcyOy7w7Wz6HAmraOo23qEPT5n6NCu_mdgZF5kbdeJsb9di9KOh4aDzeEycNB4kDEfAhWqVXlm-W30kW8tUm7CcmfF58o9HNhYr1kJu6R2IM3QdA77jgixjQG_Wj18EmKPXPU_jTX-Q40G0ea7gL51L_SVWF6VKX8x1SeqG3P9l2gUU" + }, + "withJwkKey": { + "header": "{\n \"alg\": \"RS384\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": { + "kty": "RSA", + "n": "w12TYMlRY0SUQyBoO2OX4hLLYim5Y7DRHiTzKi0g4fH3LWbICOvS0bGlPKzjmmoOL7-PsETpwydZzPO30XXlSsYviq3Xd3SO8txAXuQjlWTZrzEhk55wC2vP8EnQuT9rlSdLf0Bz4rhAtQwo--a6sk2fGC6Enr3cGBD8Rac6w1uomib6j3ISNJCCAAaFWFIfehRU1SZ5r5NXg8izisoLDe5ELkzjIcyzTitu6YVqlKi6-fZ9ckRVgD6AsQI0AMB8DIPampMRm3dD_2VcHs8C6KY-VsmLLG0PhKe_DfsF3d9HhpkB4kQIxKBRlwDFu4OHJxhEMamokHUQmQlyDxtlL8B0hqLW-nRB8Lla81h5HJyEUZ645saPChBn27ia1vqu50n6NcetqXUwjZCI13Fh7FQRw7-18IdWPNi6l6iPdE-vCsbJGvqpp-XKuaNqW2260nJ3g34jlrvwNSwsknuqHeinFWipIuroLN2lgIyO8pWC2b7Lck3n3ZtmBjFNlx9j", + "e": "AQAB" + }, + "publicKeyFormat": "JWK", + "privateKey": { + "kty": "RSA", + "n": "w12TYMlRY0SUQyBoO2OX4hLLYim5Y7DRHiTzKi0g4fH3LWbICOvS0bGlPKzjmmoOL7-PsETpwydZzPO30XXlSsYviq3Xd3SO8txAXuQjlWTZrzEhk55wC2vP8EnQuT9rlSdLf0Bz4rhAtQwo--a6sk2fGC6Enr3cGBD8Rac6w1uomib6j3ISNJCCAAaFWFIfehRU1SZ5r5NXg8izisoLDe5ELkzjIcyzTitu6YVqlKi6-fZ9ckRVgD6AsQI0AMB8DIPampMRm3dD_2VcHs8C6KY-VsmLLG0PhKe_DfsF3d9HhpkB4kQIxKBRlwDFu4OHJxhEMamokHUQmQlyDxtlL8B0hqLW-nRB8Lla81h5HJyEUZ645saPChBn27ia1vqu50n6NcetqXUwjZCI13Fh7FQRw7-18IdWPNi6l6iPdE-vCsbJGvqpp-XKuaNqW2260nJ3g34jlrvwNSwsknuqHeinFWipIuroLN2lgIyO8pWC2b7Lck3n3ZtmBjFNlx9j", + "e": "AQAB", + "d": "Lq5P1ksUTudmk8mNDk_ETWkXPtvgZ-Eqfozuq2_AESz7VlZeSr9qjt9nL6HR-qYHwMIBh-lXf-GJtA6yJ_MHOEA1wOm799eaho45NVNG613_I7zWHIs5k4kN1QkWPgVY4_lRMVVJu20yTPBcZKBjkNI6RxFqb_HGwttgJBaK1H40way5pwfnMLcs0Ou99fYdflKYWJwKbHkE6sDMoceYL5p0oSmPBhb-6xk2tcbCykWs86hBnkmUsoF8x47StTFIp4eE7ZCEb9TLaCUZQelcK9olHTjluJZCLnkA3QcXntFr5xXkEjVqJ5xt5OcVIumGBrTR0Qms56iNudpU5Iq0R0m6zPR37zzhCTPQ94_bhYCxw1Y-rKD0AxUHss70O-qWmUWHCsKGxgtMB-KINISetRmLbTDZk1LtqavBSV-3bHTcMjUVNKieq9y8t3gpo8cJS4S1iPR81apqFXWs3TxSilCTNYVlPmVrnwHl-ULShTAX1c-Und81sW4xI6mlRC39", + "p": "8yJVePbHxd37CDLOqNoY6Mh3T4B2wFL3uj08eYGe9EG_pYhBt5Hxe-Cy2dpxk67SQYbYRtMvmOehcjCi5doUW657qUInBCa8nDoicUBHuqwMuU_i8C-LPFS7-XGYD0n2_HJD1AdaI7wPhVf0o81JTdG1RKy_YdThQT_8XRjLTjIwc5w6fyzV0mFixWRAClrSdg0-s5fcn66-C12b2ALbNOKirIuNPlQgv0CDDPGjqU6iGW7QGcxU8jSd2mH7K_md", + "q": "zbQihwzV5cNYIzCJA5OgVyzgmUe9fAAnEGPmaG8G3r5J0okX2vWA9vusjCObLdxTZONXLJbUwUlKMucNaoGXKD7UTs2fmDDkI25fF1qOTFUAn2DXw3nhbn1Q4LSbRGlPf1Y1FvmPSgT7aaEEGjCvOHxrHaC8Z7L43i4Qxn_lTLMmHVIcu7v8jH4cX9WSiRp5ve9ipuHbySJnPSRpO7tSx0Ng8gNCuPyHMLWZemJ7RS4Lix4jZASVvtSwD3MjJKz_", + "dp": "8lUxTfzihzRGZhiF5MRk-Xf9e082jWDkq0snwI_Sh_AUfX--yKH9SBRhD0Rr2d_wjwFBBe6uTT_pqbASXPitO-hANybJTpjxeuFyvOBt3gBoOjgGoJEyvTJTnT98aRi2xU16j5W4YU-rRKOzIaSWQKsZelaX9oHA9lE5Tu1Mjib2JfT8VQ-yGxuX39iY__kgNivjaAugCcSYhSmLEJVgOWj-7O23HP2rGhTJyhf6oODQLntFjcEclcCd6TGpsF39", + "dq": "byyYLJ1HTXKSRBKLOp-i3PqoOK-JPWdntXgIoxC-icwWYe8uMWzWUqYaz3K-_75AZBpqlvK98ekGbRRrL9DyPRIX9K81Pi_OXUfdpOWQWrjmKT1R35gTun-IIqn58LNp_8w7zTr7smmW57PaX71INiMoUU76BKG513rWHjIpX5bDVr12QhCLofLWqwTmuarReVHT45XWD5LEcUsohNvtFTzZPHN-sDPrbOv5Eyf-r5j_LCURw5CmzghtTyxPJhdJ", + "qi": "wBgDEcC4Hy5Xlqw8Par40yUrfUehy6z1qaoNV3k9xxIeTSIc_vFWHwaxKOq-arYtGsqYR2s1vaz7q9UPV7tQqtrYm3vv49-_EXMnAPz29fBTQuDUaNRu9LNBPbCrlFzP1-8UVZ16EAqCqJhLtqcy0-kEocMkEgctwNRUxxImeudPBGZq8Ov-ePKAQwsPnIwzQdaagXXNRlkgGVbLPVI27DBg6kKLWpKcKABcoAIQgOSUCpPanyCZbdWkFEmPYkwB" + }, + "privateKeyFormat": "JWK", + "jwt": "eyJhbGciOiJSUzM4NCIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.UPGD92ZW0P-4wtx_RBYFMyPpSocIUiKhBrQ2y8uGA9lcaHQ1aS1NkaIjEyrAsR_TfLeVmDmUJZ9pX8W1mJenOvuMM9SA7_DuHWdfpOHUOCxyP6xGziehUC5lszeSIaFmiQmJrRMW2hAMLYRbm9XkAW87ya3Vcet4nARxtUba9qRPqR1tmsy46Upsbm82FgAVsg8MxotfttH1L3kl_jwkHiLsvleZ_yt7EYh0bL4bpfEzRmV1iFFwTS_MKmrgcxGzrJi00QscmK3Zs7L1uhs9rEsWSKp6bkLfcLJEhLfMPp19ouOVVsM7XwWpO8t6q_QbuknV7vfOmwIxsgTVCGcyOy7w7Wz6HAmraOo23qEPT5n6NCu_mdgZF5kbdeJsb9di9KOh4aDzeEycNB4kDEfAhWqVXlm-W30kW8tUm7CcmfF58o9HNhYr1kJu6R2IM3QdA77jgixjQG_Wj18EmKPXPU_jTX-Q40G0ea7gL51L_SVWF6VKX8x1SeqG3P9l2gUU" + } + }, + "RS512": { + "type": "digital", + "withPemKey": { + "header": "{\n \"alg\": \"RS512\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0pyUVKWib9bRKvGRYbu3\ndk7iclROGN82XhdXq8nlvxd+F7tFiWuQeC83L2i/uF7589vBBDGppSehkV+8P+dU\nZWpZBrUt7gMbnL2r9X7PtP2c/G9ZEV5VGcj0Wm6if5pRmeVaVXvKrbtQPlurK+it\n4YMKvKQWjTiNJTgPZhhkZKSynBmk9gJ9xAUabZDWbf7QWrrbWgNHe/vS1EyGIf5/\nk8mCpSF5teRXTN4mRTmAdJgWBufcxnKWJDNH72Bxx1jHf8m1w9ZPZXkgRk6AaHxs\n7bu+6MCMiqglebHDgXU2Gt9A2niSO8vy82I0YyCrfgjIMFdMT5rbQQZTmc7lUp/n\nxdy/XYRb0RRO5G2ZXxMrs/6W8nIPefotAamUFpQHk81gOqiLa2JZSrJ6mhXtAqOy\nkgmkrBwjdTa6AHI0YqYCd3Qv4nrOzLAbgYUaOoKxWnJaqfxf+bnMCotovB4UTUZB\nBWE9gpAyx+BmCvJGlPwe4l7QmmXBQEVn8RrHLjdg3vevT2/I88v6Qc8LGg4rX0q6\nG5WOOfL4aIc34CyFdqBcRHL0z+NfpegkzyFjCn5Gjh0nx/ByAm83Keinfx2+BEa0\n101w9WlGpur4x8Kin5ZjiRyelRX8hrAWymK1f8QIi69obZPdEaNpX4KyD5cpF4/B\nMatm353PntRh6/nrhywnd+MCAwEAAQ==\n-----END PUBLIC KEY-----", + "publicKeyFormat": "PEM", + "privateKey": "-----BEGIN PRIVATE KEY-----\nMIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDSnJRUpaJv1tEq\n8ZFhu7d2TuJyVE4Y3zZeF1eryeW/F34Xu0WJa5B4LzcvaL+4Xvnz28EEMamlJ6GR\nX7w/51RlalkGtS3uAxucvav1fs+0/Zz8b1kRXlUZyPRabqJ/mlGZ5VpVe8qtu1A+\nW6sr6K3hgwq8pBaNOI0lOA9mGGRkpLKcGaT2An3EBRptkNZt/tBauttaA0d7+9LU\nTIYh/n+TyYKlIXm15FdM3iZFOYB0mBYG59zGcpYkM0fvYHHHWMd/ybXD1k9leSBG\nToBofGztu77owIyKqCV5scOBdTYa30DaeJI7y/LzYjRjIKt+CMgwV0xPmttBBlOZ\nzuVSn+fF3L9dhFvRFE7kbZlfEyuz/pbycg95+i0BqZQWlAeTzWA6qItrYllKsnqa\nFe0Co7KSCaSsHCN1NroAcjRipgJ3dC/ies7MsBuBhRo6grFaclqp/F/5ucwKi2i8\nHhRNRkEFYT2CkDLH4GYK8kaU/B7iXtCaZcFARWfxGscuN2De969Pb8jzy/pBzwsa\nDitfSroblY458vhohzfgLIV2oFxEcvTP41+l6CTPIWMKfkaOHSfH8HICbzcp6Kd/\nHb4ERrTXTXD1aUam6vjHwqKflmOJHJ6VFfyGsBbKYrV/xAiLr2htk90Ro2lfgrIP\nlykXj8Exq2bfnc+e1GHr+euHLCd34wIDAQABAoICADVDQAgAM4pRK2jO2tN6o7UZ\n0g7T30RO/vLguF1Lm/yttkfOJpHQUCL03eHxfbrk2hWf17p1zM9lrGiVa4hFuoRD\nVuxpWYo94vfKx/g379N36AG3LzFDSAZTWeic3h+jKUvgQu4ndmRlYK/Egw+Bsqe7\nejWm0cU5LgjhmpNZS9pgBIORwLQugRvXpo1a+b+rl4m6g8rJ1YQ3dWQXTjy+ngkE\nBzQ3uQ4VBzb7X3ZWSnQyGi/4506QoAPbrC+PlnaxrxJUMtGqGz4wWccuBy9leC7P\nMkKun1xZldCm8iiFOf+lwkL+Bw10UKbYiSMgmf4vvmDrUvM22IgjT3Uwa7Jvmi9s\nBaGsxTnCtz/dcaNoO6w8GXWWX4mm+Uz09c+ADiFupaBXTLGeIMW9UByiBzNius7B\nJpnTQccCDYiDpWSWx7Jj8wHavrWP6sBTWxQR8y2Lyk1gBxiQ3D3rotiwgvBEzSG0\n6KmnzRL1beGMzIW5F4dd0ZF1RdbIWFRhEv4T1wTy8x+Mot8WtgsTgxIDDEEaFJ8s\nwwtbPgk0pqxERkanwReQvrvKpG94nXz0UsfTwitDpBXff5PtYOjB4JbROx5YvV6g\nkPY3QJ2hgHxNl6MUwpPBNIMk+sRqpkWeayOrK4J1MkkFGzHyatMpKj7QuQ8GNGQh\n7gOMbkgxZgXTc+T+5TnhAoIBAQD7w2dUarEA9J2VM6lfHRjksdeM8rdUDB9Ka2eM\n5QolaQn7ArsmCgblqmz70atjnm67mK/NZC+OhDirWY8xKwqdyV35FurnpxOXR137\nGI65NYSckpgXAsVlD+8emD5YVKfr4cnDyNux2wtlOngpHOmD8c9mR0zvOtE8DyLJ\nWf4Yu6ytFEuVFu/Sp/VhW3oNtAtjdzIGfxVla5+UCNGNvPc7fNeViOmMT+2tCYbT\nKELihfsnCn1Ptc8J6aHgLVimV36CBXclHEfTr4JcfKSrIDo3Dhmbsg0IkdHuuhAN\nk6MUNG8Ay2FfrSuymI5my24sXxcAyU909uThOB/+hFBuFzdpAoIBAQDWJ+T5b1c/\nyk/qsWGmG7JdvOtypBjEayYs0wttXIeLIJHhQvuBkBvTJfajPOX4p2gpyjOy35yW\nz0XT7GZYE61Ifjbw+1BdqDssFGww/Ox8Az1fPStkAG5Ew28gutll4qBWpWu/TexE\nRx0qaKf/YTw1he21Eai67ZGnTw6BkH0vBaNSAY0JPky9vI0mLoO9ItXCCsvF5kXm\nVUYkO5pyDQI+sVPgen3Be0U09sBFDVGIrLZVuSUYwgpKz6WrQ0MfLf/jnU8+5qyI\n54BulS4ZurpPjMUZwWr1esWoBehHSjjSPaEa/VCJehHVBUVWLegr8Qj9zgJr2npB\niEaZewoXdfdrAoIBAQC5DwgsIASdzDDtFD1iYbQDnsnvnBWv3P0/KbXC9jTADPa+\nIGLKckJhnSVg8NzHbBS/JlvLYOIoIv64zSsZHCdAllzSFMt0nfYjk9z8DjAS6cjh\ngkvzViEcyVqeJZBmQ0vvcldp54G9uWIl9ZWPuuXXC+7EopJlotlcCVArq0/AhGtI\nCgwIugRs1vLirmgIHJjmcx49cjqbA0IYgWbvhcBBZOHe0/XAIpx1PfRx0D1h3tQe\n/XHhHqXiBm7rpslr9BJUponOqHwPmQn8y84Kz7Sa9W1Tacx0ySMEFJZqNGSCHIyf\ni9+2gUcGj2bVHqGMUhVJibAzLKxO9H9oCYBJfB1JAoIBABADA5eyv29BjSAbCxYE\nVB22FlSH+GIXMM+BKAWROYEpej7BZ1SUlb//wqUJ1Jf2zE7zk1H4bhjIfowNzMkh\nD3+wECOMZsHZ5jKxhDVVc8kB5QDN7gSYE6aIhjKIReDcROi1jYzMIrIoLwIQuR7b\nAkluLguvulHfmVhNDOSbDQELBt8Gxqi+Q7ab9mG4cJkflaPgcsPlJ6zFC22CF1YX\nqudNEtxhzC0/Ljl7iXygNkxlvWxDX4auW16kj9pyOP6Hze4SwO4PCS9jP7ME7GF4\nGJ4CBGqcj4azGzwo1Okfn4f4m6cM8YyV1+d5cWm0HPvMFcQENyIhP6rOqZioHmUK\nqOkCggEAaQUWIDBosra3pEnLnoCBkcvWdk3DGfj8Mif5y1fShelV55VpW0B2pKIG\nagAfAx5J+CYeoXJPG/1VHNjG8rvYAgvQsZzTVZuUSJgUlGa5zXgSPhDFMfKvxiJR\nDBB0qdN2YFtGpGOoRVZc6JIA1iC/xSjAxnTjh7PbdFSQUtBkU1WlVOTapOK+zZX0\nQTTIhO2YY27NmVT1zApnzDQbf/1rr3GWT2DULYPZYjFiZH88f1TxQGborEEq2ZSA\nmZS7w/GI/62Uo33nuZsUknF+6ArvfpQ/Qy2WQ+Ntv0PDs+vbkJZjRVoLpGmrwR7E\ns9RTj6ICaIIuN+c4gNhvb5S02oXjbA==\n-----END PRIVATE KEY-----", + "privateKeyFormat": "PEM", + "jwt": "eyJhbGciOiJSUzUxMiIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.lzfjiLNJL3Vu-9LXIOhggSDGvX7gCIEpziDkm28UBnOAZT5TeCQC0nQA5IjSPWCKW5p1Mx44j_ALol8GtGkhhtx3DWR98XlHpeJ0y8lQADauGyf4PcufYqm8CkUahTEX54468M_yYkxMk2alJ4kZV5XWytGqy6ctt6nRBQmVx8X_hVWWwJfDy1wrsigCPWmYLgtL1w4zSHPjmSgTCOnyT-EtU52AlYUFNhVymNa7iyXlTDKdoMum6FAe_0iIHupoEmD2oGhftNpEFAUvbC4IoYaTP0wW9SQVcwf4pswZOlWJBQ1Vq6GKDIaWiW2oqto0jC0i19oH8EFa_2BJurV-gffYAlYOuvVZYJd8lBXnOxLD92oObG-XO_H0qhLNAzybi8DFscG8pzu_J9HkCiq8Lb1aliZZCbI2xv8DCe74zLPC0OtpVtasR-bgUwJ2i6XvIiHo8yNPkS3Y4fsKOkIn49G1hFBHFbGojqoZjiV7XtBi1onX_SsaHVpVcFUj53QbCjM_MTaf0euYZkkMWXGHiok7IUooP44QxN_hZtEpjepiPD8-yrpWpMeJsCDnkG0QQeO6um73JGi5JZ6uvfe1Z1ZTXtpq3UnubZG5TapNrRG2R3_ZyssKYLdvg80g4G1GrwORq3W98sITVLxbL4turU1M8j3dMT8WA1udEEZINso" + }, + "withJwkKey": { + "header": "{\n \"alg\": \"RS512\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": { + "kty": "RSA", + "n": "0pyUVKWib9bRKvGRYbu3dk7iclROGN82XhdXq8nlvxd-F7tFiWuQeC83L2i_uF7589vBBDGppSehkV-8P-dUZWpZBrUt7gMbnL2r9X7PtP2c_G9ZEV5VGcj0Wm6if5pRmeVaVXvKrbtQPlurK-it4YMKvKQWjTiNJTgPZhhkZKSynBmk9gJ9xAUabZDWbf7QWrrbWgNHe_vS1EyGIf5_k8mCpSF5teRXTN4mRTmAdJgWBufcxnKWJDNH72Bxx1jHf8m1w9ZPZXkgRk6AaHxs7bu-6MCMiqglebHDgXU2Gt9A2niSO8vy82I0YyCrfgjIMFdMT5rbQQZTmc7lUp_nxdy_XYRb0RRO5G2ZXxMrs_6W8nIPefotAamUFpQHk81gOqiLa2JZSrJ6mhXtAqOykgmkrBwjdTa6AHI0YqYCd3Qv4nrOzLAbgYUaOoKxWnJaqfxf-bnMCotovB4UTUZBBWE9gpAyx-BmCvJGlPwe4l7QmmXBQEVn8RrHLjdg3vevT2_I88v6Qc8LGg4rX0q6G5WOOfL4aIc34CyFdqBcRHL0z-NfpegkzyFjCn5Gjh0nx_ByAm83Keinfx2-BEa0101w9WlGpur4x8Kin5ZjiRyelRX8hrAWymK1f8QIi69obZPdEaNpX4KyD5cpF4_BMatm353PntRh6_nrhywnd-M", + "e": "AQAB" + }, + "publicKeyFormat": "JWK", + "privateKey": { + "kty": "RSA", + "n": "0pyUVKWib9bRKvGRYbu3dk7iclROGN82XhdXq8nlvxd-F7tFiWuQeC83L2i_uF7589vBBDGppSehkV-8P-dUZWpZBrUt7gMbnL2r9X7PtP2c_G9ZEV5VGcj0Wm6if5pRmeVaVXvKrbtQPlurK-it4YMKvKQWjTiNJTgPZhhkZKSynBmk9gJ9xAUabZDWbf7QWrrbWgNHe_vS1EyGIf5_k8mCpSF5teRXTN4mRTmAdJgWBufcxnKWJDNH72Bxx1jHf8m1w9ZPZXkgRk6AaHxs7bu-6MCMiqglebHDgXU2Gt9A2niSO8vy82I0YyCrfgjIMFdMT5rbQQZTmc7lUp_nxdy_XYRb0RRO5G2ZXxMrs_6W8nIPefotAamUFpQHk81gOqiLa2JZSrJ6mhXtAqOykgmkrBwjdTa6AHI0YqYCd3Qv4nrOzLAbgYUaOoKxWnJaqfxf-bnMCotovB4UTUZBBWE9gpAyx-BmCvJGlPwe4l7QmmXBQEVn8RrHLjdg3vevT2_I88v6Qc8LGg4rX0q6G5WOOfL4aIc34CyFdqBcRHL0z-NfpegkzyFjCn5Gjh0nx_ByAm83Keinfx2-BEa0101w9WlGpur4x8Kin5ZjiRyelRX8hrAWymK1f8QIi69obZPdEaNpX4KyD5cpF4_BMatm353PntRh6_nrhywnd-M", + "e": "AQAB", + "d": "NUNACAAzilEraM7a03qjtRnSDtPfRE7-8uC4XUub_K22R84mkdBQIvTd4fF9uuTaFZ_XunXMz2WsaJVriEW6hENW7GlZij3i98rH-Dfv03foAbcvMUNIBlNZ6JzeH6MpS-BC7id2ZGVgr8SDD4Gyp7t6NabRxTkuCOGak1lL2mAEg5HAtC6BG9emjVr5v6uXibqDysnVhDd1ZBdOPL6eCQQHNDe5DhUHNvtfdlZKdDIaL_jnTpCgA9usL4-WdrGvElQy0aobPjBZxy4HL2V4Ls8yQq6fXFmV0KbyKIU5_6XCQv4HDXRQptiJIyCZ_i--YOtS8zbYiCNPdTBrsm-aL2wFoazFOcK3P91xo2g7rDwZdZZfiab5TPT1z4AOIW6loFdMsZ4gxb1QHKIHM2K6zsEmmdNBxwINiIOlZJbHsmPzAdq-tY_qwFNbFBHzLYvKTWAHGJDcPeui2LCC8ETNIbToqafNEvVt4YzMhbkXh13RkXVF1shYVGES_hPXBPLzH4yi3xa2CxODEgMMQRoUnyzDC1s-CTSmrERGRqfBF5C-u8qkb3idfPRSx9PCK0OkFd9_k-1g6MHgltE7Hli9XqCQ9jdAnaGAfE2XoxTCk8E0gyT6xGqmRZ5rI6srgnUySQUbMfJq0ykqPtC5DwY0ZCHuA4xuSDFmBdNz5P7lOeE", + "p": "-8NnVGqxAPSdlTOpXx0Y5LHXjPK3VAwfSmtnjOUKJWkJ-wK7JgoG5aps-9GrY55uu5ivzWQvjoQ4q1mPMSsKncld-Rbq56cTl0dd-xiOuTWEnJKYFwLFZQ_vHpg-WFSn6-HJw8jbsdsLZTp4KRzpg_HPZkdM7zrRPA8iyVn-GLusrRRLlRbv0qf1YVt6DbQLY3cyBn8VZWuflAjRjbz3O3zXlYjpjE_trQmG0yhC4oX7Jwp9T7XPCemh4C1Ypld-ggV3JRxH06-CXHykqyA6Nw4Zm7INCJHR7roQDZOjFDRvAMthX60rspiOZstuLF8XAMlPdPbk4Tgf_oRQbhc3aQ", + "q": "1ifk-W9XP8pP6rFhphuyXbzrcqQYxGsmLNMLbVyHiyCR4UL7gZAb0yX2ozzl-KdoKcozst-cls9F0-xmWBOtSH428PtQXag7LBRsMPzsfAM9Xz0rZABuRMNvILrZZeKgVqVrv03sREcdKmin_2E8NYXttRGouu2Rp08OgZB9LwWjUgGNCT5MvbyNJi6DvSLVwgrLxeZF5lVGJDuacg0CPrFT4Hp9wXtFNPbARQ1RiKy2VbklGMIKSs-lq0NDHy3_451PPuasiOeAbpUuGbq6T4zFGcFq9XrFqAXoR0o40j2hGv1QiXoR1QVFVi3oK_EI_c4Ca9p6QYhGmXsKF3X3aw", + "dp": "uQ8ILCAEncww7RQ9YmG0A57J75wVr9z9Pym1wvY0wAz2viBiynJCYZ0lYPDcx2wUvyZby2DiKCL-uM0rGRwnQJZc0hTLdJ32I5Pc_A4wEunI4YJL81YhHMlaniWQZkNL73JXaeeBvbliJfWVj7rl1wvuxKKSZaLZXAlQK6tPwIRrSAoMCLoEbNby4q5oCByY5nMePXI6mwNCGIFm74XAQWTh3tP1wCKcdT30cdA9Yd7UHv1x4R6l4gZu66bJa_QSVKaJzqh8D5kJ_MvOCs-0mvVtU2nMdMkjBBSWajRkghyMn4vftoFHBo9m1R6hjFIVSYmwMyysTvR_aAmASXwdSQ", + "dq": "EAMDl7K_b0GNIBsLFgRUHbYWVIf4Yhcwz4EoBZE5gSl6PsFnVJSVv__CpQnUl_bMTvOTUfhuGMh-jA3MySEPf7AQI4xmwdnmMrGENVVzyQHlAM3uBJgTpoiGMohF4NxE6LWNjMwisigvAhC5HtsCSW4uC6-6Ud-ZWE0M5JsNAQsG3wbGqL5Dtpv2YbhwmR-Vo-Byw-UnrMULbYIXVheq500S3GHMLT8uOXuJfKA2TGW9bENfhq5bXqSP2nI4_ofN7hLA7g8JL2M_swTsYXgYngIEapyPhrMbPCjU6R-fh_ibpwzxjJXX53lxabQc-8wVxAQ3IiE_qs6pmKgeZQqo6Q", + "qi": "aQUWIDBosra3pEnLnoCBkcvWdk3DGfj8Mif5y1fShelV55VpW0B2pKIGagAfAx5J-CYeoXJPG_1VHNjG8rvYAgvQsZzTVZuUSJgUlGa5zXgSPhDFMfKvxiJRDBB0qdN2YFtGpGOoRVZc6JIA1iC_xSjAxnTjh7PbdFSQUtBkU1WlVOTapOK-zZX0QTTIhO2YY27NmVT1zApnzDQbf_1rr3GWT2DULYPZYjFiZH88f1TxQGborEEq2ZSAmZS7w_GI_62Uo33nuZsUknF-6ArvfpQ_Qy2WQ-Ntv0PDs-vbkJZjRVoLpGmrwR7Es9RTj6ICaIIuN-c4gNhvb5S02oXjbA" + }, + "privateKeyFormat": "JWK", + "jwt": "eyJhbGciOiJSUzUxMiIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.lzfjiLNJL3Vu-9LXIOhggSDGvX7gCIEpziDkm28UBnOAZT5TeCQC0nQA5IjSPWCKW5p1Mx44j_ALol8GtGkhhtx3DWR98XlHpeJ0y8lQADauGyf4PcufYqm8CkUahTEX54468M_yYkxMk2alJ4kZV5XWytGqy6ctt6nRBQmVx8X_hVWWwJfDy1wrsigCPWmYLgtL1w4zSHPjmSgTCOnyT-EtU52AlYUFNhVymNa7iyXlTDKdoMum6FAe_0iIHupoEmD2oGhftNpEFAUvbC4IoYaTP0wW9SQVcwf4pswZOlWJBQ1Vq6GKDIaWiW2oqto0jC0i19oH8EFa_2BJurV-gffYAlYOuvVZYJd8lBXnOxLD92oObG-XO_H0qhLNAzybi8DFscG8pzu_J9HkCiq8Lb1aliZZCbI2xv8DCe74zLPC0OtpVtasR-bgUwJ2i6XvIiHo8yNPkS3Y4fsKOkIn49G1hFBHFbGojqoZjiV7XtBi1onX_SsaHVpVcFUj53QbCjM_MTaf0euYZkkMWXGHiok7IUooP44QxN_hZtEpjepiPD8-yrpWpMeJsCDnkG0QQeO6um73JGi5JZ6uvfe1Z1ZTXtpq3UnubZG5TapNrRG2R3_ZyssKYLdvg80g4G1GrwORq3W98sITVLxbL4turU1M8j3dMT8WA1udEEZINso" + } + }, + "ES256": { + "type": "digital", + "withPemKey": { + "header": "{\n \"alg\": \"ES256\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEQ0O4qTvMrub/iTi2MEeYIxpYEPXn\nA8QiysjVZQGwrw4gnHzrKhUL64a1yIyHEEjLuh47aMJjAWmir7lXE5qYlQ==\n-----END PUBLIC KEY-----", + "publicKeyFormat": "PEM", + "privateKey": "-----BEGIN PRIVATE KEY-----\nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgRYLhKiptrTYDEbvc\nu97Qdf5AnMgyO7m0X757SvV0p+GhRANCAARDQ7ipO8yu5v+JOLYwR5gjGlgQ9ecD\nxCLKyNVlAbCvDiCcfOsqFQvrhrXIjIcQSMu6HjtowmMBaaKvuVcTmpiV\n-----END PRIVATE KEY-----", + "privateKeyFormat": "PEM", + "jwt": "eyJhbGciOiJFUzI1NiIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.MSulqVRFyhwYcKh1kdkRFEEBgjuQc_GQiLZfJk-DB7cXRmU5Isxtcpniaddh0Wkrz0syJY3dVROy2GgYxlff4Q" + }, + "withJwkKey": { + "header": "{\n \"alg\": \"ES256\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": { + "kty": "EC", + "x": "Q0O4qTvMrub_iTi2MEeYIxpYEPXnA8QiysjVZQGwrw4", + "y": "IJx86yoVC-uGtciMhxBIy7oeO2jCYwFpoq-5VxOamJU", + "crv": "P-256" + }, + "publicKeyFormat": "JWK", + "privateKey": { + "kty": "EC", + "x": "Q0O4qTvMrub_iTi2MEeYIxpYEPXnA8QiysjVZQGwrw4", + "y": "IJx86yoVC-uGtciMhxBIy7oeO2jCYwFpoq-5VxOamJU", + "crv": "P-256", + "d": "RYLhKiptrTYDEbvcu97Qdf5AnMgyO7m0X757SvV0p-E" + }, + "privateKeyFormat": "JWK", + "jwt": "eyJhbGciOiJFUzI1NiIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.j-aILHqyk-DB7TamCqlDX69wQeOfaTQnWj_HkW3d95IiHROhntOqFiyiYmzvkYjKnJoAEo_LzVKbFydbc-wU_Q" + } + }, + "ES384": { + "type": "digital", + "withPemKey": { + "header": "{\n \"alg\": \"ES384\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEOEkw2Gr2E5Y16A8ZxI1MSBf7tVKahDJE\nzCYRlVBgsULcxv8Dvkr9JLLWnZwWVzVFfCNyHD1ZdOT7iuQooLxTJdWtfYTpQv4i\nDcHVJXXPsg1DxWIkXlsZVTBLEj0oP2xG\n-----END PUBLIC KEY-----", + "publicKeyFormat": "PEM", + "privateKey": "-----BEGIN PRIVATE KEY-----\nMIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDAFr7ppw+/0SVlKTSKM\nsmfwfHNpW0TMNZPpqKseJLE6h6H7LrVo1dpy9T1lWYCMdA+hZANiAAQ4STDYavYT\nljXoDxnEjUxIF/u1UpqEMkTMJhGVUGCxQtzG/wO+Sv0kstadnBZXNUV8I3IcPVl0\n5PuK5CigvFMl1a19hOlC/iINwdUldc+yDUPFYiReWxlVMEsSPSg/bEY=\n-----END PRIVATE KEY-----", + "privateKeyFormat": "PEM", + "jwt": "eyJhbGciOiJFUzM4NCIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0._tuIddCT4gVcURGgHzMvXP6xxtwcpJwUfxU5238JZ-6Yur-MwKTj-qe3rE8sqn7d0SI3qCt-RS3xc8WO_EBMFl-cjuAdFssXaEsBuRwdhsZIpBd4qgqXNY6d-QI9aLJi" + }, + "withJwkKey": { + "header": "{\n \"alg\": \"ES384\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": { + "kty": "EC", + "x": "OEkw2Gr2E5Y16A8ZxI1MSBf7tVKahDJEzCYRlVBgsULcxv8Dvkr9JLLWnZwWVzVF", + "y": "fCNyHD1ZdOT7iuQooLxTJdWtfYTpQv4iDcHVJXXPsg1DxWIkXlsZVTBLEj0oP2xG", + "crv": "P-384" + }, + "publicKeyFormat": "JWK", + "privateKey": { + "kty": "EC", + "x": "OEkw2Gr2E5Y16A8ZxI1MSBf7tVKahDJEzCYRlVBgsULcxv8Dvkr9JLLWnZwWVzVF", + "y": "fCNyHD1ZdOT7iuQooLxTJdWtfYTpQv4iDcHVJXXPsg1DxWIkXlsZVTBLEj0oP2xG", + "crv": "P-384", + "d": "Ba-6acPv9ElZSk0ijLJn8HxzaVtEzDWT6airHiSxOoeh-y61aNXacvU9ZVmAjHQP" + }, + "privateKeyFormat": "JWK", + "jwt": "eyJhbGciOiJFUzM4NCIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.6mbWxjPkQNkVaUbcwH09bpbNje_Jd_t7uPwfxlkekZq6xFxrD_YaPHD0QsSElzZmngyEuhX8IGkFCajv20vt5CJB8ngyxoebA1R_1zVaFUG7bshjlgS4tg2Q4KAeChIS" + } + }, + "ES512": { + "type": "digital", + "withPemKey": { + "header": "{\n \"alg\": \"ES512\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBskMdL6rKFWkq8kuHJPHFp8zgC+Rh\ngZWKrjCk3zcZ9xByV8qGEYsCclYX6Ru5Ow5MhabAIKyxAvm5WVDeWzMlyFEADW99\nmAHTQE4Ls0kLD03CNuZAMiqitQxoBjGEOSUSiXk0DO8DWme6ZHq68b1LaC3260W6\nlwEGy63XIH0qGYuibnc=\n-----END PUBLIC KEY-----", + "publicKeyFormat": "PEM", + "privateKey": "-----BEGIN PRIVATE KEY-----\nMIHuAgEAMBAGByqGSM49AgEGBSuBBAAjBIHWMIHTAgEBBEIBhhaAtRnYuFB+pWby\nJhar78IT9OURdQmssKx/0fTngqTdEroJRrXlm/8CfJ/Cqnrw0GTexodMx+qaDj31\n80y2oZOhgYkDgYYABAGyQx0vqsoVaSryS4ck8cWnzOAL5GGBlYquMKTfNxn3EHJX\nyoYRiwJyVhfpG7k7DkyFpsAgrLEC+blZUN5bMyXIUQANb32YAdNATguzSQsPTcI2\n5kAyKqK1DGgGMYQ5JRKJeTQM7wNaZ7pkerrxvUtoLfbrRbqXAQbLrdcgfSoZi6Ju\ndw==\n-----END PRIVATE KEY-----", + "privateKeyFormat": "PEM", + "jwt": "eyJhbGciOiJFUzUxMiIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.APzSJ68PvjpQIx-h6YoIanJsiH2caLEN0WTb459w_LbCY8oAzkP14BiFGJ8CulpHsyIFJpLMCEFfh0SIRbPk9GiiAIVo_mtmTDWPd1ajnI5ooY5Ct1oAVuL1FzG8BKzhQqIpu0meqSrwd_nfdQ8SS54MiXm8Xejb3yF9Zht897M7jqLB" + }, + "withJwkKey": { + "header": "{\n \"alg\": \"ES512\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": { + "kty": "EC", + "x": "AbJDHS-qyhVpKvJLhyTxxafM4AvkYYGViq4wpN83GfcQclfKhhGLAnJWF-kbuTsOTIWmwCCssQL5uVlQ3lszJchR", + "y": "AA1vfZgB00BOC7NJCw9NwjbmQDIqorUMaAYxhDklEol5NAzvA1pnumR6uvG9S2gt9utFupcBBsut1yB9KhmLom53", + "crv": "P-521" + }, + "publicKeyFormat": "JWK", + "privateKey": { + "kty": "EC", + "x": "AbJDHS-qyhVpKvJLhyTxxafM4AvkYYGViq4wpN83GfcQclfKhhGLAnJWF-kbuTsOTIWmwCCssQL5uVlQ3lszJchR", + "y": "AA1vfZgB00BOC7NJCw9NwjbmQDIqorUMaAYxhDklEol5NAzvA1pnumR6uvG9S2gt9utFupcBBsut1yB9KhmLom53", + "crv": "P-521", + "d": "AYYWgLUZ2LhQfqVm8iYWq-_CE_TlEXUJrLCsf9H054Kk3RK6CUa15Zv_Anyfwqp68NBk3saHTMfqmg499fNMtqGT" + }, + "privateKeyFormat": "JWK", + "jwt": "eyJhbGciOiJFUzUxMiIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.ASjnp2dD7KPNLeTvemyxGfDMjZnYIY0e-GjCdyw0MQ-F8WySkxZqTRWOCVNM-NsH0pxh1vKHku76YntzNchkR9dKATo0z-FE98tGRDDjTZ_qjCnc3MVqx96dtExDgZ4wox7TrvWCE-6QowYn2ZIwmuFlRKDD9BBV4G2eIe4LsxcmWhmL" + } + }, + "PS256": { + "type": "digital", + "withPemKey": { + "header": "{\n \"alg\": \"PS256\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnXrMN7u6OyglgBvFc3CF\n9aviUw6EJhQoW77lbxZqh0CvBkvb5M4HxYbYs4zk8GhxAhjyORTdskPi4tMxPw3d\nKpEcN7qxm88QeysmCZQVO2ZXQ6nFJ7+B7oVsricG+BGEwT+68rwS2+EaReKXXzmw\nAr++CKp6fISKrgi3iCi4RzYFSZAGnKcuJIHKijFzq596DX9YqxCQrqgvlF5lb1gu\nds7DHJlC9xhkKCdSR+08AHmiYjXnxwdM6TMcIJdklj/6HAS8Om/sHo0M1RVO3K9x\nl0zCL9IpKdBBU7LxGUjACjR1Q/fL19MvRvR0upTpg2q5S6a5Zat86juBSK1NeJW5\nlQIDAQAB\n-----END PUBLIC KEY-----", + "publicKeyFormat": "PEM", + "privateKey": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCdesw3u7o7KCWA\nG8VzcIX1q+JTDoQmFChbvuVvFmqHQK8GS9vkzgfFhtizjOTwaHECGPI5FN2yQ+Li\n0zE/Dd0qkRw3urGbzxB7KyYJlBU7ZldDqcUnv4HuhWyuJwb4EYTBP7ryvBLb4RpF\n4pdfObACv74Iqnp8hIquCLeIKLhHNgVJkAacpy4kgcqKMXOrn3oNf1irEJCuqC+U\nXmVvWC52zsMcmUL3GGQoJ1JH7TwAeaJiNefHB0zpMxwgl2SWP/ocBLw6b+wejQzV\nFU7cr3GXTMIv0ikp0EFTsvEZSMAKNHVD98vX0y9G9HS6lOmDarlLprllq3zqO4FI\nrU14lbmVAgMBAAECggEASoep6/ygPEwZR2KdVa+c7rKs9+MIXt8uZJFZk3QX8bAG\nxaOUS9rIac8ScxOM7Ex5o2T8ClDaRXqEgBY0meNtVy57HNLyKMvcQHag12qqi8S5\nKxBHezLTAvhJgbh9v1zHKBCJ4URqZn7ICOge/NXX+80UWpSYSKMP4SLF/Z5L7IMh\nXTSnR8Whix3VyTeNm3TqXvdhcdf9JorjFHj41JXQ4bGcQF19AMU+MNlqBxqeT7uA\nN0U9TAV0J2cFmW2WrbtnBFpGdtcEXc0/RkW+UhuSvOEIFdVS2s2c1eTaLBdXND4K\nNK/no2AccaoJ8rATpnjMH6uiDskRW3EswWBtyUobRwKBgQDZnQFi0Q95zD+7euGI\n9exiLOs6oRcGTi8ZXt99N/AEJd0heHnxFLzL3yZpigQ8ZE1rFVoxvxHsEarqUue/\ngU6TzbXae4EfJWF0aNqe0NjbiwL0k17dMIkbi8uXCLIEgJBgPSe7QVnPkmMWrN+O\n8WP24cp0pcEbV1nFz6/OHgLvNwKBgQC5QkZGn9QHJ+rTmqO9CshJNu0prc1suauM\ndvBMM3CWpDPt8k2i7MSMgrMxj0ixNrp37akoIb66slskUT+CdHuQZLTIfRfrNDIL\nhjDm9Yq0AU33qiojiKk1U5ywRU8b4MGlr9SdL9AZzX+J3cVYu8tnAR6E1gJ0t9Mu\n/7N04dkLkwKBgFthErPsFhOPMTQI5awdmKWhNyXnf0OmkSCWNkLeumsDe1gSvyH9\nE0qI6hhnXF//voK49KbvFReMU7kSFz7TjauDNloIgrARglrfrO4DxQxr01HgkHVR\nbEGk8lj5zccWNYo0I/r99jizv+hFr5rWwqNpLRrOf8h7Zbcq/ygOci0BAoGAVLaJ\njCHpwpvuNXSxCvCzRUdoi3Z+SQld+I0qtK2Q/lF3rYbvGWFLPzVE25S5mM991PlI\nMKG9pYGJS8IbWHwLRKvIPyV0mojzmXFzSylck5NFI8scGcOUHF5vd+s5kXXlFu6g\nOoBymFnvyAsxArJdAGzyl6uE0/p7BzLFzNy5cyECgYEAnHvOndR0gJXgHEts8x3y\n4JDH5L60fZziJCLmvnGPe31VI9bVH8BkhYw5g1zrSpNhTJiZwXtsnUUakGRBNJcy\nE0vV0TQctpx6EjvbIo35HQl1d0CYxp2G2NLZhhd39NWnjANaN4bxJjuM4neyDk7q\nxCY6uWL0iR1xH5ccCo99UzU=\n-----END PRIVATE KEY-----", + "privateKeyFormat": "PEM", + "jwt": "eyJhbGciOiJQUzI1NiIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.asfGBX1j7ghBxKD6IWzsJbbElg_BJtY2a-iv_wTbQjsVgO4H4HdDAjfbMKK3GEGUvGCxcjGk0JUGwfuk6XEFU9_GlMVaCxBJ4F0M7q2Ag-KLpimzutiLfEf_R_1Dg9AVM3MrS1UnjidXvodiktqEx6nb3GqlLmntrDmsU1K73weXrwQ4NTpRLb9XAnENhx-GO0U5InEf33TR4k7WFBuGVWcqlTStrm4ixdIuWD4ufBIDj2eIsS51c4uYtUm4D2aQKOb90BtldZdgEqzKJi4hYHn23eDW9DyOpMU8QcDmNqnkTvkgUSfat1HXpX22n6XXMJQKX4SaAcNF-1_w_8Gatg" + }, + "withJwkKey": { + "header": "{\n \"alg\": \"PS256\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": { + "kty": "RSA", + "n": "nXrMN7u6OyglgBvFc3CF9aviUw6EJhQoW77lbxZqh0CvBkvb5M4HxYbYs4zk8GhxAhjyORTdskPi4tMxPw3dKpEcN7qxm88QeysmCZQVO2ZXQ6nFJ7-B7oVsricG-BGEwT-68rwS2-EaReKXXzmwAr--CKp6fISKrgi3iCi4RzYFSZAGnKcuJIHKijFzq596DX9YqxCQrqgvlF5lb1guds7DHJlC9xhkKCdSR-08AHmiYjXnxwdM6TMcIJdklj_6HAS8Om_sHo0M1RVO3K9xl0zCL9IpKdBBU7LxGUjACjR1Q_fL19MvRvR0upTpg2q5S6a5Zat86juBSK1NeJW5lQ", + "e": "AQAB" + }, + "publicKeyFormat": "JWK", + "privateKey": { + "kty": "RSA", + "n": "nXrMN7u6OyglgBvFc3CF9aviUw6EJhQoW77lbxZqh0CvBkvb5M4HxYbYs4zk8GhxAhjyORTdskPi4tMxPw3dKpEcN7qxm88QeysmCZQVO2ZXQ6nFJ7-B7oVsricG-BGEwT-68rwS2-EaReKXXzmwAr--CKp6fISKrgi3iCi4RzYFSZAGnKcuJIHKijFzq596DX9YqxCQrqgvlF5lb1guds7DHJlC9xhkKCdSR-08AHmiYjXnxwdM6TMcIJdklj_6HAS8Om_sHo0M1RVO3K9xl0zCL9IpKdBBU7LxGUjACjR1Q_fL19MvRvR0upTpg2q5S6a5Zat86juBSK1NeJW5lQ", + "e": "AQAB", + "d": "Soep6_ygPEwZR2KdVa-c7rKs9-MIXt8uZJFZk3QX8bAGxaOUS9rIac8ScxOM7Ex5o2T8ClDaRXqEgBY0meNtVy57HNLyKMvcQHag12qqi8S5KxBHezLTAvhJgbh9v1zHKBCJ4URqZn7ICOge_NXX-80UWpSYSKMP4SLF_Z5L7IMhXTSnR8Whix3VyTeNm3TqXvdhcdf9JorjFHj41JXQ4bGcQF19AMU-MNlqBxqeT7uAN0U9TAV0J2cFmW2WrbtnBFpGdtcEXc0_RkW-UhuSvOEIFdVS2s2c1eTaLBdXND4KNK_no2AccaoJ8rATpnjMH6uiDskRW3EswWBtyUobRw", + "p": "2Z0BYtEPecw_u3rhiPXsYizrOqEXBk4vGV7ffTfwBCXdIXh58RS8y98maYoEPGRNaxVaMb8R7BGq6lLnv4FOk8212nuBHyVhdGjantDY24sC9JNe3TCJG4vLlwiyBICQYD0nu0FZz5JjFqzfjvFj9uHKdKXBG1dZxc-vzh4C7zc", + "q": "uUJGRp_UByfq05qjvQrISTbtKa3NbLmrjHbwTDNwlqQz7fJNouzEjIKzMY9IsTa6d-2pKCG-urJbJFE_gnR7kGS0yH0X6zQyC4Yw5vWKtAFN96oqI4ipNVOcsEVPG-DBpa_UnS_QGc1_id3FWLvLZwEehNYCdLfTLv-zdOHZC5M", + "dp": "W2ESs-wWE48xNAjlrB2YpaE3Jed_Q6aRIJY2Qt66awN7WBK_If0TSojqGGdcX_--grj0pu8VF4xTuRIXPtONq4M2WgiCsBGCWt-s7gPFDGvTUeCQdVFsQaTyWPnNxxY1ijQj-v32OLO_6EWvmtbCo2ktGs5_yHtltyr_KA5yLQE", + "dq": "VLaJjCHpwpvuNXSxCvCzRUdoi3Z-SQld-I0qtK2Q_lF3rYbvGWFLPzVE25S5mM991PlIMKG9pYGJS8IbWHwLRKvIPyV0mojzmXFzSylck5NFI8scGcOUHF5vd-s5kXXlFu6gOoBymFnvyAsxArJdAGzyl6uE0_p7BzLFzNy5cyE", + "qi": "nHvOndR0gJXgHEts8x3y4JDH5L60fZziJCLmvnGPe31VI9bVH8BkhYw5g1zrSpNhTJiZwXtsnUUakGRBNJcyE0vV0TQctpx6EjvbIo35HQl1d0CYxp2G2NLZhhd39NWnjANaN4bxJjuM4neyDk7qxCY6uWL0iR1xH5ccCo99UzU" + }, + "privateKeyFormat": "JWK", + "jwt": "eyJhbGciOiJQUzI1NiIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.Rmuu2mqbdJab82zhGtxFSi9tn2j1VJkYyO2FqOmBvb19dW9Rr_ze4T2iHUJRyK-SXOEtKdA8-rl1t4md49M_JZ8PZfWH_zFm2HM0AVgsHtpQNI5k2Knlh6qpfLra17Xt6n8wN3XZwNepAOtpMeeo5OOV1u2JWwfZUJAcumc4oQeOYgphBfZNFoT0JsvzTKI2CIIx8l5Kg69n5pf0LyUMwk0LB9jGN06xq8mmUtYoFLY6nrjfdH8qcwrNr6D5EAZof3hDPM-4MtrTSTLQx6V0doK5bU-2Ih-fefhn4-NwzBmwa7QEjIAs_98u_tQTQbb-ihtnnRWlVpxdrMkBoKupyg" + } + }, + "PS384": { + "type": "digital", + "withPemKey": { + "header": "{\n \"alg\": \"PS384\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAtkkyVxELGiz2eatzj2Ze\nLcdvgZsT8F0Pz5w3Tz1BtxusfXtya9LFgwYFiuIO/NW7bJczvj/FfKmzVQ/+Tp0W\n5VgxCtkRThzIS7A1laetQF2ueW6qhD1sBq10SUKiT0Gf1NFktnrpEwECYMIP4uAi\nIZye0lGErWGOMfvR9z1U94x1dAoVR7S+qTLF+EmOLRS/GVvSSgLzIENFhRpPa3JP\nltxOrNDNkVHFC8IahE5z+BVr8PSOQMj14jBnwsto2PQ2zDlp/blK5i9nEM4i7q+A\nJJeXvOw+MGcLEmiSrCLgugLtISENF7GApZONFYtnuWKn3h6aAnmKOFtA410gIDxM\nVHGaVk9t+wNGatxXZ9CIKuo6RcO4K3gieEghRkkbMKvxB2zsigj5sfP1LBhNNxdV\n20nL9Pk8Ralnzl95lzrZmX6JAGluNS5MddKmFKIEImc1U7wYh+3EeZxNmCeXFCoe\n4x9sCOVoBDHXQKaKDDF+I0VI4bVghnZbelbf40l5KvIJAgMBAAE=\n-----END PUBLIC KEY-----", + "publicKeyFormat": "PEM", + "privateKey": "-----BEGIN PRIVATE KEY-----\nMIIG/gIBADANBgkqhkiG9w0BAQEFAASCBugwggbkAgEAAoIBgQC2STJXEQsaLPZ5\nq3OPZl4tx2+BmxPwXQ/PnDdPPUG3G6x9e3Jr0sWDBgWK4g781btslzO+P8V8qbNV\nD/5OnRblWDEK2RFOHMhLsDWVp61AXa55bqqEPWwGrXRJQqJPQZ/U0WS2eukTAQJg\nwg/i4CIhnJ7SUYStYY4x+9H3PVT3jHV0ChVHtL6pMsX4SY4tFL8ZW9JKAvMgQ0WF\nGk9rck+W3E6s0M2RUcULwhqETnP4FWvw9I5AyPXiMGfCy2jY9DbMOWn9uUrmL2cQ\nziLur4Akl5e87D4wZwsSaJKsIuC6Au0hIQ0XsYClk40Vi2e5YqfeHpoCeYo4W0Dj\nXSAgPExUcZpWT237A0Zq3Fdn0Igq6jpFw7greCJ4SCFGSRswq/EHbOyKCPmx8/Us\nGE03F1XbScv0+TxFqWfOX3mXOtmZfokAaW41Lkx10qYUogQiZzVTvBiH7cR5nE2Y\nJ5cUKh7jH2wI5WgEMddApooMMX4jRUjhtWCGdlt6Vt/jSXkq8gkCAwEAAQKCAYAB\nuIqUntd4SkqTY6zftctkaqV6iqbzPHWs2i0wsgPZgWKtMDBCC1Q/arWi4rdAgZk9\nquaOpu+rplB7ZTJbgwkkMvAKyazSDELp0AKMsW+lxwMIKD7M28v8YVo5MAgnPMsQ\nL8ZGU/FSWbT9I9sRib5Yvq+swNJ1u13wlw+CFYUK7aHVB0+9hKia7hzg8K5toR+c\nUvnjv/stzhf6BZsQiRyhcHf/rEL2J1iRLIzVvFKrWcxrxgTeLYEaWKZwhNbhdKck\n4zmVt6HW6FrqzWDtUOA0HHh8G7IcR/VBux0uXv6FwKxnZ3z9Ohw29+Rw5ae6asao\nh/gRXEakSFEoABhubUAkX3RqfiXYwDXdQv4iOc9g5udbrE0KEuEOhcysLl9HrDpv\n+bueIB/wddEzu7FgGodwD513yGgAwgq4eAj4XC3V6eGIb/mLQVGlJd5iVwSCaIca\n5AiFuXqT1pKbtpJ0jhkLbGnqXeraf0f/LAtB+Lh37Gs/tFyBS06rRBFoskgZOfkC\ngcEA6+EfD71PvF1rup9PTthKaObEEV7Jl0yxPuYmH1Cgprlyfw83oPzym55+Ah/Q\nHfEksPQUvDjl7tyMmJWbIkNtHGqAOJW2wwmtIyN9s27zadA9+xDzJTsiLLWxa4aC\n1Ph4w90OclHUxAOqKWegkCiPt7lbl1cRAxtXZdk0nmH+849edMjArZpvmsfkE4VX\na26J/P7W3sqdiSTcVU6OoxMhHUSBziL5F4oBNNy+YmUmYUscC+/ZvEWHqr69f4D2\ndOFtAoHBAMXVwmi+ORafnZgD/UCBt38/3npyLiR5VkW46aOhWGK7ktkQI93w/U+M\n80ZbZz+1bCBeiDMzcQm/+zSJ2sHxBfAoNVKUNjSZjmjXbhM9n2IbaKr/7sjJIfm0\nc2vErhqciuxkjG53MJqfimEdXlOjiIhWQDQkmG1xxWMfWTUc9mpNkcYMg6TDh2z5\nKMgNYtiN3pjtP5v6mgsXt9CdIctvdKPxcwe6WzkQkGLpWp1aSn+yRfDzvaICK1Wk\nBRwKDdFNjQKBwQDIGoHMS3CSPrp+ZlnUbF6roWEhz0S7at9OmdYraK3w4o/ERHeP\nxiZWaF1DlhNq40CaMWZJywcc3NMVOo2RwpuUqLC/0BpsWRAdKCWiC/TJhlSeYeGz\navfx7+1kZ4cj/uoMVsLDrrIN24IGgBfRU+egF8ogmEchWJeLGnmuBzpPCwg5kHkM\njWAycXMGMG9Z/ztmehZ0iHSefLvCTtNoenj0KELqSfcAxh2B5+ZG+MJXdW2EnuQa\n+O0/p3KA8TmjK/0CgcAbw0S2CEPgreOiyqSGoe2LWP4ytsVM7w4xWKLJCMJrkKEp\n/v7ZjZEu0bvuGrOhmCclX77DWKu7T4rEM7hUUSuhKTNadFwrA4WdpuXWo2YzkV8d\n6C6tVLSE41LzQ7WfHGrOg8nFUsqqWEtGF6X+HMvzPg9igeQ2L6ogn+yX7ImUH3Ce\nl3D99UaS/2A+usotU7NySJENpZxqhBiSmQp+DxUSULbw1bEpj+6DQvYpcNtVkkII\nb1wkWSOVsB/bcHnB7p0CgcEA5jS1H4PYkT5qmX8zT72ck5hLuD7+Fg/uRRNo5zbe\nm9cqQ7sZnjiogKBWO0HUPWgDVJlkDYFPwLXo0Jpg7pEXFBSc74Z0tBf0GhZqa/BA\njfHWeCglghYJ9dPvVzR6ImoL/r77CjiDB/RAll+FsiuGPQTfbpuKjPYjpW0JEmLh\nDwegSNaNMwYlEkJ9GScSzq/xGIl0MvsJDDUV6ZGNEP6wK0DUQMSmfN90OQLdf5J6\n1l+Q7x5Xz84zVMGan4zazOqy\n-----END PRIVATE KEY-----", + "privateKeyFormat": "PEM", + "jwt": "eyJhbGciOiJQUzM4NCIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.cPJBuaFgrXUIIk1ffvom3hC2swYm66Z-OyN4FI4-uR7XU66oaAbO0i6-HYZpnePeiywoWH4n4F6i10uVp0QBw2tCX6bRC3I67ImivYRGxU0OiQtgo4LZ8mP85RHj7osH-njaKxIvBTPlpHEe2Sak9wavOp7mGjfAfWqupzOl4qWKDGhE0WsLyZDwi_6fiq1skaJ6RZzDXtHuJfyOzKyUD05c3SxGCfdxm5idc2o1-yK6CBCfzG4_aM0sLC4JdRjGCGIxQvwGkNWjZPLcX8xVxPxvADBJcyHzsRMtiC8Z0UrW2PVlmuSg0STn7VsARrWrT11RReQGatWkq84TvWN4kMINqOUCCMEfWm-M8a1i36uo_noVv3SSjvg7DCMuECDPPU7CiMtpQ69BM4JzfxKpIGcyT8VNYq-eXrqn8wEHp4BSmo5xMR5gqbfVFUvCxpCxzMQKASECN9ZMc8S9Bj6G9LJthx_mJfxPcAg7vwIr_sj5NjECYLHA4Cq2C1wLdKlM" + }, + "withJwkKey": { + "header": "{\n \"alg\": \"PS384\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": { + "kty": "RSA", + "n": "tkkyVxELGiz2eatzj2ZeLcdvgZsT8F0Pz5w3Tz1BtxusfXtya9LFgwYFiuIO_NW7bJczvj_FfKmzVQ_-Tp0W5VgxCtkRThzIS7A1laetQF2ueW6qhD1sBq10SUKiT0Gf1NFktnrpEwECYMIP4uAiIZye0lGErWGOMfvR9z1U94x1dAoVR7S-qTLF-EmOLRS_GVvSSgLzIENFhRpPa3JPltxOrNDNkVHFC8IahE5z-BVr8PSOQMj14jBnwsto2PQ2zDlp_blK5i9nEM4i7q-AJJeXvOw-MGcLEmiSrCLgugLtISENF7GApZONFYtnuWKn3h6aAnmKOFtA410gIDxMVHGaVk9t-wNGatxXZ9CIKuo6RcO4K3gieEghRkkbMKvxB2zsigj5sfP1LBhNNxdV20nL9Pk8Ralnzl95lzrZmX6JAGluNS5MddKmFKIEImc1U7wYh-3EeZxNmCeXFCoe4x9sCOVoBDHXQKaKDDF-I0VI4bVghnZbelbf40l5KvIJ", + "e": "AQAB" + }, + "publicKeyFormat": "JWK", + "privateKey": { + "kty": "RSA", + "n": "tkkyVxELGiz2eatzj2ZeLcdvgZsT8F0Pz5w3Tz1BtxusfXtya9LFgwYFiuIO_NW7bJczvj_FfKmzVQ_-Tp0W5VgxCtkRThzIS7A1laetQF2ueW6qhD1sBq10SUKiT0Gf1NFktnrpEwECYMIP4uAiIZye0lGErWGOMfvR9z1U94x1dAoVR7S-qTLF-EmOLRS_GVvSSgLzIENFhRpPa3JPltxOrNDNkVHFC8IahE5z-BVr8PSOQMj14jBnwsto2PQ2zDlp_blK5i9nEM4i7q-AJJeXvOw-MGcLEmiSrCLgugLtISENF7GApZONFYtnuWKn3h6aAnmKOFtA410gIDxMVHGaVk9t-wNGatxXZ9CIKuo6RcO4K3gieEghRkkbMKvxB2zsigj5sfP1LBhNNxdV20nL9Pk8Ralnzl95lzrZmX6JAGluNS5MddKmFKIEImc1U7wYh-3EeZxNmCeXFCoe4x9sCOVoBDHXQKaKDDF-I0VI4bVghnZbelbf40l5KvIJ", + "e": "AQAB", + "d": "AbiKlJ7XeEpKk2Os37XLZGqleoqm8zx1rNotMLID2YFirTAwQgtUP2q1ouK3QIGZParmjqbvq6ZQe2UyW4MJJDLwCsms0gxC6dACjLFvpccDCCg-zNvL_GFaOTAIJzzLEC_GRlPxUlm0_SPbEYm-WL6vrMDSdbtd8JcPghWFCu2h1QdPvYSomu4c4PCubaEfnFL547_7Lc4X-gWbEIkcoXB3_6xC9idYkSyM1bxSq1nMa8YE3i2BGlimcITW4XSnJOM5lbeh1uha6s1g7VDgNBx4fBuyHEf1QbsdLl7-hcCsZ2d8_TocNvfkcOWnumrGqIf4EVxGpEhRKAAYbm1AJF90an4l2MA13UL-IjnPYObnW6xNChLhDoXMrC5fR6w6b_m7niAf8HXRM7uxYBqHcA-dd8hoAMIKuHgI-Fwt1enhiG_5i0FRpSXeYlcEgmiHGuQIhbl6k9aSm7aSdI4ZC2xp6l3q2n9H_ywLQfi4d-xrP7RcgUtOq0QRaLJIGTn5", + "p": "6-EfD71PvF1rup9PTthKaObEEV7Jl0yxPuYmH1Cgprlyfw83oPzym55-Ah_QHfEksPQUvDjl7tyMmJWbIkNtHGqAOJW2wwmtIyN9s27zadA9-xDzJTsiLLWxa4aC1Ph4w90OclHUxAOqKWegkCiPt7lbl1cRAxtXZdk0nmH-849edMjArZpvmsfkE4VXa26J_P7W3sqdiSTcVU6OoxMhHUSBziL5F4oBNNy-YmUmYUscC-_ZvEWHqr69f4D2dOFt", + "q": "xdXCaL45Fp-dmAP9QIG3fz_eenIuJHlWRbjpo6FYYruS2RAj3fD9T4zzRltnP7VsIF6IMzNxCb_7NInawfEF8Cg1UpQ2NJmOaNduEz2fYhtoqv_uyMkh-bRza8SuGpyK7GSMbncwmp-KYR1eU6OIiFZANCSYbXHFYx9ZNRz2ak2RxgyDpMOHbPkoyA1i2I3emO0_m_qaCxe30J0hy290o_FzB7pbORCQYulanVpKf7JF8PO9ogIrVaQFHAoN0U2N", + "dp": "yBqBzEtwkj66fmZZ1Gxeq6FhIc9Eu2rfTpnWK2it8OKPxER3j8YmVmhdQ5YTauNAmjFmScsHHNzTFTqNkcKblKiwv9AabFkQHSglogv0yYZUnmHhs2r38e_tZGeHI_7qDFbCw66yDduCBoAX0VPnoBfKIJhHIViXixp5rgc6TwsIOZB5DI1gMnFzBjBvWf87ZnoWdIh0nny7wk7TaHp49ChC6kn3AMYdgefmRvjCV3VthJ7kGvjtP6dygPE5oyv9", + "dq": "G8NEtghD4K3josqkhqHti1j-MrbFTO8OMViiyQjCa5ChKf7-2Y2RLtG77hqzoZgnJV--w1iru0-KxDO4VFEroSkzWnRcKwOFnabl1qNmM5FfHegurVS0hONS80O1nxxqzoPJxVLKqlhLRhel_hzL8z4PYoHkNi-qIJ_sl-yJlB9wnpdw_fVGkv9gPrrKLVOzckiRDaWcaoQYkpkKfg8VElC28NWxKY_ug0L2KXDbVZJCCG9cJFkjlbAf23B5we6d", + "qi": "5jS1H4PYkT5qmX8zT72ck5hLuD7-Fg_uRRNo5zbem9cqQ7sZnjiogKBWO0HUPWgDVJlkDYFPwLXo0Jpg7pEXFBSc74Z0tBf0GhZqa_BAjfHWeCglghYJ9dPvVzR6ImoL_r77CjiDB_RAll-FsiuGPQTfbpuKjPYjpW0JEmLhDwegSNaNMwYlEkJ9GScSzq_xGIl0MvsJDDUV6ZGNEP6wK0DUQMSmfN90OQLdf5J61l-Q7x5Xz84zVMGan4zazOqy" + }, + "privateKeyFormat": "JWK", + "jwt": "eyJhbGciOiJQUzM4NCIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.hG6Vf0b1t3kItxpfdelua9mvPosc2_YyGzaVEsQ5JRUniHx31RaXuQtZW4WAU0Pwprm0VobgGn6Y_ziaymikwh62kP-RdZjZR2cr4w1-Gl6nN1Z0JK1gX4w4h_Q4CQm3tv4tC0s0Eyf7RVd7VmtGq_1rcAoAqNOPNdTXHtEuwtM3gqjBOwbKtzUazDW8Ah5tq8J2w5YUlg2xPlZO-Hypv0weASCvWFwGYw3ZYzikQJwseyhedjyyBggmAaZwQPYkQI3Mf8GyUxWzVWwTeofD428QO3hz1PHVvo1E6urG4OyuyDlhwkyKxtKF8s-2r-FQGG-H6Gb4tXuGUh91NxJWI5zB9UuWL-1swrXPDw-oUxBzRNwaYenhYthAVuT9baikdi8xa-aUBcEXsf8_vdXWbiUShZrUZq7H8xo2fyPm3x_xOvA7XXCNUDzRZBLawUi_IU9Q0OJnx-66rcKcDT4OjSVZb4WMedCILOEmaRMj_Li5eSkFmm9xvNPjfiqAQjj0" + } + }, + "PS512": { + "type": "digital", + "withPemKey": { + "header": "{\n \"alg\": \"PS512\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwzY8nSrlk16wp40KAcMO\nVBe69gI/uHtMbd3ozpxfUFW3HthmmvYzPso4JNBIe/gjF414KTLV99nB1QjkO5q/\nYDsWlVtPopn0PS9Vu9i7glhDr6aCm6+6lla9+biChvgLaXYFEmUbMxfrzxIMVp9m\n0pMeJnaUvooeaiL8juodvo8EmEXXfPjeX0XVyc1JirCFk+/2ggVUpBGaE+Ger+kQ\nTqCaHXE4GmmCjdjc6s878lCIoXgjLBgtvJtCL8WPx+IrofyVjuuSbRWWR40Zetnc\ncw96aHSqbVB+TKncya2WkVCuxcXwfBUCCYiDKhAnlfalavbxVUPsn1Xg7jXHOGx9\nK5Kjkwbj4K7WNkXp2D1CVgginV8+EL3p8b800DzwPsy3/Fw/SMEjR1dtuCgjHZpw\nsEVRjj/i0xyUAXAJHRtOlnwB6JsZ5L7MQxAfOAXJ2tFljWlHMzHnF2HeCBAtBT9H\n9JCD1yiex5ApZZOwP/8CkbmTou5w6ZlE06K2EUQebANvSU/W/p8MGVvyOYBzLIeX\nmYB/XpEUXh2dZl9XyfqaTO6tYBqMSORT37rZX99TmxMr3je98ChjZj3J1THs6xe0\n/FMOtrQajhMHQcDrV3GDhbvxWMNJ1g7gqNaAWCFXvsvetEOw9xQZbDH6hlf8X4cC\nfrLckoGdUWdfUQyHuIVamaECAwEAAQ==\n-----END PUBLIC KEY-----", + "publicKeyFormat": "PEM", + "privateKey": "-----BEGIN PRIVATE KEY-----\nMIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQDDNjydKuWTXrCn\njQoBww5UF7r2Aj+4e0xt3ejOnF9QVbce2Gaa9jM+yjgk0Eh7+CMXjXgpMtX32cHV\nCOQ7mr9gOxaVW0+imfQ9L1W72LuCWEOvpoKbr7qWVr35uIKG+AtpdgUSZRszF+vP\nEgxWn2bSkx4mdpS+ih5qIvyO6h2+jwSYRdd8+N5fRdXJzUmKsIWT7/aCBVSkEZoT\n4Z6v6RBOoJodcTgaaYKN2NzqzzvyUIiheCMsGC28m0IvxY/H4iuh/JWO65JtFZZH\njRl62dxzD3podKptUH5MqdzJrZaRUK7FxfB8FQIJiIMqECeV9qVq9vFVQ+yfVeDu\nNcc4bH0rkqOTBuPgrtY2RenYPUJWCCKdXz4QvenxvzTQPPA+zLf8XD9IwSNHV224\nKCMdmnCwRVGOP+LTHJQBcAkdG06WfAHomxnkvsxDEB84Bcna0WWNaUczMecXYd4I\nEC0FP0f0kIPXKJ7HkCllk7A//wKRuZOi7nDpmUTTorYRRB5sA29JT9b+nwwZW/I5\ngHMsh5eZgH9ekRReHZ1mX1fJ+ppM7q1gGoxI5FPfutlf31ObEyveN73wKGNmPcnV\nMezrF7T8Uw62tBqOEwdBwOtXcYOFu/FYw0nWDuCo1oBYIVe+y960Q7D3FBlsMfqG\nV/xfhwJ+stySgZ1RZ19RDIe4hVqZoQIDAQABAoIB/xWW2f1H0TwLLN5a6tBnEh6a\nwUKT3Rg6Cqnb8PNot+HamPYAWNiqgeBf3PW1U07ikn74VmG4DZHrs1QsN5Gf+6pY\n3paGEriY7joWEhVEUviHanTypV8ygCBAV6JWlZj3tctkEguGwwtTifDMvjCWUHjZ\nbGw0kR7Bh7uVQvlLSx7YEloE32Ai5fUDdDFtUsTT4PILh+e5TzMV/0RTn4k07WjE\nukanTt0c7iNh6IzPfoG+Bl5VOw6VXfmN8jP2VYB1sv2nQaMcyoTl7kjbggXkMk1H\nWPJUdMTCMjWoU5K6b/yCP9H/oikW6bLENj1grAAZ1xGNXgNgD7tPdCDkMbQ7y1vk\n0t3UfAkUURBEtaLfjQ9xWODZQABfPJHJ/CECDhbW1cIqbRwSm09z/hFwgpb8v9my\n7g5jQ55hVP26aro8CY4w6eAAEgZY3FVa4zsskxncaqBeDrDtm6x4E13mS0HzPTXZ\nC/OvgDOzMb/98rDhfJn2YRagIZdWbvoJi0x5esLSLKgpFn3nlu3sGSM/MoiULM8c\nqD7T4ntfjcDE5+zfdlXH8m9GKeGOjESwQeJY5wTArrLHMnPErj774zEhXoouKi0a\ntn93nFatKGXuEoHByaBcbr/HxbfgmE2EvbCjsQsrNppUx2kJhEbRHW6BntmKwqUF\nUF+OPG9EfS2DwEdwXpECggEBAObRr7MQxp9qUnqjd1RPXRC19cg46HGd8wERZbrb\nopMHsta1ygywbpWiE11o/1ornpq8IT7sJw3HQEIi1h9BNSWOZBLf3/bphed6U2xz\ncOxHWHXe0cRh7qAymTcq2ODmaDDsXdGjD0LvrYhe/Zo0pEWpKsvnEqkNLbP5Spop\nCd38wT1Ul4HqcAolF6CdqAn2y4GZjXc9+4PBOl8B/vJg1+uQAT9IpmSg0VHEp067\n24cQAKQWwKCSuWNsWDQnnt7Aqxvm+6B/KVRIXokPi7lLKVoxhYIRB36MQV3pJZ6t\niuE+CLzA5PV4SQUhxTTPnMf3TPmoyuZfKVWd9dz1cyBgVDECggEBANiCHLXOqrgI\n1OWgh7hZ3DOZOMA+db8f4R/6VssDV6v2nAXYYeTJzXqtgBv2UkP78MqFjkyedIBF\nKJ4PXepmTuJRA1VLT462uPKngST7xFTagYAn/hjfOQM6w0ZRkHLBTEsvCryRXTJ4\n5mUTs9Xq6NOYoekrxAGDW5nH3apEoYxRY7Od2MVd70mj5s6tHogs1rQKtYvyGjGO\nLHj2yjTBd1VVEAA9JU8tAhm7VvuikYAekaRsBpcAlMKNoP96SzVo5jwdMvL6ZPmN\nDD5XkDrtH7MogaWeioa3Xffpg9bO+ddZ1YJa9LNZ65pUh4dLcrmG9qty5ry6AZvF\nPcRGtvYAcHECggEAItp21WsrEtdTLQGR+0EgpG1Vd65gKwfWscqWueiAXANFlfZN\nVC0wBZg7pFc+d7cuc98EhiPSodn8cgAgpQeLpughZFg50WbhuVpXToEABC2hxeqn\ncif3iGkbiaEGrq8b/Ic0g3tDyq+2XGk7khVw2LP6ql9yCeTbidmS0kRwIP0RkNk9\nJ3jnAiEnuDEWNqr1f9RX8DGD0RlUXxRGEwNcl01fYtbtiTRfZyFywgjL1VEtR5nH\n7Hc7Vy/9AaMZ8jjVnZj7VfjdnMRwwfF+/7PBwsTHjCRWJV24YR3beGJsHibn2til\nugs3u3al+JuA6REGpow+Vxr3et4nSf4mLDVfgQKCAQEAsIV81Pp4FG4W7lVw8mxJ\nbcRaEdua8sYSLZlU1FaYT3tUgCuIvRmPr5rv3Vx6fDVYgDZd67gxcjdww1XyE19w\np3K3zf4GEmyF5EmPsNCYpTo15YA12p99A1YQyi9MH1PcWVw0W8QFAVazOevTbvEE\n/SfvsoVdXIJ1166t2tn0AMyHBnYGu/w3UYoRb6aUQyCTuN0WYdB1bLvnJITKHjMy\nkV82GYvA9InUsZgddjJ4gMXrpuvwf4MYxnrkrgdOdHBfbtm7pYFjfFd0iQupa3HT\nq6W19ouJlAbC1ZMNS8Ea0GrM+mggJG6G+iA7E6L/GaahTO30lCDvmMo67uFc4LtA\n8QKCAQBOvluMRx4r7SlB4M8PyE1G3cra+3OtQUhC9KnhS1JayHs1AdnIewMrR467\nuN8IPaXdGHXu6MZPyJJZUld+Tp893syXuNp0myeJ4Cugr/m64BbqrCzId6udlSnu\nRB6Rgjm20kg3mxhBUr7GPSJ1/oORGULpTGaAKebhQg31PlXegdEHpI4kk30yenCW\nzOTCCzzXv2x40LftXaljmi8tv7ep/jH5q3G+ttCfYeH2/F3SjEvz6RQXY/JmEY/p\nkjC4Oq2sz4Np4B/YiTPKF0qnanfg+R3BrtKAsesArL3AsPrD0EY0cErqon0YZgAt\neZ4b8nkHhjWv5VNhEQHRZvsgymv2\n-----END PRIVATE KEY-----", + "privateKeyFormat": "PEM", + "jwt": "eyJhbGciOiJQUzUxMiIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.qQpdqiWT8ARYqj8VS9FolIg_aWLLoYXTNGW0mX6xQANzPU-w3Z_S27Ay7n3D5I8fJyyc4AVU8dVu-waEvfLUCFlNch-9ZKK6tv4oYVut92JlPiMPB_UuGMF-kbWNNzTih2qVSJPzn_SPxdKv212p69WEi7o9Cm8oyucopS9lfzFbtHXUy8V-_GCeFMM_cGtFtF506aGYa0DFuY0-Y0bzs-ixx7LgzBG50NYcaS-Zbhixw-3MzuZPTghl9B6xuWI4ng2Y7sttGqkEN_CokSTYf0PaQJGLCJovXbx0xBDXh-3SVCqu1ARXzdx4x8cfb59bOjuKP7lLvBiwXTs-5Ot5rRfU5YZlmsrhaR8v6Gj1BR1TKaZ-vI7a6INymj06x7YRyLtd-r7tb9vLx00DVL2EX1vK79OjOGim9KCBkf_ixvzGPAUv4FxPkEQ8dcnbPkcN1Gs_16A-xGKToBoZ4fNl_dDQpkXR6o0AVLT-Hw5V4jkgzEN6usWXaRtUCRANzxFEnREsU11vlKE4vl6AX2HuGpLsod8JiojK9UhSeYW7qYnMC1Z4dXXFA-pJVowiQy5cmo59s2FzV_7FJFQbVh6y1gizFQbCPbDSMFTRCoPVU179nDYouw1wgF2e5UHgsXRqwMCx4TfYJJad02npQHirsrEXwzny5PH-LN98VxlfpQQ" + }, + "withJwkKey": { + "header": "{\n \"alg\": \"PS512\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": { + "kty": "RSA", + "n": "wzY8nSrlk16wp40KAcMOVBe69gI_uHtMbd3ozpxfUFW3HthmmvYzPso4JNBIe_gjF414KTLV99nB1QjkO5q_YDsWlVtPopn0PS9Vu9i7glhDr6aCm6-6lla9-biChvgLaXYFEmUbMxfrzxIMVp9m0pMeJnaUvooeaiL8juodvo8EmEXXfPjeX0XVyc1JirCFk-_2ggVUpBGaE-Ger-kQTqCaHXE4GmmCjdjc6s878lCIoXgjLBgtvJtCL8WPx-IrofyVjuuSbRWWR40Zetnccw96aHSqbVB-TKncya2WkVCuxcXwfBUCCYiDKhAnlfalavbxVUPsn1Xg7jXHOGx9K5Kjkwbj4K7WNkXp2D1CVgginV8-EL3p8b800DzwPsy3_Fw_SMEjR1dtuCgjHZpwsEVRjj_i0xyUAXAJHRtOlnwB6JsZ5L7MQxAfOAXJ2tFljWlHMzHnF2HeCBAtBT9H9JCD1yiex5ApZZOwP_8CkbmTou5w6ZlE06K2EUQebANvSU_W_p8MGVvyOYBzLIeXmYB_XpEUXh2dZl9XyfqaTO6tYBqMSORT37rZX99TmxMr3je98ChjZj3J1THs6xe0_FMOtrQajhMHQcDrV3GDhbvxWMNJ1g7gqNaAWCFXvsvetEOw9xQZbDH6hlf8X4cCfrLckoGdUWdfUQyHuIVamaE", + "e": "AQAB" + }, + "publicKeyFormat": "JWK", + "privateKey": { + "kty": "RSA", + "n": "wzY8nSrlk16wp40KAcMOVBe69gI_uHtMbd3ozpxfUFW3HthmmvYzPso4JNBIe_gjF414KTLV99nB1QjkO5q_YDsWlVtPopn0PS9Vu9i7glhDr6aCm6-6lla9-biChvgLaXYFEmUbMxfrzxIMVp9m0pMeJnaUvooeaiL8juodvo8EmEXXfPjeX0XVyc1JirCFk-_2ggVUpBGaE-Ger-kQTqCaHXE4GmmCjdjc6s878lCIoXgjLBgtvJtCL8WPx-IrofyVjuuSbRWWR40Zetnccw96aHSqbVB-TKncya2WkVCuxcXwfBUCCYiDKhAnlfalavbxVUPsn1Xg7jXHOGx9K5Kjkwbj4K7WNkXp2D1CVgginV8-EL3p8b800DzwPsy3_Fw_SMEjR1dtuCgjHZpwsEVRjj_i0xyUAXAJHRtOlnwB6JsZ5L7MQxAfOAXJ2tFljWlHMzHnF2HeCBAtBT9H9JCD1yiex5ApZZOwP_8CkbmTou5w6ZlE06K2EUQebANvSU_W_p8MGVvyOYBzLIeXmYB_XpEUXh2dZl9XyfqaTO6tYBqMSORT37rZX99TmxMr3je98ChjZj3J1THs6xe0_FMOtrQajhMHQcDrV3GDhbvxWMNJ1g7gqNaAWCFXvsvetEOw9xQZbDH6hlf8X4cCfrLckoGdUWdfUQyHuIVamaE", + "e": "AQAB", + "d": "FZbZ_UfRPAss3lrq0GcSHprBQpPdGDoKqdvw82i34dqY9gBY2KqB4F_c9bVTTuKSfvhWYbgNkeuzVCw3kZ_7qljeloYSuJjuOhYSFURS-IdqdPKlXzKAIEBXolaVmPe1y2QSC4bDC1OJ8My-MJZQeNlsbDSRHsGHu5VC-UtLHtgSWgTfYCLl9QN0MW1SxNPg8guH57lPMxX_RFOfiTTtaMS6RqdO3RzuI2HojM9-gb4GXlU7DpVd-Y3yM_ZVgHWy_adBoxzKhOXuSNuCBeQyTUdY8lR0xMIyNahTkrpv_II_0f-iKRbpssQ2PWCsABnXEY1eA2APu090IOQxtDvLW-TS3dR8CRRREES1ot-ND3FY4NlAAF88kcn8IQIOFtbVwiptHBKbT3P-EXCClvy_2bLuDmNDnmFU_bpqujwJjjDp4AASBljcVVrjOyyTGdxqoF4OsO2brHgTXeZLQfM9NdkL86-AM7Mxv_3ysOF8mfZhFqAhl1Zu-gmLTHl6wtIsqCkWfeeW7ewZIz8yiJQszxyoPtPie1-NwMTn7N92Vcfyb0Yp4Y6MRLBB4ljnBMCusscyc8SuPvvjMSFeii4qLRq2f3ecVq0oZe4SgcHJoFxuv8fFt-CYTYS9sKOxCys2mlTHaQmERtEdboGe2YrCpQVQX448b0R9LYPAR3BekQ", + "p": "5tGvsxDGn2pSeqN3VE9dELX1yDjocZ3zARFlutuikwey1rXKDLBulaITXWj_WiuemrwhPuwnDcdAQiLWH0E1JY5kEt_f9umF53pTbHNw7EdYdd7RxGHuoDKZNyrY4OZoMOxd0aMPQu-tiF79mjSkRakqy-cSqQ0ts_lKmikJ3fzBPVSXgepwCiUXoJ2oCfbLgZmNdz37g8E6XwH-8mDX65ABP0imZKDRUcSnTrvbhxAApBbAoJK5Y2xYNCee3sCrG-b7oH8pVEheiQ-LuUspWjGFghEHfoxBXeklnq2K4T4IvMDk9XhJBSHFNM-cx_dM-ajK5l8pVZ313PVzIGBUMQ", + "q": "2IIctc6quAjU5aCHuFncM5k4wD51vx_hH_pWywNXq_acBdhh5MnNeq2AG_ZSQ_vwyoWOTJ50gEUong9d6mZO4lEDVUtPjra48qeBJPvEVNqBgCf-GN85AzrDRlGQcsFMSy8KvJFdMnjmZROz1ero05ih6SvEAYNbmcfdqkShjFFjs53YxV3vSaPmzq0eiCzWtAq1i_IaMY4sePbKNMF3VVUQAD0lTy0CGbtW-6KRgB6RpGwGlwCUwo2g_3pLNWjmPB0y8vpk-Y0MPleQOu0fsyiBpZ6Khrdd9-mD1s7511nVglr0s1nrmlSHh0tyuYb2q3LmvLoBm8U9xEa29gBwcQ", + "dp": "Itp21WsrEtdTLQGR-0EgpG1Vd65gKwfWscqWueiAXANFlfZNVC0wBZg7pFc-d7cuc98EhiPSodn8cgAgpQeLpughZFg50WbhuVpXToEABC2hxeqncif3iGkbiaEGrq8b_Ic0g3tDyq-2XGk7khVw2LP6ql9yCeTbidmS0kRwIP0RkNk9J3jnAiEnuDEWNqr1f9RX8DGD0RlUXxRGEwNcl01fYtbtiTRfZyFywgjL1VEtR5nH7Hc7Vy_9AaMZ8jjVnZj7VfjdnMRwwfF-_7PBwsTHjCRWJV24YR3beGJsHibn2tilugs3u3al-JuA6REGpow-Vxr3et4nSf4mLDVfgQ", + "dq": "sIV81Pp4FG4W7lVw8mxJbcRaEdua8sYSLZlU1FaYT3tUgCuIvRmPr5rv3Vx6fDVYgDZd67gxcjdww1XyE19wp3K3zf4GEmyF5EmPsNCYpTo15YA12p99A1YQyi9MH1PcWVw0W8QFAVazOevTbvEE_SfvsoVdXIJ1166t2tn0AMyHBnYGu_w3UYoRb6aUQyCTuN0WYdB1bLvnJITKHjMykV82GYvA9InUsZgddjJ4gMXrpuvwf4MYxnrkrgdOdHBfbtm7pYFjfFd0iQupa3HTq6W19ouJlAbC1ZMNS8Ea0GrM-mggJG6G-iA7E6L_GaahTO30lCDvmMo67uFc4LtA8Q", + "qi": "Tr5bjEceK-0pQeDPD8hNRt3K2vtzrUFIQvSp4UtSWsh7NQHZyHsDK0eOu7jfCD2l3Rh17ujGT8iSWVJXfk6fPd7Ml7jadJsnieAroK_5uuAW6qwsyHernZUp7kQekYI5ttJIN5sYQVK-xj0idf6DkRlC6UxmgCnm4UIN9T5V3oHRB6SOJJN9Mnpwlszkwgs8179seNC37V2pY5ovLb-3qf4x-atxvrbQn2Hh9vxd0oxL8-kUF2PyZhGP6ZIwuDqtrM-DaeAf2IkzyhdKp2p34Pkdwa7SgLHrAKy9wLD6w9BGNHBK6qJ9GGYALXmeG_J5B4Y1r-VTYREB0Wb7IMpr9g" + }, + "privateKeyFormat": "JWK", + "jwt": "eyJhbGciOiJQUzUxMiIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.ZAU0DytXPjYk4ZjYY7hGL4hifumoDwz9JdeeBYKOor7o1VK4Pz8_n4kWH4FoFAJCzYB7FWwsmwgjEgQ2EyzV2Logq67OYQlAGvg-x4FANCvt-vS6YaThcrSKt-xZe9VQ1n7SrBk2pd2epbViYfyPLnbnoR40dgI2fhjHqZlTJfvME_pHN5IQ6Fgvkf98rhbrIBSQ9zXBATKrFwZUW0IJrv2_-s_aUehvZZutxATeLNv8JC8a1z5jagIVun5YpzcGe6UjS6KQMy0UlmyMpSoL3kt-C0gM-jqQAFB-bQpcqAJ04CURLV814qnDYwmr765_m1w4a0hDTQZU4lihmbH6XxCIg9tNkvJOnw_m394kj1bhEcmYrSuDPiN2i7xT6ijs3rl-MQsWyzZegRQJvf7kcSk4DWS7pdshaL8FLcvDlCQ0rP6swIqv8k8-m-Qs2ZDpgPv5X7J_Lta_7RPqH8ogLHWX0_R65u7IbQZshJ1RShY6lH4NkWf4t6i6l--Ip6-no39pXfx0hehMeyLdVsSIvJZRpCMMaRIqWj7UKVsCHxbiYFuAXcc6hFURlMeoC4CjZd1g_c5W0_AJmvXBCl-v7S5u9OwT0Yl1mti7GBUzdUBgLyzVHmBf4XBSD0b-mKUE0fqrwjGrMZZzOveNjfALLqs2ITuHZD8zoDVsm09tI9k" + } + }, + "Ed25519": { + "type": "digital", + "withPemKey": { + "header": "{\n \"alg\": \"EdDSA\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAjz/HpwFQrkra31uAtkUHyFv36FccSdMncXP2LKV0cUc=\n-----END PUBLIC KEY-----", + "publicKeyFormat": "PEM", + "privateKey": "-----BEGIN PRIVATE KEY-----\nMC4CAQAwBQYDK2VwBCIEIE0t8fJoUmw1UA6ep5r5WpOIcA+uGPv+MOt5y5xbwZWa\n-----END PRIVATE KEY-----", + "privateKeyFormat": "PEM", + "jwt": "eyJhbGciOiJFZERTQSIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.axG8VrQJ6QF7nLMj5MISmuXc0mZYm3VdcKk2BpU3vYgD0hi91gegw_rb3MFZu3gJHY0K2L5EUYPFM93KklPEBQ" + }, + "withJwkKey": { + "header": "{\n \"alg\": \"EdDSA\",\n \"type\": \"JWT\"\n}", + "payload": "{\n \"name\": \"Eric Arthur Blair\",\n \"given_name\": \"Eric\",\n \"middle_name\": \"Arthur\",\n \"family_name\": \"Blair\",\n \"nickname\": \"George Orwell\",\n \"preferred_username\": \"Orwell\",\n \"profile\": \"https://en.wikipedia.org/wiki/George_Orwell/",\n \"picture\": \"https://upload.wikimedia.org/wikipedia/commons/7/7e/George_Orwell_press_photo.jpg/",\n \"website\": \"https://www.orwellfoundation.com/the-orwell-foundation/orwell/books-by-orwell//",\n \"birthdate\": -2099242800,\n \"locale\": \"en-GB\",\n \"updated_at\": 441781200,\n \"zoneinfo\": \"Europe/London\"\n}", + "publicKey": { + "crv": "Ed25519", + "x": "jz_HpwFQrkra31uAtkUHyFv36FccSdMncXP2LKV0cUc", + "kty": "OKP" + }, + "publicKeyFormat": "JWK", + "privateKey": { + "crv": "Ed25519", + "d": "TS3x8mhSbDVQDp6nmvlak4hwD64Y-_4w63nLnFvBlZo", + "x": "jz_HpwFQrkra31uAtkUHyFv36FccSdMncXP2LKV0cUc", + "kty": "OKP" + }, + "privateKeyFormat": "JWK", + "jwt": "eyJhbGciOiJFZERTQSIsInR5cGUiOiJKV1QifQ.eyJuYW1lIjoiRXJpYyBBcnRodXIgQmxhaXIiLCJnaXZlbl9uYW1lIjoiRXJpYyIsIm1pZGRsZV9uYW1lIjoiQXJ0aHVyIiwiZmFtaWx5X25hbWUiOiJCbGFpciIsIm5pY2tuYW1lIjoiR2VvcmdlIE9yd2VsbCIsInByZWZlcnJlZF91c2VybmFtZSI6Ik9yd2VsbCIsInByb2ZpbGUiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HZW9yZ2VfT3J3ZWxsIiwicGljdHVyZSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNy83ZS9HZW9yZ2VfT3J3ZWxsX3ByZXNzX3Bob3RvLmpwZyIsIndlYnNpdGUiOiJodHRwczovL3d3dy5vcndlbGxmb3VuZGF0aW9uLmNvbS90aGUtb3J3ZWxsLWZvdW5kYXRpb24vb3J3ZWxsL2Jvb2tzLWJ5LW9yd2VsbC8iLCJiaXJ0aGRhdGUiOi0yMDk5MjQyODAwLCJsb2NhbGUiOiJlbi1HQiIsInVwZGF0ZWRfYXQiOjQ0MTc4MTIwMCwiem9uZWluZm8iOiJFdXJvcGUvTG9uZG9uIn0.axG8VrQJ6QF7nLMj5MISmuXc0mZYm3VdcKk2BpU3vYgD0hi91gegw_rb3MFZu3gJHY0K2L5EUYPFM93KklPEBQ" + } + } + } +} diff --git a/html/index.html b/html/index.html deleted file mode 100644 index de7e988a..00000000 --- a/html/index.html +++ /dev/null @@ -1,985 +0,0 @@ - - - - - - - - - - JSON Web Tokens - jwt.io - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- -
-
-

Encoded paste a token here

- -
-
-
-

Decoded edit the payload and secret (only HS256 supported)

- -
-
-
-
-
-  HMACSHA256(
-    base64UrlEncode(header) + "." +
-    base64UrlEncode(payload),
-    
-  )  secret base64 encoded
-
-
-
-
-
-
-
-
-
-
-
- - -
- -
- - - -
- -
-
-
-

.NET

-
-
-
-
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
-
-
-
Maintainer: Microsoft
- - -
- -
- -
-
- - -
-
-
- Update to ≥1.0.1 (?) -

Python

-
-
-
-
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
-
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
-
-
-
- Maintainer: José Padilla -
- -
- View Repo -
-
- -
- - -
-
- - -
-
-
- Update to ≥4.2.2 (?) -

Node.js

-
-
-
-
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
-
- -
- -
- Maintainer: Auth0 -
- -
- View Repo -
-
-
- -
-
-
- -
- -
-
-
-

Java

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
-
- -
Maintainer: __b_c
- -
- View Repo -
- -
-
- - -
-
- - -
-
-
- Vulnerable (?) -

JavaScript

-
-
- -
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
- -
- -
Maintainer: Kenji Urushima
- -
- View Repo -
- -
- -
- - -
-
- - -
-
-
- Vulnerable (?) -

PHP

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
- -
- -
Maintainer: Firebase
- -
- View Repo -
- -
- -
- - -
-
-
- -
- -
-
-
-

Ruby

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
-
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
- -
-
Maintainers: Jeff Lindsay & Tim Rudat
- - -
- View Repo -
- -
-
- - -
-
- - -
-
-
-

Go

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
-
-
-
Maintainer: dgrijalva
- -
- View Repo -
-
-
- - -
-
- - - -
-
-
-

Java

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
-
- -
Maintainer: Auth0
- -
- View Repo -
- -
-
- - -
-
-
- -
- -
-
-
-

Haskell

-
-
-
-
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
-
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
-
- -
-
Maintainer: Stefan Saasen
- -
- View Repo -
-
- - -
-
-
- - -
-
-
-

Rust

-
- -
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
-
-
Maintainer: GildedHonour
- -
- View Repo -
-
-
- - -
-
- - -
-
-
-

PHP

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
- -
- -
Maintainer: Namshi
- -
- View Repo -
- -
- -
- - -
-
-
- -
- -
-
-
-

Lua (openresty)

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
-
- -
Maintainer: SkyLothar
- -
- View Repo -
- -
-
- - -
-
- - -
-
-
-

Java

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
-
- -
Maintainer: connect2id
- -
- View Repo -
- -
-
- - -
-
- - -
-
-
-

Scala

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
-
- -
Maintainer: jasongoodwin
- -
- View Repo -
- -
-
- - -
-
- -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/index.html b/index.html deleted file mode 100644 index ca931b79..00000000 --- a/index.html +++ /dev/null @@ -1,966 +0,0 @@ - - - - - - - - - - JSON Web Tokens - jwt.io - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- -
-
-

Encoded paste a token here

- -
-
-
-

Decoded edit the payload and secret (only HS256 supported)

- -
-
-
-
-
-  HMACSHA256(
-    base64UrlEncode(header) + "." +
-    base64UrlEncode(payload),
-    
-  )  secret base64 encoded
-
-
-
-
-
-
-
-
-
-
-
- - -
- -
- - - -
- -
-
-
-

.NET

-
-
-
-
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
-
-
-
Maintainer: Microsoft
- - -
- -
- -
-
- - -
-
-
- Update to ≥1.0.1 (?) -

Python

-
-
-
-
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
-
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
-
-
-
- Maintainer: José Padilla -
- -
- View Repo -
-
- -
- - -
-
- - -
-
-
- Update to ≥4.2.2 (?) -

Node.js

-
-
-
-
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
-
- -
- -
- Maintainer: Auth0 -
- -
- View Repo -
-
-
- -
-
-
- -
- -
-
-
-

Java

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
-
- -
Maintainer: __b_c
- -
- View Repo -
- -
-
- - -
-
- - -
-
-
- Vulnerable (?) -

JavaScript

-
-
- -
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
- -
- -
Maintainer: Kenji Urushima
- -
- View Repo -
- -
- -
- - -
-
- - -
-
-
- Vulnerable (?) -

PHP

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
- -
- -
Maintainer: Firebase
- -
- View Repo -
- -
- -
- - -
-
-
- -
- -
-
-
-

Ruby

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
-
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
- -
-
Maintainers: Jeff Lindsay & Tim Rudat
- - -
- View Repo -
- -
-
- - -
-
- - -
-
-
-

Go

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
-
-
-
Maintainer: dgrijalva
- -
- View Repo -
-
-
- - -
-
- - - -
-
-
-

Java

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
-
- -
Maintainer: Auth0
- -
- View Repo -
- -
-
- - -
-
-
- -
- -
-
-
-

Haskell

-
-
-
-
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
-
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
-
- -
-
Maintainer: Stefan Saasen
- -
- View Repo -
-
- - -
-
-
- - -
-
-
-

Rust

-
- -
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
-
-
Maintainer: GildedHonour
- -
- View Repo -
-
-
- - -
-
- - -
-
-
-

PHP

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
- -
- -
Maintainer: Namshi
- -
- View Repo -
- -
- -
- - -
-
-
- -
- -
-
-
-

Lua (openresty)

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
-
- -
Maintainer: SkyLothar
- -
- View Repo -
- -
-
- - -
-
- - -
-
-
-

Java

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
-
- -
Maintainer: connect2id
- -
- View Repo -
- -
-
- - -
-
- - -
-
-
-

Scala

-
-
-
- -
-
Sign
-
Verify
-
iss check
-
sub check
-
aud check
-
exp check
-
nbf check
-
iat check
-
jti check
-
-
- -
HS256
-
HS384
-
HS512
-
RS256
-
RS384
-
RS512
-
ES256
-
ES384
-
ES512
-
- -
-
- -
Maintainer: jasongoodwin
- -
- View Repo -
- -
-
- - -
-
- -
-
- -
- - - - - - - - - - - - - - \ No newline at end of file diff --git a/js/app.js b/js/app.js deleted file mode 100644 index a8db9b68..00000000 --- a/js/app.js +++ /dev/null @@ -1,340 +0,0 @@ -(function () { - // Taken from http://stackoverflow.com/questions/2490825/how-to-trigger-event-in-javascript - function fireEvent(element) { - var event; // The custom event that will be created - - if (document.createEvent) { - event = document.createEvent('HTMLEvents'); - event.initEvent('change', true, true); - } else { - event = document.createEventObject(); - event.eventType = 'change'; - } - - event.eventName = 'change'; - - if (document.createEvent) { - element.dispatchEvent(event); - } else { - element.fireEvent('on' + event.eventType, event); - } - } - - var codeMirror = CodeMirror; - - function tabHack(instance) { - instance.replaceSelection(' ' , 'end'); - } - - var tokenEditor = codeMirror(document.getElementsByClassName('js-input')[0], { - mode: 'jwt', - theme: 'night', - lineWrapping: true, - autofocus: true, - extraKeys: { 'Tab': tabHack} - }); - - var headerEditor = codeMirror(document.getElementsByClassName('js-header')[0], { - mode: 'application/json', - lineWrapping: true, - extraKeys: { 'Tab': tabHack}, - lint: true - }); - - var payloadEditor = codeMirror(document.getElementsByClassName('js-payload')[0], { - mode: 'application/json', - lineWrapping: true, - extraKeys: { 'Tab': tabHack}, - lint: true - }); - - function setJSONEditorContent(jsonEditor, decodedJSON, selector) { - jsonEditor.off('change', refreshTokenEditor); - if (decodedJSON.result !== null && decodedJSON.result !== undefined) { - jsonEditor.setValue(decodedJSON.result); - } else { - jsonEditor.setValue(''); - } - if (decodedJSON.error) { - selector.addClass('error'); - } else { - selector.removeClass('error'); - } - jsonEditor.on('change', refreshTokenEditor); - } - - - function tokenEditorOnChangeListener(instance) { - var value = getTrimmedValue(instance); - - if (!value) { return; } - - var parts = value.split('.'); - - var secretElement = document.getElementsByName('secret')[0]; - var signatureElement = getFirstElementByClassName('js-signature'); - - if (!signatureElement) { - return; - } - - var decodedHeader = window.decode(parts[0]); - var selector = $('.jwt-header'); - setJSONEditorContent(headerEditor, decodedHeader, selector); - var decodedPayload = window.decode(parts[1]); - selector = $('.jwt-payload'); - setJSONEditorContent(payloadEditor, decodedPayload, selector); - - fireEvent(secretElement); - } - - function saveToStorage(jwt) { - // Save last valid jwt value for refresh - localStorage.jwtValue = jwt; - } - - function loadFromStorage(cb) { - cb(localStorage.jwtValue); - localStorage.clear(); - } - - function refreshTokenEditor(instance) { - tokenEditor.off('change', tokenEditorOnChangeListener); - var secretElement = document.getElementsByName('secret')[0]; - var isBase64EncodedElement = document.getElementsByName('is-base64-encoded')[0]; - var signResult = window.sign(headerEditor.getValue(), payloadEditor.getValue(), secretElement.value, - isBase64EncodedElement.checked); - - if (signResult.error) { - tokenEditor.setValue(''); - var elements = {'payload': '.jwt-payload', 'header': '.jwt-header'}; - $('.jwt-payload').removeClass('error'); - $('.jwt-header').removeClass('error'); - if (signResult.error.who) { - signResult.error.who - .map(function (e) { return elements[e]; }) - .forEach(function (e) { - $(e).addClass('error'); - }); - } - $('.input').addClass('error'); - if (signResult.result) { - tokenEditor.setValue(signResult.result); - } else { - tokenEditor.setValue(''); - } - } else { - tokenEditor.setValue(signResult.result); - $('.input').removeClass('error'); - $('.jwt-payload').removeClass('error'); - $('.jwt-header').removeClass('error'); - - saveToStorage(signResult.result); - } - tokenEditor.on('change', tokenEditorOnChangeListener); - fireEvent(secretElement); - } - - function getFirstElementByClassName(selector) { - var headerElement = document.getElementsByClassName(selector); - return headerElement.length ? headerElement[0] : null; - } - - function getTrimmedValue(instance) { - var value = instance.getValue(); - if (!value) { - return null; - } - - return value.replace(/\s/g, ''); - } - - tokenEditor.on('change', tokenEditorOnChangeListener); - - payloadEditor.on('change', refreshTokenEditor); - headerEditor.on('change', refreshTokenEditor); - - var secretElement = document.getElementsByName('secret')[0]; - var isBase64EncodedElement = document.getElementsByName('is-base64-encoded')[0]; - - function updateSignature () { - var signatureElement = getFirstElementByClassName('js-signature'); - var signatureContainerElement = getFirstElementByClassName('jwt-signature'); - - if (!signatureElement) { - return; - } - var value = getTrimmedValue(tokenEditor); - var isBase64 = isBase64EncodedElement.checked; - if (isBase64 && !window.isValidBase64String(secretElement.value)) { - $(signatureContainerElement).addClass('error'); - return; - } else { - $(signatureContainerElement).removeClass('error'); - } - var result = window.verify(value, secretElement.value, isBase64); - var error = result.error; - result = result.result; - if (!error && result) { - $(signatureElement).removeClass('invalid-token'); - $(signatureElement).addClass('valid-token'); - signatureElement.innerHTML = ' signature verified'; - } else { - $(signatureElement).removeClass('valid-token'); - $(signatureElement).addClass('invalid-token'); - signatureElement.innerHTML = ' invalid signature'; - } - } - secretElement.addEventListener('change', updateSignature, false); - secretElement.addEventListener('keyup', updateSignature, false); - isBase64EncodedElement.addEventListener('change', updateSignature, false); - - if (document.location.search) { - var qs = document.location.search.slice(1); - var d = {}; - qs = qs.split('&'); - qs.forEach(function (kv) { kv = kv.split('='); d[kv[0]] = kv[1]; }); - if (d.value) { - tokenEditor.setValue(decodeURIComponent(d.value)); - return; - } - } - - if (document.location.hash) { - var qs = document.location.hash.slice(1); - var d = {}; - qs = qs.split('&'); - qs.forEach(function (kv) { kv = kv.split('='); d[kv[0]] = kv[1]; }); - if (d.id_token) { - tokenEditor.setValue(decodeURIComponent(d.id_token)); - return; - } - } - - loadFromStorage(function (jwt) { - tokenEditor.setValue( - jwt || 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.eoaDVGTClRdfxUZXiPs3f8FmJDkDE_VCQFXqKxpLsts' - ); - - }); - -}()); - - -//TIMESTAMP -(function() { - setInterval(function() { - var now, timestamp; - timestamp = new Date(1987, 5, 30); - now = new Date(); - return $('#time').text(((now - timestamp) / 1000).toFixed(0)); - }, 1000); -}).call(this); - -//CANVAS -// $(function(){ -// var canvas = document.querySelector('canvas'), -// ctx = canvas.getContext('2d'), -// color = '#000000'; -// canvas.width = window.innerWidth; -// canvas.height = window.innerHeight; -// canvas.style.display = 'block'; -// ctx.fillStyle = color; -// ctx.lineWidth = .1; -// ctx.strokeStyle = color; -// -// var mousePosition = { -// x: 30 * canvas.width / 100, -// y: 30 * canvas.height / 100 -// }; -// -// var dots = { -// nb: 300, -// distance: 100, -// d_radius: 150, -// array: [] -// }; -// -// function Dot(){ -// this.x = Math.random() * canvas.width; -// this.y = Math.random() * canvas.height; -// -// this.vx = -.5 + Math.random(); -// this.vy = -.5 + Math.random(); -// -// this.radius = Math.random(); -// } -// -// Dot.prototype = { -// create: function(){ -// ctx.beginPath(); -// ctx.arc(this.x, this.y, this.radius, 0, Math.PI * 2, false); -// ctx.fill(); -// }, -// -// animate: function(){ -// for(i = 0; i < dots.nb; i++){ -// -// var dot = dots.array[i]; -// -// if(dot.y < 0 || dot.y > canvas.height){ -// dot.vx = dot.vx; -// dot.vy = - dot.vy; -// } -// else if(dot.x < 0 || dot.x > canvas.width){ -// dot.vx = - dot.vx; -// dot.vy = dot.vy; -// } -// dot.x += dot.vx; -// dot.y += dot.vy; -// } -// }, -// -// line: function(){ -// for(i = 0; i < dots.nb; i++){ -// for(j = 0; j < dots.nb; j++){ -// i_dot = dots.array[i]; -// j_dot = dots.array[j]; -// -// if((i_dot.x - j_dot.x) < dots.distance && (i_dot.y - j_dot.y) < dots.distance && (i_dot.x - j_dot.x) > - dots.distance && (i_dot.y - j_dot.y) > - dots.distance){ -// if((i_dot.x - mousePosition.x) < dots.d_radius && (i_dot.y - mousePosition.y) < dots.d_radius && (i_dot.x - mousePosition.x) > - dots.d_radius && (i_dot.y - mousePosition.y) > - dots.d_radius){ -// ctx.beginPath(); -// ctx.moveTo(i_dot.x, i_dot.y); -// ctx.lineTo(j_dot.x, j_dot.y); -// ctx.stroke(); -// ctx.closePath(); -// } -// } -// } -// } -// } -// }; -// -// function createDots(){ -// ctx.clearRect(0, 0, canvas.width, canvas.height); -// for(i = 0; i < dots.nb; i++){ -// // Prevent memory leak -// if (!dots.array[i]) { -// dots.array[i] = new Dot(); -// } -// dot = dots.array[i]; -// -// dot.create(); -// } -// -// dot.line(); -// dot.animate(); -// } -// -// $('canvas').on('mousemove mouseleave', function(e){ -// if(e.type == 'mousemove'){ -// mousePosition.x = e.pageX; -// mousePosition.y = e.pageY; -// } -// if(e.type == 'mouseleave'){ -// mousePosition.x = canvas.width / 2; -// mousePosition.y = canvas.height / 2; -// } -// }); -// setInterval(createDots, 1000/30); -// }); diff --git a/js/jwt.js b/js/jwt.js deleted file mode 100644 index b0d4a292..00000000 --- a/js/jwt.js +++ /dev/null @@ -1,119 +0,0 @@ - -// XXX Hack to prevent hextorstr function used by JWS send a string instead of -// a Word Array. On this way, no string decoding needs to take place and Crypto -// takes care of everything. -// Note that it should not affect the other algorithms as hextorstr is exclusively -// used on Hmac family (that invokes CryptoJS library). -window.hextorstr = function (c) { - return window.CryptoJS.enc.Hex.parse(c); -}; - - -//this is used to parse base64 -function url_base64_decode(str) { - var output = str.replace(/-/g, '+').replace(/_/g, '/'); - switch (output.length % 4) { - case 0: - break; - case 2: - output += '=='; - break; - case 3: - output += '='; - break; - default: - throw 'Illegal base64url string!'; - } - var result = window.atob(output); //polifyll https://github.com/davidchambers/Base64.js - try{ - return decodeURIComponent(escape(result)); - } catch (err) { - return result; - } -} - -window.decode = function (base64json) { - var json = null, error = null; - try { - json = url_base64_decode(base64json); - json = JSON.stringify(JSON.parse(json), undefined, 2); - } catch (e) { - error = e; - } - return {result: json, error: error}; -}; - -window.sign = function (header, payload, secret, isSecretBase64Encoded) { - var value = '', error = null, headerAsJSON, payloadAsJSON; - - try { - headerAsJSON = JSON.stringify(JSON.parse(header)); - } catch (e) { - error = {result: null, error: {cause: e, who: ['header']}}; - } - try { - payloadAsJSON = JSON.stringify(JSON.parse(payload)); - } catch (e) { - if (error) { - error.error.who.push('payload'); - } else { - error = {result: null, error: {cause: e, who: ['payload']}}; - } - } - - if (error) { - return error; - } - - if (isSecretBase64Encoded) { - try { - secret = window.b64utob64(secret); - secret = window.CryptoJS.enc.Base64.parse(secret).toString(); - } catch (e) { - return {result: '', error: e}; - } - } else { - secret = window.CryptoJS.enc.Latin1.parse(secret).toString(); - } - - try { - value = KJUR.jws.JWS.sign(null, headerAsJSON, payloadAsJSON, secret); - } catch (e) { - error = e; - } - - return {result: value, error: error}; -}; - -window.isValidBase64String = function (s) { - try { - s = window.b64utob64(s); - window.CryptoJS.enc.Base64.parse(s).toString(); - return true; - } catch (e) { - return false; - } -}; - -window.verify = function (value, secret, isSecretBase64Encoded) { - var result = '', error = null; - - if (isSecretBase64Encoded) { - try { - secret = window.b64utob64(secret); - secret = window.CryptoJS.enc.Base64.parse(secret).toString(); - } catch (e) { - return {result: '', error: e}; - } - } else { - secret = window.CryptoJS.enc.Latin1.parse(secret).toString(); - } - - try { - result = KJUR.jws.JWS.verify(value, secret); - } catch (e) { - error = e; - } - - return {result: result, error: error}; -}; diff --git a/js/jwt_mode.js b/js/jwt_mode.js deleted file mode 100644 index 16767ffe..00000000 --- a/js/jwt_mode.js +++ /dev/null @@ -1,41 +0,0 @@ -CodeMirror.defineMode('jwt', function () { - - function jwtHeader(stream, state) { - stream.eatWhile(/[^.]/); - state.cur = firstDot; - return 'jwt-header'; - } - - function firstDot(stream, state) { - stream.next(); - state.cur = jwtPayload; - return 'jwt-dot'; - } - - function jwtPayload(stream, state) { - stream.eatWhile(/[^.]/); - state.cur = secondDot; - return 'jwt-payload'; - } - - function secondDot(stream, state) { - stream.next(); - state.cur = jwtSignature; - return 'jwt-dot'; - } - - function jwtSignature(stream) { - stream.skipToEnd(); - return 'jwt-signature'; - } - - return { - token: function (stream, state) { - var cur = state.cur; - return cur(stream, state); - }, - startState: function () { - return {cur: jwtHeader}; - } - }; -}); diff --git a/less/app.less b/less/app.less deleted file mode 100644 index 700d2603..00000000 --- a/less/app.less +++ /dev/null @@ -1,421 +0,0 @@ -@jwtHeaderColor: #859900; -@jwtPayloadColor: #268bd2; -@jwtDotColor: #000; -@jwtSignatureColor: #dc322f; -@jwtExplainedBackgroundColor: #fff; - -@backgroundColor: #fff; - -@validColor: #7ED321; -@invalidColor: red; - -@wholePageZoom: 1.0; - -/* Hack: CodeMirror zoom bug that prevents clicking from working right with zoom != 1 */ -@codeMirrorZoom: 1/@wholePageZoom; - -.container{ - // min-width: 980px; -} - -.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:focus, .navbar-default .navbar-nav>.active>a:hover{ - color: black; -} -.navbar-default .navbar-brand{ - font-weight: bold; - color: black; - text-transform: uppercase; - color: black; - font-size: 14px; - letter-spacing: .5px; - margin-right: 30px; -} - -.banner-jwt{ - position: relative; - margin-top: 50px; - padding: 20px 20px; - background: #D0D2D3; - color: black; - overflow: hidden; - background: linear-gradient(120deg, #848DB4 0%, #3cc8f4 100%); - background-color: #24C6DC ; - background-image: -webkit-gradient(linear, left top, left bottom, color-stop(10%, #24C6DC ), color-stop(90%, #514A9D )); - background-image: -webkit-linear-gradient(-360deg, #24C6DC 10%, #514A9D 90%); - background-image: linear-gradient(90deg,#24C6DC 10%, #514A9D 90%); - - // ::after{ - // background: linear-gradient(50deg,#16214d 0%,#eb5424 50%,#16214d 100%); - // height: 1px; - // width: 100%; - // } - - p { - color: white; - font-size: 28px; - font-weight: 100; - line-height: 52px; - position: relative; - } - a{ - font-size: 16px; - font-weight: bold; - color: white; - opacity: .8; - display: inline-block; - position: relative; - } - - canvas{ - position: absolute; - z-index: 0; - top: 0; - left: 0; - right: 0; - bottom: 0; - opacity: .3; - height: 1000px; - width: 100%; - } - -} - - -.CodeMirror { zoom: @codeMirrorZoom; font-family: 'Source Code Pro' } - -h1 { - margin-bottom: 0; -} - -pre, code { padding: 0; margin: 0; font-family: Menlo !important; } - -.box-sizing(@prop) { - -webkit-box-sizing: @prop; /* Safari/Chrome, other WebKit */ - -moz-box-sizing: @prop; /* Firefox, other Gecko */ - box-sizing: @prop; /* Opera/IE 8+ */ -} - - - -.navbar-default.navbar-fixed-top{ - background: rgba(255,255,255,.9); - border: 0; - color: white; -} - -.box-shadow(@prop) { - -webkit-box-shadow: @prop; - -moz-box-shadow: @prop; - box-shadow: @prop; -} - -.vulnerable-badge { - text-align: right; - float: right; - line-height: 17px; - text-transform: uppercase; - color: red; -} - -.patched-badge { - text-align: right; - float: right; - line-height: 17px; - text-transform: uppercase; - color: orange; -} - -.panel{ - - &.vulnerable { - // background: none; - border: 2px solid red; - .panel-heading { - background: none; - } - .panel-body { - code { - background: none; - } - } - } - - &.patched { - // background: none; - border: 2px solid orange; - .panel-heading { - background: none; - } - .panel-body { - code { - background: none; - } - } - } - - box-shadow: none; - border: 0; - overflow: hidden; - .panel-heading{ - background: none; - } - .icon-budicon-333{ - position: relative; - top: 2px; - opacity: .5; - } -} - -.panel-footer{ - font-size: 14px; -} - -.hn-button{ - margin-right: 20px; -} -.panel-title{ - font-weight: bold; -} - -.panel-body{ - padding: 0; - .row{ - padding: 15px; - div{ - margin-bottom: 4px; - i{ - position: relative; - top: 2px; - } - } - } -} - -.icon-budicon-500{ - color: #65a52f; -} -.panel-footer{ - - padding: 0; - code { - background: #222; - color: #ccc; - display: block; - padding: 15px; - border-radius: 0; - color: white; - font-size: 12px; - a { - color: white; - } - } -} - -.author-info{ - border-top: 1px solid #f1f1f1; - padding: 15px; - .maintainer, .repository{ - display: inline-block; - } - - - .repository{ - float: right; - } - .repository-left{ - float: none; - } -} - - - -.banner{ - background: linear-gradient(120deg, #14204d 0%, #3cc8f4 100%); - // padding: 20px; - img{ - width: 140px; - } - a{ - color: white; - } - - p{ - font-size: 150%; - } - .btn{ - min-width: 200px; - } -} - -.bg-grey{ - background: #f6f6f6; - margin-top: 60px; - padding-bottom: 40px -} - -.jwt-playground { - width: 100%; - - h4{ - font-size: 14px; - text-transform: uppercase; - } - - .input { - - border: 1px solid #44C7F4; - padding: 10px; - margin-bottom: 2px; - border-radius: 3px; - background: @jwtExplainedBackgroundColor; - - &.error { - background: pink; - } - - &:hover { - .box-shadow(0px 0px 4px #54A1E9); - } - - .CodeMirror { - width: 100%; - background: none; - font-size: 20px; - line-height: 30px; - - .cm-jwt-dot { color: @jwtDotColor; } - .cm-jwt-header { color: @jwtHeaderColor; } - .cm-jwt-payload { color: @jwtPayloadColor; } - .cm-jwt-signature { color: @jwtSignatureColor; } - min-height: 434px; - height: auto; - - } - } - - .output { - .box-sizing(border-box); - - .jwt-explained { - background: @jwtExplainedBackgroundColor; - padding: inherit; - border: 1px solid #ECECEC; - padding: 10px; - margin-bottom: 2px; - pre{ - font-size: 16px; - line-height: 26px; - } - - &.error { - background: rgba(100,0,0,0.1); - } - - &:hover { - .box-shadow(0px 0px 4px #54A1E9); - } - .CodeMirror { - width: 100%; - height: auto; - background: none; - } - } - - .syntaxHighlightingOverride(@color) { - .CodeMirror, - .CodeMirror .cm-property, - .CodeMirror .cm-string, - .CodeMirror .cm-atom, - .CodeMirror .cm-number{ - color: @color; - } - } - - .jwt-header { - color: @jwtHeaderColor; - .syntaxHighlightingOverride(@jwtHeaderColor); - } - - .jwt-payload { - color: @jwtPayloadColor; - .syntaxHighlightingOverride(@jwtPayloadColor); - } - - .jwt-signature { - color: @jwtSignatureColor; - font-family: monospace; - - pre { background-color: transparent; border: 0; color: @jwtSignatureColor; } - - span.is-base64-encoded-label { - font-size: x-small; - } - } - } - - .validation-status { - background: @jwtExplainedBackgroundColor; - padding: 15px; - margin-top: 20px; - clear: both; - text-align: center; - width: 100%; - font-size: 20px; - color: white; - text-transform: uppercase; - .box-sizing(border-box); - - &.valid-token { - background: @validColor; - } - - &.invalid-token { - background: @invalidColor; - } - } -} - -.library div i { - padding-right: 4px; -} - -/* Sticky footer styles --------------------------------------------------- */ -html { - position: relative; - min-height: 100%; -} -body { - /* Margin bottom by footer height */ - margin-bottom: 60px; -} -#footer { - position: absolute; - bottom: 0; - width: 100%; - /* Set the fixed height of the footer here */ - height: 60px; - background-color: #f5f5f5; -} - - -/* Custom page CSS --------------------------------------------------- */ -/* Not required for template or sticky footer method. */ - -.container .text-muted { - margin: 20px 0; -} - -#footer > .container { - padding-right: 15px; - padding-left: 15px; -} - -code { - font-size: 80%; -} - -.navbar-right { - height: 20px; -} diff --git a/mdx.d.ts b/mdx.d.ts new file mode 100644 index 00000000..4aa061d6 --- /dev/null +++ b/mdx.d.ts @@ -0,0 +1,28 @@ +declare module "*.mdx" { + export interface MetadataModel { + title: string; + sequenceNumber: number; + cta: { + primary?: { + label: string; + }; + secondary?: { + label: string; + }; + }; + userInput?: { + name: string; + label: string; + placeholder: string; + }[]; + output?: { + title: string; + }; + } + + export const metadata: MetadataModel; + + const MDXComponent: (props: any) => JSX.Element; + + export default MDXComponent; +} diff --git a/next-env.d.ts b/next-env.d.ts new file mode 100644 index 00000000..40c3d680 --- /dev/null +++ b/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information. diff --git a/next.config.mjs b/next.config.mjs new file mode 100644 index 00000000..f4672921 --- /dev/null +++ b/next.config.mjs @@ -0,0 +1,48 @@ +import createMDX from "@next/mdx"; + +/** @type {import('next').NextConfig} */ +const nextConfig = { + webpack(config) { + config.module.rules.push({ + test: /\.svg$/, + use: { + loader: "@svgr/webpack", + options: { + svgoConfig: { + plugins: ["prefixIds"], + }, + ref: true, + }, + }, + }); + + return config; + }, + images: { + remotePatterns: [ + { hostname: "cdn.auth0.com" }, + { hostname: "auth0.com" }, + { hostname: "developer.auth0.com" }, + { hostname: "images.ctfassets.net" }, + ], + }, + redirects() { + return [ + { + source: "/home", + destination: "/", + permanent: true, + }, + ]; + }, +}; + +const withMDX = createMDX({ + options: { + remarkPlugins: [], + rehypePlugins: [], + providerImportSource: "@mdx-js/react", + }, +}); + +export default withMDX(nextConfig); diff --git a/opensearch.xml b/opensearch.xml deleted file mode 100644 index e104ff45..00000000 --- a/opensearch.xml +++ /dev/null @@ -1,8 +0,0 @@ - - JWT.io - - Type your token to be decoded. - - UTF-8 - - diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..8a603afc --- /dev/null +++ b/package-lock.json @@ -0,0 +1,14895 @@ +{ + "name": "next-jwt", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "next-jwt", + "version": "0.1.0", + "dependencies": { + "@formatjs/intl-localematcher": "^0.5.7", + "@mdx-js/loader": "^3.1.0", + "@mdx-js/react": "^3.1.0", + "@next/mdx": "^14.2.17", + "@next/third-parties": "^14.2.17", + "@svgr/webpack": "^8.1.0", + "@types/js-cookie": "^3.0.6", + "@types/mdx": "^2.0.13", + "@types/negotiator": "^0.6.3", + "@types/prismjs": "^1.26.3", + "@vercel/analytics": "^1.4.1", + "base64url": "^3.0.1", + "bowser": "^2.11.0", + "clsx": "^2.1.1", + "dotenv": "^16.4.5", + "jose": "^5.2.3", + "js-cookie": "^3.0.5", + "jwt-decode": "^4.0.0", + "loglevel": "^1.9.1", + "nanoid": "^5.0.9", + "negotiator": "^1.0.0", + "neverthrow": "^8.1.1", + "next": "^14.2.25", + "node-forge": "^1.3.1", + "octokit": "^4.0.2", + "prismjs": "^1.29.0", + "querystring": "^0.2.0", + "react": "^18.3.1", + "react-aria-components": "^1.6.0", + "react-dom": "^18.3.1", + "react-markdown": "^9.0.1", + "react-select": "^5.9.0", + "rehype-raw": "^7.0.0", + "sass": "^1.74.1", + "schema-dts": "^1.1.2", + "tsx": "^4.15.7", + "zod": "^3.23.8", + "zustand": "^4.5.2" + }, + "devDependencies": { + "@playwright/test": "^1.49.1", + "@types/node": "^20", + "@types/node-forge": "^1.3.11", + "@types/react": "^18", + "@types/react-dom": "^18", + "@vitest/coverage-istanbul": "^1.4.0", + "eslint": "^8", + "eslint-config-next": "^14.2.3", + "prettier": "^3.2.5", + "typescript": "^5.4.5", + "vite-tsconfig-paths": "^4.3.2", + "vitest": "^1.4.0" + } + }, + "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.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", + "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.4", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.4", + "@babel/parser": "^7.24.4", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", + "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/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/@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==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz", + "integrity": "sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "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==", + "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==", + "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==" + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", + "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.25.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz", + "integrity": "sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz", + "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz", + "integrity": "sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz", + "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz", + "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz", + "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz", + "integrity": "sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes/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==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz", + "integrity": "sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", + "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz", + "integrity": "sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-simple-access": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz", + "integrity": "sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.9.tgz", + "integrity": "sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", + "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", + "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz", + "integrity": "sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==", + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz", + "integrity": "sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz", + "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz", + "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz", + "integrity": "sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.0.tgz", + "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.25.9", + "@babel/plugin-transform-async-to-generator": "^7.25.9", + "@babel/plugin-transform-block-scoped-functions": "^7.25.9", + "@babel/plugin-transform-block-scoping": "^7.25.9", + "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", + "@babel/plugin-transform-classes": "^7.25.9", + "@babel/plugin-transform-computed-properties": "^7.25.9", + "@babel/plugin-transform-destructuring": "^7.25.9", + "@babel/plugin-transform-dotall-regex": "^7.25.9", + "@babel/plugin-transform-duplicate-keys": "^7.25.9", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-dynamic-import": "^7.25.9", + "@babel/plugin-transform-exponentiation-operator": "^7.25.9", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.25.9", + "@babel/plugin-transform-function-name": "^7.25.9", + "@babel/plugin-transform-json-strings": "^7.25.9", + "@babel/plugin-transform-literals": "^7.25.9", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", + "@babel/plugin-transform-member-expression-literals": "^7.25.9", + "@babel/plugin-transform-modules-amd": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-modules-systemjs": "^7.25.9", + "@babel/plugin-transform-modules-umd": "^7.25.9", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-new-target": "^7.25.9", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9", + "@babel/plugin-transform-numeric-separator": "^7.25.9", + "@babel/plugin-transform-object-rest-spread": "^7.25.9", + "@babel/plugin-transform-object-super": "^7.25.9", + "@babel/plugin-transform-optional-catch-binding": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9", + "@babel/plugin-transform-private-methods": "^7.25.9", + "@babel/plugin-transform-private-property-in-object": "^7.25.9", + "@babel/plugin-transform-property-literals": "^7.25.9", + "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", + "@babel/plugin-transform-reserved-words": "^7.25.9", + "@babel/plugin-transform-shorthand-properties": "^7.25.9", + "@babel/plugin-transform-spread": "^7.25.9", + "@babel/plugin-transform-sticky-regex": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.25.9", + "@babel/plugin-transform-typeof-symbol": "^7.25.9", + "@babel/plugin-transform-unicode-escapes": "^7.25.9", + "@babel/plugin-transform-unicode-property-regex": "^7.25.9", + "@babel/plugin-transform-unicode-regex": "^7.25.9", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.38.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.25.9.tgz", + "integrity": "sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-transform-react-display-name": "^7.25.9", + "@babel/plugin-transform-react-jsx": "^7.25.9", + "@babel/plugin-transform-react-jsx-development": "^7.25.9", + "@babel/plugin-transform-react-pure-annotations": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", + "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-typescript": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", + "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.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/types": { + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz", + "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.13.5", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", + "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.3.3", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/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==", + "license": "MIT" + }, + "node_modules/@emotion/babel-plugin/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@emotion/cache": { + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", + "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==", + "license": "MIT" + }, + "node_modules/@emotion/memoize": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", + "license": "MIT" + }, + "node_modules/@emotion/react": { + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", + "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/cache": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz", + "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==", + "license": "MIT", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.2", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==", + "license": "MIT" + }, + "node_modules/@emotion/unitless": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==", + "license": "MIT" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz", + "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==", + "license": "MIT" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==", + "license": "MIT" + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz", + "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz", + "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "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": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.8.tgz", + "integrity": "sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.8" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.12", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.12.tgz", + "integrity": "sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.8" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.8.tgz", + "integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==", + "license": "MIT" + }, + "node_modules/@formatjs/ecma402-abstract": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.2.tgz", + "integrity": "sha512-6sE5nyvDloULiyOMbOTJEEgWL32w+VHkZQs8S02Lnn8Y/O5aQhjOEXwWzvR7SsBE/exxlSpY2EsWZgqHbtLatg==", + "license": "MIT", + "dependencies": { + "@formatjs/fast-memoize": "2.2.6", + "@formatjs/intl-localematcher": "0.5.10", + "decimal.js": "10", + "tslib": "2" + } + }, + "node_modules/@formatjs/fast-memoize": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.6.tgz", + "integrity": "sha512-luIXeE2LJbQnnzotY1f2U2m7xuQNj2DA8Vq4ce1BY9ebRZaoPB1+8eZ6nXpLzsxuW5spQxr7LdCg+CApZwkqkw==", + "license": "MIT", + "dependencies": { + "tslib": "2" + } + }, + "node_modules/@formatjs/icu-messageformat-parser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.0.tgz", + "integrity": "sha512-Hp81uTjjdTk3FLh/dggU5NK7EIsVWc5/ZDWrIldmf2rBuPejuZ13CZ/wpVE2SToyi4EiroPTQ1XJcJuZFIxTtw==", + "license": "MIT", + "dependencies": { + "@formatjs/ecma402-abstract": "2.3.2", + "@formatjs/icu-skeleton-parser": "1.8.12", + "tslib": "2" + } + }, + "node_modules/@formatjs/icu-skeleton-parser": { + "version": "1.8.12", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.12.tgz", + "integrity": "sha512-QRAY2jC1BomFQHYDMcZtClqHR55EEnB96V7Xbk/UiBodsuFc5kujybzt87+qj1KqmJozFhk6n4KiT1HKwAkcfg==", + "license": "MIT", + "dependencies": { + "@formatjs/ecma402-abstract": "2.3.2", + "tslib": "2" + } + }, + "node_modules/@formatjs/intl-localematcher": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.10.tgz", + "integrity": "sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q==", + "license": "MIT", + "dependencies": { + "tslib": "2" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "dev": true + }, + "node_modules/@internationalized/date": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.7.0.tgz", + "integrity": "sha512-VJ5WS3fcVx0bejE/YHfbDKR/yawZgKqn/if+oEeLqNwBtPzVB06olkfcnojTmEMX+gTpH+FlQ69SHNitJ8/erQ==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@internationalized/message": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@internationalized/message/-/message-3.1.6.tgz", + "integrity": "sha512-JxbK3iAcTIeNr1p0WIFg/wQJjIzJt9l/2KNY/48vXV7GRGZSv3zMxJsce008fZclk2cDC8y0Ig3odceHO7EfNQ==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0", + "intl-messageformat": "^10.1.0" + } + }, + "node_modules/@internationalized/number": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.0.tgz", + "integrity": "sha512-PtrRcJVy7nw++wn4W2OuePQQfTqDzfusSuY1QTtui4wa7r+rGVtR75pO8CyKvHvzyQYi3Q1uO5sY0AsB4e65Bw==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@internationalized/string": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.2.5.tgz", + "integrity": "sha512-rKs71Zvl2OKOHM+mzAFMIyqR5hI1d1O6BBkMK2/lkfg3fkmVh9Eeg0awcA8W2WqYqDOv6a86DIOlFpggwLtbuw==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mdx-js/loader": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mdx-js/loader/-/loader-3.1.0.tgz", + "integrity": "sha512-xU/lwKdOyfXtQGqn3VnJjlDrmKXEvMi1mgYxVmukEUtVycIz1nh7oQ40bKTd4cA7rLStqu0740pnhGYxGoqsCg==", + "license": "MIT", + "dependencies": { + "@mdx-js/mdx": "^3.0.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "webpack": ">=5" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } + } + }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.0.tgz", + "integrity": "sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/react": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.0.tgz", + "integrity": "sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==", + "license": "MIT", + "dependencies": { + "@types/mdx": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, + "node_modules/@next/env": { + "version": "14.2.29", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.29.tgz", + "integrity": "sha512-UzgLR2eBfhKIQt0aJ7PWH7XRPYw7SXz0Fpzdl5THjUnvxy4kfBk9OU4RNPNiETewEEtaBcExNFNn1QWH8wQTjg==", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.3.tgz", + "integrity": "sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==", + "dev": true, + "dependencies": { + "glob": "10.3.10" + } + }, + "node_modules/@next/mdx": { + "version": "14.2.17", + "resolved": "https://registry.npmjs.org/@next/mdx/-/mdx-14.2.17.tgz", + "integrity": "sha512-fADone7waQ7dLF0MV/GfMwvajate3/ott+yV6oEhTOOkIaQQN8D7ukgv6uz202Sd9b16ddMV7D9xUX9oq97UnQ==", + "license": "MIT", + "dependencies": { + "source-map": "^0.7.0" + }, + "peerDependencies": { + "@mdx-js/loader": ">=0.15.0", + "@mdx-js/react": ">=0.15.0" + }, + "peerDependenciesMeta": { + "@mdx-js/loader": { + "optional": true + }, + "@mdx-js/react": { + "optional": true + } + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "14.2.29", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.29.tgz", + "integrity": "sha512-wWtrAaxCVMejxPHFb1SK/PVV1WDIrXGs9ki0C/kUM8ubKHQm+3hU9MouUywCw8Wbhj3pewfHT2wjunLEr/TaLA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.2.29", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.29.tgz", + "integrity": "sha512-7Z/jk+6EVBj4pNLw/JQrvZVrAh9Bv8q81zCFSfvTMZ51WySyEHWVpwCEaJY910LyBftv2F37kuDPQm0w9CEXyg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.2.29", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.29.tgz", + "integrity": "sha512-o6hrz5xRBwi+G7JFTHc+RUsXo2lVXEfwh4/qsuWBMQq6aut+0w98WEnoNwAwt7hkEqegzvazf81dNiwo7KjITw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.2.29", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.29.tgz", + "integrity": "sha512-9i+JEHBOVgqxQ92HHRFlSW1EQXqa/89IVjtHgOqsShCcB/ZBjTtkWGi+SGCJaYyWkr/lzu51NTMCfKuBf7ULNw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.2.29", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.29.tgz", + "integrity": "sha512-B7JtMbkUwHijrGBOhgSQu2ncbCYq9E7PZ7MX58kxheiEOwdkM+jGx0cBb+rN5AeqF96JypEppK6i/bEL9T13lA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "14.2.29", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.29.tgz", + "integrity": "sha512-yCcZo1OrO3aQ38B5zctqKU1Z3klOohIxug6qdiKO3Q3qNye/1n6XIs01YJ+Uf+TdpZQ0fNrOQI2HrTLF3Zprnw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.2.29", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.29.tgz", + "integrity": "sha512-WnrfeOEtTVidI9Z6jDLy+gxrpDcEJtZva54LYC0bSKQqmyuHzl0ego+v0F/v2aXq0am67BRqo/ybmmt45Tzo4A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.2.29", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.29.tgz", + "integrity": "sha512-vkcriFROT4wsTdSeIzbxaZjTNTFKjSYmLd8q/GVH3Dn8JmYjUKOuKXHK8n+lovW/kdcpIvydO5GtN+It2CvKWA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.2.29", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.29.tgz", + "integrity": "sha512-iPPwUEKnVs7pwR0EBLJlwxLD7TTHWS/AoVZx1l9ZQzfQciqaFEr5AlYzA2uB6Fyby1IF18t4PL0nTpB+k4Tzlw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/third-parties": { + "version": "14.2.29", + "resolved": "https://registry.npmjs.org/@next/third-parties/-/third-parties-14.2.29.tgz", + "integrity": "sha512-JdTTmH1KcJGLCkK2JzEcfHl+R+Od6smdOZuupjRn3kwDapdyM/vFBL72j+hZaMMB+Nhcsu0Mzp2C4RCpyz6sqw==", + "license": "MIT", + "dependencies": { + "third-party-capital": "1.0.20" + }, + "peerDependencies": { + "next": "^13.0.0 || ^14.0.0", + "react": "^18.2.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@octokit/app": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/@octokit/app/-/app-15.1.0.tgz", + "integrity": "sha512-TkBr7QgOmE6ORxvIAhDbZsqPkF7RSqTY4pLTtUQCvr6dTXqvi2fFo46q3h1lxlk/sGMQjqyZ0kEahkD/NyzOHg==", + "dependencies": { + "@octokit/auth-app": "^7.0.0", + "@octokit/auth-unauthenticated": "^6.0.0", + "@octokit/core": "^6.1.2", + "@octokit/oauth-app": "^7.0.0", + "@octokit/plugin-paginate-rest": "^11.0.0", + "@octokit/types": "^13.0.0", + "@octokit/webhooks": "^13.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/app/node_modules/@octokit/auth-token": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", + "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/app/node_modules/@octokit/core": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", + "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", + "dependencies": { + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.0.0", + "@octokit/request": "^9.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/app/node_modules/@octokit/endpoint": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/app/node_modules/@octokit/endpoint/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/app/node_modules/@octokit/graphql": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", + "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", + "dependencies": { + "@octokit/request": "^9.0.0", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/app/node_modules/@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", + "license": "MIT" + }, + "node_modules/@octokit/app/node_modules/@octokit/request": { + "version": "9.2.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.3.tgz", + "integrity": "sha512-Ma+pZU8PXLOEYzsWf0cn/gY+ME57Wq8f49WTXA8FMHp2Ps9djKw//xYJ1je8Hm0pR2lU9FUGeJRWOtxq6olt4w==", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/app/node_modules/@octokit/request-error": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/app/node_modules/@octokit/request-error/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/app/node_modules/@octokit/request/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/app/node_modules/before-after-hook": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" + }, + "node_modules/@octokit/app/node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" + }, + "node_modules/@octokit/auth-app": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-app/-/auth-app-7.1.0.tgz", + "integrity": "sha512-cazGaJPSgeZ8NkVYeM/C5l/6IQ5vZnsI8p1aMucadCkt/bndI+q+VqwrlnWbASRmenjOkf1t1RpCKrif53U8gw==", + "dependencies": { + "@octokit/auth-oauth-app": "^8.1.0", + "@octokit/auth-oauth-user": "^5.1.0", + "@octokit/request": "^9.1.1", + "@octokit/request-error": "^6.1.1", + "@octokit/types": "^13.4.1", + "lru-cache": "^10.0.0", + "universal-github-app-jwt": "^2.2.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-app/node_modules/@octokit/endpoint": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-app/node_modules/@octokit/endpoint/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/auth-app/node_modules/@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", + "license": "MIT" + }, + "node_modules/@octokit/auth-app/node_modules/@octokit/request": { + "version": "9.2.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.3.tgz", + "integrity": "sha512-Ma+pZU8PXLOEYzsWf0cn/gY+ME57Wq8f49WTXA8FMHp2Ps9djKw//xYJ1je8Hm0pR2lU9FUGeJRWOtxq6olt4w==", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-app/node_modules/@octokit/request-error": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-app/node_modules/@octokit/request-error/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/auth-app/node_modules/@octokit/request/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/auth-app/node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" + }, + "node_modules/@octokit/auth-oauth-app": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-app/-/auth-oauth-app-8.1.1.tgz", + "integrity": "sha512-5UtmxXAvU2wfcHIPPDWzVSAWXVJzG3NWsxb7zCFplCWEmMCArSZV0UQu5jw5goLQXbFyOr5onzEH37UJB3zQQg==", + "dependencies": { + "@octokit/auth-oauth-device": "^7.0.0", + "@octokit/auth-oauth-user": "^5.0.1", + "@octokit/request": "^9.0.0", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/endpoint/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", + "license": "MIT" + }, + "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request": { + "version": "9.2.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.3.tgz", + "integrity": "sha512-Ma+pZU8PXLOEYzsWf0cn/gY+ME57Wq8f49WTXA8FMHp2Ps9djKw//xYJ1je8Hm0pR2lU9FUGeJRWOtxq6olt4w==", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/auth-oauth-app/node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" + }, + "node_modules/@octokit/auth-oauth-device": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-device/-/auth-oauth-device-7.1.1.tgz", + "integrity": "sha512-HWl8lYueHonuyjrKKIup/1tiy0xcmQCdq5ikvMO1YwkNNkxb6DXfrPjrMYItNLyCP/o2H87WuijuE+SlBTT8eg==", + "dependencies": { + "@octokit/oauth-methods": "^5.0.0", + "@octokit/request": "^9.0.0", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/endpoint/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", + "license": "MIT" + }, + "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request": { + "version": "9.2.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.3.tgz", + "integrity": "sha512-Ma+pZU8PXLOEYzsWf0cn/gY+ME57Wq8f49WTXA8FMHp2Ps9djKw//xYJ1je8Hm0pR2lU9FUGeJRWOtxq6olt4w==", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/auth-oauth-device/node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" + }, + "node_modules/@octokit/auth-oauth-user": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-user/-/auth-oauth-user-5.1.1.tgz", + "integrity": "sha512-rRkMz0ErOppdvEfnemHJXgZ9vTPhBuC6yASeFaB7I2yLMd7QpjfrL1mnvRPlyKo+M6eeLxrKanXJ9Qte29SRsw==", + "dependencies": { + "@octokit/auth-oauth-device": "^7.0.1", + "@octokit/oauth-methods": "^5.0.0", + "@octokit/request": "^9.0.1", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/endpoint/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", + "license": "MIT" + }, + "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request": { + "version": "9.2.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.3.tgz", + "integrity": "sha512-Ma+pZU8PXLOEYzsWf0cn/gY+ME57Wq8f49WTXA8FMHp2Ps9djKw//xYJ1je8Hm0pR2lU9FUGeJRWOtxq6olt4w==", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request-error/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/request/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/auth-oauth-user/node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" + }, + "node_modules/@octokit/auth-token": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", + "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-unauthenticated": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-unauthenticated/-/auth-unauthenticated-6.1.0.tgz", + "integrity": "sha512-zPSmfrUAcspZH/lOFQnVnvjQZsIvmfApQH6GzJrkIunDooU1Su2qt2FfMTSVPRp7WLTQyC20Kd55lF+mIYaohQ==", + "dependencies": { + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", + "license": "MIT" + }, + "node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/request-error/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/core": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz", + "integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.1.0", + "@octokit/request": "^8.3.1", + "@octokit/request-error": "^5.1.0", + "@octokit/types": "^13.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/endpoint": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.6.tgz", + "integrity": "sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/graphql": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.0.tgz", + "integrity": "sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@octokit/request": "^8.3.0", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/oauth-app": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@octokit/oauth-app/-/oauth-app-7.1.2.tgz", + "integrity": "sha512-4ntCOZIiTozKwuYQroX/ZD722tzMH8Eicv/cgDM/3F3lyrlwENHDv4flTCBpSJbfK546B2SrkKMWB+/HbS84zQ==", + "dependencies": { + "@octokit/auth-oauth-app": "^8.0.0", + "@octokit/auth-oauth-user": "^5.0.1", + "@octokit/auth-unauthenticated": "^6.0.0-beta.1", + "@octokit/core": "^6.0.0", + "@octokit/oauth-authorization-url": "^7.0.0", + "@octokit/oauth-methods": "^5.0.0", + "@types/aws-lambda": "^8.10.83", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/oauth-app/node_modules/@octokit/auth-token": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", + "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/oauth-app/node_modules/@octokit/core": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", + "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", + "dependencies": { + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.0.0", + "@octokit/request": "^9.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/oauth-app/node_modules/@octokit/endpoint/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/oauth-app/node_modules/@octokit/graphql": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", + "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", + "dependencies": { + "@octokit/request": "^9.0.0", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/oauth-app/node_modules/@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", + "license": "MIT" + }, + "node_modules/@octokit/oauth-app/node_modules/@octokit/request": { + "version": "9.2.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.3.tgz", + "integrity": "sha512-Ma+pZU8PXLOEYzsWf0cn/gY+ME57Wq8f49WTXA8FMHp2Ps9djKw//xYJ1je8Hm0pR2lU9FUGeJRWOtxq6olt4w==", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/oauth-app/node_modules/@octokit/request-error": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/oauth-app/node_modules/@octokit/request-error/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/oauth-app/node_modules/@octokit/request/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/oauth-app/node_modules/before-after-hook": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" + }, + "node_modules/@octokit/oauth-app/node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" + }, + "node_modules/@octokit/oauth-authorization-url": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@octokit/oauth-authorization-url/-/oauth-authorization-url-7.1.1.tgz", + "integrity": "sha512-ooXV8GBSabSWyhLUowlMIVd9l1s2nsOGQdlP2SQ4LnkEsGXzeCvbSbCPdZThXhEFzleGPwbapT0Sb+YhXRyjCA==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/oauth-methods": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-5.1.2.tgz", + "integrity": "sha512-C5lglRD+sBlbrhCUTxgJAFjWgJlmTx5bQ7Ch0+2uqRjYv7Cfb5xpX4WuSC9UgQna3sqRGBL9EImX9PvTpMaQ7g==", + "dependencies": { + "@octokit/oauth-authorization-url": "^7.0.0", + "@octokit/request": "^9.1.0", + "@octokit/request-error": "^6.1.0", + "@octokit/types": "^13.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/oauth-methods/node_modules/@octokit/endpoint/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/oauth-methods/node_modules/@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", + "license": "MIT" + }, + "node_modules/@octokit/oauth-methods/node_modules/@octokit/request": { + "version": "9.2.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.3.tgz", + "integrity": "sha512-Ma+pZU8PXLOEYzsWf0cn/gY+ME57Wq8f49WTXA8FMHp2Ps9djKw//xYJ1je8Hm0pR2lU9FUGeJRWOtxq6olt4w==", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/oauth-methods/node_modules/@octokit/request/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@octokit/oauth-methods/node_modules/universal-user-agent": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", + "license": "ISC" + }, + "node_modules/@octokit/openapi-types": { + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", + "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==" + }, + "node_modules/@octokit/openapi-webhooks-types": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-webhooks-types/-/openapi-webhooks-types-8.2.1.tgz", + "integrity": "sha512-msAU1oTSm0ZmvAE0xDemuF4tVs5i0xNnNGtNmr4EuATi+1Rn8cZDetj6NXioSf5LwnxEc209COa/WOSbjuhLUA==" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.1.tgz", + "integrity": "sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==", + "dependencies": { + "@octokit/types": "^13.5.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "5" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.2.tgz", + "integrity": "sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA==", + "dependencies": { + "@octokit/types": "^13.5.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "^5" + } + }, + "node_modules/@octokit/request": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.1.tgz", + "integrity": "sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@octokit/endpoint": "^9.0.6", + "@octokit/request-error": "^5.1.1", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/request-error": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz", + "integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "@octokit/types": "^13.1.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/request/node_modules/@octokit/request-error": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz", + "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@octokit/types": "^13.1.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/types": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", + "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", + "dependencies": { + "@octokit/openapi-types": "^22.2.0" + } + }, + "node_modules/@octokit/webhooks": { + "version": "13.2.7", + "resolved": "https://registry.npmjs.org/@octokit/webhooks/-/webhooks-13.2.7.tgz", + "integrity": "sha512-sPHCyi9uZuCs1gg0yF53FFocM+GsiiBEhQQV/itGzzQ8gjyv2GMJ1YvgdDY4lC0ePZeiV3juEw4GbS6w1VHhRw==", + "dependencies": { + "@octokit/openapi-webhooks-types": "8.2.1", + "@octokit/request-error": "^6.0.1", + "@octokit/webhooks-methods": "^5.0.0", + "aggregate-error": "^5.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/webhooks-methods": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@octokit/webhooks-methods/-/webhooks-methods-5.1.0.tgz", + "integrity": "sha512-yFZa3UH11VIxYnnoOYCVoJ3q4ChuSOk2IVBBQ0O3xtKX4x9bmKb/1t+Mxixv2iUhzMdOl1qeWJqEhouXXzB3rQ==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/webhooks/node_modules/@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", + "license": "MIT" + }, + "node_modules/@octokit/webhooks/node_modules/@octokit/request-error": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/webhooks/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@playwright/test": { + "version": "1.49.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.49.1.tgz", + "integrity": "sha512-Ky+BVzPz8pL6PQxHqNRW1k3mIyv933LML7HktS8uik0bUXNCdPhoS/kLihiO1tMf/egaJb4IutXd7UywvXEW+g==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "playwright": "1.49.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-aria/autocomplete": { + "version": "3.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/@react-aria/autocomplete/-/autocomplete-3.0.0-alpha.37.tgz", + "integrity": "sha512-a7awFG3hshJ/kX7Qti/cJAKOG0XU5F/XW6fQffKGfEge7PmiWIvaLTrT5her79/v8v/bRBykIkpEgDCFE7WGzg==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/combobox": "^3.11.1", + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/listbox": "^3.14.0", + "@react-aria/searchfield": "^3.8.0", + "@react-aria/textfield": "^3.16.0", + "@react-aria/utils": "^3.27.0", + "@react-stately/autocomplete": "3.0.0-alpha.0", + "@react-stately/combobox": "^3.10.2", + "@react-types/autocomplete": "3.0.0-alpha.28", + "@react-types/button": "^3.10.2", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/breadcrumbs": { + "version": "3.5.20", + "resolved": "https://registry.npmjs.org/@react-aria/breadcrumbs/-/breadcrumbs-3.5.20.tgz", + "integrity": "sha512-xqVSSDPpQuUFpJyIXMQv8L7zumk5CeGX7qTzo4XRvqm5T9qnNAX4XpYEMdktnLrQRY/OemCBScbx7SEwr0B3Kg==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/i18n": "^3.12.5", + "@react-aria/link": "^3.7.8", + "@react-aria/utils": "^3.27.0", + "@react-types/breadcrumbs": "^3.7.10", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/button": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/@react-aria/button/-/button-3.11.1.tgz", + "integrity": "sha512-NSs2HxHSSPSuYy5bN+PMJzsCNDVsbm1fZ/nrWM2WWWHTBrx9OqyrEXZVV9ebzQCN9q0nzhwpf6D42zHIivWtJA==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.19.1", + "@react-aria/interactions": "^3.23.0", + "@react-aria/toolbar": "3.0.0-beta.12", + "@react-aria/utils": "^3.27.0", + "@react-stately/toggle": "^3.8.1", + "@react-types/button": "^3.10.2", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/calendar": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-aria/calendar/-/calendar-3.7.0.tgz", + "integrity": "sha512-9YUbgcox7cQgvZfQtL2BLLRsIuX4mJeclk9HkFoOsAu3RGO5HNsteah8FV54W8BMjm/bNRXIPUxtjTTP+1L6jg==", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/date": "^3.7.0", + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/live-announcer": "^3.4.1", + "@react-aria/utils": "^3.27.0", + "@react-stately/calendar": "^3.7.0", + "@react-types/button": "^3.10.2", + "@react-types/calendar": "^3.6.0", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/checkbox": { + "version": "3.15.1", + "resolved": "https://registry.npmjs.org/@react-aria/checkbox/-/checkbox-3.15.1.tgz", + "integrity": "sha512-ETgsMDZ0IZzRXy/OVlGkazm8T+PcMHoTvsxp0c+U82c8iqdITA+VJ615eBPOQh6OkkYIIn4cRn/e+69RmGzXng==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/form": "^3.0.12", + "@react-aria/interactions": "^3.23.0", + "@react-aria/label": "^3.7.14", + "@react-aria/toggle": "^3.10.11", + "@react-aria/utils": "^3.27.0", + "@react-stately/checkbox": "^3.6.11", + "@react-stately/form": "^3.1.1", + "@react-stately/toggle": "^3.8.1", + "@react-types/checkbox": "^3.9.1", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/collections": { + "version": "3.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/@react-aria/collections/-/collections-3.0.0-alpha.7.tgz", + "integrity": "sha512-JR2Ro33Chlf26NM12zJsK+MOs5/k+PQallT5+4YawndYmbxqlDLADcoFdcORJqh0pKf9OnluWtANobCkQGd0aQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/ssr": "^3.9.7", + "@react-aria/utils": "^3.27.0", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0", + "use-sync-external-store": "^1.2.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/color": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@react-aria/color/-/color-3.0.3.tgz", + "integrity": "sha512-DDVma2107VHBfSuEnnmy+KJvXvxEXWSAooii2vlHHmQNb5x4rv4YTk+dP5GZl/7MgT8OgPTB9UHoC83bXFMDRA==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/numberfield": "^3.11.10", + "@react-aria/slider": "^3.7.15", + "@react-aria/spinbutton": "^3.6.11", + "@react-aria/textfield": "^3.16.0", + "@react-aria/utils": "^3.27.0", + "@react-aria/visually-hidden": "^3.8.19", + "@react-stately/color": "^3.8.2", + "@react-stately/form": "^3.1.1", + "@react-types/color": "^3.0.2", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/combobox": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/@react-aria/combobox/-/combobox-3.11.1.tgz", + "integrity": "sha512-TTNbGhUuqxzPcJzd6hufOxuHzX0UARkw+0bl+TuCwNPQnqrcPf20EoOZvd3MHZwGq6GCP4QV+qo0uGx83RpUvA==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/i18n": "^3.12.5", + "@react-aria/listbox": "^3.14.0", + "@react-aria/live-announcer": "^3.4.1", + "@react-aria/menu": "^3.17.0", + "@react-aria/overlays": "^3.25.0", + "@react-aria/selection": "^3.22.0", + "@react-aria/textfield": "^3.16.0", + "@react-aria/utils": "^3.27.0", + "@react-stately/collections": "^3.12.1", + "@react-stately/combobox": "^3.10.2", + "@react-stately/form": "^3.1.1", + "@react-types/button": "^3.10.2", + "@react-types/combobox": "^3.13.2", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/datepicker": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@react-aria/datepicker/-/datepicker-3.13.0.tgz", + "integrity": "sha512-TmJan65P3Vk7VDBNW5rH9Z25cAn0vk8TEtaP3boCs8wJFE+HbEuB8EqLxBFu47khtuKTEqDP3dTlUh2Vt/f7Xw==", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/date": "^3.7.0", + "@internationalized/number": "^3.6.0", + "@internationalized/string": "^3.2.5", + "@react-aria/focus": "^3.19.1", + "@react-aria/form": "^3.0.12", + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/label": "^3.7.14", + "@react-aria/spinbutton": "^3.6.11", + "@react-aria/utils": "^3.27.0", + "@react-stately/datepicker": "^3.12.0", + "@react-stately/form": "^3.1.1", + "@react-types/button": "^3.10.2", + "@react-types/calendar": "^3.6.0", + "@react-types/datepicker": "^3.10.0", + "@react-types/dialog": "^3.5.15", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/dialog": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/@react-aria/dialog/-/dialog-3.5.21.tgz", + "integrity": "sha512-tBsn9swBhcptJ9QIm0+ur0PVR799N6qmGguva3rUdd+gfitknFScyT08d7AoMr9AbXYdJ+2R9XNSZ3H3uIWQMw==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.19.1", + "@react-aria/overlays": "^3.25.0", + "@react-aria/utils": "^3.27.0", + "@react-types/dialog": "^3.5.15", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/disclosure": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@react-aria/disclosure/-/disclosure-3.0.1.tgz", + "integrity": "sha512-rNH8RFcePoAQizcqB7KuHbBOr7sPsysFKCUwbVSOXLPgvCfXKafIhjgFJVqekfsbn5zWvkcTupnzGVJj/F9p+g==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/ssr": "^3.9.7", + "@react-aria/utils": "^3.27.0", + "@react-stately/disclosure": "^3.0.1", + "@react-types/button": "^3.10.2", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/dnd": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@react-aria/dnd/-/dnd-3.8.1.tgz", + "integrity": "sha512-FoXYQ4z33E9YBzIGRJM1B1oZep6CvEWgXvjCZGURatjr3qG7vf95mOqA5kVd9bjLL7QK4w0ujJWEBfog3WmufA==", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/string": "^3.2.5", + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/live-announcer": "^3.4.1", + "@react-aria/overlays": "^3.25.0", + "@react-aria/utils": "^3.27.0", + "@react-stately/dnd": "^3.5.1", + "@react-types/button": "^3.10.2", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/focus": { + "version": "3.19.1", + "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.19.1.tgz", + "integrity": "sha512-bix9Bu1Ue7RPcYmjwcjhB14BMu2qzfJ3tMQLqDc9pweJA66nOw8DThy3IfVr8Z7j2PHktOLf9kcbiZpydKHqzg==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/interactions": "^3.23.0", + "@react-aria/utils": "^3.27.0", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/form": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@react-aria/form/-/form-3.0.12.tgz", + "integrity": "sha512-8uvPYEd3GDyGt5NRJIzdWW1Ry5HLZq37vzRZKUW8alZ2upFMH3KJJG55L9GP59KiF6zBrYBebvI/YK1Ye1PE1g==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/interactions": "^3.23.0", + "@react-aria/utils": "^3.27.0", + "@react-stately/form": "^3.1.1", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/grid": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/@react-aria/grid/-/grid-3.11.1.tgz", + "integrity": "sha512-Wg8m68RtNWfkhP3Qjrrsl1q1et8QCjXPMRsYgKBahYRS0kq2MDcQ+UBdG1fiCQn/MfNImhTUGVeQX276dy1lww==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.19.1", + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/live-announcer": "^3.4.1", + "@react-aria/selection": "^3.22.0", + "@react-aria/utils": "^3.27.0", + "@react-stately/collections": "^3.12.1", + "@react-stately/grid": "^3.10.1", + "@react-stately/selection": "^3.19.0", + "@react-types/checkbox": "^3.9.1", + "@react-types/grid": "^3.2.11", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/gridlist": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@react-aria/gridlist/-/gridlist-3.10.1.tgz", + "integrity": "sha512-11FlupBg5C9ehs7R6OjqMPWEOLK/4IuSrq7D1xU+Hnm7ZYI/KKcCXvNMjMmnOz/gGzOmfgVwz5PIKaY9aZarEg==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.19.1", + "@react-aria/grid": "^3.11.1", + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/selection": "^3.22.0", + "@react-aria/utils": "^3.27.0", + "@react-stately/collections": "^3.12.1", + "@react-stately/list": "^3.11.2", + "@react-stately/tree": "^3.8.7", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/i18n": { + "version": "3.12.5", + "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.12.5.tgz", + "integrity": "sha512-ooeop2pTG94PuaHoN2OTk2hpkqVuoqgEYxRvnc1t7DVAtsskfhS/gVOTqyWGsxvwAvRi7m/CnDu6FYdeQ/bK5w==", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/date": "^3.7.0", + "@internationalized/message": "^3.1.6", + "@internationalized/number": "^3.6.0", + "@internationalized/string": "^3.2.5", + "@react-aria/ssr": "^3.9.7", + "@react-aria/utils": "^3.27.0", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/interactions": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.23.0.tgz", + "integrity": "sha512-0qR1atBIWrb7FzQ+Tmr3s8uH5mQdyRH78n0krYaG8tng9+u1JlSi8DGRSaC9ezKyNB84m7vHT207xnHXGeJ3Fg==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/ssr": "^3.9.7", + "@react-aria/utils": "^3.27.0", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/label": { + "version": "3.7.14", + "resolved": "https://registry.npmjs.org/@react-aria/label/-/label-3.7.14.tgz", + "integrity": "sha512-EN1Md2YvcC4sMqBoggsGYUEGlTNqUfJZWzduSt29fbQp1rKU2KlybTe+TWxKq/r2fFd+4JsRXxMeJiwB3w2AQA==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/utils": "^3.27.0", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/link": { + "version": "3.7.8", + "resolved": "https://registry.npmjs.org/@react-aria/link/-/link-3.7.8.tgz", + "integrity": "sha512-oiXUPQLZmf9Q9Xehb/sG1QRxfo28NFKdh9w+unD12sHI6NdLMETl5MA4CYyTgI0dfMtTjtfrF68GCnWfc7JvXQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.19.1", + "@react-aria/interactions": "^3.23.0", + "@react-aria/utils": "^3.27.0", + "@react-types/link": "^3.5.10", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/listbox": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/@react-aria/listbox/-/listbox-3.14.0.tgz", + "integrity": "sha512-pyVbKavh8N8iyiwOx6I3JIcICvAzFXkKSFni1yarfgngJsJV3KSyOkzLomOfN9UhbjcV4sX61/fccwJuvlurlA==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/interactions": "^3.23.0", + "@react-aria/label": "^3.7.14", + "@react-aria/selection": "^3.22.0", + "@react-aria/utils": "^3.27.0", + "@react-stately/collections": "^3.12.1", + "@react-stately/list": "^3.11.2", + "@react-types/listbox": "^3.5.4", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/live-announcer": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@react-aria/live-announcer/-/live-announcer-3.4.1.tgz", + "integrity": "sha512-4X2mcxgqLvvkqxv2l1n00jTzUxxe0kkLiapBGH1LHX/CxA1oQcHDqv8etJ2ZOwmS/MSBBiWnv3DwYHDOF6ubig==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@react-aria/menu": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@react-aria/menu/-/menu-3.17.0.tgz", + "integrity": "sha512-aiFvSv3G1YvPC0klJQ/9quB05xIDZzJ5Lt6/CykP0UwGK5i8GCqm6/cyFLwEXsS5ooUPxS3bqmdOsgdADSSgqg==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.19.1", + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/overlays": "^3.25.0", + "@react-aria/selection": "^3.22.0", + "@react-aria/utils": "^3.27.0", + "@react-stately/collections": "^3.12.1", + "@react-stately/menu": "^3.9.1", + "@react-stately/selection": "^3.19.0", + "@react-stately/tree": "^3.8.7", + "@react-types/button": "^3.10.2", + "@react-types/menu": "^3.9.14", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/meter": { + "version": "3.4.19", + "resolved": "https://registry.npmjs.org/@react-aria/meter/-/meter-3.4.19.tgz", + "integrity": "sha512-IIA+gTHrNVbMuBgcqdGLEKd/ZiKM2hOUqS6uztbT15dwPJTmtfJiTWA2872PiY52p+gqPSanZuTc2TXYJa+rew==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/progress": "^3.4.19", + "@react-types/meter": "^3.4.6", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/numberfield": { + "version": "3.11.10", + "resolved": "https://registry.npmjs.org/@react-aria/numberfield/-/numberfield-3.11.10.tgz", + "integrity": "sha512-bYbTfO9NbAKMFOfEGGs+lvlxk0I9L0lU3WD2PFQZWdaoBz9TCkL+vK0fJk1zsuKaVjeGsmHP9VesBPRmaP0MiA==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/spinbutton": "^3.6.11", + "@react-aria/textfield": "^3.16.0", + "@react-aria/utils": "^3.27.0", + "@react-stately/form": "^3.1.1", + "@react-stately/numberfield": "^3.9.9", + "@react-types/button": "^3.10.2", + "@react-types/numberfield": "^3.8.8", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/overlays": { + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.25.0.tgz", + "integrity": "sha512-UEqJJ4duowrD1JvwXpPZreBuK79pbyNjNxFUVpFSskpGEJe3oCWwsSDKz7P1O7xbx5OYp+rDiY8fk/sE5rkaKw==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.19.1", + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/ssr": "^3.9.7", + "@react-aria/utils": "^3.27.0", + "@react-aria/visually-hidden": "^3.8.19", + "@react-stately/overlays": "^3.6.13", + "@react-types/button": "^3.10.2", + "@react-types/overlays": "^3.8.12", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/progress": { + "version": "3.4.19", + "resolved": "https://registry.npmjs.org/@react-aria/progress/-/progress-3.4.19.tgz", + "integrity": "sha512-5HHnBJHqEUuY+dYsjIZDYsENeKr49VCuxeaDZ0OSahbOlloIOB1baCo/6jLBv1O1rwrAzZ2gCCPcVGed/cjrcw==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/i18n": "^3.12.5", + "@react-aria/label": "^3.7.14", + "@react-aria/utils": "^3.27.0", + "@react-types/progress": "^3.5.9", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/radio": { + "version": "3.10.11", + "resolved": "https://registry.npmjs.org/@react-aria/radio/-/radio-3.10.11.tgz", + "integrity": "sha512-R150HsBFPr1jLMShI4aBM8heCa1k6h0KEvnFRfTAOBu+B9hMSZOPB+d6GQOwGPysNlbset90Kej8G15FGHjqiA==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.19.1", + "@react-aria/form": "^3.0.12", + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/label": "^3.7.14", + "@react-aria/utils": "^3.27.0", + "@react-stately/radio": "^3.10.10", + "@react-types/radio": "^3.8.6", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/searchfield": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@react-aria/searchfield/-/searchfield-3.8.0.tgz", + "integrity": "sha512-AaZuH9YIWlMyE1m7cSjHCfOuQmlWN+w8HVW32TxeGGGL1kJsYAlSYWYHUyYFIKh245kq/m5zUxAxmw5Ygmnx5w==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/i18n": "^3.12.5", + "@react-aria/textfield": "^3.16.0", + "@react-aria/utils": "^3.27.0", + "@react-stately/searchfield": "^3.5.9", + "@react-types/button": "^3.10.2", + "@react-types/searchfield": "^3.5.11", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/select": { + "version": "3.15.1", + "resolved": "https://registry.npmjs.org/@react-aria/select/-/select-3.15.1.tgz", + "integrity": "sha512-FOtY1tuHt0YTHwOEy/sf7LEIL+Nnkho3wJmfpWQuTxsvMCF7UJdQPYPd6/jGCcCdiqW7H4iqyjUkSp6nk/XRWQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/form": "^3.0.12", + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/label": "^3.7.14", + "@react-aria/listbox": "^3.14.0", + "@react-aria/menu": "^3.17.0", + "@react-aria/selection": "^3.22.0", + "@react-aria/utils": "^3.27.0", + "@react-aria/visually-hidden": "^3.8.19", + "@react-stately/select": "^3.6.10", + "@react-types/button": "^3.10.2", + "@react-types/select": "^3.9.9", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/selection": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/@react-aria/selection/-/selection-3.22.0.tgz", + "integrity": "sha512-XFOrK525HX2eeWeLZcZscUAs5qsuC1ZxsInDXMjvLeAaUPtQNEhUKHj3psDAl6XDU4VV1IJo0qCmFTVqTTMZSg==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.19.1", + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/utils": "^3.27.0", + "@react-stately/selection": "^3.19.0", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/separator": { + "version": "3.4.5", + "resolved": "https://registry.npmjs.org/@react-aria/separator/-/separator-3.4.5.tgz", + "integrity": "sha512-RQA9sKZdAEjP1Yrv0GpDdXgmXd56kXDE8atPDHEC0/A4lpYh/YFLfXcv1JW0Hlg4kBocdX2pB2INyDGhiD+yfw==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/utils": "^3.27.0", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/slider": { + "version": "3.7.15", + "resolved": "https://registry.npmjs.org/@react-aria/slider/-/slider-3.7.15.tgz", + "integrity": "sha512-v9tujsuvJYRX0vE/vMYBzTT9FXbzrLsjkOrouNq+UdBIr7wRjIWTHHM0j+khb2swyCWNTbdv6Ce316Zqx2qWFg==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.19.1", + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/label": "^3.7.14", + "@react-aria/utils": "^3.27.0", + "@react-stately/slider": "^3.6.1", + "@react-types/shared": "^3.27.0", + "@react-types/slider": "^3.7.8", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/spinbutton": { + "version": "3.6.11", + "resolved": "https://registry.npmjs.org/@react-aria/spinbutton/-/spinbutton-3.6.11.tgz", + "integrity": "sha512-RM+gYS9tf9Wb+GegV18n4ArK3NBKgcsak7Nx1CkEgX9BjJ0yayWUHdfEjRRvxGXl+1z1n84cJVkZ6FUlWOWEZA==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/i18n": "^3.12.5", + "@react-aria/live-announcer": "^3.4.1", + "@react-aria/utils": "^3.27.0", + "@react-types/button": "^3.10.2", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/ssr": { + "version": "3.9.7", + "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.7.tgz", + "integrity": "sha512-GQygZaGlmYjmYM+tiNBA5C6acmiDWF52Nqd40bBp0Znk4M4hP+LTmI0lpI1BuKMw45T8RIhrAsICIfKwZvi2Gg==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/switch": { + "version": "3.6.11", + "resolved": "https://registry.npmjs.org/@react-aria/switch/-/switch-3.6.11.tgz", + "integrity": "sha512-paYCpH+oeL+8rgQK+cBJ+IaZ1sXSh3+50WPlg2LvLBta0QVfQhPR4juPvfXRpfHHhCjFBgF4/RGbV8q5zpl3vA==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/toggle": "^3.10.11", + "@react-stately/toggle": "^3.8.1", + "@react-types/shared": "^3.27.0", + "@react-types/switch": "^3.5.8", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/table": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/@react-aria/table/-/table-3.16.1.tgz", + "integrity": "sha512-T28TIGnKnPBunyErDBmm5jUX7AyzT7NVWBo9pDSt9wUuEnz0rVNd7p9sjmP2+u7I645feGG9klcdpCvFeqrk8A==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.19.1", + "@react-aria/grid": "^3.11.1", + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/live-announcer": "^3.4.1", + "@react-aria/utils": "^3.27.0", + "@react-aria/visually-hidden": "^3.8.19", + "@react-stately/collections": "^3.12.1", + "@react-stately/flags": "^3.0.5", + "@react-stately/table": "^3.13.1", + "@react-types/checkbox": "^3.9.1", + "@react-types/grid": "^3.2.11", + "@react-types/shared": "^3.27.0", + "@react-types/table": "^3.10.4", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/tabs": { + "version": "3.9.9", + "resolved": "https://registry.npmjs.org/@react-aria/tabs/-/tabs-3.9.9.tgz", + "integrity": "sha512-oXPtANs16xu6MdMGLHjGV/2Zupvyp9CJEt7ORPLv5xAzSY5hSjuQHJLZ0te3Lh/KSG5/0o3RW/W5yEqo7pBQQQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.19.1", + "@react-aria/i18n": "^3.12.5", + "@react-aria/selection": "^3.22.0", + "@react-aria/utils": "^3.27.0", + "@react-stately/tabs": "^3.7.1", + "@react-types/shared": "^3.27.0", + "@react-types/tabs": "^3.3.12", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/tag": { + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/@react-aria/tag/-/tag-3.4.9.tgz", + "integrity": "sha512-Vnps+zk8vYyjevv2Bc6vc9kSp9HFLKrKUDmrWMc0DfseypwJMc3Ya6F965ZVTjF9nuWrojNmvgusNu7qyXFShQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/gridlist": "^3.10.1", + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/label": "^3.7.14", + "@react-aria/selection": "^3.22.0", + "@react-aria/utils": "^3.27.0", + "@react-stately/list": "^3.11.2", + "@react-types/button": "^3.10.2", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/textfield": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@react-aria/textfield/-/textfield-3.16.0.tgz", + "integrity": "sha512-53RVpMeMDN/QoabqnYZ1lxTh1xTQ3IBYQARuayq5EGGMafyxoFHzttxUdSqkZGK/+zdSF2GfmjOYJVm2nDKuDQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.19.1", + "@react-aria/form": "^3.0.12", + "@react-aria/label": "^3.7.14", + "@react-aria/utils": "^3.27.0", + "@react-stately/form": "^3.1.1", + "@react-stately/utils": "^3.10.5", + "@react-types/shared": "^3.27.0", + "@react-types/textfield": "^3.11.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/toggle": { + "version": "3.10.11", + "resolved": "https://registry.npmjs.org/@react-aria/toggle/-/toggle-3.10.11.tgz", + "integrity": "sha512-J3jO3KJiUbaYVDEpeXSBwqcyKxpi9OreiHRGiaxb6VwB+FWCj7Gb2WKajByXNyfs8jc6kX9VUFaXa7jze60oEQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.19.1", + "@react-aria/interactions": "^3.23.0", + "@react-aria/utils": "^3.27.0", + "@react-stately/toggle": "^3.8.1", + "@react-types/checkbox": "^3.9.1", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/toolbar": { + "version": "3.0.0-beta.12", + "resolved": "https://registry.npmjs.org/@react-aria/toolbar/-/toolbar-3.0.0-beta.12.tgz", + "integrity": "sha512-a+Be27BtM2lzEdTzm19FikPbitfW65g/JZln3kyAvgpswhU6Ljl8lztaVw4ixjG4H0nqnKvVggMy4AlWwDUaVQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.19.1", + "@react-aria/i18n": "^3.12.5", + "@react-aria/utils": "^3.27.0", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/tooltip": { + "version": "3.7.11", + "resolved": "https://registry.npmjs.org/@react-aria/tooltip/-/tooltip-3.7.11.tgz", + "integrity": "sha512-mhZgAWUj7bUWipDeJXaVPZdqnzoBCd/uaEbdafnvgETmov1udVqPTh9w4ZKX2Oh1wa2+OdLFrBOk+8vC6QbWag==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.19.1", + "@react-aria/interactions": "^3.23.0", + "@react-aria/utils": "^3.27.0", + "@react-stately/tooltip": "^3.5.1", + "@react-types/shared": "^3.27.0", + "@react-types/tooltip": "^3.4.14", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/tree": { + "version": "3.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@react-aria/tree/-/tree-3.0.0-beta.3.tgz", + "integrity": "sha512-eQnCtvDgpunCHInIT+Da3qdgzDzKEFW9REX2j1vMqWTsbM1YikVlBzB9AJOd9KIAWyn+p4TYdL8zzPWxvuSdfA==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/gridlist": "^3.10.1", + "@react-aria/i18n": "^3.12.5", + "@react-aria/selection": "^3.22.0", + "@react-aria/utils": "^3.27.0", + "@react-stately/tree": "^3.8.7", + "@react-types/button": "^3.10.2", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/utils": { + "version": "3.27.0", + "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.27.0.tgz", + "integrity": "sha512-p681OtApnKOdbeN8ITfnnYqfdHS0z7GE+4l8EXlfLnr70Rp/9xicBO6d2rU+V/B3JujDw2gPWxYKEnEeh0CGCw==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/ssr": "^3.9.7", + "@react-stately/utils": "^3.10.5", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/virtualizer": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@react-aria/virtualizer/-/virtualizer-4.1.1.tgz", + "integrity": "sha512-AYQmC/S9HhxGOj8HkQdxDW8/+sUEmmfcGpjkInzXB8UZCB1FQLC0LpvA8fOP7AfzLaAL+HVcYF5BvnGMPijHTQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/utils": "^3.27.0", + "@react-stately/virtualizer": "^4.2.1", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/visually-hidden": { + "version": "3.8.19", + "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.8.19.tgz", + "integrity": "sha512-MZgCCyQ3sdG94J5iJz7I7Ai3IxoN0U5d/+EaUnA1mfK7jf2fSYQBqi6Eyp8sWUYzBTLw4giXB5h0RGAnWzk9hA==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/interactions": "^3.23.0", + "@react-aria/utils": "^3.27.0", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/autocomplete": { + "version": "3.0.0-alpha.0", + "resolved": "https://registry.npmjs.org/@react-stately/autocomplete/-/autocomplete-3.0.0-alpha.0.tgz", + "integrity": "sha512-as4si0pBcnGnggwpvemMwCLTeV0h9GS9e5eHSR3RFg14eqUHZBEzYJ0kh9oTugpsGuf1TSM/HDizo8GQk3EtPA==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/utils": "^3.10.4", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/calendar": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-stately/calendar/-/calendar-3.7.0.tgz", + "integrity": "sha512-N15zKubP2S7eWfPSJjKVlmJA7YpWzrIGx52BFhwLSQAZcV+OPcMgvOs71WtB7PLwl6DUYQGsgc0B3tcHzzvdvQ==", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/date": "^3.7.0", + "@react-stately/utils": "^3.10.5", + "@react-types/calendar": "^3.6.0", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/checkbox": { + "version": "3.6.11", + "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.6.11.tgz", + "integrity": "sha512-jApdBis+Q1sXLivg+f7krcVaP/AMMMiQcVqcz5gwxlweQN+dRZ/NpL0BYaDOuGc26Mp0lcuVaET3jIZeHwtyxA==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/form": "^3.1.1", + "@react-stately/utils": "^3.10.5", + "@react-types/checkbox": "^3.9.1", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/collections": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.12.1.tgz", + "integrity": "sha512-8QmFBL7f+P64dEP4o35pYH61/lP0T/ziSdZAvNMrCqaM+fXcMfUp2yu1E63kADVX7WRDsFJWE3CVMeqirPH6Xg==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/color": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@react-stately/color/-/color-3.8.2.tgz", + "integrity": "sha512-GXwLmv1Eos2OwOiRsGFrXBKx8+uZh2q0qzLZEVYrWsedNhIdTm7nnpwO68nCYZPHkqhv6rhhVSlOOFmDLY++ow==", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/number": "^3.6.0", + "@internationalized/string": "^3.2.5", + "@react-stately/form": "^3.1.1", + "@react-stately/numberfield": "^3.9.9", + "@react-stately/slider": "^3.6.1", + "@react-stately/utils": "^3.10.5", + "@react-types/color": "^3.0.2", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/combobox": { + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.10.2.tgz", + "integrity": "sha512-uT642Dool4tQBh+8UQjlJnTisrJVtg3LqmiP/HqLQ4O3pW0O+ImbG+2r6c9dUzlAnH4kEfmEwCp9dxkBkmFWsg==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/collections": "^3.12.1", + "@react-stately/form": "^3.1.1", + "@react-stately/list": "^3.11.2", + "@react-stately/overlays": "^3.6.13", + "@react-stately/select": "^3.6.10", + "@react-stately/utils": "^3.10.5", + "@react-types/combobox": "^3.13.2", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/data": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@react-stately/data/-/data-3.12.1.tgz", + "integrity": "sha512-/Nc8X1FmrJ53QU4rN/1i1JtNir4iqo+39Xn5ZOJ74Nng7T+xVVuEuWSo+OEGaycCJf2eZRsomauPxUnnZgCM1A==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/datepicker": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/@react-stately/datepicker/-/datepicker-3.12.0.tgz", + "integrity": "sha512-AfJEP36d+QgQ30GfacXtYdGsJvqY2yuCJ+JrjHct+m1nYuTkMvMMnhwNBFasgDJPLCDyHzyANlWkl2kQGfsBFw==", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/date": "^3.7.0", + "@internationalized/string": "^3.2.5", + "@react-stately/form": "^3.1.1", + "@react-stately/overlays": "^3.6.13", + "@react-stately/utils": "^3.10.5", + "@react-types/datepicker": "^3.10.0", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/disclosure": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@react-stately/disclosure/-/disclosure-3.0.1.tgz", + "integrity": "sha512-afpNy5b0UcqRGjU/W5OD0xkx4PbymvhMrgQZ4o4OdtDVMMvr9T5UqMF8/j3J591DxgQfXM872tJu0kotqT0L6Q==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/utils": "^3.10.5", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/dnd": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@react-stately/dnd/-/dnd-3.5.1.tgz", + "integrity": "sha512-N18wt6fka9ngJJqxfAzmdtyrk9whAnqWUxZn22CatjNQsqukI4a6KRYwZTXM9x/wm7KamhVOp+GBl85zM8GLdA==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/selection": "^3.19.0", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/flags": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@react-stately/flags/-/flags-3.0.5.tgz", + "integrity": "sha512-6wks4csxUwPCp23LgJSnkBRhrWpd9jGd64DjcCTNB2AHIFu7Ab1W59pJpUL6TW7uAxVxdNKjgn6D1hlBy8qWsA==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@react-stately/form": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@react-stately/form/-/form-3.1.1.tgz", + "integrity": "sha512-qavrz5X5Mdf/Q1v/QJRxc0F8UTNEyRCNSM1we/nnF7GV64+aYSDLOtaRGmzq+09RSwo1c8ZYnIkK5CnwsPhTsQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/grid": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@react-stately/grid/-/grid-3.10.1.tgz", + "integrity": "sha512-MOIy//AdxZxIXIzvWSKpvMvaPEMZGQNj+/cOsElHepv/Veh0psNURZMh2TP6Mr0+MnDTZbX+5XIeinGkWYO3JQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/collections": "^3.12.1", + "@react-stately/selection": "^3.19.0", + "@react-types/grid": "^3.2.11", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/layout": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@react-stately/layout/-/layout-4.1.1.tgz", + "integrity": "sha512-kXeo7HKYTOcqMKru1sKFoMoZA+YywSUqHeIA90MptzRugbFhQGq4nUbIYM2p3FeHAX9HU1JAXThuLcwDOHhB8Q==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/collections": "^3.12.1", + "@react-stately/table": "^3.13.1", + "@react-stately/virtualizer": "^4.2.1", + "@react-types/grid": "^3.2.11", + "@react-types/shared": "^3.27.0", + "@react-types/table": "^3.10.4", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/list": { + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/@react-stately/list/-/list-3.11.2.tgz", + "integrity": "sha512-eU2tY3aWj0SEeC7lH9AQoeAB4LL9mwS54FvTgHHoOgc1ZIwRJUaZoiuETyWQe98AL8KMgR1nrnDJ1I+CcT1Y7g==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/collections": "^3.12.1", + "@react-stately/selection": "^3.19.0", + "@react-stately/utils": "^3.10.5", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/menu": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@react-stately/menu/-/menu-3.9.1.tgz", + "integrity": "sha512-WRjGGImhQlQaer/hhahGytwd1BDq3fjpTkY/04wv3cQJPJR6lkVI5nSvGFMHfCaErsA1bNyB8/T9Y5F5u4u9ng==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/overlays": "^3.6.13", + "@react-types/menu": "^3.9.14", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/numberfield": { + "version": "3.9.9", + "resolved": "https://registry.npmjs.org/@react-stately/numberfield/-/numberfield-3.9.9.tgz", + "integrity": "sha512-hZsLiGGHTHmffjFymbH1qVmA633rU2GNjMFQTuSsN4lqqaP8fgxngd5pPCoTCUFEkUgWjdHenw+ZFByw8lIE+g==", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/number": "^3.6.0", + "@react-stately/form": "^3.1.1", + "@react-stately/utils": "^3.10.5", + "@react-types/numberfield": "^3.8.8", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/overlays": { + "version": "3.6.13", + "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.6.13.tgz", + "integrity": "sha512-WsU85Gf/b+HbWsnnYw7P/Ila3wD+C37Uk/WbU4/fHgJ26IEOWsPE6wlul8j54NZ1PnLNhV9Fn+Kffi+PaJMQXQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/utils": "^3.10.5", + "@react-types/overlays": "^3.8.12", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/radio": { + "version": "3.10.10", + "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.10.10.tgz", + "integrity": "sha512-9x3bpq87uV8iYA4NaioTTWjriQSlSdp+Huqlxll0T3W3okpyraTTejE91PbIoRTUmL5qByIh2WzxYmr4QdBgAA==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/form": "^3.1.1", + "@react-stately/utils": "^3.10.5", + "@react-types/radio": "^3.8.6", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/searchfield": { + "version": "3.5.9", + "resolved": "https://registry.npmjs.org/@react-stately/searchfield/-/searchfield-3.5.9.tgz", + "integrity": "sha512-7/aO/oLJ4czKEji0taI/lbHKqPJRag9p3YmRaZ4yqjIMpKxzmJCWQcov5lzWeFhG/1hINKndYlxFnVIKV/urpg==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/utils": "^3.10.5", + "@react-types/searchfield": "^3.5.11", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/select": { + "version": "3.6.10", + "resolved": "https://registry.npmjs.org/@react-stately/select/-/select-3.6.10.tgz", + "integrity": "sha512-V7V0FCL9T+GzLjyfnJB6PUaKldFyT/8Rj6M+R9ura1A0O+s/FEOesy0pdMXFoL1l5zeUpGlCnhJrsI5HFWHfDw==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/form": "^3.1.1", + "@react-stately/list": "^3.11.2", + "@react-stately/overlays": "^3.6.13", + "@react-types/select": "^3.9.9", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/selection": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/@react-stately/selection/-/selection-3.19.0.tgz", + "integrity": "sha512-AvbUqnWjqVQC48RD39S9BpMKMLl55Zo5l/yx5JQFPl55cFwe9Tpku1KY0wzt3fXXiXWaqjDn/7Gkg1VJYy8esQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/collections": "^3.12.1", + "@react-stately/utils": "^3.10.5", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/slider": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@react-stately/slider/-/slider-3.6.1.tgz", + "integrity": "sha512-8kij5O82Xe233vZZ6qNGqPXidnlNQiSnyF1q613c7ktFmzAyGjkIWVUapHi23T1fqm7H2Rs3RWlmwE9bo2KecA==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/utils": "^3.10.5", + "@react-types/shared": "^3.27.0", + "@react-types/slider": "^3.7.8", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/table": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/@react-stately/table/-/table-3.13.1.tgz", + "integrity": "sha512-Im8W+F8o9EhglY5kqRa3xcMGXl8zBi6W5phGpAjXb+UGDL1tBIlAcYj733bw8g/ITCnaSz9ubsmON0HekPd6Jg==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/collections": "^3.12.1", + "@react-stately/flags": "^3.0.5", + "@react-stately/grid": "^3.10.1", + "@react-stately/selection": "^3.19.0", + "@react-stately/utils": "^3.10.5", + "@react-types/grid": "^3.2.11", + "@react-types/shared": "^3.27.0", + "@react-types/table": "^3.10.4", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/tabs": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.7.1.tgz", + "integrity": "sha512-gr9ACyuWrYuc727h7WaHdmNw8yxVlUyQlguziR94MdeRtFGQnf3V6fNQG3kxyB77Ljko69tgDF7Nf6kfPUPAQQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/list": "^3.11.2", + "@react-types/shared": "^3.27.0", + "@react-types/tabs": "^3.3.12", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/toggle": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.8.1.tgz", + "integrity": "sha512-MVpe79ghVQiwLmVzIPhF/O/UJAUc9B+ZSylVTyJiEPi0cwhbkKGQv9thOF0ebkkRkace5lojASqUAYtSTZHQJA==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/utils": "^3.10.5", + "@react-types/checkbox": "^3.9.1", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/tooltip": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@react-stately/tooltip/-/tooltip-3.5.1.tgz", + "integrity": "sha512-0aI3U5kB7Cop9OCW9/Bag04zkivFSdUcQgy/TWL4JtpXidVWmOha8txI1WySawFSjZhH83KIyPc+wKm1msfLMQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/overlays": "^3.6.13", + "@react-types/tooltip": "^3.4.14", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/tree": { + "version": "3.8.7", + "resolved": "https://registry.npmjs.org/@react-stately/tree/-/tree-3.8.7.tgz", + "integrity": "sha512-hpc3pyuXWeQV5ufQ02AeNQg/MYhnzZ4NOznlY5OOUoPzpLYiI3ZJubiY3Dot4jw5N/LR7CqvDLHmrHaJPmZlHg==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/collections": "^3.12.1", + "@react-stately/selection": "^3.19.0", + "@react-stately/utils": "^3.10.5", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/utils": { + "version": "3.10.5", + "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.10.5.tgz", + "integrity": "sha512-iMQSGcpaecghDIh3mZEpZfoFH3ExBwTtuBEcvZ2XnGzCgQjeYXcMdIUwAfVQLXFTdHUHGF6Gu6/dFrYsCzySBQ==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/virtualizer": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@react-stately/virtualizer/-/virtualizer-4.2.1.tgz", + "integrity": "sha512-GHGEXV0ZRhq34U/P3LzkByCBfy2IDynYlV1SE4njkUWWGE/0AH56UegM6w2l3GeiNpXsXCgXl7jpAKeIGMEnrQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/utils": "^3.27.0", + "@react-types/shared": "^3.27.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/autocomplete": { + "version": "3.0.0-alpha.28", + "resolved": "https://registry.npmjs.org/@react-types/autocomplete/-/autocomplete-3.0.0-alpha.28.tgz", + "integrity": "sha512-meHxBVS5H2L7lVOX99jiAfhcvtG0s7EE7iF7X20/yqEnkwWSpyeMKcDKFpvx/bLGUSmRTVFCBLgvPpwUyhcFkg==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/combobox": "^3.13.2", + "@react-types/searchfield": "^3.5.11", + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/breadcrumbs": { + "version": "3.7.10", + "resolved": "https://registry.npmjs.org/@react-types/breadcrumbs/-/breadcrumbs-3.7.10.tgz", + "integrity": "sha512-5HhRxkKHfAQBoyOYzyf4HT+24HgPE/C/QerxJLNNId303LXO03yeYrbvRqhYZSlD1ACLJW9OmpPpREcw5iSqgw==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/link": "^3.5.10", + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/button": { + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/@react-types/button/-/button-3.10.2.tgz", + "integrity": "sha512-h8SB/BLoCgoBulCpyzaoZ+miKXrolK9XC48+n1dKJXT8g4gImrficurDW6+PRTQWaRai0Q0A6bu8UibZOU4syg==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/calendar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@react-types/calendar/-/calendar-3.6.0.tgz", + "integrity": "sha512-BtFh4BFwvsYlsaSqUOVxlqXZSlJ6u4aozgO3PwHykhpemwidlzNwm9qDZhcMWPioNF/w2cU/6EqhvEKUHDnFZg==", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/date": "^3.7.0", + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/checkbox": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@react-types/checkbox/-/checkbox-3.9.1.tgz", + "integrity": "sha512-0x/KQcipfNM9Nvy6UMwYG25roRLvsiqf0J3woTYylNNWzF+72XT0iI5FdJkE3w2wfa0obmSoeq4WcbFREQrH/A==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/color": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@react-types/color/-/color-3.0.2.tgz", + "integrity": "sha512-4k9c0l5SACwTtkHV0dQ0GrF0Kktk/NChkxtyu58BamyUQOsCe8sqny+uul2nPrqQvuVof/dkRjKhv/DVyyx2mw==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0", + "@react-types/slider": "^3.7.8" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/combobox": { + "version": "3.13.2", + "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.13.2.tgz", + "integrity": "sha512-yl2yMcM5/v3lJiNZWjpAhQ9vRW6dD55CD4rYmO2K7XvzYJaFVT4WYI/AymPYD8RqomMp7coBmBHfHW0oupk8gg==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/datepicker": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@react-types/datepicker/-/datepicker-3.10.0.tgz", + "integrity": "sha512-Att7y4NedNH1CogMDIX9URXgMLxGbZgnFCZ8oxgFAVndWzbh3TBcc4s7uoJDPvgRMAalq+z+SrlFFeoBeJmvvg==", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/date": "^3.7.0", + "@react-types/calendar": "^3.6.0", + "@react-types/overlays": "^3.8.12", + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/dialog": { + "version": "3.5.15", + "resolved": "https://registry.npmjs.org/@react-types/dialog/-/dialog-3.5.15.tgz", + "integrity": "sha512-BX1+mV35Oa0aIlhu98OzJaSB7uiCWDPQbr0AkpFBajSSlESUoAjntN+4N+QJmj24z2v6UE9zxGQ85/U/0Le+bw==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/overlays": "^3.8.12", + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/form": { + "version": "3.7.9", + "resolved": "https://registry.npmjs.org/@react-types/form/-/form-3.7.9.tgz", + "integrity": "sha512-+qGDrQFdIh8umU82zmnYJ0V2rLoGSQ3yApFT02URz//NWeTA7qo0Oab2veKvXUkcBb47oSvytZYmkExPikxIEg==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/grid": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/@react-types/grid/-/grid-3.2.11.tgz", + "integrity": "sha512-Mww9nrasppvPbsBi+uUqFnf7ya8fXN0cTVzDNG+SveD8mhW+sbtuy+gPtEpnFD2Oyi8qLuObefzt4gdekJX2Yw==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/link": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@react-types/link/-/link-3.5.10.tgz", + "integrity": "sha512-IM2mbSpB0qP44Jh1Iqpevo7bQdZAr0iDyDi13OhsiUYJeWgPMHzGEnQqdBMkrfQeOTXLtZtUyOYLXE2v39bhzQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/listbox": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@react-types/listbox/-/listbox-3.5.4.tgz", + "integrity": "sha512-5otTes0zOwRZwNtqysPD/aW4qFJSxd5znjwoWTLnzDXXOBHXPyR83IJf8ITgvIE5C0y+EFadsWR/BBO3k9Pj7g==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/menu": { + "version": "3.9.14", + "resolved": "https://registry.npmjs.org/@react-types/menu/-/menu-3.9.14.tgz", + "integrity": "sha512-RJW/S8IPwbRuohJ/A9HJ7W8QaAY816tm7Nv6+H/TLXG76zu2AS5vEgq+0TcCAWvJJwUdLDpJWJMlo0iIoIBtcg==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/overlays": "^3.8.12", + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/meter": { + "version": "3.4.6", + "resolved": "https://registry.npmjs.org/@react-types/meter/-/meter-3.4.6.tgz", + "integrity": "sha512-YczAht1VXy3s4fR6Dq0ibGsjulGHzS/A/K4tOruSNTL6EkYH9ktHX62Xk/OhCiKHxV315EbZ136WJaCeO4BgHw==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/progress": "^3.5.9" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/numberfield": { + "version": "3.8.8", + "resolved": "https://registry.npmjs.org/@react-types/numberfield/-/numberfield-3.8.8.tgz", + "integrity": "sha512-825JPppxDaWh0Zxb0Q+wSslgRQYOtQPCAuhszPuWEy6d2F/M+hLR+qQqvQm9+LfMbdwiTg6QK5wxdWFCp2t7jw==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/overlays": { + "version": "3.8.12", + "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.8.12.tgz", + "integrity": "sha512-ZvR1t0YV7/6j+6OD8VozKYjvsXT92+C/2LOIKozy7YUNS5KI4MkXbRZzJvkuRECVZOmx8JXKTUzhghWJM/3QuQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/progress": { + "version": "3.5.9", + "resolved": "https://registry.npmjs.org/@react-types/progress/-/progress-3.5.9.tgz", + "integrity": "sha512-zFxOzx3G8XUmHgpm037Hcayls5bqzXVa182E3iM7YWTmrjxJPKZ58XL0WWBgpTd+mJD7fTpnFdAZqSmFbtDOdA==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/radio": { + "version": "3.8.6", + "resolved": "https://registry.npmjs.org/@react-types/radio/-/radio-3.8.6.tgz", + "integrity": "sha512-woTQYdRFjPzuml4qcIf+2zmycRuM5w3fDS5vk6CQmComVUjOFPtD28zX3Z9kc9lSNzaBQz9ONZfFqkZ1gqfICA==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/searchfield": { + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@react-types/searchfield/-/searchfield-3.5.11.tgz", + "integrity": "sha512-MX8d9pgvxZxmgDwI0tiDaf6ijOY8XcRj0HM8Ocfttlk7PEFJK44p51WsUC+fPX1GmZni2JpFkx/haPOSLUECdw==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0", + "@react-types/textfield": "^3.11.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/select": { + "version": "3.9.9", + "resolved": "https://registry.npmjs.org/@react-types/select/-/select-3.9.9.tgz", + "integrity": "sha512-/hCd0o+ztn29FKCmVec+v7t4JpOzz56o+KrG7NDq2pcRWqUR9kNwCjrPhSbJIIEDm4ubtrfPu41ysIuDvRd2Bg==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/shared": { + "version": "3.27.0", + "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.27.0.tgz", + "integrity": "sha512-gvznmLhi6JPEf0bsq7SwRYTHAKKq/wcmKqFez9sRdbED+SPMUmK5omfZ6w3EwUFQHbYUa4zPBYedQ7Knv70RMw==", + "license": "Apache-2.0", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/slider": { + "version": "3.7.8", + "resolved": "https://registry.npmjs.org/@react-types/slider/-/slider-3.7.8.tgz", + "integrity": "sha512-utW1o9KT70hqFwu1zqMtyEWmP0kSATk4yx+Fm/peSR4iZa+BasRqH83yzir5GKc8OfqfE1kmEsSlO98/k986+w==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/switch": { + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/@react-types/switch/-/switch-3.5.8.tgz", + "integrity": "sha512-sL7jmh8llF8BxzY4HXkSU4bwU8YU6gx45P85D0AdYXgRHxU9Cp7BQPOMF4pJoQ8TTej05MymY5q7xvJVmxUTAQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/table": { + "version": "3.10.4", + "resolved": "https://registry.npmjs.org/@react-types/table/-/table-3.10.4.tgz", + "integrity": "sha512-d0tLz/whxVteqr1rophtuuxqyknHHfTKeXrCgDjt8pAyd9U8GPDbfcFSfYPUhWdELRt7aLVyQw6VblZHioVEgQ==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/grid": "^3.2.11", + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/tabs": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.3.12.tgz", + "integrity": "sha512-E9O9G+wf9kaQ8UbDEDliW/oxYlJnh7oDCW1zaMOySwnG4yeCh7Wu02EOCvlQW4xvgn/i+lbEWgirf7L+yj5nRg==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/textfield": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@react-types/textfield/-/textfield-3.11.0.tgz", + "integrity": "sha512-YORBgr6wlu2xfvr4MqjKFHGpj+z8LBzk14FbWDbYnnhGnv0I10pj+m2KeOHgDNFHrfkDdDOQmMIKn1UCqeUuEg==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/tooltip": { + "version": "3.4.14", + "resolved": "https://registry.npmjs.org/@react-types/tooltip/-/tooltip-3.4.14.tgz", + "integrity": "sha512-J7CeYL2yPeKIasx1rPaEefyCHGEx2DOCx+7bM3XcKGmCxvNdVQLjimNJOt8IHlUA0nFJQOjmSW/mz9P0f2/kUw==", + "license": "Apache-2.0", + "dependencies": { + "@react-types/overlays": "^3.8.12", + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.4.tgz", + "integrity": "sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.4.tgz", + "integrity": "sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.4.tgz", + "integrity": "sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.4.tgz", + "integrity": "sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.4.tgz", + "integrity": "sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.4.tgz", + "integrity": "sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.4.tgz", + "integrity": "sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.4.tgz", + "integrity": "sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.4.tgz", + "integrity": "sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.4.tgz", + "integrity": "sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.4.tgz", + "integrity": "sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.4.tgz", + "integrity": "sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.4.tgz", + "integrity": "sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.4.tgz", + "integrity": "sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.4.tgz", + "integrity": "sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.4.tgz", + "integrity": "sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.4.tgz", + "integrity": "sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.4.tgz", + "integrity": "sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.1.tgz", + "integrity": "sha512-S3Kq8e7LqxkA9s7HKLqXGTGck1uwis5vAXan3FnU5yw1Ec5hsSGnq4s/UCaSqABPOnOTg7zASLyst7+ohgWexg==", + "dev": true + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/webpack": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==" + }, + "node_modules/@swc/helpers": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", + "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", + "dependencies": { + "@swc/counter": "^0.1.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/aws-lambda": { + "version": "8.10.138", + "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.138.tgz", + "integrity": "sha512-71EHMl70TPWIAsFuHd85NHq6S6T2OOjiisPTrH7RgcjzpJpPh4RQJv7PvVvIxc6PIp8CLV7F9B+TdjcAES5vcA==" + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/js-cookie": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.6.tgz", + "integrity": "sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==", + "license": "MIT" + }, + "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/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" + }, + "node_modules/@types/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@types/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-JkXTOdKs5MF086b/pt8C3+yVp3iDUwG635L7oCH6HvJvvr6lSUU5oe/gLXnPEfYRROHjJIPgCV6cuAg8gGkntQ==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.12.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.2.tgz", + "integrity": "sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" + }, + "node_modules/@types/prismjs": { + "version": "1.26.3", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.3.tgz", + "integrity": "sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" + }, + "node_modules/@types/react": { + "version": "18.2.73", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.73.tgz", + "integrity": "sha512-XcGdod0Jjv84HOC7N5ziY3x+qL0AfmubvKOZ9hJjJ2yd5EE+KYjWhdOjt387e9HPheHkdggF9atTifMRtyAaRA==", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.23", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.23.tgz", + "integrity": "sha512-ZQ71wgGOTmDYpnav2knkjr3qXdAFu0vsk8Ci5w3pGAIdj7/kKAyn+VsQDhXsmzzzepAiI9leWMmubXz690AI/A==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-transition-group": { + "version": "4.4.12", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", + "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/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==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, + "node_modules/@vercel/analytics": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@vercel/analytics/-/analytics-1.4.1.tgz", + "integrity": "sha512-ekpL4ReX2TH3LnrRZTUKjHHNpNy9S1I7QmS+g/RQXoSUQ8ienzosuX7T9djZ/s8zPhBx1mpHP/Rw5875N+zQIQ==", + "license": "MPL-2.0", + "peerDependencies": { + "@remix-run/react": "^2", + "@sveltejs/kit": "^1 || ^2", + "next": ">= 13", + "react": "^18 || ^19 || ^19.0.0-rc", + "svelte": ">= 4", + "vue": "^3", + "vue-router": "^4" + }, + "peerDependenciesMeta": { + "@remix-run/react": { + "optional": true + }, + "@sveltejs/kit": { + "optional": true + }, + "next": { + "optional": true + }, + "react": { + "optional": true + }, + "svelte": { + "optional": true + }, + "vue": { + "optional": true + }, + "vue-router": { + "optional": true + } + } + }, + "node_modules/@vitest/coverage-istanbul": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-istanbul/-/coverage-istanbul-1.6.1.tgz", + "integrity": "sha512-0NWKNPrbMo1s6emwnn+UpGPxrSEd9R6VpQ3wzYz0y43esZjjDkGLb6Qkvfu6LNyQO4TAGyepaZ11imUmmIFLaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-instrument": "^6.0.1", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.4", + "istanbul-reports": "^3.1.6", + "magicast": "^0.3.3", + "picocolors": "^1.0.0", + "test-exclude": "^6.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "1.6.1" + } + }, + "node_modules/@vitest/expect": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.1.tgz", + "integrity": "sha512-jXL+9+ZNIJKruofqXuuTClf44eSpcHlgj3CiuNihUF3Ioujtmc0zIa3UJOW5RjDK1YLBJZnWBlPuqhYycLioog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "1.6.1", + "@vitest/utils": "1.6.1", + "chai": "^4.3.10" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.1.tgz", + "integrity": "sha512-3nSnYXkVkf3mXFfE7vVyPmi3Sazhb/2cfZGGs0JRzFsPFvAMBEcrweV1V1GsrstdXeKCTXlJbvnQwGWgEIHmOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "1.6.1", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", + "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/snapshot": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.1.tgz", + "integrity": "sha512-WvidQuWAzU2p95u8GAKlRMqMyN1yOJkGHnx3M1PL9Raf7AQ1kwLKg04ADlCa3+OXUZE7BceOhVZiuWAbzCKcUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.1.tgz", + "integrity": "sha512-MGcMmpGkZebsMZhbQKkAf9CX5zGvjkBTqf8Zx3ApYWXr3wG+QvEu2eXWfnIIWYSJExIp4V9FCKDEeygzkYrXMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyspy": "^2.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.1.tgz", + "integrity": "sha512-jOrrUvXM4Av9ZWiG1EajNto0u96kWAhJ1LmPmJhXXQx/32MecEKd10pOLYgS2BQx1TgkGhloPU1ArDW2vvaY6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "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==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/aggregate-error": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", + "dependencies": { + "clean-stack": "^5.2.0", + "indent-string": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/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/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "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.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "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.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "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.toreversed": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", + "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "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/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "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/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-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/bottleneck": { + "version": "2.19.5", + "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", + "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==" + }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "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" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "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/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001678", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001678.tgz", + "integrity": "sha512-RR+4U/05gNtps58PEBDZcPWTgEO2MBeoPZ96aQcjmfkBWRIDfN451fW2qyDA9/+HohLLIL5GqiMwA+IB1pWarw==", + "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" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chai": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "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/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/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==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/clean-stack": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", + "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", + "dependencies": { + "escape-string-regexp": "5.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clean-stack/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "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==", + "dev": true + }, + "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==" + }, + "node_modules/core-js-compat": { + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.39.0.tgz", + "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.24.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "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/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/decimal.js": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", + "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", + "license": "MIT" + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/deep-eql": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", + "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "license": "ISC", + "peer": true + }, + "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/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com/" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.5.52", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.52.tgz", + "integrity": "sha512-xtoijJTZ+qeucLBDNztDOuQBE1ksqjvNjvqFoST3nGC7fSpqJ+X6BdTBaY5BHG+IhWWmpc6b/KfpeuEDupEPOQ==", + "license": "ISC" + }, + "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/enhanced-resolve": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", + "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "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/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-next": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.3.tgz", + "integrity": "sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==", + "dev": true, + "dependencies": { + "@next/eslint-plugin-next": "14.2.3", + "@rushstack/eslint-patch": "^1.3.3", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.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.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", + "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "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.34.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", + "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlast": "^1.2.4", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.3", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.17", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7", + "object.hasown": "^1.1.3", + "object.values": "^1.1.7", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.10" + }, + "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": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/fast-content-type-parse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", + "integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.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-glob/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/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "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.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "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/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "license": "MIT" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "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/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "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==", + "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/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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.5.tgz", + "integrity": "sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "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.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.3.tgz", + "integrity": "sha512-ICWvVOF2fq4+7CMmtCPD5CM4QKjPbHpPotE6+8tDooV0ZuyJVUzHsrNX+O5NaRbieTf0F7FfeBOMAwi6Td0+yQ==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", + "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree/node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", + "license": "MIT" + }, + "node_modules/hast-util-to-estree/node_modules/style-to-object": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", + "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/html-url-attributes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.0.tgz", + "integrity": "sha512-/sXbVCWayk6GDVg3ctOX6nxaVj7So40FcFAnWlWGNAB1LpYKcV5Cd10APjPjW80O7zYW2MsjBV4zZ7IZO5fVow==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==" + }, + "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==", + "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/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/inline-style-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.3.tgz", + "integrity": "sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==" + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/intl-messageformat": { + "version": "10.7.14", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.14.tgz", + "integrity": "sha512-mMGnE4E1otdEutV5vLUdCxRJygHB5ozUBxsPB5qhitewssrS/qGruq9bmvIRkkGsNeK5ZWLfYRld18UHGTIifQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@formatjs/ecma402-abstract": "2.3.2", + "@formatjs/fast-memoize": "2.2.6", + "@formatjs/icu-messageformat-parser": "2.11.0", + "tslib": "2" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "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-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "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-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "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==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "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==", + "license": "MIT", + "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-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "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.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "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-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "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/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", + "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.4.tgz", + "integrity": "sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jose": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/jose/-/jose-5.2.3.tgz", + "integrity": "sha512-KUXdbctm1uHVL8BYhnyHkgp3zDX5KW8ZhAKVFEfUbU2P8Alpzjb+48hHvjOdQIyPshoblhzsuqOwEEAbtHVirA==", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "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": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-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": "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/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true + }, + "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/jwt-decode": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", + "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", + "engines": { + "node": ">=18" + } + }, + "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/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/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dev": true, + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" + }, + "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/loglevel": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz", + "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==", + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/magicast": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.3.tgz", + "integrity": "sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "source-map-js": "^1.0.2" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", + "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.2.tgz", + "integrity": "sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^5.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz", + "integrity": "sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "license": "CC0-1.0" + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.1.tgz", + "integrity": "sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", + "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.1.tgz", + "integrity": "sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==", + "license": "MIT", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.2.tgz", + "integrity": "sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", + "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.1.tgz", + "integrity": "sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.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==", + "dev": true, + "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/minipass": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz", + "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mlly": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", + "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", + "dev": true, + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "ufo": "^1.3.2" + } + }, + "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": "5.0.9", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.9.tgz", + "integrity": "sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "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/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neverthrow": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/neverthrow/-/neverthrow-8.1.1.tgz", + "integrity": "sha512-DpbZ/UDI0B+TxJB1JysXSfi1++3YK2xLBqQLTlRN0b4zxlZ2MoiB+dKKV8dMRzt1fAFjRKDknXOVJgpl+a4Amw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@rollup/rollup-linux-x64-gnu": "^4.24.0" + } + }, + "node_modules/next": { + "version": "14.2.29", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.29.tgz", + "integrity": "sha512-s98mCOMOWLGGpGOfgKSnleXLuegvvH415qtRZXpSp00HeEgdmrxmwL9cgKU+h4XrhB16zEI5d/7BnkS3ATInsA==", + "license": "MIT", + "dependencies": { + "@next/env": "14.2.29", + "@swc/helpers": "0.5.5", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=18.17.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "14.2.29", + "@next/swc-darwin-x64": "14.2.29", + "@next/swc-linux-arm64-gnu": "14.2.29", + "@next/swc-linux-arm64-musl": "14.2.29", + "@next/swc-linux-x64-gnu": "14.2.29", + "@next/swc-linux-x64-musl": "14.2.29", + "@next/swc-win32-arm64-msvc": "14.2.29", + "@next/swc-win32-ia32-msvc": "14.2.29", + "@next/swc-win32-x64-msvc": "14.2.29" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.41.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "license": "MIT" + }, + "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.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "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/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "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.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.hasown": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", + "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/octokit": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/octokit/-/octokit-4.0.2.tgz", + "integrity": "sha512-wbqF4uc1YbcldtiBFfkSnquHtECEIpYD78YUXI6ri1Im5OO2NLo6ZVpRdbJpdnpZ05zMrVPssNiEo6JQtea+Qg==", + "dependencies": { + "@octokit/app": "^15.0.0", + "@octokit/core": "^6.0.0", + "@octokit/oauth-app": "^7.0.0", + "@octokit/plugin-paginate-graphql": "^5.0.0", + "@octokit/plugin-paginate-rest": "^11.0.0", + "@octokit/plugin-rest-endpoint-methods": "^13.0.0", + "@octokit/plugin-retry": "^7.0.0", + "@octokit/plugin-throttling": "^9.0.0", + "@octokit/request-error": "^6.0.0", + "@octokit/types": "^13.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/octokit/node_modules/@octokit/auth-token": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", + "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/octokit/node_modules/@octokit/core": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", + "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", + "dependencies": { + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.0.0", + "@octokit/request": "^9.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/octokit/node_modules/@octokit/endpoint": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/octokit/node_modules/@octokit/endpoint/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/octokit/node_modules/@octokit/graphql": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", + "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", + "dependencies": { + "@octokit/request": "^9.0.0", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/octokit/node_modules/@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", + "license": "MIT" + }, + "node_modules/octokit/node_modules/@octokit/plugin-paginate-graphql": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-graphql/-/plugin-paginate-graphql-5.2.2.tgz", + "integrity": "sha512-7znSVvlNAOJisCqAnjN1FtEziweOHSjPGAuc5W58NeGNAr/ZB57yCsjQbXDlWsVryA7hHQaEQPcBbJYFawlkyg==", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/octokit/node_modules/@octokit/plugin-retry": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.1.tgz", + "integrity": "sha512-G9Ue+x2odcb8E1XIPhaFBnTTIrrUDfXN05iFXiqhR+SeeeDMMILcAnysOsxUpEWcQp2e5Ft397FCXTcPkiPkLw==", + "dependencies": { + "@octokit/request-error": "^6.0.0", + "@octokit/types": "^13.0.0", + "bottleneck": "^2.15.3" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/octokit/node_modules/@octokit/plugin-throttling": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.0.tgz", + "integrity": "sha512-B5YTToSRTzNSeEyssnrT7WwGhpIdbpV9NKIs3KyTWHX6PhpYn7gqF/+lL3BvsASBM3Sg5BAUYk7KZx5p/Ec77w==", + "dependencies": { + "@octokit/types": "^13.0.0", + "bottleneck": "^2.15.3" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "^6.0.0" + } + }, + "node_modules/octokit/node_modules/@octokit/request": { + "version": "9.2.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.3.tgz", + "integrity": "sha512-Ma+pZU8PXLOEYzsWf0cn/gY+ME57Wq8f49WTXA8FMHp2Ps9djKw//xYJ1je8Hm0pR2lU9FUGeJRWOtxq6olt4w==", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/octokit/node_modules/@octokit/request-error": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/octokit/node_modules/@octokit/request-error/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/octokit/node_modules/@octokit/request/node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/octokit/node_modules/before-after-hook": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" + }, + "node_modules/octokit/node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" + }, + "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/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/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "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==" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "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/pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dev": true, + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "node_modules/playwright": { + "version": "1.49.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.49.1.tgz", + "integrity": "sha512-VYL8zLoNTBxVOrJBbDuRgDWa3i+mfQgDTrL8Ah9QXZ7ax4Dsj0MSq5bYgytRnDVVe+njoKnfsYkH3HzqVj5UZA==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.49.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.49.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.49.1.tgz", + "integrity": "sha512-BzmpVcs4kE2CH15rWfzpjzVGhWERJfmnXmniSyKeRZUs9Ws65m+RGIi7mjJK/euCegfn3i7jvqWeWyHe9y3Vgg==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "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/node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "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": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/querystring": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-aria": { + "version": "3.37.0", + "resolved": "https://registry.npmjs.org/react-aria/-/react-aria-3.37.0.tgz", + "integrity": "sha512-u3WUEMTcbQFaoHauHO3KhPaBYzEv1o42EdPcLAs05GBw9Q6Axlqwo73UFgMrsc2ElwLAZ4EKpSdWHLo1R5gfiw==", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/string": "^3.2.5", + "@react-aria/breadcrumbs": "^3.5.20", + "@react-aria/button": "^3.11.1", + "@react-aria/calendar": "^3.7.0", + "@react-aria/checkbox": "^3.15.1", + "@react-aria/color": "^3.0.3", + "@react-aria/combobox": "^3.11.1", + "@react-aria/datepicker": "^3.13.0", + "@react-aria/dialog": "^3.5.21", + "@react-aria/disclosure": "^3.0.1", + "@react-aria/dnd": "^3.8.1", + "@react-aria/focus": "^3.19.1", + "@react-aria/gridlist": "^3.10.1", + "@react-aria/i18n": "^3.12.5", + "@react-aria/interactions": "^3.23.0", + "@react-aria/label": "^3.7.14", + "@react-aria/link": "^3.7.8", + "@react-aria/listbox": "^3.14.0", + "@react-aria/menu": "^3.17.0", + "@react-aria/meter": "^3.4.19", + "@react-aria/numberfield": "^3.11.10", + "@react-aria/overlays": "^3.25.0", + "@react-aria/progress": "^3.4.19", + "@react-aria/radio": "^3.10.11", + "@react-aria/searchfield": "^3.8.0", + "@react-aria/select": "^3.15.1", + "@react-aria/selection": "^3.22.0", + "@react-aria/separator": "^3.4.5", + "@react-aria/slider": "^3.7.15", + "@react-aria/ssr": "^3.9.7", + "@react-aria/switch": "^3.6.11", + "@react-aria/table": "^3.16.1", + "@react-aria/tabs": "^3.9.9", + "@react-aria/tag": "^3.4.9", + "@react-aria/textfield": "^3.16.0", + "@react-aria/tooltip": "^3.7.11", + "@react-aria/utils": "^3.27.0", + "@react-aria/visually-hidden": "^3.8.19", + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/react-aria-components": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/react-aria-components/-/react-aria-components-1.6.0.tgz", + "integrity": "sha512-YfG9PUE7XrXtDDAqT4pLTGyYQaiHHTBFdAK/wNgGsypVnQSdzmyYlV3Ty8aHlZJI6hP9RWkbywvosXkU7KcPHg==", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/date": "^3.7.0", + "@internationalized/string": "^3.2.5", + "@react-aria/autocomplete": "3.0.0-alpha.37", + "@react-aria/collections": "3.0.0-alpha.7", + "@react-aria/color": "^3.0.3", + "@react-aria/disclosure": "^3.0.1", + "@react-aria/dnd": "^3.8.1", + "@react-aria/focus": "^3.19.1", + "@react-aria/interactions": "^3.23.0", + "@react-aria/live-announcer": "^3.4.1", + "@react-aria/menu": "^3.17.0", + "@react-aria/toolbar": "3.0.0-beta.12", + "@react-aria/tree": "3.0.0-beta.3", + "@react-aria/utils": "^3.27.0", + "@react-aria/virtualizer": "^4.1.1", + "@react-stately/autocomplete": "3.0.0-alpha.0", + "@react-stately/color": "^3.8.2", + "@react-stately/disclosure": "^3.0.1", + "@react-stately/layout": "^4.1.1", + "@react-stately/menu": "^3.9.1", + "@react-stately/selection": "^3.19.0", + "@react-stately/table": "^3.13.1", + "@react-stately/utils": "^3.10.5", + "@react-stately/virtualizer": "^4.2.1", + "@react-types/color": "^3.0.2", + "@react-types/form": "^3.7.9", + "@react-types/grid": "^3.2.11", + "@react-types/shared": "^3.27.0", + "@react-types/table": "^3.10.4", + "@swc/helpers": "^0.5.0", + "client-only": "^0.0.1", + "react-aria": "^3.37.0", + "react-stately": "^3.35.0", + "use-sync-external-store": "^1.2.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "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/react-markdown": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-9.0.1.tgz", + "integrity": "sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg==", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "html-url-attributes": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=18", + "react": ">=18" + } + }, + "node_modules/react-select": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.9.0.tgz", + "integrity": "sha512-nwRKGanVHGjdccsnzhFte/PULziueZxGD8LL2WojON78Mvnq7LdAMEtu2frrwld1fr3geixg3iiMBIc/LLAZpw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.0", + "@emotion/cache": "^11.4.0", + "@emotion/react": "^11.8.1", + "@floating-ui/dom": "^1.0.1", + "@types/react-transition-group": "^4.4.0", + "memoize-one": "^6.0.0", + "prop-types": "^15.6.0", + "react-transition-group": "^4.3.0", + "use-isomorphic-layout-effect": "^1.2.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/react-stately": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/react-stately/-/react-stately-3.35.0.tgz", + "integrity": "sha512-1BH21J/TOHpyZe7c+f1BU2bnRWaBDTjLH0WdBuzNfPOXu7RBG3ebPIRvqd7UkPaVfIcol2QJnxe8S0a314JWKA==", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/calendar": "^3.7.0", + "@react-stately/checkbox": "^3.6.11", + "@react-stately/collections": "^3.12.1", + "@react-stately/color": "^3.8.2", + "@react-stately/combobox": "^3.10.2", + "@react-stately/data": "^3.12.1", + "@react-stately/datepicker": "^3.12.0", + "@react-stately/disclosure": "^3.0.1", + "@react-stately/dnd": "^3.5.1", + "@react-stately/form": "^3.1.1", + "@react-stately/list": "^3.11.2", + "@react-stately/menu": "^3.9.1", + "@react-stately/numberfield": "^3.9.9", + "@react-stately/overlays": "^3.6.13", + "@react-stately/radio": "^3.10.10", + "@react-stately/searchfield": "^3.5.9", + "@react-stately/select": "^3.6.10", + "@react-stately/selection": "^3.19.0", + "@react-stately/slider": "^3.6.1", + "@react-stately/table": "^3.13.1", + "@react-stately/tabs": "^3.7.1", + "@react-stately/toggle": "^3.8.1", + "@react-stately/tooltip": "^3.5.1", + "@react-stately/tree": "^3.8.7", + "@react-types/shared": "^3.27.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "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==", + "license": "BSD-3-Clause", + "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/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.0.tgz", + "integrity": "sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==", + "license": "MIT", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.1.1.tgz", + "integrity": "sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.11.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.2.tgz", + "integrity": "sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==", + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.0.2" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.0.tgz", + "integrity": "sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==", + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", + "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "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==", + "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==", + "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/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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/rollup": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.4.tgz", + "integrity": "sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.24.4", + "@rollup/rollup-android-arm64": "4.24.4", + "@rollup/rollup-darwin-arm64": "4.24.4", + "@rollup/rollup-darwin-x64": "4.24.4", + "@rollup/rollup-freebsd-arm64": "4.24.4", + "@rollup/rollup-freebsd-x64": "4.24.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.24.4", + "@rollup/rollup-linux-arm-musleabihf": "4.24.4", + "@rollup/rollup-linux-arm64-gnu": "4.24.4", + "@rollup/rollup-linux-arm64-musl": "4.24.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.24.4", + "@rollup/rollup-linux-riscv64-gnu": "4.24.4", + "@rollup/rollup-linux-s390x-gnu": "4.24.4", + "@rollup/rollup-linux-x64-gnu": "4.24.4", + "@rollup/rollup-linux-x64-musl": "4.24.4", + "@rollup/rollup-win32-arm64-msvc": "4.24.4", + "@rollup/rollup-win32-ia32-msvc": "4.24.4", + "@rollup/rollup-win32-x64-msvc": "4.24.4", + "fsevents": "~2.3.2" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sass": { + "version": "1.74.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.74.1.tgz", + "integrity": "sha512-w0Z9p/rWZWelb88ISOLyvqTWGmtmu2QJICqDBGyNnfG4OUnPX9BBjjYIXUpXCMOOg5MQWNpqzt876la1fsTvUA==", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-dts": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/schema-dts/-/schema-dts-1.1.2.tgz", + "integrity": "sha512-MpNwH0dZJHinVxk9bT8XUdjKTxMYrA5bLtrrGmFA6PTLwlOKnhi67XoRd6/ty+Djt6ZC0slR57qFhZDNMI6DhQ==", + "license": "Apache-2.0", + "peerDependencies": { + "typescript": ">=4.1.0" + } + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/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/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "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-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "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-cjs/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-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "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/strip-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", + "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", + "dev": true, + "dependencies": { + "js-tokens": "^9.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", + "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", + "dev": true + }, + "node_modules/style-to-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.6.tgz", + "integrity": "sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==", + "dependencies": { + "inline-style-parser": "0.2.3" + } + }, + "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/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", + "license": "MIT" + }, + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "license": "MIT" + }, + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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/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/third-party-capital": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/third-party-capital/-/third-party-capital-1.0.20.tgz", + "integrity": "sha512-oB7yIimd8SuGptespDAZnNkzIz+NWaJCu2RMsbs4Wmp9zSDUM8Nhi3s2OOcqYuv3mN4hitXc8DVx+LyUmbUDiA==" + }, + "node_modules/tinybench": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.6.0.tgz", + "integrity": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==", + "dev": true + }, + "node_modules/tinypool": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.3.tgz", + "integrity": "sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/tsconfck": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.0.3.tgz", + "integrity": "sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==", + "dev": true, + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "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/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/tsx": { + "version": "4.19.4", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.4.tgz", + "integrity": "sha512-gK5GVzDkJK1SI1zwHf32Mqxf2tSJkNx+eYcNly5+nHvWqXUJYUkWBQtKauoESz3ymezAI++ZwT855x5p5eop+Q==", + "license": "MIT", + "dependencies": { + "esbuild": "~0.25.0", + "get-tsconfig": "^4.7.5" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/tsx/node_modules/@esbuild/aix-ppc64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz", + "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz", + "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz", + "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz", + "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz", + "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz", + "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz", + "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz", + "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz", + "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz", + "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ia32": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz", + "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-loong64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz", + "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-mips64el": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz", + "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ppc64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz", + "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-riscv64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz", + "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-s390x": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz", + "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz", + "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/netbsd-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz", + "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/openbsd-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz", + "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/sunos-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz", + "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz", + "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-ia32": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz", + "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz", + "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/esbuild": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz", + "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.5", + "@esbuild/android-arm": "0.25.5", + "@esbuild/android-arm64": "0.25.5", + "@esbuild/android-x64": "0.25.5", + "@esbuild/darwin-arm64": "0.25.5", + "@esbuild/darwin-x64": "0.25.5", + "@esbuild/freebsd-arm64": "0.25.5", + "@esbuild/freebsd-x64": "0.25.5", + "@esbuild/linux-arm": "0.25.5", + "@esbuild/linux-arm64": "0.25.5", + "@esbuild/linux-ia32": "0.25.5", + "@esbuild/linux-loong64": "0.25.5", + "@esbuild/linux-mips64el": "0.25.5", + "@esbuild/linux-ppc64": "0.25.5", + "@esbuild/linux-riscv64": "0.25.5", + "@esbuild/linux-s390x": "0.25.5", + "@esbuild/linux-x64": "0.25.5", + "@esbuild/netbsd-arm64": "0.25.5", + "@esbuild/netbsd-x64": "0.25.5", + "@esbuild/openbsd-arm64": "0.25.5", + "@esbuild/openbsd-x64": "0.25.5", + "@esbuild/sunos-x64": "0.25.5", + "@esbuild/win32-arm64": "0.25.5", + "@esbuild/win32-ia32": "0.25.5", + "@esbuild/win32-x64": "0.25.5" + } + }, + "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-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==", + "dev": true + }, + "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/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universal-github-app-jwt": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/universal-github-app-jwt/-/universal-github-app-jwt-2.2.0.tgz", + "integrity": "sha512-G5o6f95b5BggDGuUfKDApKaCgNYy2x7OdHY0zSMF081O0EJobw+1130VONhrA7ezGSV2FNOGyM+KQpQZAr9bIQ==" + }, + "node_modules/universal-user-agent": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", + "license": "ISC", + "peer": true + }, + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "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" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.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==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.0.tgz", + "integrity": "sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "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/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz", + "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "5.4.19", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.19.tgz", + "integrity": "sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.1.tgz", + "integrity": "sha512-YAXkfvGtuTzwWbDSACdJSg4A4DZiAqckWe90Zapc/sEX3XvHcw1NdurM/6od8J207tSDqNbSsgdCacBgvJKFuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite-tsconfig-paths": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.2.tgz", + "integrity": "sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "tsconfck": "^3.0.3" + }, + "peerDependencies": { + "vite": "*" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/vite/node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "dev": true, + "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" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/vitest": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.1.tgz", + "integrity": "sha512-Ljb1cnSJSivGN0LqXd/zmDbWEM0RNNg2t1QW/XUhYl/qPqyu7CsqeWtqQXHVaJsecLPuDoak2oJcZN2QoRIOag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "1.6.1", + "@vitest/runner": "1.6.1", + "@vitest/snapshot": "1.6.1", + "@vitest/spy": "1.6.1", + "@vitest/utils": "1.6.1", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.3", + "vite": "^5.0.0", + "vite-node": "1.6.1", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "1.6.1", + "@vitest/ui": "1.6.1", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "dev": true, + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/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/wrap-ansi-cjs/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/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "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/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.23.8", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", + "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zustand": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.2.tgz", + "integrity": "sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g==", + "dependencies": { + "use-sync-external-store": "1.2.0" + }, + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "@types/react": ">=16.8", + "immer": ">=9.0.6", + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json index f0b64ad6..33fb8a43 100644 --- a/package.json +++ b/package.json @@ -1,23 +1,70 @@ { - "name": "jwt.io", - "version": "0.0.1", - "devDependencies": { - "expect.js": "^0.3.1", - "grunt": "^0.4.2", - "grunt-contrib-clean": "^0.6.0", - "grunt-contrib-connect": "^0.8.0", - "grunt-contrib-less": "^0.11.4", - "grunt-contrib-watch": "^0.6.1", - "matchdep": "~0.3.0", - "grunt-usemin": "^2.0.2", - "grunt-contrib-copy": "^0.5.0", - "grunt-contrib-concat": "^0.5.0", - "grunt-contrib-uglify": "^0.5.1", - "grunt-contrib-htmlmin": "^0.3.0", - "grunt-contrib-cssmin": "^0.9.0", - "grunt-mocha-phantomjs": "^0.6.0" - }, + "name": "next-jwt", + "version": "0.1.0", + "private": true, + "type": "module", "scripts": { - "test": "grunt test --verbose" + "dev": "next dev -p 1234", + "generate:library-data": "tsx src/scripts/generate-library-data.ts", + "build": "next build", + "start": "next start", + "lint": "next lint", + "test": "vitest", + "coverage": "vitest run --coverage", + "playwright:test-ui": "npx playwright test --ui" + }, + "dependencies": { + "@formatjs/intl-localematcher": "^0.5.7", + "@mdx-js/loader": "^3.1.0", + "@mdx-js/react": "^3.1.0", + "@next/mdx": "^14.2.17", + "@next/third-parties": "^14.2.17", + "@svgr/webpack": "^8.1.0", + "@types/js-cookie": "^3.0.6", + "@types/mdx": "^2.0.13", + "@types/negotiator": "^0.6.3", + "@types/prismjs": "^1.26.3", + "@vercel/analytics": "^1.4.1", + "base64url": "^3.0.1", + "bowser": "^2.11.0", + "clsx": "^2.1.1", + "dotenv": "^16.4.5", + "jose": "^5.2.3", + "js-cookie": "^3.0.5", + "jwt-decode": "^4.0.0", + "loglevel": "^1.9.1", + "nanoid": "^5.0.9", + "negotiator": "^1.0.0", + "neverthrow": "^8.1.1", + "next": "^14.2.25", + "node-forge": "^1.3.1", + "octokit": "^4.0.2", + "prismjs": "^1.29.0", + "querystring": "^0.2.0", + "react": "^18.3.1", + "react-aria-components": "^1.6.0", + "react-dom": "^18.3.1", + "react-markdown": "^9.0.1", + "react-select": "^5.9.0", + "rehype-raw": "^7.0.0", + "sass": "^1.74.1", + "schema-dts": "^1.1.2", + "tsx": "^4.15.7", + "zod": "^3.23.8", + "zustand": "^4.5.2" + }, + "devDependencies": { + "@playwright/test": "^1.49.1", + "@types/node": "^20", + "@types/node-forge": "^1.3.11", + "@types/react": "^18", + "@types/react-dom": "^18", + "@vitest/coverage-istanbul": "^1.4.0", + "eslint": "^8", + "eslint-config-next": "^14.2.3", + "prettier": "^3.2.5", + "typescript": "^5.4.5", + "vite-tsconfig-paths": "^4.3.2", + "vitest": "^1.4.0" } } diff --git a/playwright.config.ts b/playwright.config.ts new file mode 100644 index 00000000..efd9b88b --- /dev/null +++ b/playwright.config.ts @@ -0,0 +1,79 @@ +import { defineConfig, devices } from '@playwright/test'; + +/** + * Read environment variables from file. + * https://github.com/motdotla/dotenv + */ +// import dotenv from 'dotenv'; +// import path from 'path'; +// dotenv.config({ path: path.resolve(__dirname, '.env') }); + +/** + * See https://playwright.dev/docs/test-configuration. + */ +export default defineConfig({ + testDir: './e2e', + /* Run tests in files in parallel */ + fullyParallel: true, + /* Fail the build on CI if you accidentally left test.only in the source code. */ + forbidOnly: !!process.env.CI, + /* Retry on CI only */ + retries: process.env.CI ? 2 : 0, + /* Opt out of parallel tests on CI. */ + workers: process.env.CI ? 1 : undefined, + /* Reporter to use. See https://playwright.dev/docs/test-reporters */ + reporter: 'html', + /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ + use: { + /* Base URL to use in actions like `await page.goto('/')`. */ + // baseURL: 'http://127.0.0.1:3000/', + + /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ + trace: 'on-first-retry', + }, + + /* Configure projects for major browsers */ + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] }, + }, + + { + name: 'firefox', + use: { ...devices['Desktop Firefox'] }, + }, + + { + name: 'webkit', + use: { ...devices['Desktop Safari'] }, + }, + + /* Test against mobile viewports. */ + // { + // name: 'Mobile Chrome', + // use: { ...devices['Pixel 5'] }, + // }, + // { + // name: 'Mobile Safari', + // use: { ...devices['iPhone 12'] }, + // }, + + /* Test against branded browsers. */ + // { + // name: 'Microsoft Edge', + // use: { ...devices['Desktop Edge'], channel: 'msedge' }, + // }, + // { + // name: 'Google Chrome', + // use: { ...devices['Desktop Chrome'], channel: 'chrome' }, + // }, + ], + + /* Run your local dev server before starting the tests */ + // webServer: { + // command: 'npm run start', + // url: 'http://127.0.0.1:3000/', + // reuseExistingServer: !process.env.CI, + // }, +}); diff --git a/public/css/.gitkeep b/public/css/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/public/images/auth0-background.svg b/public/images/auth0-background.svg new file mode 100644 index 00000000..dde1db6e --- /dev/null +++ b/public/images/auth0-background.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/images/dark.auth0-flow-bg.svg b/public/images/dark.auth0-flow-bg.svg new file mode 100644 index 00000000..647faddb --- /dev/null +++ b/public/images/dark.auth0-flow-bg.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/ebook-image.png b/public/images/ebook-image.png new file mode 100644 index 00000000..c24a572a Binary files /dev/null and b/public/images/ebook-image.png differ diff --git a/public/images/en.dark.auth0-flow.png b/public/images/en.dark.auth0-flow.png new file mode 100644 index 00000000..5c7ae1ad Binary files /dev/null and b/public/images/en.dark.auth0-flow.png differ diff --git a/public/images/en.dark.login-box.png b/public/images/en.dark.login-box.png new file mode 100644 index 00000000..707b7074 Binary files /dev/null and b/public/images/en.dark.login-box.png differ diff --git a/public/images/en.light.auth0-flow.png b/public/images/en.light.auth0-flow.png new file mode 100644 index 00000000..0e07d32c Binary files /dev/null and b/public/images/en.light.auth0-flow.png differ diff --git a/public/images/en.light.login-box.png b/public/images/en.light.login-box.png new file mode 100644 index 00000000..071624d3 Binary files /dev/null and b/public/images/en.light.login-box.png differ diff --git a/public/images/en.login-box.svg b/public/images/en.login-box.svg new file mode 100644 index 00000000..b481e958 --- /dev/null +++ b/public/images/en.login-box.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/handbook.png b/public/images/handbook.png new file mode 100644 index 00000000..5e7a1e81 Binary files /dev/null and b/public/images/handbook.png differ diff --git a/public/images/ja.dark.auth0-flow.png b/public/images/ja.dark.auth0-flow.png new file mode 100644 index 00000000..3faed616 Binary files /dev/null and b/public/images/ja.dark.auth0-flow.png differ diff --git a/public/images/ja.dark.login-box.png b/public/images/ja.dark.login-box.png new file mode 100644 index 00000000..eb55a934 Binary files /dev/null and b/public/images/ja.dark.login-box.png differ diff --git a/public/images/ja.light.auth0-flow.png b/public/images/ja.light.auth0-flow.png new file mode 100644 index 00000000..39b6d112 Binary files /dev/null and b/public/images/ja.light.auth0-flow.png differ diff --git a/public/images/ja.light.login-box.png b/public/images/ja.light.login-box.png new file mode 100644 index 00000000..f35582c6 Binary files /dev/null and b/public/images/ja.light.login-box.png differ diff --git a/public/images/ja.login-box.svg b/public/images/ja.login-box.svg new file mode 100644 index 00000000..3335d967 --- /dev/null +++ b/public/images/ja.login-box.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/light.auth0-flow-bg.svg b/public/images/light.auth0-flow-bg.svg new file mode 100644 index 00000000..c7923631 --- /dev/null +++ b/public/images/light.auth0-flow-bg.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/login-box.svg b/public/images/login-box.svg new file mode 100644 index 00000000..19d91cc2 --- /dev/null +++ b/public/images/login-box.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/mobile.dark.auth0-flow-bg.svg b/public/images/mobile.dark.auth0-flow-bg.svg new file mode 100644 index 00000000..8f861605 --- /dev/null +++ b/public/images/mobile.dark.auth0-flow-bg.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/mobile.en.dark.auth0-flow.svg b/public/images/mobile.en.dark.auth0-flow.svg new file mode 100644 index 00000000..bed98685 --- /dev/null +++ b/public/images/mobile.en.dark.auth0-flow.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/mobile.en.light.auth0-flow.svg b/public/images/mobile.en.light.auth0-flow.svg new file mode 100644 index 00000000..9a15f08e --- /dev/null +++ b/public/images/mobile.en.light.auth0-flow.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/mobile.ja.dark.auth0-flow.svg b/public/images/mobile.ja.dark.auth0-flow.svg new file mode 100644 index 00000000..88adfb6e --- /dev/null +++ b/public/images/mobile.ja.dark.auth0-flow.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/mobile.ja.light.auth0-flow.svg b/public/images/mobile.ja.light.auth0-flow.svg new file mode 100644 index 00000000..9f9f0d12 --- /dev/null +++ b/public/images/mobile.ja.light.auth0-flow.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/mobile.light.auth0-flow-bg.svg b/public/images/mobile.light.auth0-flow-bg.svg new file mode 100644 index 00000000..2701f5dd --- /dev/null +++ b/public/images/mobile.light.auth0-flow-bg.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/tablet.dark.auth0-flow-bg.svg b/public/images/tablet.dark.auth0-flow-bg.svg new file mode 100644 index 00000000..86b3ae54 --- /dev/null +++ b/public/images/tablet.dark.auth0-flow-bg.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/tablet.en.dark.auth0-flow.svg b/public/images/tablet.en.dark.auth0-flow.svg new file mode 100644 index 00000000..03d06c6d --- /dev/null +++ b/public/images/tablet.en.dark.auth0-flow.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/tablet.en.light.auth0-flow.svg b/public/images/tablet.en.light.auth0-flow.svg new file mode 100644 index 00000000..c0854376 --- /dev/null +++ b/public/images/tablet.en.light.auth0-flow.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/tablet.ja.dark.auth0-flow.svg b/public/images/tablet.ja.dark.auth0-flow.svg new file mode 100644 index 00000000..fc01b4c1 --- /dev/null +++ b/public/images/tablet.ja.dark.auth0-flow.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/tablet.ja.light.auth0-flow.svg b/public/images/tablet.ja.light.auth0-flow.svg new file mode 100644 index 00000000..5c9855e2 --- /dev/null +++ b/public/images/tablet.ja.light.auth0-flow.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/tablet.light.auth0-flow-bg.svg b/public/images/tablet.light.auth0-flow-bg.svg new file mode 100644 index 00000000..9e875a45 --- /dev/null +++ b/public/images/tablet.light.auth0-flow-bg.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/1.svg b/public/img/1.svg new file mode 100644 index 00000000..93607896 --- /dev/null +++ b/public/img/1.svg @@ -0,0 +1,158 @@ + + + + 1 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/10.svg b/public/img/10.svg new file mode 100644 index 00000000..9c620ffb --- /dev/null +++ b/public/img/10.svg @@ -0,0 +1,21 @@ + + + + Oval 1 + rust + Created with Sketch. + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/11.svg b/public/img/11.svg new file mode 100644 index 00000000..9fce7e0b --- /dev/null +++ b/public/img/11.svg @@ -0,0 +1,28 @@ + + + + Oval 1 + Lua_programming_language_logo + Created with Sketch. + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/12.svg b/public/img/12.svg new file mode 100644 index 00000000..212efbd0 --- /dev/null +++ b/public/img/12.svg @@ -0,0 +1,43 @@ + + + + Oval 1 + scala + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/13.svg b/public/img/13.svg new file mode 100644 index 00000000..2526946a --- /dev/null +++ b/public/img/13.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/public/img/14.svg b/public/img/14.svg new file mode 100644 index 00000000..4e315090 --- /dev/null +++ b/public/img/14.svg @@ -0,0 +1,22 @@ + + + +]> + + + + + + + diff --git a/public/img/15.svg b/public/img/15.svg new file mode 100644 index 00000000..cf6bb78c --- /dev/null +++ b/public/img/15.svg @@ -0,0 +1,135 @@ + + + + + + image/svg+xml + + 2 + + + + + + 2 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/16.svg b/public/img/16.svg new file mode 100644 index 00000000..f110b1ff --- /dev/null +++ b/public/img/16.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/public/img/17.svg b/public/img/17.svg new file mode 100644 index 00000000..caa5cd9f --- /dev/null +++ b/public/img/17.svg @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/18.svg b/public/img/18.svg new file mode 100644 index 00000000..512d251e --- /dev/null +++ b/public/img/18.svg @@ -0,0 +1,10 @@ + + + + elixir-logo + Created with Sketch. + + + + + \ No newline at end of file diff --git a/public/img/19.svg b/public/img/19.svg new file mode 100644 index 00000000..3a8fc1cc --- /dev/null +++ b/public/img/19.svg @@ -0,0 +1,16 @@ + + + + Mask + Oval 1 + Mask + path2995 + Created with Sketch. + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/2.svg b/public/img/2.svg new file mode 100644 index 00000000..471688c5 --- /dev/null +++ b/public/img/2.svg @@ -0,0 +1,26 @@ + + + + 2 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/20.svg b/public/img/20.svg new file mode 100644 index 00000000..88b4ca14 --- /dev/null +++ b/public/img/20.svg @@ -0,0 +1,16 @@ + + + + Group + Created with Sketch. + + + + + + + + + + + diff --git a/public/img/21.svg b/public/img/21.svg new file mode 100644 index 00000000..9fa13409 --- /dev/null +++ b/public/img/21.svg @@ -0,0 +1,46 @@ + + + + + +Created by potrace 1.13, written by Peter Selinger 2001-2015 + + + image/svg+xml + + + + + + + + + + + + diff --git a/public/img/22.svg b/public/img/22.svg new file mode 100644 index 00000000..da1a8092 --- /dev/null +++ b/public/img/22.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/23.svg b/public/img/23.svg new file mode 100644 index 00000000..96814436 --- /dev/null +++ b/public/img/23.svg @@ -0,0 +1,108 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/public/img/24.svg b/public/img/24.svg new file mode 100644 index 00000000..6eef35d5 --- /dev/null +++ b/public/img/24.svg @@ -0,0 +1,60 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/public/img/25.svg b/public/img/25.svg new file mode 100644 index 00000000..35536b7a --- /dev/null +++ b/public/img/25.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/public/img/26.svg b/public/img/26.svg new file mode 100644 index 00000000..173507c8 --- /dev/null +++ b/public/img/26.svg @@ -0,0 +1,75 @@ + + + + + + image/svg+xml + + cpp_logo + + + + + + + cpp_logo + + + + + + + + + + diff --git a/public/img/27.svg b/public/img/27.svg new file mode 100644 index 00000000..30404ae3 --- /dev/null +++ b/public/img/27.svg @@ -0,0 +1,38 @@ + +image/svg+xml \ No newline at end of file diff --git a/public/img/28.svg b/public/img/28.svg new file mode 100644 index 00000000..543962ff --- /dev/null +++ b/public/img/28.svg @@ -0,0 +1,53 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + + + + + + + diff --git a/public/img/29.svg b/public/img/29.svg new file mode 100644 index 00000000..7534bb16 --- /dev/null +++ b/public/img/29.svg @@ -0,0 +1,37 @@ + + + + Oval + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/3.svg b/public/img/3.svg new file mode 100644 index 00000000..78a56c42 --- /dev/null +++ b/public/img/3.svg @@ -0,0 +1,32 @@ + + + + Oval 1 + Java_avatar + Group + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/30.svg b/public/img/30.svg new file mode 100644 index 00000000..05d0ce2d --- /dev/null +++ b/public/img/30.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + diff --git a/public/img/31.svg b/public/img/31.svg new file mode 100644 index 00000000..a61323cd --- /dev/null +++ b/public/img/31.svg @@ -0,0 +1,25 @@ + + + + Oval + Created with Sketch. + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/32.svg b/public/img/32.svg new file mode 100644 index 00000000..f0d570b9 --- /dev/null +++ b/public/img/32.svg @@ -0,0 +1,32 @@ + + + + 32 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/33.png b/public/img/33.png new file mode 100644 index 00000000..dcd89492 Binary files /dev/null and b/public/img/33.png differ diff --git a/public/img/34.png b/public/img/34.png new file mode 100644 index 00000000..f1fe6ae0 Binary files /dev/null and b/public/img/34.png differ diff --git a/public/img/35.svg b/public/img/35.svg new file mode 100644 index 00000000..7ef15001 --- /dev/null +++ b/public/img/35.svg @@ -0,0 +1 @@ +Bun Logo \ No newline at end of file diff --git a/public/img/36.png b/public/img/36.png new file mode 100644 index 00000000..b8f2adbb Binary files /dev/null and b/public/img/36.png differ diff --git a/public/img/4.svg b/public/img/4.svg new file mode 100644 index 00000000..6e1d69d1 --- /dev/null +++ b/public/img/4.svg @@ -0,0 +1,33 @@ + + + + Oval 1 + python + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/5.svg b/public/img/5.svg new file mode 100644 index 00000000..c29cd386 --- /dev/null +++ b/public/img/5.svg @@ -0,0 +1,42 @@ + + + + Oval 1 + php-icon + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/6.svg b/public/img/6.svg new file mode 100644 index 00000000..48ded3a9 --- /dev/null +++ b/public/img/6.svg @@ -0,0 +1,31 @@ + + + + Mask + Bitmap + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/7.svg b/public/img/7.svg new file mode 100644 index 00000000..f9b6ff6c --- /dev/null +++ b/public/img/7.svg @@ -0,0 +1,155 @@ + + + + Oval 1 + ruby_logo_2 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/8.svg b/public/img/8.svg new file mode 100644 index 00000000..860acb14 --- /dev/null +++ b/public/img/8.svg @@ -0,0 +1,56 @@ + + + + Mask + frontpage + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/9.svg b/public/img/9.svg new file mode 100644 index 00000000..d61ef2a2 --- /dev/null +++ b/public/img/9.svg @@ -0,0 +1,36 @@ + + + + Oval 1 + 1406652142137 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/auth0_logo_ft.svg b/public/img/auth0_logo_ft.svg new file mode 100644 index 00000000..57c51da3 --- /dev/null +++ b/public/img/auth0_logo_ft.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/public/img/auth0_logo_header.svg b/public/img/auth0_logo_header.svg new file mode 100644 index 00000000..c24832d1 --- /dev/null +++ b/public/img/auth0_logo_header.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/public/img/badge-compatible.svg b/public/img/badge-compatible.svg new file mode 100644 index 00000000..935542d3 --- /dev/null +++ b/public/img/badge-compatible.svg @@ -0,0 +1,29 @@ + + + + Compatible + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/badge.svg b/public/img/badge.svg new file mode 100644 index 00000000..00ae3bba --- /dev/null +++ b/public/img/badge.svg @@ -0,0 +1,29 @@ + + + + View on JWT.IO + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/bg_arrow.svg b/public/img/bg_arrow.svg new file mode 100644 index 00000000..a399527f --- /dev/null +++ b/public/img/bg_arrow.svg @@ -0,0 +1,16 @@ + + + + Path 34 Copy + Created with Sketch. + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/bg_arrow_select.svg b/public/img/bg_arrow_select.svg new file mode 100644 index 00000000..1be940ac --- /dev/null +++ b/public/img/bg_arrow_select.svg @@ -0,0 +1,14 @@ + + + + Path 34 + Created with Sketch. + + + + + + + + + \ No newline at end of file diff --git a/public/img/bg_steps.svg b/public/img/bg_steps.svg new file mode 100644 index 00000000..fb08239f --- /dev/null +++ b/public/img/bg_steps.svg @@ -0,0 +1,14 @@ + + + + Path 34 + Created with Sketch. + + + + + + + + + \ No newline at end of file diff --git a/public/img/ebook.png b/public/img/ebook.png new file mode 100644 index 00000000..9d75fac8 Binary files /dev/null and b/public/img/ebook.png differ diff --git a/public/img/facebook-card.png b/public/img/facebook-card.png new file mode 100644 index 00000000..3eb2efbb Binary files /dev/null and b/public/img/facebook-card.png differ diff --git a/public/img/favicon/android-icon-144x144.png b/public/img/favicon/android-icon-144x144.png new file mode 100644 index 00000000..8243464b Binary files /dev/null and b/public/img/favicon/android-icon-144x144.png differ diff --git a/public/img/favicon/android-icon-192x192.png b/public/img/favicon/android-icon-192x192.png new file mode 100644 index 00000000..639aa125 Binary files /dev/null and b/public/img/favicon/android-icon-192x192.png differ diff --git a/public/img/favicon/android-icon-36x36.png b/public/img/favicon/android-icon-36x36.png new file mode 100644 index 00000000..08308787 Binary files /dev/null and b/public/img/favicon/android-icon-36x36.png differ diff --git a/public/img/favicon/android-icon-48x48.png b/public/img/favicon/android-icon-48x48.png new file mode 100644 index 00000000..31ec5b6d Binary files /dev/null and b/public/img/favicon/android-icon-48x48.png differ diff --git a/public/img/favicon/android-icon-72x72.png b/public/img/favicon/android-icon-72x72.png new file mode 100644 index 00000000..7407d114 Binary files /dev/null and b/public/img/favicon/android-icon-72x72.png differ diff --git a/public/img/favicon/android-icon-96x96.png b/public/img/favicon/android-icon-96x96.png new file mode 100644 index 00000000..329ac407 Binary files /dev/null and b/public/img/favicon/android-icon-96x96.png differ diff --git a/public/img/favicon/apple-icon-114x114.png b/public/img/favicon/apple-icon-114x114.png new file mode 100644 index 00000000..56ae2a38 Binary files /dev/null and b/public/img/favicon/apple-icon-114x114.png differ diff --git a/public/img/favicon/apple-icon-120x120.png b/public/img/favicon/apple-icon-120x120.png new file mode 100644 index 00000000..ce929204 Binary files /dev/null and b/public/img/favicon/apple-icon-120x120.png differ diff --git a/public/img/favicon/apple-icon-144x144.png b/public/img/favicon/apple-icon-144x144.png new file mode 100644 index 00000000..8243464b Binary files /dev/null and b/public/img/favicon/apple-icon-144x144.png differ diff --git a/public/img/favicon/apple-icon-152x152.png b/public/img/favicon/apple-icon-152x152.png new file mode 100644 index 00000000..e1505000 Binary files /dev/null and b/public/img/favicon/apple-icon-152x152.png differ diff --git a/public/img/favicon/apple-icon-180x180.png b/public/img/favicon/apple-icon-180x180.png new file mode 100644 index 00000000..c3b0c47b Binary files /dev/null and b/public/img/favicon/apple-icon-180x180.png differ diff --git a/public/img/favicon/apple-icon-57x57.png b/public/img/favicon/apple-icon-57x57.png new file mode 100644 index 00000000..9d179d77 Binary files /dev/null and b/public/img/favicon/apple-icon-57x57.png differ diff --git a/public/img/favicon/apple-icon-60x60.png b/public/img/favicon/apple-icon-60x60.png new file mode 100644 index 00000000..adb24149 Binary files /dev/null and b/public/img/favicon/apple-icon-60x60.png differ diff --git a/public/img/favicon/apple-icon-72x72.png b/public/img/favicon/apple-icon-72x72.png new file mode 100644 index 00000000..7407d114 Binary files /dev/null and b/public/img/favicon/apple-icon-72x72.png differ diff --git a/public/img/favicon/apple-icon-76x76.png b/public/img/favicon/apple-icon-76x76.png new file mode 100644 index 00000000..a33b2647 Binary files /dev/null and b/public/img/favicon/apple-icon-76x76.png differ diff --git a/public/img/favicon/apple-icon-precomposed.png b/public/img/favicon/apple-icon-precomposed.png new file mode 100644 index 00000000..639aa125 Binary files /dev/null and b/public/img/favicon/apple-icon-precomposed.png differ diff --git a/public/img/favicon/apple-icon.png b/public/img/favicon/apple-icon.png new file mode 100644 index 00000000..639aa125 Binary files /dev/null and b/public/img/favicon/apple-icon.png differ diff --git a/public/img/favicon/browserconfig.xml b/public/img/favicon/browserconfig.xml new file mode 100644 index 00000000..c5541482 --- /dev/null +++ b/public/img/favicon/browserconfig.xml @@ -0,0 +1,2 @@ + +#ffffff \ No newline at end of file diff --git a/public/img/favicon/favicon-16x16.png b/public/img/favicon/favicon-16x16.png new file mode 100644 index 00000000..d8058a79 Binary files /dev/null and b/public/img/favicon/favicon-16x16.png differ diff --git a/public/img/favicon/favicon-32x32.png b/public/img/favicon/favicon-32x32.png new file mode 100644 index 00000000..000d4732 Binary files /dev/null and b/public/img/favicon/favicon-32x32.png differ diff --git a/public/img/favicon/favicon-96x96.png b/public/img/favicon/favicon-96x96.png new file mode 100644 index 00000000..329ac407 Binary files /dev/null and b/public/img/favicon/favicon-96x96.png differ diff --git a/public/img/favicon/favicon.ico b/public/img/favicon/favicon.ico new file mode 100644 index 00000000..a6eba814 Binary files /dev/null and b/public/img/favicon/favicon.ico differ diff --git a/public/img/favicon/manifest.json b/public/img/favicon/manifest.json new file mode 100644 index 00000000..013d4a6a --- /dev/null +++ b/public/img/favicon/manifest.json @@ -0,0 +1,41 @@ +{ + "name": "App", + "icons": [ + { + "src": "\/android-icon-36x36.png", + "sizes": "36x36", + "type": "image\/png", + "density": "0.75" + }, + { + "src": "\/android-icon-48x48.png", + "sizes": "48x48", + "type": "image\/png", + "density": "1.0" + }, + { + "src": "\/android-icon-72x72.png", + "sizes": "72x72", + "type": "image\/png", + "density": "1.5" + }, + { + "src": "\/android-icon-96x96.png", + "sizes": "96x96", + "type": "image\/png", + "density": "2.0" + }, + { + "src": "\/android-icon-144x144.png", + "sizes": "144x144", + "type": "image\/png", + "density": "3.0" + }, + { + "src": "\/android-icon-192x192.png", + "sizes": "192x192", + "type": "image\/png", + "density": "4.0" + } + ] +} \ No newline at end of file diff --git a/public/img/favicon/ms-icon-144x144.png b/public/img/favicon/ms-icon-144x144.png new file mode 100644 index 00000000..8243464b Binary files /dev/null and b/public/img/favicon/ms-icon-144x144.png differ diff --git a/public/img/favicon/ms-icon-150x150.png b/public/img/favicon/ms-icon-150x150.png new file mode 100644 index 00000000..dd1d97b8 Binary files /dev/null and b/public/img/favicon/ms-icon-150x150.png differ diff --git a/public/img/favicon/ms-icon-310x310.png b/public/img/favicon/ms-icon-310x310.png new file mode 100644 index 00000000..0e27a5bd Binary files /dev/null and b/public/img/favicon/ms-icon-310x310.png differ diff --git a/public/img/favicon/ms-icon-70x70.png b/public/img/favicon/ms-icon-70x70.png new file mode 100644 index 00000000..fcd9e2ac Binary files /dev/null and b/public/img/favicon/ms-icon-70x70.png differ diff --git a/public/img/ico_a0_white.svg b/public/img/ico_a0_white.svg new file mode 100644 index 00000000..024150ce --- /dev/null +++ b/public/img/ico_a0_white.svg @@ -0,0 +1,18 @@ + + + + Shape + Created with Sketch. + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/ico_check.svg b/public/img/ico_check.svg new file mode 100644 index 00000000..ae40c66f --- /dev/null +++ b/public/img/ico_check.svg @@ -0,0 +1,16 @@ + + + + Shape Copy + Created with Sketch. + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/ico_check2.svg b/public/img/ico_check2.svg new file mode 100644 index 00000000..ae40c66f --- /dev/null +++ b/public/img/ico_check2.svg @@ -0,0 +1,16 @@ + + + + Shape Copy + Created with Sketch. + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/ico_close.svg b/public/img/ico_close.svg new file mode 100644 index 00000000..319c329f --- /dev/null +++ b/public/img/ico_close.svg @@ -0,0 +1,17 @@ + + + + Line 6 + Line 3 + Created with Sketch. + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/ico_edit.svg b/public/img/ico_edit.svg new file mode 100644 index 00000000..0c0dfef4 --- /dev/null +++ b/public/img/ico_edit.svg @@ -0,0 +1,14 @@ + + + + Shape + Created with Sketch. + + + + + + + + + \ No newline at end of file diff --git a/public/img/ico_enlarge.svg b/public/img/ico_enlarge.svg new file mode 100644 index 00000000..813c61ed --- /dev/null +++ b/public/img/ico_enlarge.svg @@ -0,0 +1,18 @@ + + + + Shape + Created with Sketch. + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/ico_github.svg b/public/img/ico_github.svg new file mode 100644 index 00000000..8f71cd46 --- /dev/null +++ b/public/img/ico_github.svg @@ -0,0 +1,16 @@ + + + + Github Logotype + Created with Sketch. + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/ico_logo.svg b/public/img/ico_logo.svg new file mode 100644 index 00000000..e3ced17f --- /dev/null +++ b/public/img/ico_logo.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/public/img/ico_question.svg b/public/img/ico_question.svg new file mode 100644 index 00000000..3fc527c8 --- /dev/null +++ b/public/img/ico_question.svg @@ -0,0 +1 @@ + diff --git a/public/img/ico_star.svg b/public/img/ico_star.svg new file mode 100644 index 00000000..048836e3 --- /dev/null +++ b/public/img/ico_star.svg @@ -0,0 +1,14 @@ + + + + Shape + Created with Sketch. + + + + + + + + + \ No newline at end of file diff --git a/public/img/ico_status.svg b/public/img/ico_status.svg new file mode 100644 index 00000000..af24ae42 --- /dev/null +++ b/public/img/ico_status.svg @@ -0,0 +1,23 @@ + + + + Shape Copy 16 + Shape Copy 15 + Created with Sketch. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/ico_twitter.svg b/public/img/ico_twitter.svg new file mode 100644 index 00000000..2b7a800a --- /dev/null +++ b/public/img/ico_twitter.svg @@ -0,0 +1,10 @@ + + + + Imported-Layers-2 + Created with Sketch. + + + + + \ No newline at end of file diff --git a/public/img/icon.svg b/public/img/icon.svg new file mode 100644 index 00000000..67ffc813 --- /dev/null +++ b/public/img/icon.svg @@ -0,0 +1,28 @@ + + + + Group + Created with Sketch. + + + + + \ No newline at end of file diff --git a/public/img/ja.facebook-card.png b/public/img/ja.facebook-card.png new file mode 100644 index 00000000..f69f3d3d Binary files /dev/null and b/public/img/ja.facebook-card.png differ diff --git a/public/img/ja.twitter-card.png b/public/img/ja.twitter-card.png new file mode 100644 index 00000000..eb028ab4 Binary files /dev/null and b/public/img/ja.twitter-card.png differ diff --git a/public/img/logo-asset.svg b/public/img/logo-asset.svg new file mode 100644 index 00000000..17252849 --- /dev/null +++ b/public/img/logo-asset.svg @@ -0,0 +1,27 @@ + + + + Group + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/logo.svg b/public/img/logo.svg new file mode 100644 index 00000000..0d3492ab --- /dev/null +++ b/public/img/logo.svg @@ -0,0 +1,16 @@ + + + + Shape + Created with Sketch. + + + + + \ No newline at end of file diff --git a/public/img/pic_logo.svg b/public/img/pic_logo.svg new file mode 100644 index 00000000..4afa1fb5 --- /dev/null +++ b/public/img/pic_logo.svg @@ -0,0 +1,27 @@ + + + + Group + Created with Sketch. + + + + + \ No newline at end of file diff --git a/public/img/pic_logo2.svg b/public/img/pic_logo2.svg new file mode 100644 index 00000000..8da0b207 --- /dev/null +++ b/public/img/pic_logo2.svg @@ -0,0 +1,35 @@ + + + + Group Copy 4 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/pic_logo3.svg b/public/img/pic_logo3.svg new file mode 100644 index 00000000..5569174f --- /dev/null +++ b/public/img/pic_logo3.svg @@ -0,0 +1,31 @@ + + + + Group Copy 5 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/pic_logo4.svg b/public/img/pic_logo4.svg new file mode 100644 index 00000000..24ef1a92 --- /dev/null +++ b/public/img/pic_logo4.svg @@ -0,0 +1,42 @@ + + + + JWT.IO Copy + Oval 17 + Rectangle 219 + Group Copy 5 + Created with Sketch. + + + + + + + + + + JWT.IO + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/pic_logo_ft.svg b/public/img/pic_logo_ft.svg new file mode 100644 index 00000000..c24832d1 --- /dev/null +++ b/public/img/pic_logo_ft.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/public/img/pic_tshirt.png b/public/img/pic_tshirt.png new file mode 100644 index 00000000..c2135808 Binary files /dev/null and b/public/img/pic_tshirt.png differ diff --git a/public/img/pic_tshirt_b.png b/public/img/pic_tshirt_b.png new file mode 100644 index 00000000..c2135808 Binary files /dev/null and b/public/img/pic_tshirt_b.png differ diff --git a/public/img/q.svg b/public/img/q.svg new file mode 100644 index 00000000..1ca0748d --- /dev/null +++ b/public/img/q.svg @@ -0,0 +1,8 @@ + + + + Layer 1 + + q) + + \ No newline at end of file diff --git a/public/img/twitter-card.png b/public/img/twitter-card.png new file mode 100644 index 00000000..381907ca Binary files /dev/null and b/public/img/twitter-card.png differ diff --git a/public/manifest.webmanifest b/public/manifest.webmanifest new file mode 100644 index 00000000..7bf6c8d1 --- /dev/null +++ b/public/manifest.webmanifest @@ -0,0 +1,21 @@ +{ + "name": "JSON Web Tokens", + "short_name": "JWT.io", + "description": "JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.", + "start_url": "/", + "display": "standalone", + "theme_color": "#111111", + "background_color": "#111111", + "icons": [ + { + "src": "/icon/192?79b95971ac6100cf", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/icon/512?79b95971ac6100cf", + "sizes": "512x512", + "type": "image/png" + } + ] +} diff --git a/src/app/[language]/introduction/page.tsx b/src/app/[language]/introduction/page.tsx new file mode 100644 index 00000000..20bc8d13 --- /dev/null +++ b/src/app/[language]/introduction/page.tsx @@ -0,0 +1,28 @@ +import React from "react"; +import { DEFAULT_LANGUAGE_CODE } from "@/features/localization/localization.config"; +import { PageProps } from "@/features/common/models/page.props"; +import { IntroductionPageComponent } from "@/features/introduction/components/introduction-page/introduction-page.component"; +import { PageMetadataProps } from "@/features/common/models/page-metadata.props"; +import { Metadata } from "next"; +import { getIntroductionDictionary } from "@/features/localization/services/language-dictionary.service"; +import { generatePageMetadata } from "@/libs/metadata/metadata.service"; +import { createUrlPath } from "@/libs/utils/path.utils"; +import { siteTree } from "@/features/seo/site-tree"; + +export async function generateMetadata({ + params: { language }, +}: PageMetadataProps): Promise { + const dictionary = getIntroductionDictionary(language); + + return generatePageMetadata({ + languageCode: language, + metadata: dictionary.metadata, + pagePath: createUrlPath([siteTree.root.sections.introduction.urlPath]), + }); +} + +export default function Introduction({ + params: { language: languageCode = DEFAULT_LANGUAGE_CODE }, +}: PageProps) { + return ; +} diff --git a/src/app/[language]/layout.tsx b/src/app/[language]/layout.tsx new file mode 100644 index 00000000..84ecb941 --- /dev/null +++ b/src/app/[language]/layout.tsx @@ -0,0 +1,60 @@ +import React from "react"; +import { Metadata } from "next"; +import { DEFAULT_LANGUAGE_CODE } from "@/features/localization/localization.config"; +import { cookies } from "next/headers"; +import { PREFERRED_THEME_COOKIE_KEY } from "@/features/themes/theme.config"; +import { PageLayoutComponent } from "@/features/common/components/layout/page-layout/page-layout.component"; +import { UseHashWarningComponent } from "@/features/decoder/components/use-hash-warning/use-hash-warning.component"; +import { PageMetadataProps } from "@/features/common/models/page-metadata.props"; +import { getHomeDictionary } from "@/features/localization/services/language-dictionary.service"; +import { generatePageMetadata } from "@/libs/metadata/metadata.service"; +import { createUrlPath } from "@/libs/utils/path.utils"; +import { siteTree } from "@/features/seo/site-tree"; +import { ThemeCookieValues } from "@/features/common/values/theme.values"; +import { getSanitizedThemeCookieValue } from "@/features/themes/services/theme.utils"; + +export async function generateStaticParams() { + return [{ language: "en" }]; +} + +export async function generateMetadata({ + params: { language }, +}: PageMetadataProps): Promise { + const dictionary = getHomeDictionary(language); + + return generatePageMetadata({ + languageCode: language, + metadata: dictionary.metadata, + pagePath: createUrlPath([siteTree.root.urlPath]), + canonical: `/${language}`, + }); +} + +export default function RootLayout({ + children, + params, +}: { + children: React.ReactNode; + params: { language: string }; +}) { + const { language: languageCode = DEFAULT_LANGUAGE_CODE } = params; + + const preferredThemeCookie = cookies().get(PREFERRED_THEME_COOKIE_KEY); + + const sanitizedThemeCookieValue = getSanitizedThemeCookieValue( + preferredThemeCookie?.value || null, + ); + + const initialThemeCookieValue = + sanitizedThemeCookieValue || ThemeCookieValues.SYSTEM_DARK; + + return ( + + {children} + + + ); +} diff --git a/src/app/[language]/libraries/page.tsx b/src/app/[language]/libraries/page.tsx new file mode 100644 index 00000000..253148e9 --- /dev/null +++ b/src/app/[language]/libraries/page.tsx @@ -0,0 +1,182 @@ +import React from "react"; +import { LibraryHeroComponent } from "@/features/libraries/components/library-hero/library-hero.component"; +import { readFileSync } from "fs"; +import { join } from "path"; +import { Auth0CtaComponent } from "@/features/common/components/auth0-cta/auth0-cta.component"; +import { LibraryResultsComponent } from "@/features/libraries/components/library-results/library-results.component"; +import { LibraryDictionaryModel } from "@/features/libraries/models/library-dictionary.model"; +import { LibraryCategoryModel } from "@/features/libraries/models/library-category.model"; +import { DATA_PATH } from "@/libs/config/project-paths.constants"; +import { DEFAULT_LANGUAGE_CODE } from "@/features/localization/localization.config"; +import { getLibrariesDictionary } from "@/features/localization/services/language-dictionary.service"; +import { LIBRARIES_FILTER_DEFAULT_VALUE } from "@/libs/config/project.constants"; +import { StructuredData } from "@/features/seo/components/structured-data.component"; +import { generateArticleStructuredData } from "@/features/seo/services/structured-data.service"; +import { PageMetadataProps } from "@/features/common/models/page-metadata.props"; +import { Metadata } from "next"; +import { generatePageMetadata } from "@/libs/metadata/metadata.service"; +import { createUrlPath } from "@/libs/utils/path.utils"; +import { siteTree } from "@/features/seo/site-tree"; +import { getAuth0Dictionary } from "@/features/localization/services/ui-language-dictionary.service"; + +export async function generateMetadata({ + params: { language }, +}: PageMetadataProps): Promise { + const dictionary = getLibrariesDictionary(language); + + return generatePageMetadata({ + languageCode: language, + metadata: dictionary.metadata, + pagePath: createUrlPath([siteTree.root.sections.introduction.urlPath]), + }); +} + +export default function Libraries({ + params: { language: languageCode = DEFAULT_LANGUAGE_CODE }, + searchParams, +}: { + params: { language: string }; + searchParams?: { + filter?: string; + }; +}) { + const librariesDictionary = getLibrariesDictionary(languageCode); + const auth0Dictionary = getAuth0Dictionary(languageCode); + + const source = readFileSync(join(DATA_PATH, "libraries-next.json"), { + encoding: "utf-8", + }); + + const query: string | null = searchParams?.filter || ""; + const dictionary = JSON.parse(source) as LibraryDictionaryModel; + + const categoryOptions: { id: string; name: string }[] = Object.values( + dictionary, + ).map((library) => ({ + id: library.id, + name: library.name, + })); + + let categories: LibraryCategoryModel[] = dictionary[query] + ? [dictionary[query]] + : Object.values(dictionary); + + return ( + <> + + + + + + ); +} diff --git a/src/app/[language]/page.tsx b/src/app/[language]/page.tsx new file mode 100644 index 00000000..4793d8e6 --- /dev/null +++ b/src/app/[language]/page.tsx @@ -0,0 +1,89 @@ +import React from "react"; +import { PageProps } from "@/features/common/models/page.props"; +import { cookies } from "next/headers"; +import { HomePageComponent } from "@/features/home/components/home-page/home-page.component"; +import { DEFAULT_LANGUAGE_CODE } from "@/features/localization/localization.config"; +import { PageMetadataProps } from "@/features/common/models/page-metadata.props"; +import { Metadata } from "next"; +import { getHomeDictionary } from "@/features/localization/services/language-dictionary.service"; +import { generatePageMetadata } from "@/libs/metadata/metadata.service"; +import { createUrlPath } from "@/libs/utils/path.utils"; +import { siteTree } from "@/features/seo/site-tree"; +import { + DEBUGGER_MODE_KEY, + DECODED_HEADER_DESCRIPTION_KEY, + DECODED_HEADER_FORMAT_KEY, + DECODED_PAYLOAD_DESCRIPTION_KEY, + DECODED_PAYLOAD_FORMAT_KEY, +} from "@/features/decoder/config/decoder.config"; +import { + JWT_INFO_STATE_KEY, + JWT_WARNING_STATE_KEY, +} from "@/features/home/config/home.config"; +import { HeroModalStateValues } from "@/features/home/values/hero-modal-state.values"; +import { getSanitizedHeroModalStateValue } from "@/features/common/services/hero.utils"; +import { getSanitizedDescriptionVisibilityValue } from "@/features/common/services/decoder.utils"; +import { ClaimDescriptionVisibilityValues } from "@/features/common/values/claim-description-visibility.values"; +import { getSanitizedDebuggerModeValues } from "@/features/common/services/debugger.utils"; +import { DebuggerModeValues } from "@/features/common/values/debugger-mode.values"; +import { dataTestidDictionary } from "@/libs/testing/data-testid.dictionary"; + +export async function generateMetadata({ + params: { language }, +}: PageMetadataProps): Promise { + const dictionary = getHomeDictionary(language); + + return generatePageMetadata({ + languageCode: language, + metadata: dictionary.metadata, + pagePath: createUrlPath([siteTree.root.urlPath]), + }); +} + +export default function Home({ + params: { language = DEFAULT_LANGUAGE_CODE }, +}: PageProps) { + const decodedHeaderInitialTabId = + cookies().get(DECODED_HEADER_FORMAT_KEY)?.value || + dataTestidDictionary.decoder.decodedHeader.json.id; + + const decodedPayloadInitialTabId = + cookies().get(DECODED_PAYLOAD_FORMAT_KEY)?.value || + dataTestidDictionary.decoder.decodedPayload.json.id; + + const decodedHeaderDescriptionVisibility = + getSanitizedDescriptionVisibilityValue( + cookies().get(DECODED_HEADER_DESCRIPTION_KEY)?.value || null, + ) || ClaimDescriptionVisibilityValues.VISIBLE; + const decodedPayloadDescriptionVisibility = + getSanitizedDescriptionVisibilityValue( + cookies().get(DECODED_PAYLOAD_DESCRIPTION_KEY)?.value || null, + ) || ClaimDescriptionVisibilityValues.VISIBLE; + + const jwtInfoState = + getSanitizedHeroModalStateValue( + cookies().get(JWT_INFO_STATE_KEY)?.value || null, + ) || HeroModalStateValues.OPEN; + const jwtWarningState = + getSanitizedHeroModalStateValue( + cookies().get(JWT_WARNING_STATE_KEY)?.value || null, + ) || HeroModalStateValues.OPEN; + + const debuggerInitialMode: DebuggerModeValues = + getSanitizedDebuggerModeValues( + cookies().get(DEBUGGER_MODE_KEY)?.value || null, + ) || DebuggerModeValues.SPLIT; + + return ( + + ); +} diff --git a/src/app/apple-icon.tsx b/src/app/apple-icon.tsx new file mode 100644 index 00000000..f594f156 --- /dev/null +++ b/src/app/apple-icon.tsx @@ -0,0 +1,155 @@ +import { ImageResponse } from "next/og"; + +export function generateImageMetadata() { + return [ + { + contentType: "image/png", + size: { width: 57, height: 57 }, + id: "57", + }, + { + contentType: "image/png", + size: { width: 60, height: 60 }, + id: "60", + }, + { + contentType: "image/png", + size: { width: 72, height: 72 }, + id: "72", + }, + { + contentType: "image/png", + size: { width: 76, height: 76 }, + id: "76", + }, + { + contentType: "image/png", + size: { width: 114, height: 114 }, + id: "114", + }, + { + contentType: "image/png", + size: { width: 120, height: 120 }, + id: "120", + }, + { + contentType: "image/png", + size: { width: 144, height: 144 }, + id: "144", + }, + { + contentType: "image/png", + size: { width: 152, height: 152 }, + id: "152", + }, + { + contentType: "image/png", + size: { width: 180, height: 180 }, + id: "180", + }, + { + contentType: "image/png", + size: { width: 256, height: 256 }, + id: "256", + }, + ]; +} + +export default function Icon({ id }: { id: string }) { + const { size } = generateImageMetadata().find((item) => item.id === id) || { + size: { width: 180, height: 180 }, + }; + const { height, width } = size; + + const padding = Math.round(width * 0.125); + const borderRadius = height > 100 ? "16px" : "8px"; + const svgSize = width - padding * 2; + + return new ImageResponse( + ( +
+ + + + + + + + + + + + +
+ ), + { + ...size, + }, + ); +} diff --git a/src/app/favicon.ico b/src/app/favicon.ico new file mode 100644 index 00000000..50612804 Binary files /dev/null and b/src/app/favicon.ico differ diff --git a/src/app/global-error.tsx b/src/app/global-error.tsx new file mode 100644 index 00000000..911ceda8 --- /dev/null +++ b/src/app/global-error.tsx @@ -0,0 +1,33 @@ +"use client"; + +import { UnexpectedErrorComponent } from "@/features/common/components/errors/unexpected-error/unexpected-error.component"; +import React from "react"; +import { getLayoutDictionary } from "@/features/localization/services/language-dictionary.service"; +import { DEFAULT_LANGUAGE_CODE } from "@/features/localization/localization.config"; +import { DEFAULT_THEME_VALUE } from "@/features/themes/theme.config"; +import { ErrorPageComponent } from "@/features/common/components/errors/error-page/error-page.component"; + +export default function GlobalError({ + reset, +}: { + error: Error & { digest?: string }; + reset: () => void; +}) { + const languageCode = DEFAULT_LANGUAGE_CODE; + const themeCode = DEFAULT_THEME_VALUE; + + const layoutDictionary = getLayoutDictionary(languageCode); + + return ( + + + + ); +} diff --git a/src/app/icon.tsx b/src/app/icon.tsx new file mode 100644 index 00000000..61cc18cc --- /dev/null +++ b/src/app/icon.tsx @@ -0,0 +1,135 @@ +import { ImageResponse } from "next/og"; + +export function generateImageMetadata() { + return [ + { + contentType: "image/png", + size: { width: 16, height: 16 }, + id: "16", + }, + { + contentType: "image/png", + size: { width: 32, height: 32 }, + id: "32", + }, + { + contentType: "image/png", + size: { width: 48, height: 48 }, + id: "48", + }, + { + contentType: "image/png", + size: { width: 320, height: 320 }, + id: "192", + }, + { + contentType: "image/png", + size: { width: 192, height: 192 }, + id: "192", + }, + { + contentType: "image/png", + size: { width: 512, height: 512 }, + id: "512", + }, + ]; +} + +export default function Icon({ id }: { id: string }) { + const { size } = generateImageMetadata().find((item) => item.id === id) || { + size: { width: 180, height: 180 }, + }; + const { height, width } = size; + + const padding = Math.round(width * 0.125); + const borderRadius = height > 100 ? "16px" : "8px"; + const svgSize = width - padding * 2; + + return new ImageResponse( + ( +
+ + + + + + + + + + + + +
+ ), + { + ...size, + }, + ); +} diff --git a/src/app/layout.tsx b/src/app/layout.tsx new file mode 100644 index 00000000..06490eda --- /dev/null +++ b/src/app/layout.tsx @@ -0,0 +1,33 @@ +import type { Metadata, Viewport } from "next"; +import React from "react"; +import { BASE_URL } from "@/libs/config/project.constants"; +import "@/libs/theme/styles/globals.scss"; + +declare global { + interface Window { + OneTrust: any; + OnetrustActiveGroups: any; + } +} + +export const viewport: Viewport = { + themeColor: "#111111", +}; + +export async function generateMetadata(): Promise { + return { + metadataBase: new URL(BASE_URL), + verification: { + google: process.env.NEXT_PUBLIC_GOOGLE_VERIFICATION_CODE, + }, + manifest: "/manifest.webmanifest", + }; +} + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}) { + return children; +} diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx new file mode 100644 index 00000000..2cdb2033 --- /dev/null +++ b/src/app/not-found.tsx @@ -0,0 +1,23 @@ +import React from "react"; +import { getLayoutDictionary } from "@/features/localization/services/language-dictionary.service"; +import { getLanguageCodeFromHeaders } from "@/features/localization/services/app-language.service"; +import { getThemeCodeFromCookies } from "@/features/themes/services/theme.service"; +import { ErrorPageComponent } from "@/features/common/components/errors/error-page/error-page.component"; +import { NotFoundComponent } from "@/features/common/components/errors/not-found/not-found.component"; + +export default function NotFound() { + const languageCode = getLanguageCodeFromHeaders(); + const themeCode = getThemeCodeFromCookies(); + + const layoutDictionary = getLayoutDictionary(languageCode); + + return ( + + + + ); +} diff --git a/src/app/robots.ts b/src/app/robots.ts new file mode 100644 index 00000000..5ea3c087 --- /dev/null +++ b/src/app/robots.ts @@ -0,0 +1,12 @@ +import { MetadataRoute } from "next"; +import { BASE_URL } from "@/libs/config/project.constants"; + +export default function robots(): MetadataRoute.Robots { + return { + rules: { + userAgent: "*", + allow: "/", + }, + sitemap: `${BASE_URL}/sitemap.xml`, + }; +} diff --git a/src/app/sitemap.ts b/src/app/sitemap.ts new file mode 100644 index 00000000..fcce47f3 --- /dev/null +++ b/src/app/sitemap.ts @@ -0,0 +1,19 @@ +import { MetadataRoute } from "next"; +import { BASE_URL } from "@/libs/config/project.constants"; + +export default function sitemap(): MetadataRoute.Sitemap { + return [ + { + url: BASE_URL, + lastModified: new Date(), + }, + { + url: `${BASE_URL}/introduction`, + lastModified: new Date(), + }, + { + url: `${BASE_URL}/libraries`, + lastModified: new Date(), + }, + ]; +} diff --git a/src/data/.gitkeep b/src/data/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/src/data/libraries-next.json b/src/data/libraries-next.json new file mode 100644 index 00000000..b955dd18 --- /dev/null +++ b/src/data/libraries-next.json @@ -0,0 +1,3996 @@ +{ + "dot-net": { + "id": "dot-net", + "name": ".NET", + "uniqueClass": "net", + "image": "/img/1.svg", + "bgColor": "rgb(42, 168, 229)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://www.microsoft.com/", + "authorName": "Microsoft", + "gitHubRepoPath": "AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet", + "repoUrl": "https://github.com/MSOpenTech/azure-activedirectory-identitymodel-extensions-for-dotnet", + "installCommandMarkdown": [ + "Install-Package", + "[System.IdentityModel.Tokens.Jwt](https://www.nuget.org/packages/System.IdentityModel.Tokens.Jwt/)" + ], + "stars": 1021 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/jwt-dotnet/jwt", + "authorName": "Alexander Batishchev", + "gitHubRepoPath": "jwt-dotnet/jwt", + "repoUrl": "https://github.com/jwt-dotnet/jwt", + "installCommandMarkdown": [ + "Install-Package", + "[JWT.NET](https://www.nuget.org/packages/JWT)" + ], + "stars": 2102 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://github.com/dvsekhvalnov/jose-jwt", + "authorName": "DV", + "gitHubRepoPath": "dvsekhvalnov/jose-jwt", + "repoUrl": "https://github.com/dvsekhvalnov/jose-jwt", + "installCommandMarkdown": [ + "Install-Package", + "[jose-jwt](https://www.nuget.org/packages/jose-jwt/)" + ], + "stars": 912 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true + }, + "authorUrl": "https://github.com/dvsekhvalnov/jose-rt", + "authorName": "DV", + "gitHubRepoPath": "dvsekhvalnov/jose-rt", + "repoUrl": "https://github.com/dvsekhvalnov/jose-rt", + "installCommandMarkdown": [ + "Install-Package", + "[jose-rt](https://www.nuget.org/packages/jose-rt/)" + ], + "stars": 18 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/nuscien/trivial/wiki/oauth", + "authorName": "Kingcean Tuan", + "gitHubRepoPath": "nuscien/trivial", + "repoUrl": "https://github.com/nuscien/trivial", + "installCommandMarkdown": [ + "Install-Package", + "[Trivial](https://www.nuget.org/packages/Trivial)" + ], + "stars": 34 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": false + }, + "authorUrl": "https://github.com/ycrumeyrolle", + "authorName": "Yann Crumeyrolle", + "gitHubRepoPath": "ycrumeyrolle/jwt", + "repoUrl": "https://github.com/ycrumeyrolle/jwt", + "installCommandMarkdown": [ + "Install-Package [JsonWebToken](https://www.nuget.org/packages/JsonWebToken)" + ], + "stars": 80 + } + ] + }, + "1c": { + "id": "1c", + "name": "1C", + "uniqueClass": "_1c", + "image": "/img/22.svg", + "bgColor": "rgb(251, 197, 61)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": false, + "hs512": false, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/pintov", + "authorName": "Vasily Pintov", + "gitHubRepoPath": "pintov/1c-jwt", + "repoUrl": "https://github.com/pintov/1c-jwt", + "installCommandMarkdown": [ + "git clone https://github.com/pintov/1c-jwt" + ], + "stars": 85 + } + ] + }, + "ada": { + "id": "ada", + "name": "Ada", + "uniqueClass": "ada", + "image": "/img/28.svg", + "bgColor": "#634421", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": false, + "hs512": false, + "rs256": true, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/reznikmm", + "authorName": "reznikmm", + "gitHubRepoPath": "reznikmm/jwt", + "repoUrl": "https://github.com/reznikmm/jwt", + "installCommandMarkdown": ["alr get jwt"], + "stars": 10 + } + ] + }, + "bun": { + "id": "bun", + "name": "Bun", + "uniqueClass": "bun", + "image": "/img/35.svg", + "bgColor": "rgb(251, 240, 223)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "typ": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true, + "es256k": false + }, + "authorUrl": "https://github.com/panva", + "authorName": "Filip Skokan", + "gitHubRepoPath": "panva/jose", + "repoUrl": "https://github.com/panva/jose", + "installCommandMarkdown": ["bun add jose"], + "stars": 4980 + } + ] + }, + "c": { + "id": "c", + "name": "C", + "uniqueClass": "c", + "image": "/img/16.svg", + "bgColor": "rgb(81, 128, 210)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/benmcollins", + "authorName": "benmcollins", + "gitHubRepoPath": "benmcollins/libjwt", + "repoUrl": "https://github.com/benmcollins/libjwt", + "installCommandMarkdown": ["add-apt-repository ppa:ben-collins/libjwt"], + "stars": 335 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://github.com/cisco/cjose", + "authorName": "linuxwolf", + "gitHubRepoPath": "cisco/cjose", + "repoUrl": "https://github.com/cisco/cjose", + "installCommandMarkdown": [ + "git clone [https://github.com/cisco/cjose.git](https://github.com/cisco/cjose) && cd cjose && ./configure && make" + ], + "stars": 101 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "typ": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "es256k": true, + "eddsa": true + }, + "authorUrl": "https://github.com/GlitchedPolygons", + "authorName": "Glitched Polygons", + "gitHubRepoPath": "GlitchedPolygons/l8w8jwt", + "repoUrl": "https://github.com/GlitchedPolygons/l8w8jwt", + "installCommandMarkdown": [ + "git clone [https://github.com/GlitchedPolygons/l8w8jwt.git](https://github.com/GlitchedPolygons/l8w8jwt)" + ], + "stars": 130 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/TomzBench/jsmn-web-tokens", + "authorName": "Thomas", + "gitHubRepoPath": "TomzBench/jsmn-web-tokens", + "repoUrl": "https://github.com/TomzBench/jsmn-web-tokens", + "installCommandMarkdown": [ + "git clone [https://github.com/TomzBench/jsmn-web-tokens.git](https://github.com/TomzBench/jsmn-web-tokens) && cd jsmn-web-tokens && cmake . && cmake --build . --target install" + ], + "stars": 9 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "typ": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true, + "es256k": false + }, + "authorUrl": "https://babelouest.github.io/", + "authorName": "babelouest", + "gitHubRepoPath": "babelouest/rhonabwy", + "repoUrl": "https://github.com/babelouest/rhonabwy", + "installCommandMarkdown": [ + "[Download release package](https://github.com/babelouest/rhonabwy/releases/latest) or [install from source](https://github.com/babelouest/rhonabwy)" + ], + "stars": 43 + }, + { + "minimumVersion": "2.0.0", + "support": { + "sign": false, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "typ": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": false, + "es256k": false + }, + "authorUrl": "https://comcast.github.io/", + "authorName": "Comcast", + "gitHubRepoPath": "xmidt-org/cjwt", + "repoUrl": "https://github.com/xmidt-org/cjwt", + "installCommandMarkdown": [ + "git clone [https://github.com/xmidt-org/cjwt.git](https://github.com/xmidt-org/cjwt)" + ], + "stars": 15 + } + ] + }, + "c-plus-plus": { + "id": "c-plus-plus", + "name": "C++", + "uniqueClass": "cpp", + "image": "/img/26.svg", + "bgColor": "rgb(0, 89, 156)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true + }, + "authorUrl": "https://github.com/troian", + "authorName": "Artur Troian", + "gitHubRepoPath": "troian/jwtpp", + "repoUrl": "https://github.com/troian/jwtpp", + "installCommandMarkdown": ["git clone https://github.com/troian/jwtpp"], + "stars": 65 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "typ": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es256k": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true + }, + "authorUrl": "https://github.com/Thalhammer", + "authorName": "Dominik Thalhammer", + "gitHubRepoPath": "Thalhammer/jwt-cpp", + "repoUrl": "https://github.com/Thalhammer/jwt-cpp", + "installCommandMarkdown": [ + "git clone https://github.com/Thalhammer/jwt-cpp" + ], + "stars": 804 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/arun11299", + "authorName": "Arun Muralidharan", + "gitHubRepoPath": "arun11299/cpp-jwt", + "repoUrl": "https://github.com/arun11299/cpp-jwt", + "installCommandMarkdown": [ + "git clone https://github.com/arun11299/cpp-jwt" + ], + "stars": 381 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false, + "eddsa": false + }, + "authorUrl": "https://github.com/pokowaka", + "authorName": "Erwin Jansen", + "gitHubRepoPath": "pokowaka/jwt-cpp", + "repoUrl": "https://github.com/pokowaka/jwt-cpp", + "installCommandMarkdown": [ + "git clone https://github.com/pokowaka/jwt-cpp" + ], + "stars": 99 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/pocoproject", + "authorName": "POCO C++ Libraries", + "gitHubRepoPath": "pocoproject/poco", + "repoUrl": "https://github.com/pocoproject/poco", + "installCommandMarkdown": [ + "git clone https://github.com/pocoproject/poco.git" + ], + "stars": 7992 + } + ] + }, + "cfml": { + "id": "cfml", + "name": "CFML", + "uniqueClass": "cfml", + "image": "/img/31.svg", + "bgColor": "rgb(101,143,170)", + "libs": [ + { + "minimumVersion": "CF11", + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": false, + "aud": true, + "exp": true, + "nbf": true, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/jcberquist", + "authorName": "John Berquist", + "gitHubRepoPath": "jcberquist/jwt-cfml", + "repoUrl": "https://github.com/jcberquist/jwt-cfml", + "installCommandMarkdown": [ + "git clone https://github.com/jcberquist/jwt-cfml" + ], + "stars": 33 + } + ] + }, + "clojure": { + "id": "clojure", + "name": "Clojure", + "uniqueClass": "clojure", + "image": "/img/13.svg", + "bgColor": "rgb(88, 129, 216)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://github.com/niwinz", + "authorName": "Andrey Antukh", + "gitHubRepoPath": "funcool/buddy", + "repoUrl": "https://github.com/funcool/buddy/", + "installCommandMarkdown": ["lein: [funcool/buddy \"2.0.0\"]"], + "stars": 825 + } + ] + }, + "crystal": { + "id": "crystal", + "name": "Crystal", + "uniqueClass": "crystal", + "image": "/img/21.svg", + "bgColor": "rgb(176, 176, 176)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/greyblake", + "authorName": "Sergey Potapov", + "gitHubRepoPath": "crystal-community/jwt", + "repoUrl": "https://github.com/crystal-community/jwt", + "installCommandMarkdown": [ + "git clone https://github.com/crystal-community/jwt.git" + ], + "stars": 205 + } + ] + }, + "d": { + "id": "d", + "name": "D", + "uniqueClass": "d", + "image": "/img/14.svg", + "bgColor": "rgb(180, 65, 55)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/olehlong", + "authorName": "olehlong", + "gitHubRepoPath": "olehlong/jwtd", + "repoUrl": "https://github.com/olehlong/jwtd", + "installCommandMarkdown": ["dub fetch jwtd"], + "stars": 29 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": true, + "nbf": true, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/zolamk", + "authorName": "zolamk", + "gitHubRepoPath": "zolamk/jwt", + "repoUrl": "https://github.com/zolamk/jwt", + "installCommandMarkdown": ["dub fetch jwt"], + "stars": 4 + } + ] + }, + "dart": { + "id": "dart", + "name": "Dart", + "uniqueClass": "dart", + "image": "/img/36.png", + "bgColor": "rgb(2, 89, 156)", + "libs": [ + { + "minimumVersion": "2.7.0", + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "typ": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "eddsa": true, + "ps256": true, + "ps384": true, + "ps512": true, + "es256k": true + }, + "authorUrl": "https://github.com/jonasroussel", + "authorName": "Jonas Roussel", + "gitHubRepoPath": "jonasroussel/dart_jsonwebtoken", + "repoUrl": "https://github.com/jonasroussel/dart_jsonwebtoken", + "installCommandMarkdown": ["dart pub add dart_jsonwebtoken"], + "stars": 81 + } + ] + }, + "delphi": { + "id": "delphi", + "name": "Delphi", + "uniqueClass": "delphi", + "image": "/img/17.svg", + "bgColor": "rgb(227, 28, 35)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "typ": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es256k": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false, + "eddsa": false + }, + "authorUrl": "https://github.com/paolo-rossi", + "authorName": "Paolo Rossi", + "gitHubRepoPath": "paolo-rossi/delphi-jose-jwt", + "repoUrl": "https://github.com/paolo-rossi/delphi-jose-jwt", + "installCommandMarkdown": [ + "git clone https://github.com/paolo-rossi/delphi-jose-jwt" + ], + "stars": 435 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": false, + "hs512": false, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": true, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/synopse", + "authorName": "Synopse", + "gitHubRepoPath": "synopse/mORMot", + "repoUrl": "https://github.com/synopse/mORMot", + "installCommandMarkdown": [ + "git clone https://github.com/synopse/mORMot" + ], + "stars": 777 + } + ] + }, + "deno": { + "id": "deno", + "name": "Deno", + "uniqueClass": "deno", + "image": "/img/33.png", + "bgColor": "rgb(0, 0, 0)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "typ": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": false, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true, + "es256k": false + }, + "authorUrl": "https://github.com/panva", + "authorName": "Filip Skokan", + "gitHubRepoPath": "panva/jose", + "repoUrl": "https://github.com/panva/jose", + "installCommandMarkdown": ["see https://deno.land/x/jose"], + "stars": 4980 + } + ] + }, + "elixir": { + "id": "elixir", + "name": "Elixir", + "uniqueClass": "elixir", + "image": "/img/18.svg", + "bgColor": "rgb(78, 42, 142)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": null, + "authorName": "Fleshman", + "gitHubRepoPath": "garyf/json_web_token_ex", + "repoUrl": "https://github.com/garyf/json_web_token_ex", + "installCommandMarkdown": [ + "defp deps, do: [{:json_web_token, \"~> 0.2.5\"}]" + ], + "stars": 141 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "eddsa": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": null, + "authorName": "bryanjos", + "gitHubRepoPath": "bryanjos/joken", + "repoUrl": "https://github.com/bryanjos/joken", + "installCommandMarkdown": ["defp deps, do: [{:joken, \"~> 1.2\"}]"], + "stars": 748 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true + }, + "authorUrl": null, + "authorName": "hassox", + "gitHubRepoPath": "ueberauth/guardian", + "repoUrl": "https://github.com/ueberauth/guardian", + "installCommandMarkdown": [ + "defp deps, do: [{:guardian, \"~> 1.0 \"}]" + ], + "stars": 3390 + } + ] + }, + "erlang": { + "id": "erlang", + "name": "Erlang", + "uniqueClass": "erlang", + "image": "/img/27.svg", + "bgColor": "rgb(169, 5, 51)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/glejeune", + "authorName": "Gregoire Lejeune", + "gitHubRepoPath": "G-Corp/jwerl", + "repoUrl": "https://github.com/G-Corp/jwerl", + "installCommandMarkdown": [ + "git clone https://github.com/G-Corp/jwerl.git" + ], + "stars": 44 + } + ] + }, + "go": { + "id": "go", + "name": "Go", + "uniqueClass": "go", + "image": "/img/8.svg", + "bgColor": "rgb(71, 182, 196)", + "libs": [ + { + "minimumVersion": "v3.2.2", + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true + }, + "authorUrl": "https://github.com/golang-jwt", + "authorName": "golang-jwt", + "gitHubRepoPath": "golang-jwt/jwt", + "repoUrl": "https://github.com/golang-jwt/jwt", + "installCommandMarkdown": [ + "go get [github.com/golang-jwt/jwt/v5](https://pkg.go.dev/github.com/golang-jwt/jwt/v5)" + ], + "stars": 6587 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://github.com/dvsekhvalnov/jose2go", + "authorName": "DV", + "gitHubRepoPath": "dvsekhvalnov/jose2go", + "repoUrl": "https://github.com/dvsekhvalnov/jose2go", + "installCommandMarkdown": [ + "go get [github.com/dvsekhvalnov/jose2go](https://godoc.org/github.com/dvsekhvalnov/jose2go)" + ], + "stars": 184 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://github.com/SermoDigital/jose", + "authorName": "SermoDigital", + "gitHubRepoPath": "SermoDigital/jose", + "repoUrl": "https://github.com/SermoDigital/jose", + "installCommandMarkdown": [ + "go get [github.com/SermoDigital/jose](https://godoc.org/github.com/SermoDigital/jose)" + ], + "stars": 914 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": false, + "hs512": true, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/robbert229", + "authorName": "robbert229", + "gitHubRepoPath": "robbert229/jwt", + "repoUrl": "https://github.com/robbert229/jwt", + "installCommandMarkdown": [ + "go get [github.com/robbert229/jwt](https://godoc.org/github.com/robbert229/jwt)" + ], + "stars": 105 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://github.com/square", + "authorName": "DV", + "gitHubRepoPath": "square/go-jose", + "repoUrl": "https://github.com/square/go-jose", + "installCommandMarkdown": [ + "go get [github.com/square/go-jose](https://godoc.org/github.com/square/go-jose)" + ], + "stars": 1980 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es256k": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true + }, + "authorUrl": "https://github.com/lestrrat", + "authorName": "lestrrat", + "gitHubRepoPath": "lestrrat-go/jwx", + "repoUrl": "https://github.com/lestrrat-go/jwx", + "installCommandMarkdown": [ + "go get [github.com/lestrrat-go/jwx](https://godoc.org/github.com/lestrrat-go/jwx)" + ], + "stars": 1819 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": true, + "nbf": true, + "iat": false, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true + }, + "authorUrl": "https://github.com/adam-hanna", + "authorName": "adam-hanna", + "gitHubRepoPath": "adam-hanna/jwt-auth", + "repoUrl": "https://github.com/adam-hanna/jwt-auth", + "installCommandMarkdown": [ + "go get [github.com/adam-hanna/jwt-auth](https://godoc.org/github.com/adam-hanna/jwt-auth)" + ], + "stars": 233 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": true, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": false, + "hs512": false, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/nickvellios", + "authorName": "nickvellios", + "gitHubRepoPath": "nickvellios/gojwt", + "repoUrl": "https://github.com/nickvellios/gojwt", + "installCommandMarkdown": [ + "go get [github.com/nickvellios/gojwt](https://godoc.org/github.com/nickvellios/gojwt)" + ], + "stars": 12 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://github.com/gbrlsnchs", + "authorName": "Gabriel Sanches", + "gitHubRepoPath": "gbrlsnchs/jwt", + "repoUrl": "https://github.com/gbrlsnchs/jwt", + "installCommandMarkdown": [ + "GO111MODULE=on go get [github.com/gbrlsnchs/jwt/v3](https://godoc.org/github.com/gbrlsnchs/jwt)" + ], + "stars": 452 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true + }, + "authorUrl": "https://github.com/pascaldekloe", + "authorName": "Pascal de Kloe", + "gitHubRepoPath": "pascaldekloe/jwt", + "repoUrl": "https://github.com/pascaldekloe/jwt", + "installCommandMarkdown": [ + "go get [github.com/pascaldekloe/jwt](https://godoc.org/github.com/pascaldekloe/jwt)" + ], + "stars": 351 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": false, + "hs512": false, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/brianvoe", + "authorName": "Brian Voelker", + "gitHubRepoPath": "brianvoe/sjwt", + "repoUrl": "https://github.com/brianvoe/sjwt", + "installCommandMarkdown": [ + "go get [github.com/brianvoe/sjwt](https://godoc.org/github.com/brianvoe/sjwt)" + ], + "stars": 118 + }, + { + "minimumVersion": "1.12", + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true + }, + "authorUrl": "https://github.com/cristalhq", + "authorName": "Oleg Kovalov", + "gitHubRepoPath": "cristalhq/jwt", + "repoUrl": "https://github.com/cristalhq/jwt", + "installCommandMarkdown": ["go get github.com/cristalhq/jwt"], + "stars": 648 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": false, + "aud": false, + "exp": true, + "nbf": true, + "iat": false, + "jti": false, + "hs256": false, + "hs384": false, + "hs512": false, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "es256k": false, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true + }, + "authorUrl": "https://github.com/gilbsgilbs", + "authorName": "gilbsgilbs", + "gitHubRepoPath": "gilbsgilbs/jwit", + "repoUrl": "https://github.com/gilbsgilbs/jwit", + "installCommandMarkdown": [ + "go get [github.com/gilbsgilbs/jwit](https://pkg.go.dev/github.com/gilbsgilbs/jwit)" + ], + "stars": 5 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true + }, + "authorUrl": "https://github.com/kataras", + "authorName": "kataras", + "gitHubRepoPath": "kataras/jwt", + "repoUrl": "https://github.com/kataras/jwt", + "installCommandMarkdown": [ + "go get [github.com/kataras/jwt](https://pkg.go.dev/github.com/kataras/jwt)" + ], + "stars": 194 + } + ] + }, + "groovy": { + "id": "groovy", + "name": "Groovy", + "uniqueClass": "groovy", + "image": "/img/24.svg", + "bgColor": "rgb(99, 152, 170)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": false, + "hs512": false, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/kaleidos", + "authorName": "Kaleidos", + "gitHubRepoPath": "kaleidos/grails-security-stateless", + "repoUrl": "https://github.com/kaleidos/grails-security-stateless", + "installCommandMarkdown": [ + "compile \"org.grails.plugins:security-stateless:0.0.9\"" + ], + "stars": 17 + } + ] + }, + "harbour": { + "id": "harbour", + "name": "Harbour", + "uniqueClass": "jwt", + "image": "/img/34.png", + "bgColor": "rgb(227, 28, 35)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "typ": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false, + "eddsa": false, + "es256k": false + }, + "authorUrl": "https://github.com/matteobaccan", + "authorName": "Matteo Baccan", + "gitHubRepoPath": "matteobaccan/HarbourJwt", + "repoUrl": "https://github.com/matteobaccan/HarbourJwt", + "installCommandMarkdown": [ + "see https://github.com/matteobaccan/HarbourJwt" + ], + "stars": 4 + } + ] + }, + "haskell": { + "id": "haskell", + "name": "Haskell", + "uniqueClass": "haskell", + "image": "/img/9.svg", + "bgColor": "rgb(102, 102, 102)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": false, + "hs512": false, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://hackage.haskell.org/package/jwt", + "authorName": "Brian McKenna", + "gitHubRepoPath": null, + "altRepoPath": "puffnfresh/haskell-jwt", + "repoUrl": "https://bitbucket.org/puffnfresh/haskell-jwt", + "installCommandMarkdown": ["cabal install jwt"] + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": false, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://github.com/frasertweedale", + "authorName": "Fraser Tweedale", + "gitHubRepoPath": "frasertweedale/hs-jose", + "repoUrl": "https://github.com/frasertweedale/hs-jose", + "installCommandMarkdown": ["cabal install jose"], + "stars": 122 + } + ] + }, + "haxe": { + "id": "haxe", + "name": "Haxe", + "uniqueClass": "haxe", + "image": "/img/23.svg", + "bgColor": "rgb(234, 130, 32)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": false, + "aud": true, + "exp": true, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": false, + "hs512": false, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/kevinresol", + "authorName": "Kevin Leung", + "gitHubRepoPath": "kevinresol/jsonwebtoken", + "repoUrl": "https://github.com/kevinresol/jsonwebtoken", + "installCommandMarkdown": ["haxelib install jsonwebtoken"], + "stars": 26 + } + ] + }, + "java": { + "id": "java", + "name": "Java", + "uniqueClass": "java", + "image": "/img/3.svg", + "bgColor": "rgb(231, 111, 0)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/auth0", + "authorName": "Auth0", + "gitHubRepoPath": "auth0/java-jwt", + "repoUrl": "https://github.com/auth0/java-jwt", + "installCommandMarkdown": ["maven: com.auth0 / java-jwt / 3.3.0"], + "stars": 5735 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "typ": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "es256k": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true + }, + "authorUrl": "https://twitter.com/__b_c", + "authorName": "Brian Campbell", + "gitHubRepoPath": null, + "altRepoPath": "b_c/jose4j", + "repoUrl": "https://bitbucket.org/b_c/jose4j", + "installCommandMarkdown": ["maven: org.bitbucket.b_c / jose4j / 0.9.3"] + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": false, + "aud": true, + "exp": true, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://github.com/connect2id", + "authorName": "connect2id", + "gitHubRepoPath": null, + "altRepoPath": "connect2id/nimbus-jose-jwt", + "repoUrl": "https://bitbucket.org/connect2id/nimbus-jose-jwt", + "installCommandMarkdown": [ + "maven: com.nimbusds / nimbus-jose-jwt / 5.7" + ] + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://twitter.com/lhazlewood", + "authorName": "Les Hazlewood", + "gitHubRepoPath": "jwtk/jjwt", + "repoUrl": "https://github.com/jwtk/jjwt", + "installCommandMarkdown": [ + "maven: io.jsonwebtoken / jjwt-root / 0.11.1" + ], + "stars": 9940 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://github.com/fusionauth", + "authorName": "FusionAuth", + "gitHubRepoPath": "fusionauth/fusionauth-jwt", + "repoUrl": "https://github.com/fusionauth/fusionauth-jwt", + "installCommandMarkdown": [ + "maven: io.fusionauth / fusionauth-jwt / 5.2.2" + ], + "stars": 159 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true + }, + "authorUrl": "https://github.com/vert-x3", + "authorName": "Vert.x", + "gitHubRepoPath": "vert-x3/vertx-auth", + "repoUrl": "https://github.com/vert-x3/vertx-auth", + "installCommandMarkdown": ["maven: io.vertx / vertx-auth-jwt / 3.5.1"], + "stars": 10 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es256k": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "EdDSA": true + }, + "authorUrl": "https://github.com/inverno-io", + "authorName": "Inverno Framework", + "gitHubRepoPath": "inverno-io/inverno-mods/tree/master/inverno-security-jose", + "repoUrl": "https://github.com/inverno-io/inverno-mods/tree/master/inverno-security-jose", + "installCommandMarkdown": [ + "maven: io.inverno.mod / inverno-security-jose / 1.5.2" + ], + "stars": 11 + } + ] + }, + "javascript": { + "id": "javascript", + "name": "JavaScript", + "uniqueClass": "js", + "image": "/img/6.svg", + "bgColor": "rgb(239, 200, 37)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "typ": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true, + "es256k": false + }, + "authorUrl": "https://github.com/panva", + "authorName": "Filip Skokan", + "gitHubRepoPath": "panva/jose", + "repoUrl": "https://github.com/panva/jose", + "installCommandMarkdown": ["npm install jose"], + "stars": 4980 + }, + { + "minimumVersion": "3.2.0", + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": false + }, + "authorUrl": "https://github.com/kjur", + "authorName": "Kenji Urushima", + "gitHubRepoPath": "kjur/jsrsasign", + "repoUrl": "https://github.com/kjur/jsrsasign", + "installCommandMarkdown": ["npm install jsrsasign"], + "stars": 3218 + }, + { + "minimumVersion": "0.9.4", + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": false, + "es256k": false + }, + "authorUrl": "https://github.com/cisco", + "authorName": "Cisco Systems", + "gitHubRepoPath": "cisco/node-jose", + "repoUrl": "https://github.com/cisco/node-jose", + "installCommandMarkdown": ["npm install node-jose"], + "stars": 693 + } + ] + }, + "kdb-q": { + "id": "kdb-q", + "name": "kdb+/Q", + "uniqueClass": "q", + "image": "/img/q.svg", + "bgColor": "rgb(102, 102, 102)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/tjcelaya", + "authorName": "tjcelaya", + "gitHubRepoPath": "tjcelaya/jwt.q", + "repoUrl": "https://github.com/tjcelaya/jwt.q", + "installCommandMarkdown": [ + "git clone https://github.com/tjcelaya/jwt.q" + ], + "stars": 7 + } + ] + }, + "kotlin": { + "id": "kotlin", + "name": "Kotlin", + "uniqueClass": "kotlin", + "image": "/img/29.svg", + "bgColor": "#f3750d", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": false, + "iat": true, + "jti": false, + "hs256": false, + "hs384": false, + "hs512": false, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": true, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/PhilJay", + "authorName": "PhilJay", + "gitHubRepoPath": "PhilJay/JWT", + "repoUrl": "https://github.com/PhilJay/JWT", + "installCommandMarkdown": ["maven: com.github.PhilJay / JWT / 1.1.5"], + "stars": 57 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es256k": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/nefilim", + "authorName": "nefilim", + "gitHubRepoPath": "nefilim/kJWT", + "repoUrl": "https://github.com/nefilim/kJWT", + "installCommandMarkdown": [ + "maven GAV: io.github.nefilim.kjwt:kjwt-core:0.3.0" + ], + "stars": 78 + } + ] + }, + "lua": { + "id": "lua", + "name": "Lua", + "uniqueClass": "lua", + "image": "/img/11.svg", + "bgColor": "rgb(0, 0, 128)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": true, + "nbf": true, + "iat": false, + "jti": false, + "hs256": true, + "hs384": false, + "hs512": true, + "rs256": true, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/SkyLothar", + "authorName": "SkyLothar", + "gitHubRepoPath": "SkyLothar/lua-resty-jwt", + "repoUrl": "https://github.com/SkyLothar/lua-resty-jwt", + "installCommandMarkdown": [ + "git clone https://github.com/SkyLothar/lua-resty-jwt.git" + ], + "stars": 505 + } + ] + }, + "node-js": { + "id": "node-js", + "name": "Node.js", + "uniqueClass": "node", + "image": "/img/2.svg", + "bgColor": "rgb(138, 194, 68)", + "libs": [ + { + "minimumVersion": "4.2.2", + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "typ": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": false, + "es256k": false + }, + "authorUrl": "https://github.com/auth0", + "authorName": "Auth0", + "gitHubRepoPath": "auth0/node-jsonwebtoken", + "repoUrl": "https://github.com/auth0/node-jsonwebtoken", + "installCommandMarkdown": ["npm install jsonwebtoken"], + "stars": 17446 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "typ": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true, + "es256k": true + }, + "authorUrl": "https://github.com/panva", + "authorName": "Filip Skokan", + "gitHubRepoPath": "panva/jose", + "repoUrl": "https://github.com/panva/jose", + "installCommandMarkdown": ["npm install jose"], + "stars": 4980 + }, + { + "minimumVersion": null, + "support": { + "sign": false, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "typ": true, + "hs256": false, + "hs384": false, + "hs512": false, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false, + "eddsa": false, + "es256k": false + }, + "authorUrl": "https://github.com/orgs/awslabs", + "authorName": "AWS", + "gitHubRepoPath": "awslabs/aws-jwt-verify", + "repoUrl": "https://github.com/awslabs/aws-jwt-verify", + "installCommandMarkdown": ["npm install aws-jwt-verify"], + "stars": 587 + } + ] + }, + "objective-c": { + "id": "objective-c", + "name": "Objective-C", + "uniqueClass": "objective-c", + "image": "/img/20.svg", + "bgColor": "#aaaaaa", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": null, + "authorName": "yourkarma & lolgear", + "gitHubRepoPath": "yourkarma/JWT", + "repoUrl": "https://github.com/yourkarma/JWT", + "installCommandMarkdown": ["pod 'JWT'"], + "stars": 349 + } + ] + }, + "ocaml": { + "id": "ocaml", + "name": "OCaml", + "uniqueClass": "ocaml", + "image": "/img/30.svg", + "bgColor": "rgb(242, 145, 0)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": false, + "hs512": false, + "rs256": true, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/ulrikstrid", + "authorName": "Ulrik Strid", + "gitHubRepoPath": "ulrikstrid/reason-jose", + "repoUrl": "https://github.com/ulrikstrid/reason-jose", + "installCommandMarkdown": ["opam install jose"], + "stars": 53 + } + ] + }, + "perl": { + "id": "perl", + "name": "Perl", + "uniqueClass": "perl", + "image": "/img/19.svg", + "bgColor": "rgb(59, 71, 122)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "es256k": true, + "eddsa": true + }, + "authorUrl": "https://github.com/DCIT", + "authorName": "Karel Miko", + "gitHubRepoPath": "DCIT/perl-Crypt-JWT", + "repoUrl": "https://github.com/DCIT/perl-Crypt-JWT", + "installCommandMarkdown": ["cpanm Crypt::JWT"], + "stars": 54 + } + ] + }, + "php": { + "id": "php", + "name": "PHP", + "uniqueClass": "php", + "image": "/img/5.svg", + "bgColor": "rgb(119, 123, 180)", + "libs": [ + { + "minimumVersion": "2.0.0", + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": false, + "aud": false, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false, + "eddsa": true, + "es256k": false + }, + "authorUrl": "https://github.com/firebase", + "authorName": "Firebase", + "gitHubRepoPath": "firebase/php-jwt", + "repoUrl": "https://github.com/firebase/php-jwt", + "installCommandMarkdown": ["composer require firebase/php-jwt"], + "stars": 9259 + }, + { + "minimumVersion": "4.1.0", + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "eddsa": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/lcobucci", + "authorName": "Luís Cobucci", + "gitHubRepoPath": "lcobucci/jwt", + "repoUrl": "https://github.com/lcobucci/jwt", + "installCommandMarkdown": ["composer require lcobucci/jwt"], + "stars": 7206 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/emarref", + "authorName": "Emarref", + "gitHubRepoPath": "emarref/jwt", + "repoUrl": "https://github.com/emarref/jwt", + "installCommandMarkdown": ["composer require emarref/jwt"], + "stars": 93 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": false, + "es384": false, + "es512": false, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://github.com/nov", + "authorName": "Nov Matake", + "gitHubRepoPath": "nov/jose-php", + "repoUrl": "https://github.com/nov/jose-php", + "installCommandMarkdown": ["composer require gree/jose"], + "stars": 137 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true, + "es256k": true + }, + "authorUrl": "https://github.com/Spomky", + "authorName": "Spomky", + "gitHubRepoPath": "web-token/jwt-framework", + "repoUrl": "https://github.com/web-token/jwt-framework", + "installCommandMarkdown": ["composer require web-token/jwt-framework"], + "stars": 864 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": false, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false + }, + "authorUrl": "https://github.com/vaibhavpandeyvpz", + "authorName": "Vaibhav Pandey", + "gitHubRepoPath": "vaibhavpandeyvpz/jweety", + "repoUrl": "https://github.com/vaibhavpandeyvpz/jweety", + "installCommandMarkdown": ["composer require vaibhavpandeyvpz/jweety"], + "stars": 9 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/cdoco", + "authorName": "ZiHang Gao", + "gitHubRepoPath": "cdoco/php-jwt", + "repoUrl": "https://github.com/cdoco/php-jwt", + "installCommandMarkdown": [ + "git clone https://github.com/cdoco/php-jwt" + ], + "stars": 230 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": false, + "aud": false, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/adhocore", + "authorName": "Jitendra Adhikari", + "gitHubRepoPath": "adhocore/jwt", + "repoUrl": "https://github.com/adhocore/jwt", + "installCommandMarkdown": ["composer require adhocore/jwt"], + "stars": 284 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/miladrahimi", + "authorName": "Milad Rahimi", + "gitHubRepoPath": "miladrahimi/php-jwt", + "repoUrl": "https://github.com/miladrahimi/php-jwt", + "installCommandMarkdown": ["composer require miladrahimi/php-jwt"], + "stars": 60 + }, + { + "minimumVersion": "7.2.1", + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": false, + "es384": false, + "es512": false + }, + "authorUrl": "https://github.com/nowakowskir", + "authorName": "Radosław Nowakowski", + "gitHubRepoPath": "nowakowskir/php-jwt", + "repoUrl": "https://github.com/nowakowskir/php-jwt", + "installCommandMarkdown": ["composer require nowakowskir/php-jwt"], + "stars": 37 + } + ] + }, + "postgresql": { + "id": "postgresql", + "name": "PostgreSQL", + "uniqueClass": "postgresql", + "image": "/img/25.svg", + "bgColor": "rgb(51, 103, 145)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/michelp", + "authorName": "Michel Pelletier", + "gitHubRepoPath": "michelp/pgjwt", + "repoUrl": "https://github.com/michelp/pgjwt", + "installCommandMarkdown": ["CREATE EXTENSION pgjwt;"], + "stars": 354 + } + ] + }, + "powershell": { + "id": "powershell", + "name": "PowerShell", + "uniqueClass": "powershell", + "image": "/img/32.svg", + "bgColor": "rgb(25,40,57)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": false, + "hs512": false, + "rs256": true, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/SP3269", + "authorName": "Svyatoslav Pidgorny", + "gitHubRepoPath": "SP3269/posh-jwt", + "repoUrl": "https://github.com/SP3269/posh-jwt", + "installCommandMarkdown": ["Install-Module JWT"], + "stars": 44 + }, + { + "minimumVersion": "6.0.0", + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/DigitalAXPP", + "authorName": "Alexander Piepenhagen", + "gitHubRepoPath": "DigitalAXPP/jwtPS", + "repoUrl": "https://github.com/DigitalAXPP/jwtPS", + "installCommandMarkdown": ["Install-Module jwtPS"], + "stars": 16 + } + ] + }, + "python": { + "id": "python", + "name": "Python", + "uniqueClass": "python", + "image": "/img/4.svg", + "bgColor": "rgb(55, 126, 240)", + "libs": [ + { + "minimumVersion": "1.0.1", + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": false, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es256k": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true + }, + "authorUrl": "https://github.com/jpadilla", + "authorName": "José Padilla", + "gitHubRepoPath": "jpadilla/pyjwt", + "repoUrl": "https://github.com/jpadilla/pyjwt/", + "installCommandMarkdown": ["pip install pyjwt"], + "stars": 4964 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/mpdavis", + "authorName": "Michael Davis", + "gitHubRepoPath": "mpdavis/python-jose", + "repoUrl": "https://github.com/mpdavis/python-jose/", + "installCommandMarkdown": ["pip install python-jose"], + "stars": 1493 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "typ": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true, + "es256k": true + }, + "authorUrl": "https://github.com/simo5", + "authorName": "Simo Sorce", + "gitHubRepoPath": "latchset/jwcrypto", + "repoUrl": "https://github.com/latchset/jwcrypto/", + "installCommandMarkdown": ["pip install jwcrypto"], + "stars": 420 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true, + "es256k": true + }, + "authorUrl": "https://github.com/lepture", + "authorName": "Hsiaoming Yang", + "gitHubRepoPath": "lepture/authlib", + "repoUrl": "https://github.com/lepture/authlib", + "installCommandMarkdown": ["pip install authlib"], + "stars": 4334 + } + ] + }, + "ruby": { + "id": "ruby", + "name": "Ruby", + "uniqueClass": "ruby", + "image": "/img/7.svg", + "bgColor": "rgb(170, 17, 0)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": null, + "authorName": "Lindsay & Rudat", + "gitHubRepoPath": "progrium/ruby-jwt", + "repoUrl": "https://github.com/progrium/ruby-jwt", + "installCommandMarkdown": ["gem install jwt"], + "stars": 3561 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": null, + "authorName": "Fleshman", + "gitHubRepoPath": "garyf/json_web_token", + "repoUrl": "https://github.com/garyf/json_web_token", + "installCommandMarkdown": ["gem install json_web_token"], + "stars": 60 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": false, + "es256k": true + }, + "authorUrl": "https://github.com/nov", + "authorName": "Nov Matake", + "gitHubRepoPath": "nov/json-jwt", + "repoUrl": "https://github.com/nov/json-jwt", + "installCommandMarkdown": ["gem install json-jwt"], + "stars": 296 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true + }, + "authorUrl": "https://github.com/potatosalad", + "authorName": "Andrew Bennett", + "gitHubRepoPath": "potatosalad/ruby-jose", + "repoUrl": "https://github.com/potatosalad/ruby-jose", + "installCommandMarkdown": ["gem install jose"], + "stars": 63 + } + ] + }, + "rust": { + "id": "rust", + "name": "Rust", + "uniqueClass": "rust", + "image": "/img/10.svg", + "bgColor": "rgb(129, 70, 38)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/GildedHonour", + "authorName": "GildedHonour", + "gitHubRepoPath": "GildedHonour/rust-jwt", + "repoUrl": "https://github.com/GildedHonour/rust-jwt", + "installCommandMarkdown": [ + "cargo: name = \"frank_jwt\" version = \"*\"" + ], + "stars": 250 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": false, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://github.com/Keats", + "authorName": "Keats", + "gitHubRepoPath": "Keats/jsonwebtoken", + "repoUrl": "https://github.com/Keats/jsonwebtoken", + "installCommandMarkdown": [ + "cargo: name = \"jsonwebtoken\" version = \"*\"" + ], + "stars": 1583 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": false, + "es384": false, + "es512": false, + "es256k": false, + "eddsa": false, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://github.com/JadedBlueEyes", + "authorName": "Jade", + "gitHubRepoPath": "JadedBlueEyes/jsonwebtoken", + "repoUrl": "https://github.com/JadedBlueEyes/jsonwebtoken", + "installCommandMarkdown": [ + "cargo: name = \"jsonwebtoken-rustcrypto\" version = \"*\"" + ], + "stars": 4 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": false, + "es384": false, + "es512": false, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://github.com/lawliet89", + "authorName": "Yong Wen Chua", + "gitHubRepoPath": "lawliet89/biscuit", + "repoUrl": "https://github.com/lawliet89/biscuit", + "installCommandMarkdown": ["Cargo.toml: biscuit = \"*\""], + "stars": 181 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": false, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://github.com/rib", + "authorName": "Robert Bragg", + "gitHubRepoPath": "rib/jsonwebtokens", + "repoUrl": "https://github.com/rib/jsonwebtokens", + "installCommandMarkdown": ["Cargo.toml: jsonwebtokens = \"*\""], + "stars": 44 + } + ] + }, + "scala": { + "id": "scala", + "name": "Scala", + "uniqueClass": "scala", + "image": "/img/12.svg", + "bgColor": "rgb(234, 45, 46)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/jasongoodwin", + "authorName": "jasongoodwin", + "gitHubRepoPath": "jasongoodwin/authentikat-jwt", + "repoUrl": "https://github.com/jasongoodwin/authentikat-jwt", + "installCommandMarkdown": [ + "sbt: \"com.jason-goodwin\" %% \"authentikat-jwt\" % \"0.4.5\"" + ], + "stars": 134 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/pauldijou", + "authorName": "pauldijou", + "gitHubRepoPath": "pauldijou/jwt-scala", + "repoUrl": "https://github.com/pauldijou/jwt-scala", + "installCommandMarkdown": ["sbt: \"pdi\" %% \"jwt-core\" % \"0.14.1\""], + "stars": 663 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/iain-logan", + "authorName": "iain-logan", + "gitHubRepoPath": "iain-logan/jwt", + "repoUrl": "https://github.com/iain-logan/jwt", + "installCommandMarkdown": [ + "libraryDependencies += \"io.igl\" %% \"jwt\" % \"1.2.2\"" + ], + "stars": 48 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": false, + "exp": false, + "nbf": false, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/janjaali", + "authorName": "janjaali", + "gitHubRepoPath": "janjaali/spray-jwt", + "repoUrl": "https://github.com/janjaali/spray-jwt", + "installCommandMarkdown": [ + "libraryDependencies += \"com.github.janjaali\" %% \"spray-jwt\" % \"1.0.0\"" + ], + "stars": 3 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": true, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/blackdoor", + "authorName": "blackdoor software", + "gitHubRepoPath": "blackdoor/jose", + "repoUrl": "https://github.com/blackdoor/jose", + "installCommandMarkdown": [ + "sbt: libraryDependencies += "black.door" %% "jose" % "0.2.2"\nmill: ivy"black.door::jose:0.2.2"" + ], + "stars": 15 + } + ] + }, + "swift": { + "id": "swift", + "name": "Swift", + "uniqueClass": "swift", + "image": "/img/15.svg", + "bgColor": "rgb(234, 45, 46)", + "libs": [ + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": false, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": false, + "rs384": false, + "rs512": false, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/kylef", + "authorName": "Kyle Fuller", + "gitHubRepoPath": "kylef/JSONWebToken.swift", + "repoUrl": "https://github.com/kylef/JSONWebToken.swift", + "installCommandMarkdown": ["pod 'JSONWebToken'"], + "stars": 763 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/vapor", + "authorName": "Vapor", + "gitHubRepoPath": "vapor/jwt-kit", + "repoUrl": "https://github.com/vapor/jwt-kit", + "installCommandMarkdown": [ + ".package(url: \"https://github.com/vapor/jwt-kit.git/", from: \"4.0.0\")" + ], + "stars": 169 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": false, + "es384": false, + "es512": false, + "ps256": false, + "ps384": false, + "ps512": false + }, + "authorUrl": "https://github.com/Wstunes", + "authorName": "Wstunes", + "gitHubRepoPath": "Wstunes/SwiftyJWT", + "repoUrl": "https://github.com/Wstunes/SwiftyJWT", + "installCommandMarkdown": ["pod 'SwiftyJWT'"], + "stars": 48 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://github.com/IBM-Swift", + "authorName": "IBM Swift", + "gitHubRepoPath": "IBM-Swift/Swift-JWT", + "repoUrl": "https://github.com/IBM-Swift/Swift-JWT", + "installCommandMarkdown": [ + ".package(url:\"https://github.com/IBM-Swift/Swift-JWT/", from: \"3.5.0\")" + ], + "stars": 548 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": false, + "sub": false, + "aud": false, + "exp": false, + "nbf": false, + "iat": false, + "jti": false, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "ps256": true, + "ps384": true, + "ps512": true + }, + "authorUrl": "https://github.com/airsidemobile", + "authorName": "Airside", + "gitHubRepoPath": "airsidemobile/JOSESwift", + "repoUrl": "https://github.com/airsidemobile/JOSESwift", + "installCommandMarkdown": ["pod 'JOSESwift'"], + "stars": 191 + }, + { + "minimumVersion": null, + "support": { + "sign": true, + "verify": true, + "iss": true, + "sub": true, + "aud": true, + "exp": true, + "nbf": true, + "iat": true, + "jti": true, + "typ": true, + "hs256": true, + "hs384": true, + "hs512": true, + "rs256": true, + "rs384": true, + "rs512": true, + "es256": true, + "es384": true, + "es512": true, + "es256k": true, + "ps256": true, + "ps384": true, + "ps512": true, + "eddsa": true + }, + "authorUrl": "https://github.com/beatt83", + "authorName": "Gonçalo Frade", + "gitHubRepoPath": "beatt83/jose-swift", + "repoUrl": "https://github.com/beatt83/jose-swift", + "installCommandMarkdown": [ + ".package(url: \"https://github.com/beatt83/jose-swift.git/", from: \"2.4.0\")" + ], + "stars": 21 + } + ] + } +} diff --git a/src/features/analytics/components/ab-testing-script/ab-testing-script.component.tsx b/src/features/analytics/components/ab-testing-script/ab-testing-script.component.tsx new file mode 100644 index 00000000..bc88ab6c --- /dev/null +++ b/src/features/analytics/components/ab-testing-script/ab-testing-script.component.tsx @@ -0,0 +1,28 @@ +import React, { useEffect } from "react"; + +const dataLayerInfo = { + event: "ab-viewed", + experiment: "JWT_NEW_DESIGN", + variation: "variant", +}; + +export const AbTestingScriptComponent: React.FC = () => { + useEffect(() => { + if (typeof window === "undefined") { + return; + } + + if (!window.digitalData) { + window.digitalData = {}; + } + + if (!window.dataLayer) { + window.dataLayer = []; + } + + window.digitalData.abInfo = dataLayerInfo; + window.dataLayer.push(dataLayerInfo); + }, []); + + return <>; +}; diff --git a/src/features/analytics/components/onetrust-script.component.tsx b/src/features/analytics/components/onetrust-script.component.tsx new file mode 100644 index 00000000..6ab59ca4 --- /dev/null +++ b/src/features/analytics/components/onetrust-script.component.tsx @@ -0,0 +1,32 @@ +import Script from "next/script"; +import React from "react"; +import { COOKIE_CONSENT_STATUS } from "@/features/analytics/models/cookie-consent-status.constants"; + +interface OneTrustScriptProps { + id: string; +} + +export const OnetrustScriptComponent: React.FC = ({ + id, +}) => ( + <> + - - - - - - - - - - - - - - - diff --git a/tests/.gitkeep b/tests/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/tests/jwt.service.test.ts b/tests/jwt.service.test.ts new file mode 100644 index 00000000..6b3a30c2 --- /dev/null +++ b/tests/jwt.service.test.ts @@ -0,0 +1,221 @@ +import { describe, expect, test } from "vitest"; +import { DefaultTokensValues } from "@/features/common/values/default-tokens.values"; +import { validateJwtFormat } from "@/features/common/services/jwt.service"; +import { JwtTypeValues } from "@/features/common/values/jwt-type.values"; + +describe("validateJwtFormat", () => { + const tokenHS256 = DefaultTokensValues.hs256.token; + const tokenHS384 = DefaultTokensValues.hs384.token; + const tokenHS512 = DefaultTokensValues.hs512.token; + const tokenRS256 = DefaultTokensValues.rs256.token; + const tokenRS384 = DefaultTokensValues.rs384.token; + const tokenRS512 = DefaultTokensValues.rs512.token; + const unsecured = + "eyJhbGciOiJub25lIn0.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ."; + + const invalidToken1 = "a.b.c"; + const invalidToken2 = "a.b"; + const invalidToken3 = "a."; + const invalidToken4 = "a"; + const invalidToken5 = ""; + const invalidToken6 = "abc.123.@@@"; + const invalidToken7 = + "eyJhbGciOiJIUzI1NiJ9.dGVzdA.Yysa_W8n99vc_zcHxetNl4qo8gNx1qZu63I0H5UTYAI"; + const invalidToken8 = + "eyJhbGciOiJIUzI1N9.dGVzdA.Yysa_W8n99vc_zcHxetNl4qo8gNx1qZu63I0H5UTYAI"; + const invalidToken9 = + "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c.abc"; + + test("input is a valid JWT", () => { + const result1 = validateJwtFormat(tokenHS256); + expect(result1.isErr()).toBe(false); + expect(result1.isOk()).toBe(true); + result1.map((value) => + expect(value).toStrictEqual({ + signingAlgorithm: "HS256", + type: JwtTypeValues.MACed, + encoded: { + token: + "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c", + header: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9", + payload: + "eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ", + signature: "SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c", + }, + decoded: { + header: { + alg: "HS256", + typ: "JWT", + }, + payload: { + sub: "1234567890", + name: "John Doe", + iat: 1516239022, + }, + }, + }), + ); + + // const result2 = validateJwtFormat(tokenHS384); + // expect(result2.isErr()).toBe(false); + // expect(result2.isOk()).toBe(true); + // result2.map((value) => expect(value).toBe(tokenHS384)); + // + // const result3 = validateJwtFormat(tokenHS512); + // expect(result3.isErr()).toBe(false); + // expect(result3.isOk()).toBe(true); + // result3.map((value) => expect(value).toBe(tokenHS512)); + // + const result4 = validateJwtFormat(tokenRS256); + expect(result4.isErr()).toBe(false); + expect(result4.isOk()).toBe(true); + result4.map((value) => + expect(value).toStrictEqual({ + signingAlgorithm: "RS256", + type: JwtTypeValues.DigitallySigned, + encoded: { + token: + "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.NHVaYe26MbtOYhSKkoKYdFVomg4i8ZJd8_-RU8VNbftc4TSMb4bXP3l3YlNWACwyXPGffz5aXHc6lty1Y2t4SWRqGteragsVdZufDn5BlnJl9pdR_kdVFUsra2rWKEofkZeIC4yWytE58sMIihvo9H1ScmmVwBcQP6XETqYd0aSHp1gOa9RdUPDvoXQ5oqygTqVtxaDr6wUFKrKItgBMzWIdNZ6y7O9E0DhEPTbE9rfBo6KTFsHAZnMg4k68CDp2woYIaXbmYTWcvbzIuHO7_37GT79XdIwkm95QJ7hYC9RiwrV7mesbY4PAahERJawntho0my942XheVLmGwLMBkQ", + header: "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9", + payload: + "eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0", + signature: + "NHVaYe26MbtOYhSKkoKYdFVomg4i8ZJd8_-RU8VNbftc4TSMb4bXP3l3YlNWACwyXPGffz5aXHc6lty1Y2t4SWRqGteragsVdZufDn5BlnJl9pdR_kdVFUsra2rWKEofkZeIC4yWytE58sMIihvo9H1ScmmVwBcQP6XETqYd0aSHp1gOa9RdUPDvoXQ5oqygTqVtxaDr6wUFKrKItgBMzWIdNZ6y7O9E0DhEPTbE9rfBo6KTFsHAZnMg4k68CDp2woYIaXbmYTWcvbzIuHO7_37GT79XdIwkm95QJ7hYC9RiwrV7mesbY4PAahERJawntho0my942XheVLmGwLMBkQ", + }, + decoded: { + header: { + alg: "RS256", + typ: "JWT", + }, + payload: { + sub: "1234567890", + name: "John Doe", + admin: true, + iat: 1516239022, + }, + }, + }), + ); + + // const result5 = validateJwtFormat(tokenRS384); + // expect(result5.isErr()).toBe(false); + // expect(result5.isOk()).toBe(true); + // result5.map((value) => expect(value).toBe(tokenRS384)); + // + // const result6 = validateJwtFormat(tokenRS512); + // expect(result6.isErr()).toBe(false); + // expect(result6.isOk()).toBe(true); + // result6.map((value) => expect(value).toBe(tokenRS512)); + // + const result7 = validateJwtFormat(unsecured); + expect(result7.isErr()).toBe(false); + expect(result7.isOk()).toBe(true); + result7.map((value) => + expect(value).toStrictEqual({ + signingAlgorithm: "none", + type: JwtTypeValues.Unsecured, + encoded: { + token: + "eyJhbGciOiJub25lIn0.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ.", + header: "eyJhbGciOiJub25lIn0", + payload: + "eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ", + signature: "", + }, + decoded: { + header: { + alg: "none", + }, + payload: { + iss: "joe", + exp: 1300819380, + "http://example.com/is_root": true, + }, + }, + }), + ); + }); + + test("input is not a valid JWT", () => { + const result1 = validateJwtFormat(invalidToken1); + expect(result1.isErr()).toBe(true); + expect(result1.isOk()).toBe(false); + result1.mapErr((error) => + expect(error).toStrictEqual([ + "The first segment, the JWT header, and the second segment, the JWT payload, must represent a completely valid JSON object conforming to RFC 7159.", + ]), + ); + + const result2 = validateJwtFormat(invalidToken2); + expect(result2.isErr()).toBe(true); + expect(result2.isOk()).toBe(false); + result2.mapErr((error) => + expect(error).toStrictEqual([ + "The first segment, the JWT header, and the second segment, the JWT payload, must represent a completely valid JSON object conforming to RFC 7159.", + ]), + ); + + const result3 = validateJwtFormat(invalidToken3); + expect(result3.isErr()).toBe(true); + expect(result3.isOk()).toBe(false); + result3.mapErr((error) => + expect(error).toStrictEqual([ + "The second (payload) segment cannot be an empty string.", + ]), + ); + + const result4 = validateJwtFormat(invalidToken4); + expect(result4.isErr()).toBe(true); + expect(result4.isOk()).toBe(false); + result4.mapErr((error) => + expect(error).toStrictEqual([ + "The JWT must contain at least one period ('.') character. Source: https://datatracker.ietf.org/doc/html/rfc7519#section-7.2", + ]), + ); + + const result5 = validateJwtFormat(invalidToken5); + expect(result5.isErr()).toBe(true); + expect(result5.isOk()).toBe(false); + result5.mapErr((error) => + expect(error).toStrictEqual([ + "The JWT must contain at least one period ('.') character. Source: https://datatracker.ietf.org/doc/html/rfc7519#section-7.2", + ]), + ); + + const result6 = validateJwtFormat(invalidToken6); + expect(result6.isErr()).toBe(true); + expect(result6.isOk()).toBe(false); + result6.mapErr((error) => + expect(error).toStrictEqual([ + "Each JWT segment must be a base64url-encoded. The third (signature) segment isn't.", + ]), + ); + + const result7 = validateJwtFormat(invalidToken7); + expect(result7.isErr()).toBe(true); + expect(result7.isOk()).toBe(false); + result7.mapErr((error) => + expect(error).toStrictEqual([ + "The second segment, the JWT payload, must represent a completely valid JSON object conforming to RFC 7159.", + ]), + ); + + const result8 = validateJwtFormat(invalidToken8); + expect(result8.isErr()).toBe(true); + expect(result8.isOk()).toBe(false); + result8.mapErr((error) => + expect(error).toStrictEqual([ + "The first segment, the JWT header, and the second segment, the JWT payload, must represent a completely valid JSON object conforming to RFC 7159.", + ]), + ); + + const result9 = validateJwtFormat(invalidToken9); + expect(result9.isErr()).toBe(true); + expect(result9.isOk()).toBe(false); + result9.mapErr((error) => + expect(error).toStrictEqual([ + "This tool only supports a JWT that uses the JWS Compact Serialization, which must have three base64url-encoded segments separated by two period ('.') characters. Source: https://datatracker.ietf.org/doc/html/rfc7516#section-9", + ]), + ); + }); +}); diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..b1701cf6 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "noUncheckedIndexedAccess": false, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "resolvePackageJsonImports": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 00000000..b8aa5767 --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from "vitest/config"; +import tsconfigPaths from "vite-tsconfig-paths"; + +export default defineConfig({ + test: { + coverage: { + provider: "istanbul", + }, + }, + plugins: [tsconfigPaths()], +});