├── .env.example
├── .eslintrc.json
├── .gitignore
├── README.md
├── app.js
├── assets
├── iframe.html
├── logo-small.png
├── logo.png
├── logo.svg
└── main.js
├── bin
└── www
├── controllers
├── addTicketComment.js
├── getGpt3Summary.js
├── getGpt3Triage.js
├── getTicketComments.js
├── triageTicket.js
└── utils
│ ├── matchGroupNameToId.js
│ ├── openAIClient.js
│ └── zendeskClient.js
├── manifest.json
├── package-lock.json
├── package.json
└── routes
└── index.js
/.env.example:
--------------------------------------------------------------------------------
1 | ZENDESK_EMAIL=
2 | ZENDESK_API_KEY=
3 | ZENDESK_REMOTE_URI=
4 | OPENAI_API_KEY=
--------------------------------------------------------------------------------
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "browser": true,
4 | "commonjs": true,
5 | "es2021": true
6 | },
7 | "extends": "standard",
8 | "overrides": [
9 | ],
10 | "parserOptions": {
11 | "ecmaVersion": "latest"
12 | },
13 | "rules": {
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules
2 | .env
3 |
4 | # General
5 | .DS_Store
6 | .AppleDouble
7 | .LSOverride
8 |
9 | # Files that might appear in the root of a volume
10 | .DocumentRevisions-V100
11 | .fseventsd
12 | .Spotlight-V100
13 | .TemporaryItems
14 | .Trashes
15 | .VolumeIcon.icns
16 | .com.apple.timemachine.donotpresent
17 |
18 | # Directories potentially created on remote AFP share
19 | .AppleDB
20 | .AppleDesktop
21 | Network Trash Folder
22 | Temporary Items
23 | .apdisk
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # OpenAI Zendesk Integration
2 | An Node Express app for Zendesk that uses GPT-3 to triage and summarize tickets.
3 |
4 | ## Features
5 | 🚦 **Ticket Triage:** Use GPT-3 to triage new incoming tickets to include a priority, summary note, and group assignee.
6 |
7 | 📝 **Summarize Tickets:** reduce long ticket discussions for use-cases like agent handoff.
8 |
9 | [Demo Video](https://www.loom.com/share/7574b901286640d18913344200648e8e)
10 |
11 | 
12 |
13 | ## Pre-Requisites
14 | - **Zendesk Support:** You can create a free trial by following these [instructions](https://developer.zendesk.com/documentation/api-basics/getting-started/getting-a-trial-or-sponsored-account-for-development/).
15 | - **Zendesk CLI:** Follow [these instructions](https://developer.zendesk.com/documentation/apps/getting-started/using-zcli/).
16 | - **OpenAI account:** You can [create one here](https://openai.com/).
17 | - **Ngrok:** If you're running the app locally, you'll need a tunnel service like [Ngrok](https://ngrok.com/) so that Zendesk webhooks can reach your localhost.
18 |
19 | ## Running Locally
20 |
21 | ### App Setup
22 | Clone the sample app, install dependencies, and create a `.env` file to store API keys:
23 |
24 | ```bash
25 | # Clone the repository:
26 | $ git clone [repo name]
27 |
28 | # Switch to the app's directory:
29 | $ cd openai-zendesk
30 |
31 | # Install dependencies:
32 | $ npm install
33 |
34 | # Copy the example .env file:
35 | $ cp .env.example .env
36 | ```
37 |
38 | ### Adding Secrets to your `.env`
39 | Configure four values in your .env file:
40 | - **Zendesk Email:** This can be your email or someone else's. You might want to create a separate user account named "Agent Assist Bot" so it's clear who is posting on the tickets.
41 | - **Zendek API Key:** You can create one in the Zendesk Admin portal under `Apps & Integrations > Zendesk API`.
42 | - **Zendesk Remote URI:** The API URL for your Zendesk instance. It will look like: `https://{{your_custom_subdomain}}.zendesk.com/api/v2`.
43 | - **OpenAI API Key:** you can [create one here](https://platform.openai.com/account/api-keys).
44 |
45 | ### Running Your App
46 | When running locally, the app uses the Zendesk CLI to serve the front-end `assets` folder to an iframe in Zendesk. The express app runs as a back-end and connects Zendesk to the GPT-3 API.
47 |
48 | Use NPM to start up your app backend like this:
49 | ```bash
50 | # Restart automatically if you make changes:
51 | $ npm run dev
52 |
53 | # Just run the app:
54 | $ npm run start
55 | ```
56 |
57 | You can serve the app's front-end using the Zendesk CLI:
58 | ```bash
59 | $ zcli apps:server
60 | ```
61 |
62 | Now open a Zendesk Support ticket, adding `?zcli_apps=true` to the end of the URL, for example: `https://{{your_custom_subdomain}}.zendesk.com/agent/tickets/1?zcli_apps=true`
63 |
64 | If all goes well, you'll see the Ticket Summary interface loaded in the sidebar. If you click on the "Summarize Ticket" button a note should appear on the ticket summarizing the conversation.
65 |
66 |
67 |
68 | ### Triaging New Tickets
69 | The openai-zendesk integration can auto-triage tickets so that each ticket receives a priority, group assignee, and summary comment. This process has three steps:
70 | 1. Run Ngrok as a tunnel to your local environment
71 | 2. Create a Zendesk Webhook
72 | 3. Create a Zendesk Trigger that calls your webhook
73 |
74 | To receive webhooks locally, you'll need to spin up Ngrok pointed at your express app:
75 |
76 | ```bash
77 | $ ngrok http 3000
78 | ```
79 |
80 | Once Ngrok is running, create a Zendesk Webhook:
81 |
82 | - In Zendesk Admin go to `Apps & Integrations > Webhooks`.
83 | - Click on `Create Webhook` and then click on `Trigger or Automation`.
84 | ---
85 |
86 |
87 | ---
88 | - Give your webhook a name, and set `{{your-ngrok-url}}/triage` as the Endpoint URL.
89 | - Then, click create webhook.
90 |
91 |
92 | ---
93 |
94 | To create a Zendesk Trigger, follow these steps:
95 | - Go to `Zendesk Admin > Objects and Rules > Triggers > Click on Add Trigger`
96 | - Under conditions, determine when you want the trigger to fire. In our case, we fire the trigger when the ticket is new, has no priority, and doesn't have an owner.
97 |
98 |
99 |
100 | ---
101 |
102 | - Under the Actions section, select `Notify active webhook` and then select the name of the webhook you created.
103 | - Set the JSON body of the request to include the ticket id:
104 |
105 | ```json
106 | {
107 | "ticket_id": "{{ticket.id}}"
108 | }
109 | ```
110 |
111 |
112 |
113 | ---
114 |
115 | To test our your webhook integration, create a new ticket. Your app should receive a webhook within 3 - 5 seconds triggering the ticket to be processed and triaged.
116 |
--------------------------------------------------------------------------------
/app.js:
--------------------------------------------------------------------------------
1 | const createError = require('http-errors')
2 | const express = require('express')
3 | const path = require('path')
4 | const cookieParser = require('cookie-parser')
5 | const logger = require('morgan')
6 |
7 | const indexRouter = require('./routes/index')
8 |
9 | require('dotenv').config()
10 |
11 | const app = express()
12 |
13 | // view engine setup
14 | app.set('views', path.join(__dirname, 'views'))
15 | app.set('view engine', 'pug')
16 |
17 | app.use(logger('dev'))
18 | app.use(express.json())
19 | app.use(express.urlencoded({ extended: false }))
20 | app.use(cookieParser())
21 | app.use(express.static(path.join(__dirname, 'public')))
22 |
23 | app.use('/', indexRouter)
24 |
25 | // catch 404 and forward to error handler
26 | app.use(function (req, res, next) {
27 | next(createError(404))
28 | })
29 |
30 | // error handler
31 | app.use(function (err, req, res, next) {
32 | // set locals, only providing error in development
33 | res.locals.message = err.message
34 | res.locals.error = req.app.get('env') === 'development' ? err : {}
35 |
36 | // render the error page
37 | res.status(err.status || 500)
38 | res.render('error')
39 | })
40 |
41 | module.exports = app
42 |
--------------------------------------------------------------------------------
/assets/iframe.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
13 |
14 |
15 | Summarize Ticket
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/assets/logo-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cweems/openai-zendesk/068f8ab3b8ec6113571fed0db9ef7194dbeb7788/assets/logo-small.png
--------------------------------------------------------------------------------
/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cweems/openai-zendesk/068f8ab3b8ec6113571fed0db9ef7194dbeb7788/assets/logo.png
--------------------------------------------------------------------------------
/assets/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
8 |
10 |
11 |
--------------------------------------------------------------------------------
/assets/main.js:
--------------------------------------------------------------------------------
1 | let client;
2 |
3 | // Invoke Zendesk JS Client on page load
4 | (function () {
5 | client = ZAFClient.init();
6 | client.invoke('resize', { width: '100%', height: '400px' });
7 | client.get('ticket').then((data) => {
8 | console.log(data)
9 | })
10 | }());
11 |
12 | // Handle summarize button click
13 | async function summarize() {
14 | try {
15 | const ticketData = await client.get('ticket.id')
16 | const ticketId = ticketData['ticket.id'];
17 |
18 | // Check if we're running from dev and configure request
19 | // Avoiding needing to compile frontened assets for now...
20 | const environment = window.location.origin.includes('localhost:4567') ? "dev" : "prod";
21 | const corsMode = environment === 'dev' ? 'no-cors' : 'cors';
22 | const url = environment === 'dev' ? 'http://localhost:3000' : window.location.origin;
23 |
24 | const response = await fetch(`${url}/summarize?id=${ticketId}`, { mode: corsMode })
25 | console.log(response);
26 | } catch(err) {
27 | console.warn('Ticket data request error: ', err);
28 | }
29 | }
--------------------------------------------------------------------------------
/bin/www:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | /**
4 | * Module dependencies.
5 | */
6 |
7 | var app = require('../app');
8 | var debug = require('debug')('openai-zendesk:server');
9 | var http = require('http');
10 |
11 | /**
12 | * Get port from environment and store in Express.
13 | */
14 |
15 | var port = normalizePort(process.env.PORT || '3000');
16 | app.set('port', port);
17 |
18 | /**
19 | * Create HTTP server.
20 | */
21 |
22 | var server = http.createServer(app);
23 |
24 | /**
25 | * Listen on provided port, on all network interfaces.
26 | */
27 |
28 | server.listen(port);
29 | server.on('error', onError);
30 | server.on('listening', onListening);
31 |
32 | /**
33 | * Normalize a port into a number, string, or false.
34 | */
35 |
36 | function normalizePort(val) {
37 | var port = parseInt(val, 10);
38 |
39 | if (isNaN(port)) {
40 | // named pipe
41 | return val;
42 | }
43 |
44 | if (port >= 0) {
45 | // port number
46 | return port;
47 | }
48 |
49 | return false;
50 | }
51 |
52 | /**
53 | * Event listener for HTTP server "error" event.
54 | */
55 |
56 | function onError(error) {
57 | if (error.syscall !== 'listen') {
58 | throw error;
59 | }
60 |
61 | var bind = typeof port === 'string'
62 | ? 'Pipe ' + port
63 | : 'Port ' + port;
64 |
65 | // handle specific listen errors with friendly messages
66 | switch (error.code) {
67 | case 'EACCES':
68 | console.error(bind + ' requires elevated privileges');
69 | process.exit(1);
70 | break;
71 | case 'EADDRINUSE':
72 | console.error(bind + ' is already in use');
73 | process.exit(1);
74 | break;
75 | default:
76 | throw error;
77 | }
78 | }
79 |
80 | /**
81 | * Event listener for HTTP server "listening" event.
82 | */
83 |
84 | function onListening() {
85 | var addr = server.address();
86 | var bind = typeof addr === 'string'
87 | ? 'pipe ' + addr
88 | : 'port ' + addr.port;
89 | debug('Listening on ' + bind);
90 | }
91 |
--------------------------------------------------------------------------------
/controllers/addTicketComment.js:
--------------------------------------------------------------------------------
1 | const zendeskClient = require('./utils/zendeskClient')
2 |
3 | async function addTicketComment (ticketId, summary) {
4 | const client = zendeskClient()
5 |
6 | const ticketData = {
7 | ticket: {
8 | comment: {
9 | body: summary,
10 | public: false
11 | }
12 | }
13 | }
14 |
15 | try {
16 | await client.tickets.update(ticketId, ticketData)
17 | } catch (err) {
18 | console.log(ticketId, ticketData)
19 | throw new Error(err)
20 | }
21 | }
22 |
23 | module.exports = addTicketComment
24 |
--------------------------------------------------------------------------------
/controllers/getGpt3Summary.js:
--------------------------------------------------------------------------------
1 | const { openAiClient, completionOptions } = require('./utils/openAIClient')
2 |
3 | async function getGpt3Summary (chatText) {
4 | const openai = openAiClient()
5 |
6 | const prompt = `The following is a conversation between a support agent and a customer, summarize the ticket and provide the next action required.
7 | ${chatText}`
8 |
9 | try {
10 | const completion = await openai.createCompletion(completionOptions(prompt))
11 |
12 | return completion.data.choices[0].text
13 | } catch (error) {
14 | console.log(error.response)
15 | throw new Error(error.response)
16 | }
17 | }
18 |
19 | module.exports = getGpt3Summary
20 |
--------------------------------------------------------------------------------
/controllers/getGpt3Triage.js:
--------------------------------------------------------------------------------
1 | const { openAiClient, completionOptions } = require('./utils/openAIClient')
2 |
3 | function parseGpt3Response (choices) {
4 | try {
5 | let result = choices[0].text
6 |
7 | // Remove newlines that GPT-3 inserts
8 | result = result.replace(/(\r\n|\r|\n)/g, '')
9 | const resultJSON = JSON.parse(result)
10 |
11 | // GPT-3 sometimes returns "Normal or Priority" when Zendesk
12 | // expects to receive lowercase.
13 | resultJSON.priority = resultJSON.priority.toLowerCase()
14 |
15 | return resultJSON
16 | } catch (err) {
17 | // TODO: Error handle this - put in separate queue.
18 | console.log('Failed to parse GPT-3 response')
19 | throw new Error(err)
20 | }
21 | }
22 |
23 | async function getGpt3Triage (chatText) {
24 | const openai = openAiClient()
25 |
26 | const prompt = `The following is a support ticket from a customer, reply with a json object like this:
27 | { "summary": "a summary of the ticket conversation", "priority": "low, normal, high, or urgent.", "assignee": "can be support, legal, or product" }
28 | ${chatText}`
29 |
30 | try {
31 | const completion = await openai.createCompletion(completionOptions(prompt))
32 |
33 | const response = parseGpt3Response(completion.data.choices)
34 | console.log(response)
35 | return response
36 | } catch (error) {
37 | console.log(error.response)
38 | throw new Error(error.response)
39 | }
40 | }
41 |
42 | module.exports = getGpt3Triage
43 |
--------------------------------------------------------------------------------
/controllers/getTicketComments.js:
--------------------------------------------------------------------------------
1 | const zendeskClient = require('./utils/zendeskClient')
2 |
3 | async function getTicketComments (ticketId) {
4 | const client = zendeskClient()
5 |
6 | try {
7 | const comments = await client.tickets.getComments(ticketId)
8 |
9 | const formattedComments = comments.map((comment) => {
10 | let user = ''
11 | const message = comment.plain_body.replace(/\r?\n|\r/g, ' ')
12 |
13 | if (comment.via.channel === 'web') {
14 | user = 'Support agent'
15 | } else {
16 | user = 'Customer'
17 | }
18 |
19 | return `${user}: ${message}`
20 | }).join('\n')
21 |
22 | return formattedComments
23 | } catch (err) {
24 | console.log(err)
25 | throw new Error(err)
26 | }
27 | }
28 |
29 | module.exports = getTicketComments
30 |
--------------------------------------------------------------------------------
/controllers/triageTicket.js:
--------------------------------------------------------------------------------
1 | const zendeskClient = require('./utils/zendeskClient')
2 | const matchGroupNameToId = require('./utils/matchGroupNameToId')
3 |
4 | async function triageTicket (ticketId, ticketProperties) {
5 | const client = zendeskClient()
6 |
7 | const { summary, priority, assignee } = ticketProperties
8 | const groupId = await matchGroupNameToId(assignee)
9 |
10 | const ticketData = {
11 | ticket: {
12 | comment: {
13 | body: summary,
14 | public: false
15 | },
16 | priority,
17 | group_id: groupId
18 | }
19 | }
20 |
21 | try {
22 | await client.tickets.update(ticketId, ticketData)
23 | } catch (err) {
24 | console.log(ticketId, ticketProperties)
25 | throw new Error(err)
26 | }
27 | }
28 |
29 | module.exports = triageTicket
30 |
--------------------------------------------------------------------------------
/controllers/utils/matchGroupNameToId.js:
--------------------------------------------------------------------------------
1 | const zendeskClient = require('./zendeskClient')
2 |
3 | async function listGroups (groupName) {
4 | const client = zendeskClient()
5 |
6 | groupName = groupName.toLowerCase()
7 |
8 | try {
9 | const groups = await client.groups.list()
10 |
11 | // Doing an "includes" match in case GPT-3 adds more words
12 | // to the group name.
13 | const matchingGroup = groups.find((group) => {
14 | if (groupName.includes(group.name.toLowerCase())) {
15 | return group.id
16 | }
17 |
18 | return false
19 | })
20 |
21 | // This could cause trouble if we have multiple
22 | // overlapping group names, but good enough for a demo.
23 | return matchingGroup.id
24 | } catch (err) {
25 | throw new Error(err)
26 | }
27 | }
28 |
29 | module.exports = listGroups
30 |
--------------------------------------------------------------------------------
/controllers/utils/openAIClient.js:
--------------------------------------------------------------------------------
1 | const { Configuration, OpenAIApi } = require('openai')
2 |
3 | function openAiClient () {
4 | const configuration = new Configuration({
5 | apiKey: process.env.OPENAI_API_KEY
6 | })
7 |
8 | return new OpenAIApi(configuration)
9 | }
10 |
11 | function completionOptions (prompt) {
12 | return {
13 | model: 'text-davinci-003',
14 | prompt,
15 | temperature: 0.7,
16 | max_tokens: 256
17 | }
18 | }
19 |
20 | module.exports = { openAiClient, completionOptions }
21 |
--------------------------------------------------------------------------------
/controllers/utils/zendeskClient.js:
--------------------------------------------------------------------------------
1 | const zendesk = require('node-zendesk')
2 |
3 | function zendeskClient () {
4 | return zendesk.createClient({
5 | username: process.env.ZENDESK_EMAIL,
6 | token: process.env.ZENDESK_API_KEY,
7 | remoteUri: process.env.ZENDESK_REMOTE_URI
8 | })
9 | }
10 |
11 | module.exports = zendeskClient
12 |
--------------------------------------------------------------------------------
/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "OpenAI Zendesk Integration",
3 | "author": {
4 | "name": "Charlie Weems",
5 | "email": "charlie@swiftly.chat",
6 | "url": "https://swiftly.chat"
7 | },
8 | "defaultLocale": "en",
9 | "private": true,
10 | "location": {
11 | "support": {
12 | "ticket_sidebar": {
13 | "url": "assets/iframe.html",
14 | "flexible": true
15 | }
16 | }
17 | },
18 | "signedUrls": true,
19 | "version": "1.0.0",
20 | "frameworkVersion": "2.0"
21 | }
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "openai-zendesk",
3 | "version": "0.0.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@eslint/eslintrc": {
8 | "version": "1.4.1",
9 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
10 | "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
11 | "dev": true,
12 | "requires": {
13 | "ajv": "^6.12.4",
14 | "debug": "^4.3.2",
15 | "espree": "^9.4.0",
16 | "globals": "^13.19.0",
17 | "ignore": "^5.2.0",
18 | "import-fresh": "^3.2.1",
19 | "js-yaml": "^4.1.0",
20 | "minimatch": "^3.1.2",
21 | "strip-json-comments": "^3.1.1"
22 | },
23 | "dependencies": {
24 | "debug": {
25 | "version": "4.3.4",
26 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
27 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
28 | "dev": true,
29 | "requires": {
30 | "ms": "2.1.2"
31 | }
32 | },
33 | "ms": {
34 | "version": "2.1.2",
35 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
36 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
37 | "dev": true
38 | }
39 | }
40 | },
41 | "@humanwhocodes/config-array": {
42 | "version": "0.11.8",
43 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
44 | "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
45 | "dev": true,
46 | "requires": {
47 | "@humanwhocodes/object-schema": "^1.2.1",
48 | "debug": "^4.1.1",
49 | "minimatch": "^3.0.5"
50 | },
51 | "dependencies": {
52 | "debug": {
53 | "version": "4.3.4",
54 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
55 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
56 | "dev": true,
57 | "requires": {
58 | "ms": "2.1.2"
59 | }
60 | },
61 | "ms": {
62 | "version": "2.1.2",
63 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
64 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
65 | "dev": true
66 | }
67 | }
68 | },
69 | "@humanwhocodes/module-importer": {
70 | "version": "1.0.1",
71 | "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
72 | "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
73 | "dev": true
74 | },
75 | "@humanwhocodes/object-schema": {
76 | "version": "1.2.1",
77 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
78 | "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
79 | "dev": true
80 | },
81 | "@nodelib/fs.scandir": {
82 | "version": "2.1.5",
83 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
84 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
85 | "dev": true,
86 | "requires": {
87 | "@nodelib/fs.stat": "2.0.5",
88 | "run-parallel": "^1.1.9"
89 | }
90 | },
91 | "@nodelib/fs.stat": {
92 | "version": "2.0.5",
93 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
94 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
95 | "dev": true
96 | },
97 | "@nodelib/fs.walk": {
98 | "version": "1.2.8",
99 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
100 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
101 | "dev": true,
102 | "requires": {
103 | "@nodelib/fs.scandir": "2.1.5",
104 | "fastq": "^1.6.0"
105 | }
106 | },
107 | "@types/babel-types": {
108 | "version": "7.0.11",
109 | "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.11.tgz",
110 | "integrity": "sha512-pkPtJUUY+Vwv6B1inAz55rQvivClHJxc9aVEPPmaq2cbyeMLCiDpbKpcKyX4LAwpNGi+SHBv0tHv6+0gXv0P2A=="
111 | },
112 | "@types/babylon": {
113 | "version": "6.16.6",
114 | "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.6.tgz",
115 | "integrity": "sha512-G4yqdVlhr6YhzLXFKy5F7HtRBU8Y23+iWy7UKthMq/OSQnL1hbsoeXESQ2LY8zEDlknipDG3nRGhUC9tkwvy/w==",
116 | "requires": {
117 | "@types/babel-types": "*"
118 | }
119 | },
120 | "@types/json5": {
121 | "version": "0.0.29",
122 | "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
123 | "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
124 | "dev": true
125 | },
126 | "abbrev": {
127 | "version": "1.1.1",
128 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
129 | "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
130 | "dev": true
131 | },
132 | "accepts": {
133 | "version": "1.3.8",
134 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
135 | "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
136 | "requires": {
137 | "mime-types": "~2.1.34",
138 | "negotiator": "0.6.3"
139 | }
140 | },
141 | "acorn": {
142 | "version": "3.3.0",
143 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
144 | "integrity": "sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw=="
145 | },
146 | "acorn-globals": {
147 | "version": "3.1.0",
148 | "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz",
149 | "integrity": "sha512-uWttZCk96+7itPxK8xCzY86PnxKTMrReKDqrHzv42VQY0K30PUO8WY13WMOuI+cOdX4EIdzdvQ8k6jkuGRFMYw==",
150 | "requires": {
151 | "acorn": "^4.0.4"
152 | },
153 | "dependencies": {
154 | "acorn": {
155 | "version": "4.0.13",
156 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
157 | "integrity": "sha512-fu2ygVGuMmlzG8ZeRJ0bvR41nsAkxxhbyk8bZ1SS521Z7vmgJFTQQlfz/Mp/nJexGBz+v8sC9bM6+lNgskt4Ug=="
158 | }
159 | }
160 | },
161 | "acorn-jsx": {
162 | "version": "5.3.2",
163 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
164 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
165 | "dev": true
166 | },
167 | "ajv": {
168 | "version": "6.12.6",
169 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
170 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
171 | "requires": {
172 | "fast-deep-equal": "^3.1.1",
173 | "fast-json-stable-stringify": "^2.0.0",
174 | "json-schema-traverse": "^0.4.1",
175 | "uri-js": "^4.2.2"
176 | }
177 | },
178 | "align-text": {
179 | "version": "0.1.4",
180 | "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
181 | "integrity": "sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==",
182 | "requires": {
183 | "kind-of": "^3.0.2",
184 | "longest": "^1.0.1",
185 | "repeat-string": "^1.5.2"
186 | }
187 | },
188 | "amdefine": {
189 | "version": "1.0.1",
190 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
191 | "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg=="
192 | },
193 | "ansi-regex": {
194 | "version": "5.0.1",
195 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
196 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
197 | },
198 | "ansi-styles": {
199 | "version": "4.3.0",
200 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
201 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
202 | "requires": {
203 | "color-convert": "^2.0.1"
204 | }
205 | },
206 | "anymatch": {
207 | "version": "3.1.3",
208 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
209 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
210 | "dev": true,
211 | "requires": {
212 | "normalize-path": "^3.0.0",
213 | "picomatch": "^2.0.4"
214 | }
215 | },
216 | "argparse": {
217 | "version": "2.0.1",
218 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
219 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
220 | "dev": true
221 | },
222 | "array-flatten": {
223 | "version": "1.1.1",
224 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
225 | "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
226 | },
227 | "array-includes": {
228 | "version": "3.1.6",
229 | "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz",
230 | "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==",
231 | "dev": true,
232 | "requires": {
233 | "call-bind": "^1.0.2",
234 | "define-properties": "^1.1.4",
235 | "es-abstract": "^1.20.4",
236 | "get-intrinsic": "^1.1.3",
237 | "is-string": "^1.0.7"
238 | }
239 | },
240 | "array.prototype.flat": {
241 | "version": "1.3.1",
242 | "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz",
243 | "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==",
244 | "dev": true,
245 | "requires": {
246 | "call-bind": "^1.0.2",
247 | "define-properties": "^1.1.4",
248 | "es-abstract": "^1.20.4",
249 | "es-shim-unscopables": "^1.0.0"
250 | }
251 | },
252 | "array.prototype.flatmap": {
253 | "version": "1.3.1",
254 | "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
255 | "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==",
256 | "dev": true,
257 | "requires": {
258 | "call-bind": "^1.0.2",
259 | "define-properties": "^1.1.4",
260 | "es-abstract": "^1.20.4",
261 | "es-shim-unscopables": "^1.0.0"
262 | }
263 | },
264 | "asap": {
265 | "version": "2.0.6",
266 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
267 | "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
268 | },
269 | "asn1": {
270 | "version": "0.2.6",
271 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
272 | "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
273 | "requires": {
274 | "safer-buffer": "~2.1.0"
275 | }
276 | },
277 | "assert-plus": {
278 | "version": "1.0.0",
279 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
280 | "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw=="
281 | },
282 | "async": {
283 | "version": "3.2.4",
284 | "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
285 | "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
286 | },
287 | "asynckit": {
288 | "version": "0.4.0",
289 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
290 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
291 | },
292 | "available-typed-arrays": {
293 | "version": "1.0.5",
294 | "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
295 | "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
296 | "dev": true
297 | },
298 | "aws-sign2": {
299 | "version": "0.7.0",
300 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
301 | "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA=="
302 | },
303 | "aws4": {
304 | "version": "1.12.0",
305 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz",
306 | "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg=="
307 | },
308 | "axios": {
309 | "version": "0.26.1",
310 | "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
311 | "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
312 | "requires": {
313 | "follow-redirects": "^1.14.8"
314 | }
315 | },
316 | "babel-runtime": {
317 | "version": "6.26.0",
318 | "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
319 | "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==",
320 | "requires": {
321 | "core-js": "^2.4.0",
322 | "regenerator-runtime": "^0.11.0"
323 | }
324 | },
325 | "babel-types": {
326 | "version": "6.26.0",
327 | "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
328 | "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==",
329 | "requires": {
330 | "babel-runtime": "^6.26.0",
331 | "esutils": "^2.0.2",
332 | "lodash": "^4.17.4",
333 | "to-fast-properties": "^1.0.3"
334 | }
335 | },
336 | "babylon": {
337 | "version": "6.18.0",
338 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
339 | "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
340 | },
341 | "balanced-match": {
342 | "version": "1.0.2",
343 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
344 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
345 | "dev": true
346 | },
347 | "basic-auth": {
348 | "version": "2.0.1",
349 | "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
350 | "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
351 | "requires": {
352 | "safe-buffer": "5.1.2"
353 | }
354 | },
355 | "bcrypt-pbkdf": {
356 | "version": "1.0.2",
357 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
358 | "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
359 | "requires": {
360 | "tweetnacl": "^0.14.3"
361 | }
362 | },
363 | "binary-extensions": {
364 | "version": "2.2.0",
365 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
366 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
367 | "dev": true
368 | },
369 | "body-parser": {
370 | "version": "1.18.3",
371 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz",
372 | "integrity": "sha512-YQyoqQG3sO8iCmf8+hyVpgHHOv0/hCEFiS4zTGUwTA1HjAFX66wRcNQrVCeJq9pgESMRvUAOvSil5MJlmccuKQ==",
373 | "requires": {
374 | "bytes": "3.0.0",
375 | "content-type": "~1.0.4",
376 | "debug": "2.6.9",
377 | "depd": "~1.1.2",
378 | "http-errors": "~1.6.3",
379 | "iconv-lite": "0.4.23",
380 | "on-finished": "~2.3.0",
381 | "qs": "6.5.2",
382 | "raw-body": "2.3.3",
383 | "type-is": "~1.6.16"
384 | },
385 | "dependencies": {
386 | "debug": {
387 | "version": "2.6.9",
388 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
389 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
390 | "requires": {
391 | "ms": "2.0.0"
392 | }
393 | },
394 | "http-errors": {
395 | "version": "1.6.3",
396 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
397 | "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==",
398 | "requires": {
399 | "depd": "~1.1.2",
400 | "inherits": "2.0.3",
401 | "setprototypeof": "1.1.0",
402 | "statuses": ">= 1.4.0 < 2"
403 | }
404 | }
405 | }
406 | },
407 | "brace-expansion": {
408 | "version": "1.1.11",
409 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
410 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
411 | "dev": true,
412 | "requires": {
413 | "balanced-match": "^1.0.0",
414 | "concat-map": "0.0.1"
415 | }
416 | },
417 | "braces": {
418 | "version": "3.0.2",
419 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
420 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
421 | "dev": true,
422 | "requires": {
423 | "fill-range": "^7.0.1"
424 | }
425 | },
426 | "builtins": {
427 | "version": "5.0.1",
428 | "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz",
429 | "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==",
430 | "dev": true,
431 | "requires": {
432 | "semver": "^7.0.0"
433 | },
434 | "dependencies": {
435 | "semver": {
436 | "version": "7.3.8",
437 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
438 | "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
439 | "dev": true,
440 | "requires": {
441 | "lru-cache": "^6.0.0"
442 | }
443 | }
444 | }
445 | },
446 | "bytes": {
447 | "version": "3.0.0",
448 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
449 | "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw=="
450 | },
451 | "call-bind": {
452 | "version": "1.0.2",
453 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
454 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
455 | "requires": {
456 | "function-bind": "^1.1.1",
457 | "get-intrinsic": "^1.0.2"
458 | }
459 | },
460 | "callsites": {
461 | "version": "3.1.0",
462 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
463 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
464 | "dev": true
465 | },
466 | "camelcase": {
467 | "version": "1.2.1",
468 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
469 | "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g=="
470 | },
471 | "caseless": {
472 | "version": "0.12.0",
473 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
474 | "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
475 | },
476 | "center-align": {
477 | "version": "0.1.3",
478 | "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
479 | "integrity": "sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==",
480 | "requires": {
481 | "align-text": "^0.1.3",
482 | "lazy-cache": "^1.0.3"
483 | }
484 | },
485 | "chalk": {
486 | "version": "4.1.2",
487 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
488 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
489 | "dev": true,
490 | "requires": {
491 | "ansi-styles": "^4.1.0",
492 | "supports-color": "^7.1.0"
493 | },
494 | "dependencies": {
495 | "has-flag": {
496 | "version": "4.0.0",
497 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
498 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
499 | "dev": true
500 | },
501 | "supports-color": {
502 | "version": "7.2.0",
503 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
504 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
505 | "dev": true,
506 | "requires": {
507 | "has-flag": "^4.0.0"
508 | }
509 | }
510 | }
511 | },
512 | "character-parser": {
513 | "version": "2.2.0",
514 | "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz",
515 | "integrity": "sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==",
516 | "requires": {
517 | "is-regex": "^1.0.3"
518 | }
519 | },
520 | "chokidar": {
521 | "version": "3.5.3",
522 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
523 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
524 | "dev": true,
525 | "requires": {
526 | "anymatch": "~3.1.2",
527 | "braces": "~3.0.2",
528 | "fsevents": "~2.3.2",
529 | "glob-parent": "~5.1.2",
530 | "is-binary-path": "~2.1.0",
531 | "is-glob": "~4.0.1",
532 | "normalize-path": "~3.0.0",
533 | "readdirp": "~3.6.0"
534 | }
535 | },
536 | "clean-css": {
537 | "version": "3.4.28",
538 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz",
539 | "integrity": "sha512-aTWyttSdI2mYi07kWqHi24NUU9YlELFKGOAgFzZjDN1064DMAOy2FBuoyGmkKRlXkbpXd0EVHmiVkbKhKoirTw==",
540 | "requires": {
541 | "commander": "2.8.x",
542 | "source-map": "0.4.x"
543 | }
544 | },
545 | "cliui": {
546 | "version": "2.1.0",
547 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
548 | "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==",
549 | "requires": {
550 | "center-align": "^0.1.1",
551 | "right-align": "^0.1.1",
552 | "wordwrap": "0.0.2"
553 | }
554 | },
555 | "color-convert": {
556 | "version": "2.0.1",
557 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
558 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
559 | "requires": {
560 | "color-name": "~1.1.4"
561 | }
562 | },
563 | "color-name": {
564 | "version": "1.1.4",
565 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
566 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
567 | },
568 | "combined-stream": {
569 | "version": "1.0.8",
570 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
571 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
572 | "requires": {
573 | "delayed-stream": "~1.0.0"
574 | }
575 | },
576 | "commander": {
577 | "version": "2.8.1",
578 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
579 | "integrity": "sha512-+pJLBFVk+9ZZdlAOB5WuIElVPPth47hILFkmGym57aq8kwxsowvByvB0DHs1vQAhyMZzdcpTtF0VDKGkSDR4ZQ==",
580 | "requires": {
581 | "graceful-readlink": ">= 1.0.0"
582 | }
583 | },
584 | "concat-map": {
585 | "version": "0.0.1",
586 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
587 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
588 | "dev": true
589 | },
590 | "constantinople": {
591 | "version": "3.1.2",
592 | "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz",
593 | "integrity": "sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==",
594 | "requires": {
595 | "@types/babel-types": "^7.0.0",
596 | "@types/babylon": "^6.16.2",
597 | "babel-types": "^6.26.0",
598 | "babylon": "^6.18.0"
599 | }
600 | },
601 | "content-disposition": {
602 | "version": "0.5.2",
603 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
604 | "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA=="
605 | },
606 | "content-type": {
607 | "version": "1.0.5",
608 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
609 | "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="
610 | },
611 | "cookie": {
612 | "version": "0.4.1",
613 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
614 | "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA=="
615 | },
616 | "cookie-parser": {
617 | "version": "1.4.6",
618 | "requires": {
619 | "cookie": "0.4.1",
620 | "cookie-signature": "1.0.6"
621 | }
622 | },
623 | "cookie-signature": {
624 | "version": "1.0.6",
625 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
626 | "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
627 | },
628 | "core-js": {
629 | "version": "2.6.12",
630 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
631 | "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
632 | },
633 | "core-util-is": {
634 | "version": "1.0.2",
635 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
636 | "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
637 | },
638 | "cross-spawn": {
639 | "version": "7.0.3",
640 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
641 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
642 | "dev": true,
643 | "requires": {
644 | "path-key": "^3.1.0",
645 | "shebang-command": "^2.0.0",
646 | "which": "^2.0.1"
647 | }
648 | },
649 | "dashdash": {
650 | "version": "1.14.1",
651 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
652 | "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
653 | "requires": {
654 | "assert-plus": "^1.0.0"
655 | }
656 | },
657 | "decamelize": {
658 | "version": "1.2.0",
659 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
660 | "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="
661 | },
662 | "deep-is": {
663 | "version": "0.1.4",
664 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
665 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
666 | "dev": true
667 | },
668 | "define-properties": {
669 | "version": "1.2.0",
670 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz",
671 | "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==",
672 | "dev": true,
673 | "requires": {
674 | "has-property-descriptors": "^1.0.0",
675 | "object-keys": "^1.1.1"
676 | }
677 | },
678 | "delayed-stream": {
679 | "version": "1.0.0",
680 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
681 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
682 | },
683 | "depd": {
684 | "version": "1.1.2",
685 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
686 | "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ=="
687 | },
688 | "destroy": {
689 | "version": "1.0.4",
690 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
691 | "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg=="
692 | },
693 | "doctrine": {
694 | "version": "3.0.0",
695 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
696 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
697 | "dev": true,
698 | "requires": {
699 | "esutils": "^2.0.2"
700 | }
701 | },
702 | "doctypes": {
703 | "version": "1.1.0",
704 | "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz",
705 | "integrity": "sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ=="
706 | },
707 | "dotenv": {
708 | "version": "16.0.3"
709 | },
710 | "ecc-jsbn": {
711 | "version": "0.1.2",
712 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
713 | "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
714 | "requires": {
715 | "jsbn": "~0.1.0",
716 | "safer-buffer": "^2.1.0"
717 | }
718 | },
719 | "ee-first": {
720 | "version": "1.1.1",
721 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
722 | "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
723 | },
724 | "emoji-regex": {
725 | "version": "8.0.0",
726 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
727 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
728 | },
729 | "encodeurl": {
730 | "version": "1.0.2",
731 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
732 | "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
733 | },
734 | "es-abstract": {
735 | "version": "1.21.1",
736 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz",
737 | "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==",
738 | "dev": true,
739 | "requires": {
740 | "available-typed-arrays": "^1.0.5",
741 | "call-bind": "^1.0.2",
742 | "es-set-tostringtag": "^2.0.1",
743 | "es-to-primitive": "^1.2.1",
744 | "function-bind": "^1.1.1",
745 | "function.prototype.name": "^1.1.5",
746 | "get-intrinsic": "^1.1.3",
747 | "get-symbol-description": "^1.0.0",
748 | "globalthis": "^1.0.3",
749 | "gopd": "^1.0.1",
750 | "has": "^1.0.3",
751 | "has-property-descriptors": "^1.0.0",
752 | "has-proto": "^1.0.1",
753 | "has-symbols": "^1.0.3",
754 | "internal-slot": "^1.0.4",
755 | "is-array-buffer": "^3.0.1",
756 | "is-callable": "^1.2.7",
757 | "is-negative-zero": "^2.0.2",
758 | "is-regex": "^1.1.4",
759 | "is-shared-array-buffer": "^1.0.2",
760 | "is-string": "^1.0.7",
761 | "is-typed-array": "^1.1.10",
762 | "is-weakref": "^1.0.2",
763 | "object-inspect": "^1.12.2",
764 | "object-keys": "^1.1.1",
765 | "object.assign": "^4.1.4",
766 | "regexp.prototype.flags": "^1.4.3",
767 | "safe-regex-test": "^1.0.0",
768 | "string.prototype.trimend": "^1.0.6",
769 | "string.prototype.trimstart": "^1.0.6",
770 | "typed-array-length": "^1.0.4",
771 | "unbox-primitive": "^1.0.2",
772 | "which-typed-array": "^1.1.9"
773 | }
774 | },
775 | "es-set-tostringtag": {
776 | "version": "2.0.1",
777 | "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz",
778 | "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==",
779 | "dev": true,
780 | "requires": {
781 | "get-intrinsic": "^1.1.3",
782 | "has": "^1.0.3",
783 | "has-tostringtag": "^1.0.0"
784 | }
785 | },
786 | "es-shim-unscopables": {
787 | "version": "1.0.0",
788 | "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
789 | "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
790 | "dev": true,
791 | "requires": {
792 | "has": "^1.0.3"
793 | }
794 | },
795 | "es-to-primitive": {
796 | "version": "1.2.1",
797 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
798 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
799 | "dev": true,
800 | "requires": {
801 | "is-callable": "^1.1.4",
802 | "is-date-object": "^1.0.1",
803 | "is-symbol": "^1.0.2"
804 | }
805 | },
806 | "escalade": {
807 | "version": "3.1.1",
808 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
809 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
810 | },
811 | "escape-html": {
812 | "version": "1.0.3",
813 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
814 | "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
815 | },
816 | "escape-string-regexp": {
817 | "version": "4.0.0",
818 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
819 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
820 | "dev": true
821 | },
822 | "eslint": {
823 | "version": "8.34.0",
824 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.34.0.tgz",
825 | "integrity": "sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==",
826 | "dev": true,
827 | "requires": {
828 | "@eslint/eslintrc": "^1.4.1",
829 | "@humanwhocodes/config-array": "^0.11.8",
830 | "@humanwhocodes/module-importer": "^1.0.1",
831 | "@nodelib/fs.walk": "^1.2.8",
832 | "ajv": "^6.10.0",
833 | "chalk": "^4.0.0",
834 | "cross-spawn": "^7.0.2",
835 | "debug": "^4.3.2",
836 | "doctrine": "^3.0.0",
837 | "escape-string-regexp": "^4.0.0",
838 | "eslint-scope": "^7.1.1",
839 | "eslint-utils": "^3.0.0",
840 | "eslint-visitor-keys": "^3.3.0",
841 | "espree": "^9.4.0",
842 | "esquery": "^1.4.0",
843 | "esutils": "^2.0.2",
844 | "fast-deep-equal": "^3.1.3",
845 | "file-entry-cache": "^6.0.1",
846 | "find-up": "^5.0.0",
847 | "glob-parent": "^6.0.2",
848 | "globals": "^13.19.0",
849 | "grapheme-splitter": "^1.0.4",
850 | "ignore": "^5.2.0",
851 | "import-fresh": "^3.0.0",
852 | "imurmurhash": "^0.1.4",
853 | "is-glob": "^4.0.0",
854 | "is-path-inside": "^3.0.3",
855 | "js-sdsl": "^4.1.4",
856 | "js-yaml": "^4.1.0",
857 | "json-stable-stringify-without-jsonify": "^1.0.1",
858 | "levn": "^0.4.1",
859 | "lodash.merge": "^4.6.2",
860 | "minimatch": "^3.1.2",
861 | "natural-compare": "^1.4.0",
862 | "optionator": "^0.9.1",
863 | "regexpp": "^3.2.0",
864 | "strip-ansi": "^6.0.1",
865 | "strip-json-comments": "^3.1.0",
866 | "text-table": "^0.2.0"
867 | },
868 | "dependencies": {
869 | "debug": {
870 | "version": "4.3.4",
871 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
872 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
873 | "dev": true,
874 | "requires": {
875 | "ms": "2.1.2"
876 | }
877 | },
878 | "glob-parent": {
879 | "version": "6.0.2",
880 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
881 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
882 | "dev": true,
883 | "requires": {
884 | "is-glob": "^4.0.3"
885 | }
886 | },
887 | "ms": {
888 | "version": "2.1.2",
889 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
890 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
891 | "dev": true
892 | }
893 | }
894 | },
895 | "eslint-config-standard": {
896 | "version": "17.0.0",
897 | "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz",
898 | "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==",
899 | "dev": true
900 | },
901 | "eslint-import-resolver-node": {
902 | "version": "0.3.7",
903 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz",
904 | "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==",
905 | "dev": true,
906 | "requires": {
907 | "debug": "^3.2.7",
908 | "is-core-module": "^2.11.0",
909 | "resolve": "^1.22.1"
910 | },
911 | "dependencies": {
912 | "debug": {
913 | "version": "3.2.7",
914 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
915 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
916 | "dev": true,
917 | "requires": {
918 | "ms": "^2.1.1"
919 | }
920 | },
921 | "ms": {
922 | "version": "2.1.3",
923 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
924 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
925 | "dev": true
926 | }
927 | }
928 | },
929 | "eslint-module-utils": {
930 | "version": "2.7.4",
931 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz",
932 | "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==",
933 | "dev": true,
934 | "requires": {
935 | "debug": "^3.2.7"
936 | },
937 | "dependencies": {
938 | "debug": {
939 | "version": "3.2.7",
940 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
941 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
942 | "dev": true,
943 | "requires": {
944 | "ms": "^2.1.1"
945 | }
946 | },
947 | "ms": {
948 | "version": "2.1.3",
949 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
950 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
951 | "dev": true
952 | }
953 | }
954 | },
955 | "eslint-plugin-es": {
956 | "version": "4.1.0",
957 | "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz",
958 | "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==",
959 | "dev": true,
960 | "requires": {
961 | "eslint-utils": "^2.0.0",
962 | "regexpp": "^3.0.0"
963 | },
964 | "dependencies": {
965 | "eslint-utils": {
966 | "version": "2.1.0",
967 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
968 | "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
969 | "dev": true,
970 | "requires": {
971 | "eslint-visitor-keys": "^1.1.0"
972 | }
973 | },
974 | "eslint-visitor-keys": {
975 | "version": "1.3.0",
976 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
977 | "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
978 | "dev": true
979 | }
980 | }
981 | },
982 | "eslint-plugin-import": {
983 | "version": "2.27.5",
984 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz",
985 | "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==",
986 | "dev": true,
987 | "requires": {
988 | "array-includes": "^3.1.6",
989 | "array.prototype.flat": "^1.3.1",
990 | "array.prototype.flatmap": "^1.3.1",
991 | "debug": "^3.2.7",
992 | "doctrine": "^2.1.0",
993 | "eslint-import-resolver-node": "^0.3.7",
994 | "eslint-module-utils": "^2.7.4",
995 | "has": "^1.0.3",
996 | "is-core-module": "^2.11.0",
997 | "is-glob": "^4.0.3",
998 | "minimatch": "^3.1.2",
999 | "object.values": "^1.1.6",
1000 | "resolve": "^1.22.1",
1001 | "semver": "^6.3.0",
1002 | "tsconfig-paths": "^3.14.1"
1003 | },
1004 | "dependencies": {
1005 | "debug": {
1006 | "version": "3.2.7",
1007 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
1008 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
1009 | "dev": true,
1010 | "requires": {
1011 | "ms": "^2.1.1"
1012 | }
1013 | },
1014 | "doctrine": {
1015 | "version": "2.1.0",
1016 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
1017 | "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
1018 | "dev": true,
1019 | "requires": {
1020 | "esutils": "^2.0.2"
1021 | }
1022 | },
1023 | "ms": {
1024 | "version": "2.1.3",
1025 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1026 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1027 | "dev": true
1028 | },
1029 | "semver": {
1030 | "version": "6.3.0",
1031 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
1032 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
1033 | "dev": true
1034 | }
1035 | }
1036 | },
1037 | "eslint-plugin-n": {
1038 | "version": "15.6.1",
1039 | "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.6.1.tgz",
1040 | "integrity": "sha512-R9xw9OtCRxxaxaszTQmQAlPgM+RdGjaL1akWuY/Fv9fRAi8Wj4CUKc6iYVG8QNRjRuo8/BqVYIpfqberJUEacA==",
1041 | "dev": true,
1042 | "requires": {
1043 | "builtins": "^5.0.1",
1044 | "eslint-plugin-es": "^4.1.0",
1045 | "eslint-utils": "^3.0.0",
1046 | "ignore": "^5.1.1",
1047 | "is-core-module": "^2.11.0",
1048 | "minimatch": "^3.1.2",
1049 | "resolve": "^1.22.1",
1050 | "semver": "^7.3.8"
1051 | },
1052 | "dependencies": {
1053 | "semver": {
1054 | "version": "7.3.8",
1055 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
1056 | "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
1057 | "dev": true,
1058 | "requires": {
1059 | "lru-cache": "^6.0.0"
1060 | }
1061 | }
1062 | }
1063 | },
1064 | "eslint-plugin-promise": {
1065 | "version": "6.1.1",
1066 | "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz",
1067 | "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==",
1068 | "dev": true
1069 | },
1070 | "eslint-scope": {
1071 | "version": "7.1.1",
1072 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
1073 | "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
1074 | "dev": true,
1075 | "requires": {
1076 | "esrecurse": "^4.3.0",
1077 | "estraverse": "^5.2.0"
1078 | }
1079 | },
1080 | "eslint-utils": {
1081 | "version": "3.0.0",
1082 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
1083 | "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
1084 | "dev": true,
1085 | "requires": {
1086 | "eslint-visitor-keys": "^2.0.0"
1087 | },
1088 | "dependencies": {
1089 | "eslint-visitor-keys": {
1090 | "version": "2.1.0",
1091 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
1092 | "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
1093 | "dev": true
1094 | }
1095 | }
1096 | },
1097 | "eslint-visitor-keys": {
1098 | "version": "3.3.0",
1099 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
1100 | "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
1101 | "dev": true
1102 | },
1103 | "espree": {
1104 | "version": "9.4.1",
1105 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
1106 | "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
1107 | "dev": true,
1108 | "requires": {
1109 | "acorn": "^8.8.0",
1110 | "acorn-jsx": "^5.3.2",
1111 | "eslint-visitor-keys": "^3.3.0"
1112 | },
1113 | "dependencies": {
1114 | "acorn": {
1115 | "version": "8.8.2",
1116 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
1117 | "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
1118 | "dev": true
1119 | }
1120 | }
1121 | },
1122 | "esquery": {
1123 | "version": "1.4.2",
1124 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz",
1125 | "integrity": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==",
1126 | "dev": true,
1127 | "requires": {
1128 | "estraverse": "^5.1.0"
1129 | }
1130 | },
1131 | "esrecurse": {
1132 | "version": "4.3.0",
1133 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
1134 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
1135 | "dev": true,
1136 | "requires": {
1137 | "estraverse": "^5.2.0"
1138 | }
1139 | },
1140 | "estraverse": {
1141 | "version": "5.3.0",
1142 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
1143 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
1144 | "dev": true
1145 | },
1146 | "esutils": {
1147 | "version": "2.0.3",
1148 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
1149 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
1150 | },
1151 | "etag": {
1152 | "version": "1.8.1",
1153 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
1154 | "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
1155 | },
1156 | "express": {
1157 | "version": "4.16.4",
1158 | "requires": {
1159 | "accepts": "~1.3.5",
1160 | "array-flatten": "1.1.1",
1161 | "body-parser": "1.18.3",
1162 | "content-disposition": "0.5.2",
1163 | "content-type": "~1.0.4",
1164 | "cookie": "0.3.1",
1165 | "cookie-signature": "1.0.6",
1166 | "debug": "2.6.9",
1167 | "depd": "~1.1.2",
1168 | "encodeurl": "~1.0.2",
1169 | "escape-html": "~1.0.3",
1170 | "etag": "~1.8.1",
1171 | "finalhandler": "1.1.1",
1172 | "fresh": "0.5.2",
1173 | "merge-descriptors": "1.0.1",
1174 | "methods": "~1.1.2",
1175 | "on-finished": "~2.3.0",
1176 | "parseurl": "~1.3.2",
1177 | "path-to-regexp": "0.1.7",
1178 | "proxy-addr": "~2.0.4",
1179 | "qs": "6.5.2",
1180 | "range-parser": "~1.2.0",
1181 | "safe-buffer": "5.1.2",
1182 | "send": "0.16.2",
1183 | "serve-static": "1.13.2",
1184 | "setprototypeof": "1.1.0",
1185 | "statuses": "~1.4.0",
1186 | "type-is": "~1.6.16",
1187 | "utils-merge": "1.0.1",
1188 | "vary": "~1.1.2"
1189 | },
1190 | "dependencies": {
1191 | "cookie": {
1192 | "version": "0.3.1",
1193 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
1194 | "integrity": "sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw=="
1195 | },
1196 | "debug": {
1197 | "version": "2.6.9",
1198 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1199 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1200 | "requires": {
1201 | "ms": "2.0.0"
1202 | }
1203 | }
1204 | }
1205 | },
1206 | "extend": {
1207 | "version": "3.0.2",
1208 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
1209 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
1210 | },
1211 | "extsprintf": {
1212 | "version": "1.3.0",
1213 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
1214 | "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g=="
1215 | },
1216 | "fast-deep-equal": {
1217 | "version": "3.1.3",
1218 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
1219 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
1220 | },
1221 | "fast-json-stable-stringify": {
1222 | "version": "2.1.0",
1223 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
1224 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
1225 | },
1226 | "fast-levenshtein": {
1227 | "version": "2.0.6",
1228 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
1229 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
1230 | "dev": true
1231 | },
1232 | "fastq": {
1233 | "version": "1.15.0",
1234 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
1235 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
1236 | "dev": true,
1237 | "requires": {
1238 | "reusify": "^1.0.4"
1239 | }
1240 | },
1241 | "file-entry-cache": {
1242 | "version": "6.0.1",
1243 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
1244 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
1245 | "dev": true,
1246 | "requires": {
1247 | "flat-cache": "^3.0.4"
1248 | }
1249 | },
1250 | "fill-range": {
1251 | "version": "7.0.1",
1252 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
1253 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
1254 | "dev": true,
1255 | "requires": {
1256 | "to-regex-range": "^5.0.1"
1257 | }
1258 | },
1259 | "finalhandler": {
1260 | "version": "1.1.1",
1261 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
1262 | "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
1263 | "requires": {
1264 | "debug": "2.6.9",
1265 | "encodeurl": "~1.0.2",
1266 | "escape-html": "~1.0.3",
1267 | "on-finished": "~2.3.0",
1268 | "parseurl": "~1.3.2",
1269 | "statuses": "~1.4.0",
1270 | "unpipe": "~1.0.0"
1271 | },
1272 | "dependencies": {
1273 | "debug": {
1274 | "version": "2.6.9",
1275 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1276 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1277 | "requires": {
1278 | "ms": "2.0.0"
1279 | }
1280 | }
1281 | }
1282 | },
1283 | "find-up": {
1284 | "version": "5.0.0",
1285 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
1286 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
1287 | "dev": true,
1288 | "requires": {
1289 | "locate-path": "^6.0.0",
1290 | "path-exists": "^4.0.0"
1291 | }
1292 | },
1293 | "flat-cache": {
1294 | "version": "3.0.4",
1295 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
1296 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
1297 | "dev": true,
1298 | "requires": {
1299 | "flatted": "^3.1.0",
1300 | "rimraf": "^3.0.2"
1301 | }
1302 | },
1303 | "flatted": {
1304 | "version": "3.2.7",
1305 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
1306 | "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
1307 | "dev": true
1308 | },
1309 | "follow-redirects": {
1310 | "version": "1.15.2",
1311 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
1312 | "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
1313 | },
1314 | "for-each": {
1315 | "version": "0.3.3",
1316 | "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
1317 | "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
1318 | "dev": true,
1319 | "requires": {
1320 | "is-callable": "^1.1.3"
1321 | }
1322 | },
1323 | "forever-agent": {
1324 | "version": "0.6.1",
1325 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
1326 | "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw=="
1327 | },
1328 | "form-data": {
1329 | "version": "2.3.3",
1330 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
1331 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
1332 | "requires": {
1333 | "asynckit": "^0.4.0",
1334 | "combined-stream": "^1.0.6",
1335 | "mime-types": "^2.1.12"
1336 | }
1337 | },
1338 | "forwarded": {
1339 | "version": "0.2.0",
1340 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
1341 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
1342 | },
1343 | "fresh": {
1344 | "version": "0.5.2",
1345 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
1346 | "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="
1347 | },
1348 | "fs.realpath": {
1349 | "version": "1.0.0",
1350 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1351 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
1352 | "dev": true
1353 | },
1354 | "fsevents": {
1355 | "version": "2.3.2",
1356 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1357 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1358 | "dev": true,
1359 | "optional": true
1360 | },
1361 | "function-bind": {
1362 | "version": "1.1.1",
1363 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1364 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
1365 | },
1366 | "function.prototype.name": {
1367 | "version": "1.1.5",
1368 | "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
1369 | "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
1370 | "dev": true,
1371 | "requires": {
1372 | "call-bind": "^1.0.2",
1373 | "define-properties": "^1.1.3",
1374 | "es-abstract": "^1.19.0",
1375 | "functions-have-names": "^1.2.2"
1376 | }
1377 | },
1378 | "functions-have-names": {
1379 | "version": "1.2.3",
1380 | "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
1381 | "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
1382 | "dev": true
1383 | },
1384 | "get-caller-file": {
1385 | "version": "2.0.5",
1386 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
1387 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
1388 | },
1389 | "get-intrinsic": {
1390 | "version": "1.2.0",
1391 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
1392 | "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
1393 | "requires": {
1394 | "function-bind": "^1.1.1",
1395 | "has": "^1.0.3",
1396 | "has-symbols": "^1.0.3"
1397 | }
1398 | },
1399 | "get-symbol-description": {
1400 | "version": "1.0.0",
1401 | "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
1402 | "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
1403 | "dev": true,
1404 | "requires": {
1405 | "call-bind": "^1.0.2",
1406 | "get-intrinsic": "^1.1.1"
1407 | }
1408 | },
1409 | "getpass": {
1410 | "version": "0.1.7",
1411 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
1412 | "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
1413 | "requires": {
1414 | "assert-plus": "^1.0.0"
1415 | }
1416 | },
1417 | "glob": {
1418 | "version": "7.2.3",
1419 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
1420 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
1421 | "dev": true,
1422 | "requires": {
1423 | "fs.realpath": "^1.0.0",
1424 | "inflight": "^1.0.4",
1425 | "inherits": "2",
1426 | "minimatch": "^3.1.1",
1427 | "once": "^1.3.0",
1428 | "path-is-absolute": "^1.0.0"
1429 | }
1430 | },
1431 | "glob-parent": {
1432 | "version": "5.1.2",
1433 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1434 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1435 | "dev": true,
1436 | "requires": {
1437 | "is-glob": "^4.0.1"
1438 | }
1439 | },
1440 | "globals": {
1441 | "version": "13.20.0",
1442 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
1443 | "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
1444 | "dev": true,
1445 | "requires": {
1446 | "type-fest": "^0.20.2"
1447 | }
1448 | },
1449 | "globalthis": {
1450 | "version": "1.0.3",
1451 | "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
1452 | "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
1453 | "dev": true,
1454 | "requires": {
1455 | "define-properties": "^1.1.3"
1456 | }
1457 | },
1458 | "gopd": {
1459 | "version": "1.0.1",
1460 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
1461 | "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
1462 | "dev": true,
1463 | "requires": {
1464 | "get-intrinsic": "^1.1.3"
1465 | }
1466 | },
1467 | "graceful-readlink": {
1468 | "version": "1.0.1",
1469 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
1470 | "integrity": "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w=="
1471 | },
1472 | "grapheme-splitter": {
1473 | "version": "1.0.4",
1474 | "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
1475 | "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
1476 | "dev": true
1477 | },
1478 | "har-schema": {
1479 | "version": "2.0.0",
1480 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
1481 | "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q=="
1482 | },
1483 | "har-validator": {
1484 | "version": "5.1.5",
1485 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
1486 | "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
1487 | "requires": {
1488 | "ajv": "^6.12.3",
1489 | "har-schema": "^2.0.0"
1490 | }
1491 | },
1492 | "has": {
1493 | "version": "1.0.3",
1494 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1495 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1496 | "requires": {
1497 | "function-bind": "^1.1.1"
1498 | }
1499 | },
1500 | "has-bigints": {
1501 | "version": "1.0.2",
1502 | "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
1503 | "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
1504 | "dev": true
1505 | },
1506 | "has-flag": {
1507 | "version": "3.0.0",
1508 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1509 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
1510 | "dev": true
1511 | },
1512 | "has-property-descriptors": {
1513 | "version": "1.0.0",
1514 | "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
1515 | "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
1516 | "dev": true,
1517 | "requires": {
1518 | "get-intrinsic": "^1.1.1"
1519 | }
1520 | },
1521 | "has-proto": {
1522 | "version": "1.0.1",
1523 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
1524 | "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
1525 | "dev": true
1526 | },
1527 | "has-symbols": {
1528 | "version": "1.0.3",
1529 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
1530 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
1531 | },
1532 | "has-tostringtag": {
1533 | "version": "1.0.0",
1534 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
1535 | "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
1536 | "requires": {
1537 | "has-symbols": "^1.0.2"
1538 | }
1539 | },
1540 | "http-signature": {
1541 | "version": "1.2.0",
1542 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
1543 | "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
1544 | "requires": {
1545 | "assert-plus": "^1.0.0",
1546 | "jsprim": "^1.2.2",
1547 | "sshpk": "^1.7.0"
1548 | }
1549 | },
1550 | "iconv-lite": {
1551 | "version": "0.4.23",
1552 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
1553 | "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
1554 | "requires": {
1555 | "safer-buffer": ">= 2.1.2 < 3"
1556 | }
1557 | },
1558 | "ignore": {
1559 | "version": "5.2.4",
1560 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
1561 | "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
1562 | "dev": true
1563 | },
1564 | "ignore-by-default": {
1565 | "version": "1.0.1",
1566 | "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
1567 | "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==",
1568 | "dev": true
1569 | },
1570 | "import-fresh": {
1571 | "version": "3.3.0",
1572 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
1573 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
1574 | "dev": true,
1575 | "requires": {
1576 | "parent-module": "^1.0.0",
1577 | "resolve-from": "^4.0.0"
1578 | }
1579 | },
1580 | "imurmurhash": {
1581 | "version": "0.1.4",
1582 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
1583 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
1584 | "dev": true
1585 | },
1586 | "inflight": {
1587 | "version": "1.0.6",
1588 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1589 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
1590 | "dev": true,
1591 | "requires": {
1592 | "once": "^1.3.0",
1593 | "wrappy": "1"
1594 | }
1595 | },
1596 | "inherits": {
1597 | "version": "2.0.3",
1598 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
1599 | "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
1600 | },
1601 | "ini": {
1602 | "version": "2.0.0",
1603 | "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
1604 | "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA=="
1605 | },
1606 | "internal-slot": {
1607 | "version": "1.0.5",
1608 | "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz",
1609 | "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==",
1610 | "dev": true,
1611 | "requires": {
1612 | "get-intrinsic": "^1.2.0",
1613 | "has": "^1.0.3",
1614 | "side-channel": "^1.0.4"
1615 | }
1616 | },
1617 | "ipaddr.js": {
1618 | "version": "1.9.1",
1619 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
1620 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
1621 | },
1622 | "is-array-buffer": {
1623 | "version": "3.0.1",
1624 | "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz",
1625 | "integrity": "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==",
1626 | "dev": true,
1627 | "requires": {
1628 | "call-bind": "^1.0.2",
1629 | "get-intrinsic": "^1.1.3",
1630 | "is-typed-array": "^1.1.10"
1631 | }
1632 | },
1633 | "is-bigint": {
1634 | "version": "1.0.4",
1635 | "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
1636 | "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
1637 | "dev": true,
1638 | "requires": {
1639 | "has-bigints": "^1.0.1"
1640 | }
1641 | },
1642 | "is-binary-path": {
1643 | "version": "2.1.0",
1644 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
1645 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
1646 | "dev": true,
1647 | "requires": {
1648 | "binary-extensions": "^2.0.0"
1649 | }
1650 | },
1651 | "is-boolean-object": {
1652 | "version": "1.1.2",
1653 | "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
1654 | "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
1655 | "dev": true,
1656 | "requires": {
1657 | "call-bind": "^1.0.2",
1658 | "has-tostringtag": "^1.0.0"
1659 | }
1660 | },
1661 | "is-buffer": {
1662 | "version": "1.1.6",
1663 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
1664 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
1665 | },
1666 | "is-callable": {
1667 | "version": "1.2.7",
1668 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
1669 | "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
1670 | "dev": true
1671 | },
1672 | "is-core-module": {
1673 | "version": "2.11.0",
1674 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
1675 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
1676 | "requires": {
1677 | "has": "^1.0.3"
1678 | }
1679 | },
1680 | "is-date-object": {
1681 | "version": "1.0.5",
1682 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
1683 | "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
1684 | "dev": true,
1685 | "requires": {
1686 | "has-tostringtag": "^1.0.0"
1687 | }
1688 | },
1689 | "is-expression": {
1690 | "version": "3.0.0",
1691 | "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz",
1692 | "integrity": "sha512-vyMeQMq+AiH5uUnoBfMTwf18tO3bM6k1QXBE9D6ueAAquEfCZe3AJPtud9g6qS0+4X8xA7ndpZiDyeb2l2qOBw==",
1693 | "requires": {
1694 | "acorn": "~4.0.2",
1695 | "object-assign": "^4.0.1"
1696 | },
1697 | "dependencies": {
1698 | "acorn": {
1699 | "version": "4.0.13",
1700 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
1701 | "integrity": "sha512-fu2ygVGuMmlzG8ZeRJ0bvR41nsAkxxhbyk8bZ1SS521Z7vmgJFTQQlfz/Mp/nJexGBz+v8sC9bM6+lNgskt4Ug=="
1702 | }
1703 | }
1704 | },
1705 | "is-extglob": {
1706 | "version": "2.1.1",
1707 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1708 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
1709 | "dev": true
1710 | },
1711 | "is-fullwidth-code-point": {
1712 | "version": "3.0.0",
1713 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
1714 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
1715 | },
1716 | "is-glob": {
1717 | "version": "4.0.3",
1718 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
1719 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
1720 | "dev": true,
1721 | "requires": {
1722 | "is-extglob": "^2.1.1"
1723 | }
1724 | },
1725 | "is-negative-zero": {
1726 | "version": "2.0.2",
1727 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
1728 | "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
1729 | "dev": true
1730 | },
1731 | "is-number": {
1732 | "version": "7.0.0",
1733 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1734 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1735 | "dev": true
1736 | },
1737 | "is-number-object": {
1738 | "version": "1.0.7",
1739 | "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
1740 | "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
1741 | "dev": true,
1742 | "requires": {
1743 | "has-tostringtag": "^1.0.0"
1744 | }
1745 | },
1746 | "is-path-inside": {
1747 | "version": "3.0.3",
1748 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
1749 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
1750 | "dev": true
1751 | },
1752 | "is-promise": {
1753 | "version": "2.2.2",
1754 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
1755 | "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ=="
1756 | },
1757 | "is-regex": {
1758 | "version": "1.1.4",
1759 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
1760 | "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
1761 | "requires": {
1762 | "call-bind": "^1.0.2",
1763 | "has-tostringtag": "^1.0.0"
1764 | }
1765 | },
1766 | "is-shared-array-buffer": {
1767 | "version": "1.0.2",
1768 | "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
1769 | "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
1770 | "dev": true,
1771 | "requires": {
1772 | "call-bind": "^1.0.2"
1773 | }
1774 | },
1775 | "is-string": {
1776 | "version": "1.0.7",
1777 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
1778 | "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
1779 | "dev": true,
1780 | "requires": {
1781 | "has-tostringtag": "^1.0.0"
1782 | }
1783 | },
1784 | "is-symbol": {
1785 | "version": "1.0.4",
1786 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
1787 | "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
1788 | "dev": true,
1789 | "requires": {
1790 | "has-symbols": "^1.0.2"
1791 | }
1792 | },
1793 | "is-typed-array": {
1794 | "version": "1.1.10",
1795 | "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
1796 | "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
1797 | "dev": true,
1798 | "requires": {
1799 | "available-typed-arrays": "^1.0.5",
1800 | "call-bind": "^1.0.2",
1801 | "for-each": "^0.3.3",
1802 | "gopd": "^1.0.1",
1803 | "has-tostringtag": "^1.0.0"
1804 | }
1805 | },
1806 | "is-typedarray": {
1807 | "version": "1.0.0",
1808 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
1809 | "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
1810 | },
1811 | "is-weakref": {
1812 | "version": "1.0.2",
1813 | "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
1814 | "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
1815 | "dev": true,
1816 | "requires": {
1817 | "call-bind": "^1.0.2"
1818 | }
1819 | },
1820 | "isexe": {
1821 | "version": "2.0.0",
1822 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1823 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
1824 | "dev": true
1825 | },
1826 | "isstream": {
1827 | "version": "0.1.2",
1828 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
1829 | "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
1830 | },
1831 | "js-sdsl": {
1832 | "version": "4.3.0",
1833 | "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz",
1834 | "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==",
1835 | "dev": true
1836 | },
1837 | "js-stringify": {
1838 | "version": "1.0.2",
1839 | "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz",
1840 | "integrity": "sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g=="
1841 | },
1842 | "js-yaml": {
1843 | "version": "4.1.0",
1844 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
1845 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
1846 | "dev": true,
1847 | "requires": {
1848 | "argparse": "^2.0.1"
1849 | }
1850 | },
1851 | "jsbn": {
1852 | "version": "0.1.1",
1853 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
1854 | "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="
1855 | },
1856 | "json-schema": {
1857 | "version": "0.4.0",
1858 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
1859 | "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
1860 | },
1861 | "json-schema-traverse": {
1862 | "version": "0.4.1",
1863 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1864 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
1865 | },
1866 | "json-stable-stringify-without-jsonify": {
1867 | "version": "1.0.1",
1868 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
1869 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
1870 | "dev": true
1871 | },
1872 | "json-stringify-safe": {
1873 | "version": "5.0.1",
1874 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
1875 | "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
1876 | },
1877 | "json5": {
1878 | "version": "1.0.2",
1879 | "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
1880 | "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
1881 | "dev": true,
1882 | "requires": {
1883 | "minimist": "^1.2.0"
1884 | }
1885 | },
1886 | "jsprim": {
1887 | "version": "1.4.2",
1888 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
1889 | "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
1890 | "requires": {
1891 | "assert-plus": "1.0.0",
1892 | "extsprintf": "1.3.0",
1893 | "json-schema": "0.4.0",
1894 | "verror": "1.10.0"
1895 | }
1896 | },
1897 | "jstransformer": {
1898 | "version": "1.0.0",
1899 | "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz",
1900 | "integrity": "sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==",
1901 | "requires": {
1902 | "is-promise": "^2.0.0",
1903 | "promise": "^7.0.1"
1904 | }
1905 | },
1906 | "kind-of": {
1907 | "version": "3.2.2",
1908 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1909 | "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
1910 | "requires": {
1911 | "is-buffer": "^1.1.5"
1912 | }
1913 | },
1914 | "lazy-cache": {
1915 | "version": "1.0.4",
1916 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
1917 | "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ=="
1918 | },
1919 | "levn": {
1920 | "version": "0.4.1",
1921 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
1922 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
1923 | "dev": true,
1924 | "requires": {
1925 | "prelude-ls": "^1.2.1",
1926 | "type-check": "~0.4.0"
1927 | }
1928 | },
1929 | "locate-path": {
1930 | "version": "6.0.0",
1931 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
1932 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
1933 | "dev": true,
1934 | "requires": {
1935 | "p-locate": "^5.0.0"
1936 | }
1937 | },
1938 | "lodash": {
1939 | "version": "4.17.21",
1940 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
1941 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
1942 | },
1943 | "lodash.merge": {
1944 | "version": "4.6.2",
1945 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
1946 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
1947 | "dev": true
1948 | },
1949 | "longest": {
1950 | "version": "1.0.1",
1951 | "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
1952 | "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg=="
1953 | },
1954 | "lru-cache": {
1955 | "version": "6.0.0",
1956 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
1957 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
1958 | "dev": true,
1959 | "requires": {
1960 | "yallist": "^4.0.0"
1961 | }
1962 | },
1963 | "media-typer": {
1964 | "version": "0.3.0",
1965 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
1966 | "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="
1967 | },
1968 | "merge-descriptors": {
1969 | "version": "1.0.1",
1970 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
1971 | "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
1972 | },
1973 | "methods": {
1974 | "version": "1.1.2",
1975 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
1976 | "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="
1977 | },
1978 | "mime": {
1979 | "version": "1.4.1",
1980 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
1981 | "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
1982 | },
1983 | "mime-db": {
1984 | "version": "1.52.0",
1985 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
1986 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
1987 | },
1988 | "mime-types": {
1989 | "version": "2.1.35",
1990 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
1991 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
1992 | "requires": {
1993 | "mime-db": "1.52.0"
1994 | }
1995 | },
1996 | "minimatch": {
1997 | "version": "3.1.2",
1998 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
1999 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
2000 | "dev": true,
2001 | "requires": {
2002 | "brace-expansion": "^1.1.7"
2003 | }
2004 | },
2005 | "minimist": {
2006 | "version": "1.2.8",
2007 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
2008 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
2009 | "dev": true
2010 | },
2011 | "morgan": {
2012 | "version": "1.9.1",
2013 | "requires": {
2014 | "basic-auth": "~2.0.0",
2015 | "debug": "2.6.9",
2016 | "depd": "~1.1.2",
2017 | "on-finished": "~2.3.0",
2018 | "on-headers": "~1.0.1"
2019 | },
2020 | "dependencies": {
2021 | "debug": {
2022 | "version": "2.6.9",
2023 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
2024 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
2025 | "requires": {
2026 | "ms": "2.0.0"
2027 | }
2028 | }
2029 | }
2030 | },
2031 | "ms": {
2032 | "version": "2.0.0",
2033 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2034 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
2035 | },
2036 | "natural-compare": {
2037 | "version": "1.4.0",
2038 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
2039 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
2040 | "dev": true
2041 | },
2042 | "nconf": {
2043 | "version": "0.12.0",
2044 | "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.12.0.tgz",
2045 | "integrity": "sha512-T3fZPw3c7Dfrz8JBQEbEcZJ2s8f7cUMpKuyBtsGQe0b71pcXx6gNh4oti2xh5dxB+gO9ufNfISBlGvvWtfyMcA==",
2046 | "requires": {
2047 | "async": "^3.0.0",
2048 | "ini": "^2.0.0",
2049 | "secure-keys": "^1.0.0",
2050 | "yargs": "^16.1.1"
2051 | },
2052 | "dependencies": {
2053 | "cliui": {
2054 | "version": "7.0.4",
2055 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
2056 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
2057 | "requires": {
2058 | "string-width": "^4.2.0",
2059 | "strip-ansi": "^6.0.0",
2060 | "wrap-ansi": "^7.0.0"
2061 | }
2062 | },
2063 | "yargs": {
2064 | "version": "16.2.0",
2065 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
2066 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
2067 | "requires": {
2068 | "cliui": "^7.0.2",
2069 | "escalade": "^3.1.1",
2070 | "get-caller-file": "^2.0.5",
2071 | "require-directory": "^2.1.1",
2072 | "string-width": "^4.2.0",
2073 | "y18n": "^5.0.5",
2074 | "yargs-parser": "^20.2.2"
2075 | }
2076 | }
2077 | }
2078 | },
2079 | "negotiator": {
2080 | "version": "0.6.3",
2081 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
2082 | "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
2083 | },
2084 | "node-zendesk": {
2085 | "version": "2.2.0",
2086 | "requires": {
2087 | "async": "3.2.x",
2088 | "nconf": "0.12.0",
2089 | "querystring": "0.2.x",
2090 | "request": "2.88.2"
2091 | }
2092 | },
2093 | "nodemon": {
2094 | "version": "2.0.20",
2095 | "dev": true,
2096 | "requires": {
2097 | "chokidar": "^3.5.2",
2098 | "debug": "^3.2.7",
2099 | "ignore-by-default": "^1.0.1",
2100 | "minimatch": "^3.1.2",
2101 | "pstree.remy": "^1.1.8",
2102 | "semver": "^5.7.1",
2103 | "simple-update-notifier": "^1.0.7",
2104 | "supports-color": "^5.5.0",
2105 | "touch": "^3.1.0",
2106 | "undefsafe": "^2.0.5"
2107 | },
2108 | "dependencies": {
2109 | "debug": {
2110 | "version": "3.2.7",
2111 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
2112 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
2113 | "dev": true,
2114 | "requires": {
2115 | "ms": "^2.1.1"
2116 | }
2117 | },
2118 | "ms": {
2119 | "version": "2.1.3",
2120 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
2121 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
2122 | "dev": true
2123 | }
2124 | }
2125 | },
2126 | "nopt": {
2127 | "version": "1.0.10",
2128 | "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
2129 | "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
2130 | "dev": true,
2131 | "requires": {
2132 | "abbrev": "1"
2133 | }
2134 | },
2135 | "normalize-path": {
2136 | "version": "3.0.0",
2137 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
2138 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
2139 | "dev": true
2140 | },
2141 | "oauth-sign": {
2142 | "version": "0.9.0",
2143 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
2144 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
2145 | },
2146 | "object-assign": {
2147 | "version": "4.1.1",
2148 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
2149 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
2150 | },
2151 | "object-inspect": {
2152 | "version": "1.12.3",
2153 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
2154 | "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
2155 | "dev": true
2156 | },
2157 | "object-keys": {
2158 | "version": "1.1.1",
2159 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
2160 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
2161 | "dev": true
2162 | },
2163 | "object.assign": {
2164 | "version": "4.1.4",
2165 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
2166 | "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
2167 | "dev": true,
2168 | "requires": {
2169 | "call-bind": "^1.0.2",
2170 | "define-properties": "^1.1.4",
2171 | "has-symbols": "^1.0.3",
2172 | "object-keys": "^1.1.1"
2173 | }
2174 | },
2175 | "object.values": {
2176 | "version": "1.1.6",
2177 | "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz",
2178 | "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==",
2179 | "dev": true,
2180 | "requires": {
2181 | "call-bind": "^1.0.2",
2182 | "define-properties": "^1.1.4",
2183 | "es-abstract": "^1.20.4"
2184 | }
2185 | },
2186 | "on-finished": {
2187 | "version": "2.3.0",
2188 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
2189 | "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
2190 | "requires": {
2191 | "ee-first": "1.1.1"
2192 | }
2193 | },
2194 | "on-headers": {
2195 | "version": "1.0.2",
2196 | "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
2197 | "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
2198 | },
2199 | "once": {
2200 | "version": "1.4.0",
2201 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2202 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
2203 | "dev": true,
2204 | "requires": {
2205 | "wrappy": "1"
2206 | }
2207 | },
2208 | "openai": {
2209 | "version": "3.1.0",
2210 | "requires": {
2211 | "axios": "^0.26.0",
2212 | "form-data": "^4.0.0"
2213 | },
2214 | "dependencies": {
2215 | "form-data": {
2216 | "version": "4.0.0",
2217 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
2218 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
2219 | "requires": {
2220 | "asynckit": "^0.4.0",
2221 | "combined-stream": "^1.0.8",
2222 | "mime-types": "^2.1.12"
2223 | }
2224 | }
2225 | }
2226 | },
2227 | "optionator": {
2228 | "version": "0.9.1",
2229 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
2230 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
2231 | "dev": true,
2232 | "requires": {
2233 | "deep-is": "^0.1.3",
2234 | "fast-levenshtein": "^2.0.6",
2235 | "levn": "^0.4.1",
2236 | "prelude-ls": "^1.2.1",
2237 | "type-check": "^0.4.0",
2238 | "word-wrap": "^1.2.3"
2239 | }
2240 | },
2241 | "p-limit": {
2242 | "version": "3.1.0",
2243 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
2244 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
2245 | "dev": true,
2246 | "requires": {
2247 | "yocto-queue": "^0.1.0"
2248 | }
2249 | },
2250 | "p-locate": {
2251 | "version": "5.0.0",
2252 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
2253 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
2254 | "dev": true,
2255 | "requires": {
2256 | "p-limit": "^3.0.2"
2257 | }
2258 | },
2259 | "parent-module": {
2260 | "version": "1.0.1",
2261 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
2262 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
2263 | "dev": true,
2264 | "requires": {
2265 | "callsites": "^3.0.0"
2266 | }
2267 | },
2268 | "parseurl": {
2269 | "version": "1.3.3",
2270 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
2271 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
2272 | },
2273 | "path-exists": {
2274 | "version": "4.0.0",
2275 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
2276 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
2277 | "dev": true
2278 | },
2279 | "path-is-absolute": {
2280 | "version": "1.0.1",
2281 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2282 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
2283 | "dev": true
2284 | },
2285 | "path-key": {
2286 | "version": "3.1.1",
2287 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
2288 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
2289 | "dev": true
2290 | },
2291 | "path-parse": {
2292 | "version": "1.0.7",
2293 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
2294 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
2295 | },
2296 | "path-to-regexp": {
2297 | "version": "0.1.7",
2298 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
2299 | "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
2300 | },
2301 | "performance-now": {
2302 | "version": "2.1.0",
2303 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
2304 | "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
2305 | },
2306 | "picomatch": {
2307 | "version": "2.3.1",
2308 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
2309 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
2310 | "dev": true
2311 | },
2312 | "prelude-ls": {
2313 | "version": "1.2.1",
2314 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
2315 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
2316 | "dev": true
2317 | },
2318 | "promise": {
2319 | "version": "7.3.1",
2320 | "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
2321 | "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
2322 | "requires": {
2323 | "asap": "~2.0.3"
2324 | }
2325 | },
2326 | "proxy-addr": {
2327 | "version": "2.0.7",
2328 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
2329 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
2330 | "requires": {
2331 | "forwarded": "0.2.0",
2332 | "ipaddr.js": "1.9.1"
2333 | }
2334 | },
2335 | "psl": {
2336 | "version": "1.9.0",
2337 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
2338 | "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
2339 | },
2340 | "pstree.remy": {
2341 | "version": "1.1.8",
2342 | "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
2343 | "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
2344 | "dev": true
2345 | },
2346 | "pug": {
2347 | "version": "2.0.0-beta11",
2348 | "requires": {
2349 | "pug-code-gen": "^1.1.1",
2350 | "pug-filters": "^2.1.1",
2351 | "pug-lexer": "^3.0.0",
2352 | "pug-linker": "^2.0.2",
2353 | "pug-load": "^2.0.5",
2354 | "pug-parser": "^2.0.2",
2355 | "pug-runtime": "^2.0.3",
2356 | "pug-strip-comments": "^1.0.2"
2357 | }
2358 | },
2359 | "pug-attrs": {
2360 | "version": "2.0.4",
2361 | "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.4.tgz",
2362 | "integrity": "sha512-TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==",
2363 | "requires": {
2364 | "constantinople": "^3.0.1",
2365 | "js-stringify": "^1.0.1",
2366 | "pug-runtime": "^2.0.5"
2367 | }
2368 | },
2369 | "pug-code-gen": {
2370 | "version": "1.1.1",
2371 | "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-1.1.1.tgz",
2372 | "integrity": "sha512-UwZaJVhjhy2kYntLqXjSV1ae+K96ve6bG+N5bLFfA6yyGJTEkguct19MWDyUM9D8CDU3NNxVctUAh5McF19E6w==",
2373 | "requires": {
2374 | "constantinople": "^3.0.1",
2375 | "doctypes": "^1.1.0",
2376 | "js-stringify": "^1.0.1",
2377 | "pug-attrs": "^2.0.2",
2378 | "pug-error": "^1.3.2",
2379 | "pug-runtime": "^2.0.3",
2380 | "void-elements": "^2.0.1",
2381 | "with": "^5.0.0"
2382 | }
2383 | },
2384 | "pug-error": {
2385 | "version": "1.3.3",
2386 | "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.3.tgz",
2387 | "integrity": "sha512-qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ=="
2388 | },
2389 | "pug-filters": {
2390 | "version": "2.1.5",
2391 | "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-2.1.5.tgz",
2392 | "integrity": "sha512-xkw71KtrC4sxleKiq+cUlQzsiLn8pM5+vCgkChW2E6oNOzaqTSIBKIQ5cl4oheuDzvJYCTSYzRaVinMUrV4YLQ==",
2393 | "requires": {
2394 | "clean-css": "^3.3.0",
2395 | "constantinople": "^3.0.1",
2396 | "jstransformer": "1.0.0",
2397 | "pug-error": "^1.3.2",
2398 | "pug-walk": "^1.1.5",
2399 | "resolve": "^1.1.6",
2400 | "uglify-js": "^2.6.1"
2401 | }
2402 | },
2403 | "pug-lexer": {
2404 | "version": "3.1.0",
2405 | "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-3.1.0.tgz",
2406 | "integrity": "sha512-DxXOrmCIDVEwzN2ozZBK1t4QRTR6pLv5YkqM6dLdaSHnm+LJJRBngVn4IDMMBZQR9xUpxrRm9rffmku2OEqkJw==",
2407 | "requires": {
2408 | "character-parser": "^2.1.1",
2409 | "is-expression": "^3.0.0",
2410 | "pug-error": "^1.3.2"
2411 | }
2412 | },
2413 | "pug-linker": {
2414 | "version": "2.0.3",
2415 | "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-2.0.3.tgz",
2416 | "integrity": "sha512-ZqKljvFUl1K5L4G5WABJ5FUYWOY0K2AXLmwj2QfM7nPCUcxfsmr05SikjgXGXVoIrygGzM/iWSsXwnkWId4AHw==",
2417 | "requires": {
2418 | "pug-error": "^1.3.2",
2419 | "pug-walk": "^1.1.2"
2420 | }
2421 | },
2422 | "pug-load": {
2423 | "version": "2.0.12",
2424 | "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.12.tgz",
2425 | "integrity": "sha512-UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg==",
2426 | "requires": {
2427 | "object-assign": "^4.1.0",
2428 | "pug-walk": "^1.1.8"
2429 | }
2430 | },
2431 | "pug-parser": {
2432 | "version": "2.0.2",
2433 | "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-2.0.2.tgz",
2434 | "integrity": "sha512-PW8kKDLN07MbFljR/GaYHPBGW+64YldtFFZUEGltJ67RRzebI/DxZy4njlxacy9JeheosyVprZ9C5DIexG1D/Q==",
2435 | "requires": {
2436 | "pug-error": "^1.3.2",
2437 | "token-stream": "0.0.1"
2438 | }
2439 | },
2440 | "pug-runtime": {
2441 | "version": "2.0.5",
2442 | "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.5.tgz",
2443 | "integrity": "sha512-P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw=="
2444 | },
2445 | "pug-strip-comments": {
2446 | "version": "1.0.4",
2447 | "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz",
2448 | "integrity": "sha512-i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw==",
2449 | "requires": {
2450 | "pug-error": "^1.3.3"
2451 | }
2452 | },
2453 | "pug-walk": {
2454 | "version": "1.1.8",
2455 | "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz",
2456 | "integrity": "sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA=="
2457 | },
2458 | "punycode": {
2459 | "version": "2.3.0",
2460 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
2461 | "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA=="
2462 | },
2463 | "qs": {
2464 | "version": "6.5.2",
2465 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
2466 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
2467 | },
2468 | "querystring": {
2469 | "version": "0.2.1",
2470 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz",
2471 | "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg=="
2472 | },
2473 | "queue-microtask": {
2474 | "version": "1.2.3",
2475 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
2476 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
2477 | "dev": true
2478 | },
2479 | "range-parser": {
2480 | "version": "1.2.1",
2481 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
2482 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
2483 | },
2484 | "raw-body": {
2485 | "version": "2.3.3",
2486 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz",
2487 | "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==",
2488 | "requires": {
2489 | "bytes": "3.0.0",
2490 | "http-errors": "1.6.3",
2491 | "iconv-lite": "0.4.23",
2492 | "unpipe": "1.0.0"
2493 | },
2494 | "dependencies": {
2495 | "http-errors": {
2496 | "version": "1.6.3",
2497 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
2498 | "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==",
2499 | "requires": {
2500 | "depd": "~1.1.2",
2501 | "inherits": "2.0.3",
2502 | "setprototypeof": "1.1.0",
2503 | "statuses": ">= 1.4.0 < 2"
2504 | }
2505 | }
2506 | }
2507 | },
2508 | "readdirp": {
2509 | "version": "3.6.0",
2510 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
2511 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
2512 | "dev": true,
2513 | "requires": {
2514 | "picomatch": "^2.2.1"
2515 | }
2516 | },
2517 | "regenerator-runtime": {
2518 | "version": "0.11.1",
2519 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
2520 | "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
2521 | },
2522 | "regexp.prototype.flags": {
2523 | "version": "1.4.3",
2524 | "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
2525 | "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
2526 | "dev": true,
2527 | "requires": {
2528 | "call-bind": "^1.0.2",
2529 | "define-properties": "^1.1.3",
2530 | "functions-have-names": "^1.2.2"
2531 | }
2532 | },
2533 | "regexpp": {
2534 | "version": "3.2.0",
2535 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
2536 | "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
2537 | "dev": true
2538 | },
2539 | "repeat-string": {
2540 | "version": "1.6.1",
2541 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
2542 | "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w=="
2543 | },
2544 | "request": {
2545 | "version": "2.88.2",
2546 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
2547 | "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
2548 | "requires": {
2549 | "aws-sign2": "~0.7.0",
2550 | "aws4": "^1.8.0",
2551 | "caseless": "~0.12.0",
2552 | "combined-stream": "~1.0.6",
2553 | "extend": "~3.0.2",
2554 | "forever-agent": "~0.6.1",
2555 | "form-data": "~2.3.2",
2556 | "har-validator": "~5.1.3",
2557 | "http-signature": "~1.2.0",
2558 | "is-typedarray": "~1.0.0",
2559 | "isstream": "~0.1.2",
2560 | "json-stringify-safe": "~5.0.1",
2561 | "mime-types": "~2.1.19",
2562 | "oauth-sign": "~0.9.0",
2563 | "performance-now": "^2.1.0",
2564 | "qs": "~6.5.2",
2565 | "safe-buffer": "^5.1.2",
2566 | "tough-cookie": "~2.5.0",
2567 | "tunnel-agent": "^0.6.0",
2568 | "uuid": "^3.3.2"
2569 | }
2570 | },
2571 | "require-directory": {
2572 | "version": "2.1.1",
2573 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
2574 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
2575 | },
2576 | "resolve": {
2577 | "version": "1.22.1",
2578 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
2579 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
2580 | "requires": {
2581 | "is-core-module": "^2.9.0",
2582 | "path-parse": "^1.0.7",
2583 | "supports-preserve-symlinks-flag": "^1.0.0"
2584 | }
2585 | },
2586 | "resolve-from": {
2587 | "version": "4.0.0",
2588 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
2589 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
2590 | "dev": true
2591 | },
2592 | "reusify": {
2593 | "version": "1.0.4",
2594 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
2595 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
2596 | "dev": true
2597 | },
2598 | "right-align": {
2599 | "version": "0.1.3",
2600 | "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
2601 | "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==",
2602 | "requires": {
2603 | "align-text": "^0.1.1"
2604 | }
2605 | },
2606 | "rimraf": {
2607 | "version": "3.0.2",
2608 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
2609 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
2610 | "dev": true,
2611 | "requires": {
2612 | "glob": "^7.1.3"
2613 | }
2614 | },
2615 | "run-parallel": {
2616 | "version": "1.2.0",
2617 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
2618 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
2619 | "dev": true,
2620 | "requires": {
2621 | "queue-microtask": "^1.2.2"
2622 | }
2623 | },
2624 | "safe-buffer": {
2625 | "version": "5.1.2",
2626 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
2627 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
2628 | },
2629 | "safe-regex-test": {
2630 | "version": "1.0.0",
2631 | "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
2632 | "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
2633 | "dev": true,
2634 | "requires": {
2635 | "call-bind": "^1.0.2",
2636 | "get-intrinsic": "^1.1.3",
2637 | "is-regex": "^1.1.4"
2638 | }
2639 | },
2640 | "safer-buffer": {
2641 | "version": "2.1.2",
2642 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
2643 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
2644 | },
2645 | "secure-keys": {
2646 | "version": "1.0.0",
2647 | "resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz",
2648 | "integrity": "sha512-nZi59hW3Sl5P3+wOO89eHBAAGwmCPd2aE1+dLZV5MO+ItQctIvAqihzaAXIQhvtH4KJPxM080HsnqltR2y8cWg=="
2649 | },
2650 | "semver": {
2651 | "version": "5.7.1",
2652 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
2653 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
2654 | "dev": true
2655 | },
2656 | "send": {
2657 | "version": "0.16.2",
2658 | "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
2659 | "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
2660 | "requires": {
2661 | "debug": "2.6.9",
2662 | "depd": "~1.1.2",
2663 | "destroy": "~1.0.4",
2664 | "encodeurl": "~1.0.2",
2665 | "escape-html": "~1.0.3",
2666 | "etag": "~1.8.1",
2667 | "fresh": "0.5.2",
2668 | "http-errors": "~1.6.2",
2669 | "mime": "1.4.1",
2670 | "ms": "2.0.0",
2671 | "on-finished": "~2.3.0",
2672 | "range-parser": "~1.2.0",
2673 | "statuses": "~1.4.0"
2674 | },
2675 | "dependencies": {
2676 | "debug": {
2677 | "version": "2.6.9",
2678 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
2679 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
2680 | "requires": {
2681 | "ms": "2.0.0"
2682 | }
2683 | },
2684 | "http-errors": {
2685 | "version": "1.6.3",
2686 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
2687 | "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==",
2688 | "requires": {
2689 | "depd": "~1.1.2",
2690 | "inherits": "2.0.3",
2691 | "setprototypeof": "1.1.0",
2692 | "statuses": ">= 1.4.0 < 2"
2693 | }
2694 | }
2695 | }
2696 | },
2697 | "serve-static": {
2698 | "version": "1.13.2",
2699 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
2700 | "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
2701 | "requires": {
2702 | "encodeurl": "~1.0.2",
2703 | "escape-html": "~1.0.3",
2704 | "parseurl": "~1.3.2",
2705 | "send": "0.16.2"
2706 | }
2707 | },
2708 | "setprototypeof": {
2709 | "version": "1.1.0",
2710 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
2711 | "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
2712 | },
2713 | "shebang-command": {
2714 | "version": "2.0.0",
2715 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2716 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2717 | "dev": true,
2718 | "requires": {
2719 | "shebang-regex": "^3.0.0"
2720 | }
2721 | },
2722 | "shebang-regex": {
2723 | "version": "3.0.0",
2724 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
2725 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
2726 | "dev": true
2727 | },
2728 | "side-channel": {
2729 | "version": "1.0.4",
2730 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
2731 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
2732 | "dev": true,
2733 | "requires": {
2734 | "call-bind": "^1.0.0",
2735 | "get-intrinsic": "^1.0.2",
2736 | "object-inspect": "^1.9.0"
2737 | }
2738 | },
2739 | "simple-update-notifier": {
2740 | "version": "1.1.0",
2741 | "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz",
2742 | "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==",
2743 | "dev": true,
2744 | "requires": {
2745 | "semver": "~7.0.0"
2746 | },
2747 | "dependencies": {
2748 | "semver": {
2749 | "version": "7.0.0",
2750 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
2751 | "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
2752 | "dev": true
2753 | }
2754 | }
2755 | },
2756 | "source-map": {
2757 | "version": "0.4.4",
2758 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
2759 | "integrity": "sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==",
2760 | "requires": {
2761 | "amdefine": ">=0.0.4"
2762 | }
2763 | },
2764 | "sshpk": {
2765 | "version": "1.17.0",
2766 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
2767 | "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
2768 | "requires": {
2769 | "asn1": "~0.2.3",
2770 | "assert-plus": "^1.0.0",
2771 | "bcrypt-pbkdf": "^1.0.0",
2772 | "dashdash": "^1.12.0",
2773 | "ecc-jsbn": "~0.1.1",
2774 | "getpass": "^0.1.1",
2775 | "jsbn": "~0.1.0",
2776 | "safer-buffer": "^2.0.2",
2777 | "tweetnacl": "~0.14.0"
2778 | }
2779 | },
2780 | "statuses": {
2781 | "version": "1.4.0",
2782 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
2783 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
2784 | },
2785 | "string-width": {
2786 | "version": "4.2.3",
2787 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
2788 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
2789 | "requires": {
2790 | "emoji-regex": "^8.0.0",
2791 | "is-fullwidth-code-point": "^3.0.0",
2792 | "strip-ansi": "^6.0.1"
2793 | }
2794 | },
2795 | "string.prototype.trimend": {
2796 | "version": "1.0.6",
2797 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz",
2798 | "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==",
2799 | "dev": true,
2800 | "requires": {
2801 | "call-bind": "^1.0.2",
2802 | "define-properties": "^1.1.4",
2803 | "es-abstract": "^1.20.4"
2804 | }
2805 | },
2806 | "string.prototype.trimstart": {
2807 | "version": "1.0.6",
2808 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz",
2809 | "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==",
2810 | "dev": true,
2811 | "requires": {
2812 | "call-bind": "^1.0.2",
2813 | "define-properties": "^1.1.4",
2814 | "es-abstract": "^1.20.4"
2815 | }
2816 | },
2817 | "strip-ansi": {
2818 | "version": "6.0.1",
2819 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
2820 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
2821 | "requires": {
2822 | "ansi-regex": "^5.0.1"
2823 | }
2824 | },
2825 | "strip-bom": {
2826 | "version": "3.0.0",
2827 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
2828 | "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
2829 | "dev": true
2830 | },
2831 | "strip-json-comments": {
2832 | "version": "3.1.1",
2833 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
2834 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
2835 | "dev": true
2836 | },
2837 | "supports-color": {
2838 | "version": "5.5.0",
2839 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
2840 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
2841 | "dev": true,
2842 | "requires": {
2843 | "has-flag": "^3.0.0"
2844 | }
2845 | },
2846 | "supports-preserve-symlinks-flag": {
2847 | "version": "1.0.0",
2848 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
2849 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
2850 | },
2851 | "text-table": {
2852 | "version": "0.2.0",
2853 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
2854 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
2855 | "dev": true
2856 | },
2857 | "to-fast-properties": {
2858 | "version": "1.0.3",
2859 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
2860 | "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og=="
2861 | },
2862 | "to-regex-range": {
2863 | "version": "5.0.1",
2864 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
2865 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
2866 | "dev": true,
2867 | "requires": {
2868 | "is-number": "^7.0.0"
2869 | }
2870 | },
2871 | "token-stream": {
2872 | "version": "0.0.1",
2873 | "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz",
2874 | "integrity": "sha512-nfjOAu/zAWmX9tgwi5NRp7O7zTDUD1miHiB40klUnAh9qnL1iXdgzcz/i5dMaL5jahcBAaSfmNOBBJBLJW8TEg=="
2875 | },
2876 | "touch": {
2877 | "version": "3.1.0",
2878 | "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
2879 | "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
2880 | "dev": true,
2881 | "requires": {
2882 | "nopt": "~1.0.10"
2883 | }
2884 | },
2885 | "tough-cookie": {
2886 | "version": "2.5.0",
2887 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
2888 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
2889 | "requires": {
2890 | "psl": "^1.1.28",
2891 | "punycode": "^2.1.1"
2892 | }
2893 | },
2894 | "tsconfig-paths": {
2895 | "version": "3.14.1",
2896 | "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
2897 | "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
2898 | "dev": true,
2899 | "requires": {
2900 | "@types/json5": "^0.0.29",
2901 | "json5": "^1.0.1",
2902 | "minimist": "^1.2.6",
2903 | "strip-bom": "^3.0.0"
2904 | }
2905 | },
2906 | "tunnel-agent": {
2907 | "version": "0.6.0",
2908 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
2909 | "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
2910 | "requires": {
2911 | "safe-buffer": "^5.0.1"
2912 | }
2913 | },
2914 | "tweetnacl": {
2915 | "version": "0.14.5",
2916 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
2917 | "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
2918 | },
2919 | "type-check": {
2920 | "version": "0.4.0",
2921 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
2922 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
2923 | "dev": true,
2924 | "requires": {
2925 | "prelude-ls": "^1.2.1"
2926 | }
2927 | },
2928 | "type-fest": {
2929 | "version": "0.20.2",
2930 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
2931 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
2932 | "dev": true
2933 | },
2934 | "type-is": {
2935 | "version": "1.6.18",
2936 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
2937 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
2938 | "requires": {
2939 | "media-typer": "0.3.0",
2940 | "mime-types": "~2.1.24"
2941 | }
2942 | },
2943 | "typed-array-length": {
2944 | "version": "1.0.4",
2945 | "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
2946 | "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
2947 | "dev": true,
2948 | "requires": {
2949 | "call-bind": "^1.0.2",
2950 | "for-each": "^0.3.3",
2951 | "is-typed-array": "^1.1.9"
2952 | }
2953 | },
2954 | "uglify-js": {
2955 | "version": "2.8.29",
2956 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
2957 | "integrity": "sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==",
2958 | "requires": {
2959 | "source-map": "~0.5.1",
2960 | "uglify-to-browserify": "~1.0.0",
2961 | "yargs": "~3.10.0"
2962 | },
2963 | "dependencies": {
2964 | "source-map": {
2965 | "version": "0.5.7",
2966 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
2967 | "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="
2968 | }
2969 | }
2970 | },
2971 | "uglify-to-browserify": {
2972 | "version": "1.0.2",
2973 | "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
2974 | "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==",
2975 | "optional": true
2976 | },
2977 | "unbox-primitive": {
2978 | "version": "1.0.2",
2979 | "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
2980 | "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
2981 | "dev": true,
2982 | "requires": {
2983 | "call-bind": "^1.0.2",
2984 | "has-bigints": "^1.0.2",
2985 | "has-symbols": "^1.0.3",
2986 | "which-boxed-primitive": "^1.0.2"
2987 | }
2988 | },
2989 | "undefsafe": {
2990 | "version": "2.0.5",
2991 | "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
2992 | "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
2993 | "dev": true
2994 | },
2995 | "unpipe": {
2996 | "version": "1.0.0",
2997 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
2998 | "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
2999 | },
3000 | "uri-js": {
3001 | "version": "4.4.1",
3002 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
3003 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
3004 | "requires": {
3005 | "punycode": "^2.1.0"
3006 | }
3007 | },
3008 | "utils-merge": {
3009 | "version": "1.0.1",
3010 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
3011 | "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="
3012 | },
3013 | "uuid": {
3014 | "version": "3.4.0",
3015 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
3016 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
3017 | },
3018 | "vary": {
3019 | "version": "1.1.2",
3020 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
3021 | "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
3022 | },
3023 | "verror": {
3024 | "version": "1.10.0",
3025 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
3026 | "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
3027 | "requires": {
3028 | "assert-plus": "^1.0.0",
3029 | "core-util-is": "1.0.2",
3030 | "extsprintf": "^1.2.0"
3031 | }
3032 | },
3033 | "void-elements": {
3034 | "version": "2.0.1",
3035 | "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
3036 | "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung=="
3037 | },
3038 | "which": {
3039 | "version": "2.0.2",
3040 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
3041 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
3042 | "dev": true,
3043 | "requires": {
3044 | "isexe": "^2.0.0"
3045 | }
3046 | },
3047 | "which-boxed-primitive": {
3048 | "version": "1.0.2",
3049 | "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
3050 | "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
3051 | "dev": true,
3052 | "requires": {
3053 | "is-bigint": "^1.0.1",
3054 | "is-boolean-object": "^1.1.0",
3055 | "is-number-object": "^1.0.4",
3056 | "is-string": "^1.0.5",
3057 | "is-symbol": "^1.0.3"
3058 | }
3059 | },
3060 | "which-typed-array": {
3061 | "version": "1.1.9",
3062 | "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
3063 | "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
3064 | "dev": true,
3065 | "requires": {
3066 | "available-typed-arrays": "^1.0.5",
3067 | "call-bind": "^1.0.2",
3068 | "for-each": "^0.3.3",
3069 | "gopd": "^1.0.1",
3070 | "has-tostringtag": "^1.0.0",
3071 | "is-typed-array": "^1.1.10"
3072 | }
3073 | },
3074 | "window-size": {
3075 | "version": "0.1.0",
3076 | "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
3077 | "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg=="
3078 | },
3079 | "with": {
3080 | "version": "5.1.1",
3081 | "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz",
3082 | "integrity": "sha512-uAnSsFGfSpF6DNhBXStvlZILfHJfJu4eUkfbRGk94kGO1Ta7bg6FwfvoOhhyHAJuFbCw+0xk4uJ3u57jLvlCJg==",
3083 | "requires": {
3084 | "acorn": "^3.1.0",
3085 | "acorn-globals": "^3.0.0"
3086 | }
3087 | },
3088 | "word-wrap": {
3089 | "version": "1.2.3",
3090 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
3091 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
3092 | "dev": true
3093 | },
3094 | "wordwrap": {
3095 | "version": "0.0.2",
3096 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
3097 | "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q=="
3098 | },
3099 | "wrap-ansi": {
3100 | "version": "7.0.0",
3101 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
3102 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
3103 | "requires": {
3104 | "ansi-styles": "^4.0.0",
3105 | "string-width": "^4.1.0",
3106 | "strip-ansi": "^6.0.0"
3107 | }
3108 | },
3109 | "wrappy": {
3110 | "version": "1.0.2",
3111 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
3112 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
3113 | "dev": true
3114 | },
3115 | "y18n": {
3116 | "version": "5.0.8",
3117 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
3118 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
3119 | },
3120 | "yallist": {
3121 | "version": "4.0.0",
3122 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
3123 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
3124 | "dev": true
3125 | },
3126 | "yargs": {
3127 | "version": "3.10.0",
3128 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
3129 | "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==",
3130 | "requires": {
3131 | "camelcase": "^1.0.2",
3132 | "cliui": "^2.1.0",
3133 | "decamelize": "^1.0.0",
3134 | "window-size": "0.1.0"
3135 | }
3136 | },
3137 | "yargs-parser": {
3138 | "version": "20.2.9",
3139 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
3140 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w=="
3141 | },
3142 | "yocto-queue": {
3143 | "version": "0.1.0",
3144 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
3145 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
3146 | "dev": true
3147 | }
3148 | }
3149 | }
3150 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "openai-zendesk",
3 | "version": "0.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "node ./bin/www",
7 | "dev": "nodemon ./bin/www"
8 | },
9 | "dependencies": {
10 | "cookie-parser": "~1.4.4",
11 | "debug": "~2.6.9",
12 | "dotenv": "^16.0.3",
13 | "express": "~4.16.1",
14 | "http-errors": "~1.6.3",
15 | "morgan": "~1.9.1",
16 | "node-zendesk": "^2.2.0",
17 | "openai": "^3.1.0",
18 | "pug": "2.0.0-beta11"
19 | },
20 | "devDependencies": {
21 | "eslint": "^8.34.0",
22 | "eslint-config-standard": "^17.0.0",
23 | "eslint-plugin-import": "^2.27.5",
24 | "eslint-plugin-n": "^15.6.1",
25 | "eslint-plugin-promise": "^6.1.1",
26 | "nodemon": "^2.0.20"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/routes/index.js:
--------------------------------------------------------------------------------
1 | const express = require('express')
2 | const router = express.Router()
3 |
4 | const getTicketComments = require('../controllers/getTicketComments')
5 | const getGpt3Summary = require('../controllers/getGpt3Summary')
6 | const getGpt3Triage = require('../controllers/getGpt3Triage')
7 | const updateTicket = require('../controllers/triageTicket')
8 | const addTicketComment = require('../controllers/addTicketComment')
9 |
10 | router.get('/summarize', async function (req, res, next) {
11 | try {
12 | const ticketId = req.query.id
13 | const comments = await getTicketComments(ticketId)
14 | const summary = await getGpt3Summary(comments)
15 | await addTicketComment(ticketId, summary)
16 |
17 | res.status(200).send('success')
18 | } catch (err) {
19 | console.log(err)
20 | res.status(500).send(err)
21 | }
22 | })
23 |
24 | router.post('/triage', async function (req, res, next) {
25 | try {
26 | const ticketId = req.body.ticket_id
27 | const comments = await getTicketComments(ticketId)
28 | const summary = await getGpt3Triage(comments)
29 | await updateTicket(ticketId, summary)
30 |
31 | res.status(200).send('success')
32 | } catch (err) {
33 | console.log(err)
34 | res.status(500).send(err)
35 | }
36 | })
37 |
38 | module.exports = router
39 |
--------------------------------------------------------------------------------