├── .env.example ├── .gitignore ├── app.js ├── docs └── tutorials.vi.md ├── models ├── message.model.js └── user.model.js ├── next.config.js ├── package.json ├── pages ├── _app.js ├── _document.js ├── api │ ├── index.js │ └── telegram-webhook.js └── index.js ├── public ├── favicon.ico └── vercel.svg ├── readme.md ├── services ├── chatgpt.service.js ├── db.service.js └── telegram.service.js └── yarn.lock /.env.example: -------------------------------------------------------------------------------- 1 | OPENAI_KEY=<Điền key lấy từ Open AI vào đây> 2 | MONGO_URI=<Điền URI của MongoDB Database vào đây> 3 | TELEGRAM_KEY=<Điền Token của Telegram Bot vào đây> 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | 26 | .env 27 | .next 28 | -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- 1 | // Config các biến môi trường 2 | require('dotenv').config(); 3 | const TelegramBot = require('node-telegram-bot-api'); 4 | const ChatGPTService = require('./services/chatgpt.service'); 5 | const DbService = require('./services/db.service'); 6 | const TelegramService = require("./services/telegram.service"); 7 | 8 | DbService.connect().then(() => { 9 | // Khởi tạo con Bot từ Token với chế độ Polling 10 | const bot = TelegramService.register(true); 11 | // Phản hồi tin nhắn 12 | bot.on('message', async (msg) => TelegramService.responseToMessage(msg)); 13 | }); 14 | -------------------------------------------------------------------------------- /docs/tutorials.vi.md: -------------------------------------------------------------------------------- 1 | # Hướng dẫn làm Chatbot GPT cho Telegram với NodeJs và OpenAI 2 | > Author: [@monokaijs](https://monokaijs.com) 3 | > 4 | > Bài gốc xem tại: [https://monokaijs.com/blog/sharing/tao-chatbot-gpt](https://monokaijs.com/blog/sharing/tao-chatbot-gpt) 5 | 6 | Đợt này thấy mọi người bàn tán nhiều về ChatGPT quá, nên mình cũng mò mò thử nghịch coi làm được gì. Tình cờ phát hiện một số ý tưởng rất hay, thế nên viết một bài loa qua hướng dẫn mọi người cách để có thể tạo ra một con Chatbot trả lời "thông minh" như ChatGPT. 7 | 8 | Về cơ bản, chúng ta sẽ sử dụng OpenAI Platform và dùng JavaScript (NodeJs) để viết phần xử lí. Yêu cầu kỹ thuật của ứng dụng này không cao, độ khó cũng chỉ ở mức trung bình, thế nên mình nghĩ rằng ai cũng có thể thử làm và làm được :> 9 | 10 | #### Chuẩn bị 11 | Sẽ cần một số thứ sau đây mà bạn cần chuẩn bị trước: 12 | - Một MongoDB Database sẵn hoặc một tài khoản đã đăng ký [MongoDB Atlas](https://mongodb.com). Bạn có thể đăng ký mới một tài khoản ở đây nếu chưa có. 13 | - Tài khoản Telegram. 14 | - Máy tính được cài sẵn NodeJs (version 16 trở lên). 15 | - Một tài khoản trên nền tảng [OpenAI](https://openai.com). Nếu bạn chưa có tài khoản thì mình không thể giúp bạn khoản này, bạn có thể tham khảo các hướng dẫn tạo tài khoản trên các trang khác :v 16 | - Một tâm hồn đẹp và 1 cốc cà phê. 17 | 18 | ### Các bước thực hiện 19 | Để tóm gọn lại nội dung của bài viết cũng như chỉ tập trung vào các nội dung chính, mình sẽ lược bỏ hướng dẫn chi tiết các bước sau mà các bạn nên tự tìm hiểu, nếu có vấn đề, feel free to contact: 20 | - Cài đặt sẵn NodeJs (version 16 trở lên) ở local. 21 | - Tạo tài khoản MongoDB Atlas hoặc tự dựng một server MongoDB local, tuỳ ý, miễn sao lấy được Connection URI là được. 22 | - Tạo tài khoản OpenAI nếu chưa có, đăng nhập vào tài khoản OpenAI và truy cập Link sau để lấy API Key. Vào [Link này](https://cran.r-project.org/web/packages/openai/readme/README.html), đọc nội dung mục **Authentication** í. 23 | - Tạo một con chatbot bằng [@BotFather](https://t.me/botfater) trên Telegram và lấy cái key của con bot đó. 24 | 25 | ##### 1. Khởi tạo Project 26 | Vì mình sẽ hướng dẫn từ đầu nên sẽ cố gắng chi tiết nhất có thể. Đầu tiên, hãy tạo một thư mục cho project, ví dụ: 27 | ```sh 28 | cd ~ 29 | mkdir chatbot-gpt/ 30 | cd ./chatbot-gpt 31 | ``` 32 | Sau đó, chạy đoạn lệnh sau để khởi tạo `package.json`: 33 | ```sh 34 | npm init 35 | ``` 36 | Nó sẽ hỏi các bạn một số câu hỏi linh tinh, cứ `Enter`, `Enter` và `Enter` liên tục tới khi nào nó không thèm hỏi nữa thì thôi. Ở lúc này, các bạn đã có thể bắt đầu cài các NPM Packages vào. 37 | Chạy lệnh sau để cài các dependencies cần thiết: 38 | ```sh 39 | npm i openai dotenv node-telegram-bot-api nodemon mongoose 40 | ``` 41 | Ok, thời điểm này là bắt đầu code được rồi. Khá đơn giản thôi, đầu tiên chúng ta sẽ tạo 1 file lấy tên là `.env`, đây là file chứa các biến môi trường cho ứng dụng. Nội dung của file `.env`: 42 | ``` 43 | OPENAI_KEY= 44 | MONGO_URI= 45 | TELEGRAM_KEY= 46 | ``` 47 | Ok, tạo xong cái file Environment này là coi như xong phần config cơ bản. 48 | ##### 2. Cấu trúc Project 49 | Mình ở rất bừa nhưng code thì luôn luôn cần gọn gàng, thế nên mình sẽ chia cấu trúc thư mục và cấu trúc files như sau cho bạn dễ hình dung và tham khảo. Tất nhiên việc bố trí như nào là tuỳ bạn, tuy nhiên nếu bố trí tốt, sau này tới lúc dự án phình to ra thì code sẽ dễ kiểm soát hơn và cũng đỡ mất công tìm file hơn. 50 | ``` 51 | ~/chatbot-gpt/ 52 | └── node_modules/ 53 | └── services/ 54 | │ telegram.service.js 55 | │ chatgpt.service.js 56 | │ db.service.js 57 | └── models/ 58 | │ user.model.js 59 | │ message.model.js 60 | └── app.js 61 | ``` 62 | Ok, cấu trúc cơ bản là như vậy. Sẽ có nhiều chi tiết hơn nếu như đây là một dự án phức tạp, tuy nhiên nếu chỉ dừng ở mức độ một tutorial nhỏ để giới thiệu với các bạn, mình sẽ chọn phương án đơn giản và nhanh gọn nhất. 63 | 64 | Như vậy, trên tinh thần cái sơ đồ cấu trúc trên, các bạn sẽ phải tạo file tương ứng. Trong quá trình code, sẽ có một số file nữa được tạo ra như `package-lock.json` hoặc `yarn.lock` (nếu như bạn dùng yarn), hay `.env`, những cái đó mình không đưa vào cấu trúc, chúng ta ngầm hiểu nó có tồn tại. 65 | 66 | ##### 3. Xuống tay code 67 | Đầu tiên, thứ chúng ta cần làm là tạo được con chatbot telegram cái đã. Việc này có thể được thực hiện bằng cách cho nội dung sau vào app.js 68 | ```js 69 | // Config các biến môi trường 70 | require('dotenv').config(); 71 | const TelegramBot = require('node-telegram-bot-api'); 72 | 73 | const telegramToken = process.env.TELEGRAM_KEY; 74 | 75 | // Khởi tạo con Bot từ Token với chế độ Polling 76 | const bot = new TelegramBot(telegramToken, {polling: true}); 77 | 78 | bot.on('message', (msg) => { 79 | const chatId = msg.chat.id; // ID của cuộc trò chuyện hiện tại 80 | const chatMsg = msg.text; // Nội dung của tin nhắn đã nhận 81 | // Nhại lại nội dung tin nhắn 82 | bot.sendMessage(chatId, chatMsg); 83 | }); 84 | ``` 85 | Quay lại với terminal, gõ lệnh sau để chạy thử: 86 | ``` 87 | node app.js 88 | ``` 89 | Sau khi nhấn Enter, thử nhắn cho con bot Telegram của bạn. Nếu nó trả lời lại thì là ok rồi. 90 | 91 |

92 | Telegram Preview 93 |

94 | 95 | Như hình trên, có thể thấy nhắn cái gì là nó trả lời ngược y như vậy. Cơ bản con bot Telegram đã hoạt động ok, bây giờ chúng ta sẽ phải ghép OpenAI vào để có thể "tìm tới sự thông minh". 96 | 97 | Để làm được điều này, có khá nhiều cách, tuy nhiên ở đây mình sẽ lựa chọn việc tạo một Service riêng cho vụ trả lời. Tại sao lại vậy? 98 | 99 | Thực ra, việc code hết trong 1 file cũng không phải là ý tồi nếu xét tới việc mình đang viết một cái tutorial nhỏ, tuy nhiên nó sẽ là không hợp lí nếu như bạn có nhu cầu muốn tận dụng source code được sinh ra từ bài viết này cho các mục đích lâu dài hơn. Vậy nên, hãy coi như chúng ta đang viết một cái đồ án với yêu cầu chỉnh chu cả trong cấu trúc. 100 | 101 | Dưới đây là nội dung của ChatGPT Service: 102 | 103 | ```js 104 | // File path: ./services/chatgpt.service.js 105 | const {Configuration, OpenAIApi} = require("openai"); 106 | 107 | class ChatGPTService { 108 | async generateCompletion(prompt) { 109 | // Load key từ file environment 110 | const configuration = new Configuration({ 111 | apiKey: process.env.OPENAI_KEY, 112 | }); 113 | const openai = new OpenAIApi(configuration); 114 | // Gửi request về OpenAI Platform để tạo text completion 115 | const completion = await openai.createCompletion({ 116 | model: "text-davinci-003", 117 | prompt, 118 | temperature: 0.7, 119 | max_tokens: 1000, 120 | top_p: 1, 121 | frequency_penalty: 0, 122 | presence_penalty: 0, 123 | }); 124 | // Đoạn regex ở cuối dùng để loại bỏ dấu cách và xuống dòng dư thừa 125 | return completion.data.choices[0].text.replace(/^\s+|\s+$/g, ""); 126 | } 127 | } 128 | 129 | module.exports = new ChatGPTService(); 130 | ``` 131 | 132 | Bây giờ quay lại file app.js, import cái ChatGPTService vào và gọi thử method `generateCompletion` để coi nó trả lời như nào. Nội dung file app.js bây giờ như sau: 133 | 134 | ```js 135 | // File path: ./app.js 136 | 137 | // Config các biến môi trường 138 | require('dotenv').config(); 139 | const TelegramBot = require('node-telegram-bot-api'); 140 | const ChatGPTService = require('./services/chatgpt.service'); 141 | 142 | const telegramToken = process.env.TELEGRAM_KEY; 143 | 144 | // Khởi tạo con Bot từ Token với chế độ Polling 145 | const bot = new TelegramBot(telegramToken, {polling: true}); 146 | 147 | bot.on('message', (msg) => { 148 | const chatId = msg.chat.id; // ID của cuộc trò chuyện hiện tại 149 | const chatMsg = msg.text; // Nội dung của tin nhắn đã nhận 150 | // Nhại lại nội dung tin nhắn 151 | ChatGPTService.generateCompletion(chatMsg).then(responseMsg => { 152 | bot.sendMessage(chatId, responseMsg); 153 | }); 154 | }); 155 | ``` 156 | 157 | ##### 3. Dừng một nhịp - Nodemon 158 | Khoan đã, đáng ra mình sẽ kêu bạn quay lại Terminal, nhấn `Ctrl` + `C` để tắt lệnh đang chạy đi và chạy lại `node app.js` để khởi động lại. Tuy nhiên, bạn có thấy rằng mỗi khi sửa files, bạn lại phải quay đi quay lại chỉ để khởi động lại cái app này? 159 | 160 | Vậy nên, giờ chúng ta sẽ tới với nodemon, thứ sẽ tiết kiệm khá nhiều thời gian và công sức. 161 | 162 | Giới thiệu sơ qua về nodemon thì đây là một công cụ giúp cho chúng ta đỡ mất công phải khởi động lại ứng dụng mỗi khi thay đổi code. Nói ngắn gọn, mỗi khi chúng ta thay đổi code, nodemon sẽ giúp ta khởi động lại ứng dụng. Cái hay của thằng nodemon là ở chỗ bạn có thể chạy nodemon bằng cách thay `node` trong các câu lệnh thành `nodemon`. 163 | 164 | ở đây, để tiếp tục, chúng ta sẽ sử dụng lệnh: 165 | ```sh 166 | nodemon app.js 167 | ``` 168 | Ok, thế là xong. 169 | 170 | > ⚠️ Lưu ý, các bạn có thể gặp phải lỗi khi chạy lệnh trên. Nếu gặp lỗi, thử lệnh sau: 171 | > ```sh 172 | > npx nodemon app.js 173 | > ``` 174 | 175 | Nếu không có vấn đề gì thì chúng ta tiếp tục. 176 | 177 | ##### 4. Tiếp tục 178 | Quay lại với cuộc trò chuyện Telegram hồi nãy, nếu bây giờ bạn nhắn hỏi nó một câu gì, chắc chắn nó đã biết cách để trả lời bạn: 179 | 180 |

181 | Telegram preview 182 |

183 | 184 | Tất nhiên, đây chưa phải là kết quả chúng ta muốn vì nó trả lời rất vu vơ. Ngay bây giờ, mình sẽ giải thích cho bạn lí do tại sao nó lại trả lời ngu và làm sao để có thể cải thiện vấn đề này. 185 | 186 | ##### 5. OpenAI Text Completion & Conversations 187 | Kỳ thực, cái API mà chúng ta đang dùng có tên là `Text Completion`. Trên trang Docs của OpenAI, Text completion được mô tả ngắn gọn như sau: 188 | > The completions endpoint can be used for a wide variety of tasks. It provides a simple but powerful interface to any of our models. You input some text as a prompt, and the model will generate a text completion that attempts to match whatever context or pattern you gave it. For example, if you give the API the prompt, "As Descartes said, I think, therefore", it will return the completion " I am" with high probability. 189 | 190 | Dịch một cách sơ bộ, thì text completion - thứ mà chúng ta đang sử dụng, có thể được sử dụng để giải quyết nhiều vấn đề khác nhau, nếu chúng ta đưa cho hệ thống một đoạn văn bản thì nó sẽ cố gắng đưa thêm thông tin khớp với các nội dung mà chúng ta đưa cho nó. Để mà nói chính xác, bản chất việc chúng ta hỏi sau đấy nó trả lời thực ra là nó đang cố "complete" đoạn text (prompt) mà chúng ta nhắn tới. 191 | 192 | Để mà hiểu rõ vấn đề này, bạn cần biết rằng nếu không đưa con chatbot vào một môi trường cụ thể, nó sẽ trả lời một cách rất ngẫu nhiên và "thiểu năng", chứ không thể nào thông minh được. Mình đã gặp phải vấn đề này trong những lần thử nghiệm đầu tiên với nền tảng của OpenAI, và từng kết luận rằng text completion không dùng làm chatbot được. Tuy nhiên, sau khi tham khảo một vài projects khác, mình đã hiểu vấn đề và tìm ra được mấu chốt. 193 | 194 | **Nếu chúng ta hỏi đơn thuần, con bot sẽ trả lời rất máy móc như một lẽ dĩ nhiên. Vậy nếu chúng ta đưa con bot vào một "bối cảnh" cuộc trò chuyện thì sao?** 195 | 196 | Hãy lưu ý vấn đề này, vì nó sẽ là thứ quyết định chất lượng, nội dung, thông tin cũng như "mức độ thông minh" của con bot bạn đang tạo ra. Chính vì vậy, trước khi chúng ta bắt đầu, hãy cho nó một "lý tưởng" để đi theo =)) Tất nhiên bạn có thể đưa những triết lý của Mác - Lê nin vào, nhưng nó là quá sức tưởng tượng với một con bot :V 197 | 198 | Okay, mình đã có tham khảo một số nơi, theo đó cách thông thường nhất mà mọi người sử dụng, đó là giả lập prompt được gửi về Open AI là nội dung một cuộc trò chuyện. Nó sẽ có cấu trúc như sau: 199 | 200 | ```text 201 | [Roleplay introduction] 202 | 203 | User: User message 1. 204 | Bot: Bot replied message 1. 205 | 206 | User: User message 2. 207 | Bot: 208 | ``` 209 | Lưu ý, cái chỗ để trống ở đoạn tin nhắn cuối cùng rất quan trọng vì **Chúng ta đang sử dụng Text Completion**. Điều đó có nghĩa rằng chúng ta đang yêu cầu con bot điền vào chỗ trống đó. 210 | 211 | Một lưu ý nữa, mình có để đoạn `[Roleplay introduction]`, chỗ này chính là chỗ bạn điền chức năng / nhiệm vụ chính mà con bot đảm nhiệm để đảm bảo context mà bạn đưa cho con bot sẽ không bị lệch lạc. Ví dụ như nếu bạn muốn nó chỉ trả lời các vấn đề về chính trị xã hội, hãy bảo nó đóng vai một chính trị gia, nếu bạn muốn nó nói một cách chuyên nghiệp theo hướng kỹ thuật thì bảo nó làm kỹ sư, ... Đại khái thế. 212 | 213 | Trong ví dụ dưới đây, mình sẽ lấy trường hợp rằng mình đang cần một người bạn để tâm sự, người bạn đó là một người rất am hiểu về cuộc sống, xã hội, các sự kiện chính trị, các vấn đề thời sự cũng như sẵn sàng đáp ứng mọi yêu cầu của mình, sẵn sàng lắng nghe và đề cao vai trò và cảm xúc của mình khi trò chuyện. 214 | 215 | Đây là một mẫu `Roleplay introduction` có thể thử: 216 | 217 | ``` 218 | Trong vai một chatbot chuyên gia với tên là Bot ngáo, nhiệm vụ chính của bạn là tâm sự với người dùng như một người am hiểu về cuộc sống, xã hội, các sự kiện chính trị, các vấn đề thời sự cũng như sẵn sàng đáp ứng mọi yêu cầu của người dùng, sẵn sàng lắng nghe và đề cao vai trò và cảm xúc của người dùng khi trò chuyện. Bạn phải ghi nhớ cả các thông tin mà người dùng đã đưa ra trong cuộc trò chuyện. Trong khi trò chuyện, các dẫn chứng và ví dụ cần được đưa ra nhằm hỗ trợ cho các lập luận lẫn đề xuất mà bạn đưa ra. Lưu ý phải luôn giữ cuộc trò chuyện vui vẻ và thoải mái. 219 | ``` 220 | 221 | Mình sẽ thử đưa vào code thử đoạn này để xem hiệu quả tới đâu. 222 | 223 | ```js 224 | // File path: ./services/chatgpt.service.js 225 | const {Configuration, OpenAIApi} = require("openai"); 226 | 227 | class ChatGPTService { 228 | rolePlayIntroduction = 'Trong vai một chatbot chuyên gia với tên là Bot ngáo, nhiệm vụ chính của bạn là tâm sự với người dùng như một người am hiểu về cuộc sống, xã hội, các sự kiện chính trị, các vấn đề thời sự cũng như sẵn sàng đáp ứng mọi yêu cầu của người dùng, sẵn sàng lắng nghe và đề cao vai trò và cảm xúc của người dùng khi trò chuyện. Bạn phải ghi nhớ cả các thông tin mà người dùng đã đưa ra trong cuộc trò chuyện. Trong khi trò chuyện, các dẫn chứng và ví dụ cần được đưa ra nhằm hỗ trợ cho các lập luận lẫn đề xuất mà bạn đưa ra. Lưu ý phải luôn giữ cuộc trò chuyện vui vẻ và thoải mái.'; 229 | async generateCompletion(prompt) { 230 | // Load key từ file environment 231 | const configuration = new Configuration({ 232 | apiKey: process.env.OPENAI_KEY, 233 | }); 234 | const openai = new OpenAIApi(configuration); 235 | 236 | let fullPrompt = this.rolePlayIntroduction + '\n\n'; 237 | 238 | fullPrompt += `Người dùng: ${prompt}\n`; 239 | fullPrompt += `Bot ngáo: `; 240 | 241 | // Gửi request về OpenAI Platform để tạo text completion 242 | const completion = await openai.createCompletion({ 243 | model: "text-davinci-003", 244 | prompt: fullPrompt, 245 | temperature: 0.7, 246 | max_tokens: 1000, 247 | top_p: 1, 248 | frequency_penalty: 0, 249 | presence_penalty: 0, 250 | }); 251 | // Đoạn regex ở cuối dùng để loại bỏ dấu cách và xuống dòng dư thừa 252 | return completion.data.choices[0].text.replace(/^\s+|\s+$/g, ""); 253 | } 254 | } 255 | 256 | module.exports = new ChatGPTService(); 257 | ``` 258 | Quay lại Telegram, thử chat vài phát xem nào. 259 | 260 |

261 | Telegram preview 262 |

263 | 264 | Goèo, kết quả xịn hơn mình nghĩ khá nhiều, nó có thể trả lời một cách nghiêm túc hơn, chỉnh chu hơn cũng như nội dung đúng mục tiêu chúng ta đề ra. Bạn có thể để ý sự khác biệt về nội dung ở cùng một câu hỏi mà mình hỏi lúc 4:59 và lúc 5:19, nội dung không chỉ đầy đủ hơn mà cũng logic hơn và thực tế hơn. 265 | 266 | Cơ bản tính tới thời điểm hiện tại, chúng ta đã có một con bot "khá khôn", bạn có thể sử dụng con bot này để phục vụ mục đích bản thân, hỏi nó trên trời dưới đất tuỳ ý. Tuy vậy, vẫn còn những điểm mà chúng ta cần khắc phục, cụ thể bạn sẽ không muốn phải giới thiệu bản thân mỗi lần nhắn tin với con bot. Vậy, giải quyết như thế nào? 267 | 268 | ##### Lưu trữ Context Messages 269 | Quay lại bài toán ở trên, vấn đề ngữ cảnh được đưa vào trong cuộc trò chuyện là rất quan trọng. Vậy nên, để có thể đỡ phải giới thiệu nhiều cũng như con bot có thể theo dõi được cuộc trò chuyện, ngắn gọn là ta sẽ phải đính kèm tất cả các tin nhắn cũ đã nhắn với con bot vào trong prompt gửi lên OpenAI. 270 | 271 | Vậy, làm như nào? Đơn giản thôi, lưu tin nhắn lại và load lại mỗi khi trả lời :v 272 | 273 | Để làm được điều này, chúng ta sẽ phải có database, thứ mà mình đã nhắc là cần thiết ngay từ đầu. Về phần khởi tạo thì nó khá đơn giản, nội dung sau sẽ là DbService (Database Service): 274 | 275 | ```js 276 | // File path: ./services/db.service.js 277 | const mongoose = require('mongoose'); 278 | 279 | class DbService { 280 | connection; 281 | async connect() { 282 | mongoose.set('strictQuery', true); 283 | this.connection = await mongoose.connect(process.env.MONGO_URI); 284 | console.log('DB connected'); 285 | } 286 | } 287 | 288 | module.exports = new DbService(); 289 | ``` 290 | 291 | Tiếp đến là sửa lại file app.js: 292 | ```js 293 | // File path: ./app.js 294 | // Config các biến môi trường 295 | require('dotenv').config(); 296 | const TelegramBot = require('node-telegram-bot-api'); 297 | const ChatGPTService = require('./services/chatgpt.service'); 298 | const DbService = require('./services/db.service'); 299 | 300 | const telegramToken = process.env.TELEGRAM_KEY; 301 | 302 | DbService.connect().then(() => { 303 | // Khởi tạo con Bot từ Token với chế độ Polling 304 | const bot = new TelegramBot(telegramToken, {polling: true}); 305 | 306 | bot.on('message', (msg) => { 307 | const chatId = msg.chat.id; // ID của cuộc trò chuyện hiện tại 308 | const chatMsg = msg.text; // Nội dung của tin nhắn đã nhận 309 | // Nhại lại nội dung tin nhắn 310 | ChatGPTService.generateCompletion(chatMsg).then(responseMsg => { 311 | bot.sendMessage(chatId, responseMsg); 312 | }); 313 | }); 314 | }); 315 | ``` 316 | Quay lại Terminal, nếu bạn chờ một chút và thấy dòng DB connected, có nghĩa là Database đã hoạt động. Còn nếu không thì chắc là bạn sẽ phải tự mò mẫm thôi :v hãy kiểm tra thật kỹ `MONGO_URI` mà bạn đã điền vào file `.env`, vì có thể đó sẽ là vấn đề. 317 | 318 | Sau khi chúng ta có được Database connection, điều cần làm tiếp theo là tạo Model cho dữ liệu, do chúng ta đang dùng `mongoose`, vậy nên, bạn sẽ có thể phải search Google một chút do cách hoạt động nó có hơi khác so với mongodb thông thường. Nếu không có gì thắc mắc, keep reading. 319 | 320 | Tạo thư mục services như trong cấu trúc thư mục, ở đây ta sẽ phải tạo 2 files là `user.model.js` và `message.model.js`. Đơn giản nên mình sẽ không vẽ ERD, bạn có thể hiểu rằng mỗi khi mọi người nhắn cho con bot, một object user sẽ được tạo ra từ user model. Mỗi user sẽ có thể có nhiều tin nhắn, nên sẽ cần có một tham chiếu từ message object về user object để coi ai là chủ của cái tin nhắn đó (để lúc trả lời tin nhắn còn query nữa chứ sao :=]] ). 321 | 322 | ```js 323 | // File path: ./models/message.model.js 324 | const mongoose = require('mongoose'); 325 | 326 | const schema = new mongoose.Schema({ 327 | user: { 328 | type: mongoose.Schema.Types.ObjectId, 329 | ref: 'User' 330 | }, 331 | botMessage: String, 332 | userMessage: String, 333 | }); 334 | 335 | const Message = mongoose.model('Message', schema); 336 | 337 | module.exports = Message; 338 | ``` 339 | ... và user model: 340 | ```js 341 | // File path: ./models/user.model.js 342 | const mongoose = require('mongoose'); 343 | 344 | const schema = new mongoose.Schema({ 345 | telegramId: String 346 | }); 347 | 348 | const User = mongoose.model('User', schema); 349 | 350 | module.exports = User; 351 | ``` 352 | 353 | Ok, tiếp đây ta sẽ quay lại để sửa DbService phục vụ cho mục đích xử lí các vấn đề sau: 354 | - Tạo user nếu chưa có. 355 | - Lấy user hiện tại dựa trên Telegram ID. 356 | - Query ra các tin nhắn thuộc một User. 357 | 358 | ```js 359 | // File path: ./services/db.service.js 360 | const mongoose = require('mongoose'); 361 | const User = require('../models/user.model'); 362 | const Message = require('../models/message.model'); 363 | 364 | class DbService { 365 | connection; 366 | async connect() { 367 | mongoose.set('strictQuery', true); 368 | this.connection = await mongoose.connect(process.env.MONGO_URI); 369 | console.log('DB connected'); 370 | } 371 | async getUserByTelegramId(telegramId) { 372 | // thử tìm trong Database 373 | let user = await User.findOne({ 374 | telegramId, 375 | }); 376 | if (!user) { 377 | // Nếu chưa có thì tạo mới một user dựa trên Telegram ID 378 | user = await User.create({ 379 | telegramId, 380 | }); 381 | } 382 | return user; 383 | } 384 | async getUserMessages(userId) { 385 | // Nhớ rằng cái userId này không phải là TelegramID 386 | return Message.find({ 387 | user: userId 388 | }); 389 | } 390 | async createNewMessage(user, userMessage, botMessage) { 391 | // Lưu tin nhắn vào Database 392 | return Message.create({ 393 | user: user._id, 394 | userMessage, 395 | botMessage, 396 | }) 397 | } 398 | async clearUserMessages(userId) { 399 | // Xoá các tin nhắn của người dùng trong Database 400 | return Message.deleteMany({ 401 | user: userId 402 | }); 403 | } 404 | } 405 | 406 | module.exports = new DbService(); 407 | ``` 408 | 409 | Goèo, tới đây là cũng gần xong rồi đó. Bây giờ chúng ta sẽ quay lại file app.js sửa một chút: 410 | ```js 411 | // File path: ./app.js 412 | 413 | // Config các biến môi trường 414 | require('dotenv').config(); 415 | const TelegramBot = require('node-telegram-bot-api'); 416 | const ChatGPTService = require('./services/chatgpt.service'); 417 | const DbService = require('./services/db.service'); 418 | 419 | const telegramToken = process.env.TELEGRAM_KEY; 420 | 421 | DbService.connect().then(() => { 422 | // Khởi tạo con Bot từ Token với chế độ Polling 423 | const bot = new TelegramBot(telegramToken, {polling: true}); 424 | 425 | bot.on('message', async (msg) => { 426 | const authorId = msg.from.id // Lấy id của người gửi 427 | const chatId = msg.chat.id; // ID của cuộc trò chuyện hiện tại 428 | const chatMsg = msg.text; // Nội dung của tin nhắn đã nhận 429 | // Đầu tiên sẽ lấy thông tin user ra 430 | const user = await DbService.getUserByTelegramId(authorId); 431 | // Trả lời tin nhắn dựa trên các tin nhắn cũ 432 | ChatGPTService.generateCompletion(chatMsg, user).then(responseMsg => { 433 | bot.sendMessage(chatId, responseMsg); 434 | }); 435 | }); 436 | }); 437 | ``` 438 | 439 | Và quay lại file chatgpt.service.js để code nốt phần logic xử lí tin nhắn: 440 | ```js 441 | // File path: ./services/chatgpt.service.js 442 | const {Configuration, OpenAIApi} = require("openai"); 443 | const DbService = require('./db.service'); 444 | 445 | class ChatGPTService { 446 | rolePlayIntroduction = 'Trong vai một chatbot chuyên gia với tên là Bot ngáo, nhiệm vụ chính của bạn là tâm sự với người dùng như một người am hiểu về cuộc sống, xã hội, các sự kiện chính trị, các vấn đề thời sự cũng như sẵn sàng đáp ứng mọi yêu cầu của người dùng, sẵn sàng lắng nghe và đề cao vai trò và cảm xúc của người dùng khi trò chuyện. Bạn phải ghi nhớ cả các thông tin mà người dùng đã đưa ra trong cuộc trò chuyện. Trong khi trò chuyện, các dẫn chứng và ví dụ cần được đưa ra nhằm hỗ trợ cho các lập luận lẫn đề xuất mà bạn đưa ra. Lưu ý phải luôn giữ cuộc trò chuyện vui vẻ và thoải mái.'; 447 | async generateCompletion(prompt, user) { 448 | // Lấy đống tin nhắn cũ ra 449 | const oldMessages = await DbService.getUserMessages(user._id); 450 | 451 | // Load key từ file environment 452 | const configuration = new Configuration({ 453 | apiKey: process.env.OPENAI_KEY, 454 | }); 455 | const openai = new OpenAIApi(configuration); 456 | 457 | let fullPrompt = this.rolePlayIntroduction + '\n\n'; 458 | 459 | if (oldMessages && oldMessages.length > 0) { 460 | // nếu có tin nhắn cũ thì thêm đoạn tin nhắn cũ đấy vào nội dung chat 461 | for (let message of oldMessages) { 462 | fullPrompt += `Người dùng: ${message.userMessage}\n`; 463 | fullPrompt += `Bot ngáo: ${message.botMessage}\n\n`; 464 | } 465 | } 466 | 467 | fullPrompt += `Người dùng: ${prompt}\n`; 468 | fullPrompt += `Bot ngáo: `; 469 | 470 | // Gửi request về OpenAI Platform để tạo text completion 471 | const completion = await openai.createCompletion({ 472 | model: "text-davinci-003", 473 | prompt: fullPrompt, 474 | temperature: 0.7, 475 | max_tokens: 1000, 476 | top_p: 1, 477 | frequency_penalty: 0, 478 | presence_penalty: 0, 479 | }); 480 | // Đoạn regex ở cuối dùng để loại bỏ dấu cách và xuống dòng dư thừa 481 | const responseMessage = completion.data.choices[0].text.replace(/^\s+|\s+$/g, ""); 482 | 483 | // Lưu lại tin nhắn vào Database 484 | await DbService.createNewMessage(user, prompt, responseMessage); 485 | return responseMessage; 486 | } 487 | } 488 | 489 | module.exports = new ChatGPTService(); 490 | ``` 491 | 492 | Quay lại Telegram thử một phát, và đây là kết quả: 493 |

494 | 495 |

496 | 497 | Goào, không biết nói gì hơn. Cơ bản thì nó đã chạy một cách khá khôn rồi. Tuy nhiên nếu để nói rằng khôn hẳn thì chắc là chưa. Dù sao thì đây chỉ là một Tutorial cỡ "vừa vừa" =)) mình không có nhiều cơ hội để giải thích, nếu có thời gian mình sẽ cố làm video cho các bạn. 498 | 499 | Còn hiện tại bài viết này cũng đã "rất rất dài" rồi. Mình nghĩ sẽ tạm thời kết thúc ở đây. 500 | 501 | 502 | Source code: [Nhớ tự làm đi rồi hẵng click vào đây nha](https://github.com/monokaijs/chatgpt-bot-nodejs) 503 | 504 | -------------------------------------------------------------------------------- /models/message.model.js: -------------------------------------------------------------------------------- 1 | const mongoose = require('mongoose'); 2 | 3 | const schema = new mongoose.Schema({ 4 | user: { 5 | type: mongoose.Schema.Types.ObjectId, 6 | ref: 'User' 7 | }, 8 | botMessage: String, 9 | userMessage: String, 10 | }); 11 | 12 | const Message = mongoose.models.Message || mongoose.model('Message', schema); 13 | 14 | module.exports = Message; 15 | -------------------------------------------------------------------------------- /models/user.model.js: -------------------------------------------------------------------------------- 1 | const mongoose = require('mongoose'); 2 | 3 | const schema = new mongoose.Schema({ 4 | telegramId: String 5 | }); 6 | 7 | const User = mongoose.models.User || mongoose.model('User', schema); 8 | 9 | module.exports = User; 10 | -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | reactStrictMode: false, 4 | } 5 | 6 | module.exports = nextConfig 7 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "test", 3 | "version": "1.0.3", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "dev": "nodemon app.js", 8 | "next-dev": "next dev", 9 | "start": "next start", 10 | "build": "next build" 11 | }, 12 | "keywords": [], 13 | "author": "", 14 | "license": "ISC", 15 | "dependencies": { 16 | "dotenv": "^16.0.3", 17 | "mongoose": "^6.9.1", 18 | "next": "^13.1.6", 19 | "node-telegram-bot-api": "^0.61.0", 20 | "nodemon": "^2.0.20", 21 | "openai": "^3.2.1", 22 | "react": "^18.2.0", 23 | "react-dom": "^18.2.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /pages/_app.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | function MyApp({ Component, pageProps }) { 4 | return ( 5 | <> 6 | 7 | 8 | ) 9 | } 10 | 11 | export default MyApp 12 | -------------------------------------------------------------------------------- /pages/_document.js: -------------------------------------------------------------------------------- 1 | import { Html, Head, Main, NextScript } from 'next/document' 2 | 3 | export default function Document() { 4 | return ( 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | ) 13 | } 14 | -------------------------------------------------------------------------------- /pages/api/index.js: -------------------------------------------------------------------------------- 1 | export default function handler(req, res) { 2 | res.status(200).json({ test: 'hello' }) 3 | } 4 | -------------------------------------------------------------------------------- /pages/api/telegram-webhook.js: -------------------------------------------------------------------------------- 1 | import DbService from "../../services/db.service"; 2 | import TelegramService from "../../services/telegram.service"; 3 | 4 | export default async function handler(req, res) { 5 | await DbService.connect(); 6 | TelegramService.register(); 7 | console.log('Telegram registered'); 8 | 9 | const vercelUrl = process.env.VERCEL_URL; 10 | const webhookPath = vercelUrl ? `https://${vercelUrl}/api/telegram-webhook` : `https://${req.headers.host}${req.url}`; 11 | if (req.method === 'GET') { 12 | TelegramService.bot.setWebHook(webhookPath).then(() => { 13 | res.json({ 14 | message: 'Telegram Webhook has been successfully set' 15 | }); 16 | }).catch((e) => { 17 | console.log(e); 18 | res.json({ 19 | message: 'Failed to setup Telegram Webhook' 20 | }) 21 | }); 22 | } else { 23 | const {body} = req; 24 | const msg = body.message; 25 | await TelegramService.responseToMessage(msg); 26 | return res.json({ 27 | success: true 28 | }); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /pages/index.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | export default function HomePage() { 3 | return ( 4 |
5 | Welcome to ChatGPT Bot. Application has started properly, please head to Telegram Bot and send some message!

6 | Click this link to finish setup webhook. 7 |
8 | ) 9 | } 10 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monokaijs/chatgpt-bot-nodejs/22de205d7d84e112c4bfea15ca9f275630c01dfa/public/favicon.ico -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # ChatGPT Bot with NodeJs 2 | Author: [@monokaijs](https://monokaijs.com) 3 | 4 | [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fmonokaijs%2Fchatgpt-bot-nodejs) 5 | 6 | ### Note: 7 | ⚠️ Warning: Vercel only provides you 10 secs for processing "function" (it means your bot only have 8 | 10 seconds to response to the user), but OpenAI platforms often takes about 20 secs to process a request. 9 | This may lead your bot to not replying incoming messages. To resolve this, you can 10 | use another platform that allow a longer function processing time or upgrade to a higher plan on Vercel. 11 | 12 | Another side note is that using English in conversation will significant improve the response time from OpenAI. Be noticed! 13 | 14 | This project can be run both using NodeJs or NextJs. I've tried to migrate this application 15 | for you to deploy it onto Vercel Platform without any obstacles. 16 | 17 | In NodeJs mode, the application will run a Telegram Bot Instance using Polling Mode, while for Vercel, 18 | it must be a webhook to achieve the goal. 19 | 20 | Overall, it's quite easy to migrate this application to another platforms: Discord, Messenger, ... or whatever messaging 21 | platform you like, as long as it allows us to send/receive messages via APIs. I will talk about this further 22 | in another project or a deeper fork of this product. However, today, let's focus on Telegram first. 23 | 24 | ### Setup 25 | Clone this repository: 26 | ```shell 27 | git clone https://github.com/monokaijs/chatgpt-bot-nodejs 28 | ``` 29 | Then install the dependencies: 30 | ```shell 31 | cd ./chatgpt-bot-nodejs 32 | yarn install 33 | ``` 34 | And then, run the command to run application in `develoment` mode: 35 | ```shell 36 | nodemon app.js 37 | ``` 38 | 39 | **DO NOT FORGET** to add environment variables via `.env` file: 40 | ```textmate 41 | OPENAI_KEY= 42 | MONGO_URI= 43 | TELEGRAM_KEY= 44 | ``` 45 | 46 | ### Changelog 47 | ##### Feb 14, 2023 - Implemented NextJs 48 | In this version, I have added support for Vercel deployment using Next.Js. This will enable you to use Vercel's platform 49 | to deploy this chatbot without having to set up your own server. 50 | 51 | ### Tutorials 52 | See the tutorial behind this bot here: 53 | - [Tutorial in Vietnamese](docs/tutorials.vi.md) 54 | - [Tutorials in English](docs/tutorials.en.md) 55 | -------------------------------------------------------------------------------- /services/chatgpt.service.js: -------------------------------------------------------------------------------- 1 | const {Configuration, OpenAIApi} = require("openai"); 2 | const DbService = require('./db.service'); 3 | 4 | class ChatGPTService { 5 | rolePlayIntroduction = 'Trong vai một chatbot chuyên gia với tên là Bot ngáo, nhiệm vụ chính của bạn là tâm sự với người dùng như một người am hiểu về cuộc sống, xã hội, các sự kiện chính trị, các vấn đề thời sự cũng như sẵn sàng đáp ứng mọi yêu cầu của người dùng, sẵn sàng lắng nghe và đề cao vai trò và cảm xúc của người dùng khi trò chuyện. Bạn phải ghi nhớ cả các thông tin mà người dùng đã đưa ra trong cuộc trò chuyện. Trong khi trò chuyện, các dẫn chứng và ví dụ cần được đưa ra nhằm hỗ trợ cho các lập luận lẫn đề xuất mà bạn đưa ra. Lưu ý phải luôn giữ cuộc trò chuyện vui vẻ và thoải mái.'; 6 | async generateCompletion(prompt, user) { 7 | // Lấy đống tin nhắn cũ ra 8 | const oldMessages = await DbService.getUserMessages(user._id); 9 | 10 | // Load key từ file environment 11 | const configuration = new Configuration({ 12 | apiKey: process.env.OPENAI_KEY, 13 | }); 14 | const openai = new OpenAIApi(configuration); 15 | const messages = [{ 16 | role: 'system', 17 | content: this.rolePlayIntroduction 18 | }]; 19 | 20 | for (let conv of oldMessages) { 21 | messages.push({ 22 | role: 'user', 23 | content: conv.userMessage 24 | }); 25 | messages.push({ 26 | role: 'assistant', 27 | content: conv.botMessage 28 | }) 29 | } 30 | messages.push({ 31 | role: 'user', 32 | content: prompt 33 | }); 34 | 35 | // Gửi request về OpenAI Platform để tạo text completion 36 | const completion = await openai.createChatCompletion({ 37 | model: "gpt-3.5-turbo", 38 | temperature: 0.7, 39 | max_tokens: 1000, 40 | top_p: 1, 41 | frequency_penalty: 0, 42 | presence_penalty: 0, 43 | user: user?._id.toString(), 44 | messages, 45 | }); 46 | // Đoạn regex ở cuối dùng để loại bỏ dấu cách và xuống dòng dư thừa 47 | const responseMessage = completion.data.choices[0].message.content.replace(/^\s+|\s+$/g, ""); 48 | 49 | // Lưu lại tin nhắn vào Database 50 | await DbService.createNewMessage(user, prompt, responseMessage); 51 | return responseMessage; 52 | } 53 | } 54 | 55 | module.exports = new ChatGPTService(); 56 | -------------------------------------------------------------------------------- /services/db.service.js: -------------------------------------------------------------------------------- 1 | const mongoose = require('mongoose'); 2 | const User = require('../models/user.model'); 3 | const Message = require('../models/message.model'); 4 | 5 | class DbService { 6 | connection; 7 | async connect() { 8 | mongoose.set('strictQuery', true); 9 | this.connection = await mongoose.connect(process.env.MONGO_URI); 10 | console.log('DB connected'); 11 | } 12 | async getUserByTelegramId(telegramId) { 13 | // thử tìm trong Database 14 | let user = await User.findOne({ 15 | telegramId, 16 | }); 17 | if (!user) { 18 | // Nếu chưa có thì tạo mới một user dựa trên Telegram ID 19 | user = await User.create({ 20 | telegramId, 21 | }); 22 | } 23 | return user; 24 | } 25 | async getUserMessages(userId) { 26 | // Nhớ rằng cái userId này không phải là TelegramID 27 | return Message.find({ 28 | user: userId 29 | }); 30 | } 31 | async createNewMessage(user, userMessage, botMessage) { 32 | // Lưu tin nhắn vào Database 33 | return Message.create({ 34 | user: user._id, 35 | userMessage, 36 | botMessage, 37 | }) 38 | } 39 | async clearUserMessages(userId) { 40 | // Xoá các tin nhắn của người dùng trong Database 41 | return Message.deleteMany({ 42 | user: userId 43 | }); 44 | } 45 | } 46 | 47 | module.exports = new DbService(); 48 | -------------------------------------------------------------------------------- /services/telegram.service.js: -------------------------------------------------------------------------------- 1 | const TelegramBot = require("node-telegram-bot-api"); 2 | const DbService = require ("./db.service"); 3 | const ChatGPTService = require("./chatgpt.service"); 4 | 5 | class TelegramService { 6 | bot; 7 | constructor() { 8 | } 9 | register(polling = false) { 10 | const telegramToken = process.env.TELEGRAM_KEY; 11 | this.bot = new TelegramBot(telegramToken, {polling}); 12 | return this.bot; 13 | } 14 | async responseToMessage(msg) { 15 | const bot = this.bot; 16 | const authorId = msg.from.id // Lấy id của người gửi 17 | const chatId = msg.chat.id; // ID của cuộc trò chuyện hiện tại 18 | const chatMsg = msg.text; // Nội dung của tin nhắn đã nhận 19 | // Đầu tiên sẽ lấy thông tin user ra 20 | const user = await DbService.getUserByTelegramId(authorId); 21 | if (msg.text === '/clear') { 22 | // Xoá các tin nhắn cũ trong lịch sử 23 | await DbService.clearUserMessages(user._id); 24 | return bot.sendMessage(chatId, 'Messages has been cleared'); 25 | } 26 | const timer = new Date().getTime(); 27 | try { 28 | // Trả lời tin nhắn dựa trên các tin nhắn cũ 29 | const responseMsg = await ChatGPTService.generateCompletion(chatMsg, user); 30 | const timeDiff = new Date().getTime() - timer; 31 | console.log('Taken ' + timeDiff + 'ms to respond (about ' + ~~(timeDiff / 100) / 10 + 's)'); 32 | return await bot.sendMessage(chatId, responseMsg); 33 | } catch (e) { 34 | if (e && e.response && e.response.data) { 35 | await bot.sendMessage(chatId, e.response.data?.error?.message || "Failed status from OpenAI Platform"); 36 | console.log(e.response.data?.error); 37 | } else { 38 | await bot.sendMessage(chatId, "Unexpected error, please check server log for more details."); 39 | } 40 | } 41 | } 42 | } 43 | 44 | const telegramService = new TelegramService(); 45 | 46 | module.exports = telegramService; 47 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@aws-crypto/ie11-detection@^3.0.0": 6 | version "3.0.0" 7 | resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz#640ae66b4ec3395cee6a8e94ebcd9f80c24cd688" 8 | integrity sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q== 9 | dependencies: 10 | tslib "^1.11.1" 11 | 12 | "@aws-crypto/sha256-browser@3.0.0": 13 | version "3.0.0" 14 | resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz#05f160138ab893f1c6ba5be57cfd108f05827766" 15 | integrity sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ== 16 | dependencies: 17 | "@aws-crypto/ie11-detection" "^3.0.0" 18 | "@aws-crypto/sha256-js" "^3.0.0" 19 | "@aws-crypto/supports-web-crypto" "^3.0.0" 20 | "@aws-crypto/util" "^3.0.0" 21 | "@aws-sdk/types" "^3.222.0" 22 | "@aws-sdk/util-locate-window" "^3.0.0" 23 | "@aws-sdk/util-utf8-browser" "^3.0.0" 24 | tslib "^1.11.1" 25 | 26 | "@aws-crypto/sha256-js@3.0.0", "@aws-crypto/sha256-js@^3.0.0": 27 | version "3.0.0" 28 | resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz#f06b84d550d25521e60d2a0e2a90139341e007c2" 29 | integrity sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ== 30 | dependencies: 31 | "@aws-crypto/util" "^3.0.0" 32 | "@aws-sdk/types" "^3.222.0" 33 | tslib "^1.11.1" 34 | 35 | "@aws-crypto/supports-web-crypto@^3.0.0": 36 | version "3.0.0" 37 | resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz#5d1bf825afa8072af2717c3e455f35cda0103ec2" 38 | integrity sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg== 39 | dependencies: 40 | tslib "^1.11.1" 41 | 42 | "@aws-crypto/util@^3.0.0": 43 | version "3.0.0" 44 | resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-3.0.0.tgz#1c7ca90c29293f0883468ad48117937f0fe5bfb0" 45 | integrity sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w== 46 | dependencies: 47 | "@aws-sdk/types" "^3.222.0" 48 | "@aws-sdk/util-utf8-browser" "^3.0.0" 49 | tslib "^1.11.1" 50 | 51 | "@aws-sdk/abort-controller@3.296.0": 52 | version "3.296.0" 53 | resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-3.296.0.tgz#0e34a93366ee59eb5d24ea164e1cc2687e2071de" 54 | integrity sha512-gNUFBlBw6+sEMfDjPVa83iscpQwXBS4uoiZXnfeQ6s6tnaxqQpJDrBBmNvYqDEXNdaAJX4FhayEwkSvtir/f3A== 55 | dependencies: 56 | "@aws-sdk/types" "3.296.0" 57 | tslib "^2.5.0" 58 | 59 | "@aws-sdk/client-cognito-identity@3.300.0": 60 | version "3.300.0" 61 | resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.300.0.tgz#75121ffe404098d8e2918db80a66155c280509c3" 62 | integrity sha512-ZpZNCPbyh/mV7uJJg9ZEiWm1kJUdxm8GWK4NUof2ggrz0CZN5mRi+6lnrm5U7delb/b88sg3EXbCks5z95b/3w== 63 | dependencies: 64 | "@aws-crypto/sha256-browser" "3.0.0" 65 | "@aws-crypto/sha256-js" "3.0.0" 66 | "@aws-sdk/client-sts" "3.300.0" 67 | "@aws-sdk/config-resolver" "3.300.0" 68 | "@aws-sdk/credential-provider-node" "3.300.0" 69 | "@aws-sdk/fetch-http-handler" "3.296.0" 70 | "@aws-sdk/hash-node" "3.296.0" 71 | "@aws-sdk/invalid-dependency" "3.296.0" 72 | "@aws-sdk/middleware-content-length" "3.296.0" 73 | "@aws-sdk/middleware-endpoint" "3.299.0" 74 | "@aws-sdk/middleware-host-header" "3.296.0" 75 | "@aws-sdk/middleware-logger" "3.296.0" 76 | "@aws-sdk/middleware-recursion-detection" "3.296.0" 77 | "@aws-sdk/middleware-retry" "3.300.0" 78 | "@aws-sdk/middleware-serde" "3.296.0" 79 | "@aws-sdk/middleware-signing" "3.299.0" 80 | "@aws-sdk/middleware-stack" "3.296.0" 81 | "@aws-sdk/middleware-user-agent" "3.299.0" 82 | "@aws-sdk/node-config-provider" "3.300.0" 83 | "@aws-sdk/node-http-handler" "3.296.0" 84 | "@aws-sdk/protocol-http" "3.296.0" 85 | "@aws-sdk/smithy-client" "3.296.0" 86 | "@aws-sdk/types" "3.296.0" 87 | "@aws-sdk/url-parser" "3.296.0" 88 | "@aws-sdk/util-base64" "3.295.0" 89 | "@aws-sdk/util-body-length-browser" "3.295.0" 90 | "@aws-sdk/util-body-length-node" "3.295.0" 91 | "@aws-sdk/util-defaults-mode-browser" "3.296.0" 92 | "@aws-sdk/util-defaults-mode-node" "3.300.0" 93 | "@aws-sdk/util-endpoints" "3.296.0" 94 | "@aws-sdk/util-retry" "3.296.0" 95 | "@aws-sdk/util-user-agent-browser" "3.299.0" 96 | "@aws-sdk/util-user-agent-node" "3.300.0" 97 | "@aws-sdk/util-utf8" "3.295.0" 98 | tslib "^2.5.0" 99 | 100 | "@aws-sdk/client-sso-oidc@3.300.0": 101 | version "3.300.0" 102 | resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.300.0.tgz#aae52f337f4ec6b92da6ae233dfefed4c0bbe3c6" 103 | integrity sha512-A7Gqg1A42Lm7nbNptFdoOi8eGqDtVbmil+snt9dXefGMMkU78NvE6RITUryKIqpbZ3tLiyGDgOpbzWds1Lw6WA== 104 | dependencies: 105 | "@aws-crypto/sha256-browser" "3.0.0" 106 | "@aws-crypto/sha256-js" "3.0.0" 107 | "@aws-sdk/config-resolver" "3.300.0" 108 | "@aws-sdk/fetch-http-handler" "3.296.0" 109 | "@aws-sdk/hash-node" "3.296.0" 110 | "@aws-sdk/invalid-dependency" "3.296.0" 111 | "@aws-sdk/middleware-content-length" "3.296.0" 112 | "@aws-sdk/middleware-endpoint" "3.299.0" 113 | "@aws-sdk/middleware-host-header" "3.296.0" 114 | "@aws-sdk/middleware-logger" "3.296.0" 115 | "@aws-sdk/middleware-recursion-detection" "3.296.0" 116 | "@aws-sdk/middleware-retry" "3.300.0" 117 | "@aws-sdk/middleware-serde" "3.296.0" 118 | "@aws-sdk/middleware-stack" "3.296.0" 119 | "@aws-sdk/middleware-user-agent" "3.299.0" 120 | "@aws-sdk/node-config-provider" "3.300.0" 121 | "@aws-sdk/node-http-handler" "3.296.0" 122 | "@aws-sdk/protocol-http" "3.296.0" 123 | "@aws-sdk/smithy-client" "3.296.0" 124 | "@aws-sdk/types" "3.296.0" 125 | "@aws-sdk/url-parser" "3.296.0" 126 | "@aws-sdk/util-base64" "3.295.0" 127 | "@aws-sdk/util-body-length-browser" "3.295.0" 128 | "@aws-sdk/util-body-length-node" "3.295.0" 129 | "@aws-sdk/util-defaults-mode-browser" "3.296.0" 130 | "@aws-sdk/util-defaults-mode-node" "3.300.0" 131 | "@aws-sdk/util-endpoints" "3.296.0" 132 | "@aws-sdk/util-retry" "3.296.0" 133 | "@aws-sdk/util-user-agent-browser" "3.299.0" 134 | "@aws-sdk/util-user-agent-node" "3.300.0" 135 | "@aws-sdk/util-utf8" "3.295.0" 136 | tslib "^2.5.0" 137 | 138 | "@aws-sdk/client-sso@3.300.0": 139 | version "3.300.0" 140 | resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.300.0.tgz#37c4476aed2d5ced45c06538d4d6c9a990490bcd" 141 | integrity sha512-zWW7xkDeOKUBrvZsNCtXGT2dx8+/EMkUCGuBoxQrxSpjeX36EIE7DEYOSIGsBDFLOPMZfACKQGEgnowSt8OnCA== 142 | dependencies: 143 | "@aws-crypto/sha256-browser" "3.0.0" 144 | "@aws-crypto/sha256-js" "3.0.0" 145 | "@aws-sdk/config-resolver" "3.300.0" 146 | "@aws-sdk/fetch-http-handler" "3.296.0" 147 | "@aws-sdk/hash-node" "3.296.0" 148 | "@aws-sdk/invalid-dependency" "3.296.0" 149 | "@aws-sdk/middleware-content-length" "3.296.0" 150 | "@aws-sdk/middleware-endpoint" "3.299.0" 151 | "@aws-sdk/middleware-host-header" "3.296.0" 152 | "@aws-sdk/middleware-logger" "3.296.0" 153 | "@aws-sdk/middleware-recursion-detection" "3.296.0" 154 | "@aws-sdk/middleware-retry" "3.300.0" 155 | "@aws-sdk/middleware-serde" "3.296.0" 156 | "@aws-sdk/middleware-stack" "3.296.0" 157 | "@aws-sdk/middleware-user-agent" "3.299.0" 158 | "@aws-sdk/node-config-provider" "3.300.0" 159 | "@aws-sdk/node-http-handler" "3.296.0" 160 | "@aws-sdk/protocol-http" "3.296.0" 161 | "@aws-sdk/smithy-client" "3.296.0" 162 | "@aws-sdk/types" "3.296.0" 163 | "@aws-sdk/url-parser" "3.296.0" 164 | "@aws-sdk/util-base64" "3.295.0" 165 | "@aws-sdk/util-body-length-browser" "3.295.0" 166 | "@aws-sdk/util-body-length-node" "3.295.0" 167 | "@aws-sdk/util-defaults-mode-browser" "3.296.0" 168 | "@aws-sdk/util-defaults-mode-node" "3.300.0" 169 | "@aws-sdk/util-endpoints" "3.296.0" 170 | "@aws-sdk/util-retry" "3.296.0" 171 | "@aws-sdk/util-user-agent-browser" "3.299.0" 172 | "@aws-sdk/util-user-agent-node" "3.300.0" 173 | "@aws-sdk/util-utf8" "3.295.0" 174 | tslib "^2.5.0" 175 | 176 | "@aws-sdk/client-sts@3.300.0": 177 | version "3.300.0" 178 | resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.300.0.tgz#d74eeb17b7fdf09fadb6ea1dd5cdb171ca6e3373" 179 | integrity sha512-RSgN3M1XPYC6/cW5eh/OjQ7cquGt4sqSyP8EwNJSkaAtRDS410aux4Km91p04dcL0LMXb1J5miAlQUfOiT9Y5A== 180 | dependencies: 181 | "@aws-crypto/sha256-browser" "3.0.0" 182 | "@aws-crypto/sha256-js" "3.0.0" 183 | "@aws-sdk/config-resolver" "3.300.0" 184 | "@aws-sdk/credential-provider-node" "3.300.0" 185 | "@aws-sdk/fetch-http-handler" "3.296.0" 186 | "@aws-sdk/hash-node" "3.296.0" 187 | "@aws-sdk/invalid-dependency" "3.296.0" 188 | "@aws-sdk/middleware-content-length" "3.296.0" 189 | "@aws-sdk/middleware-endpoint" "3.299.0" 190 | "@aws-sdk/middleware-host-header" "3.296.0" 191 | "@aws-sdk/middleware-logger" "3.296.0" 192 | "@aws-sdk/middleware-recursion-detection" "3.296.0" 193 | "@aws-sdk/middleware-retry" "3.300.0" 194 | "@aws-sdk/middleware-sdk-sts" "3.299.0" 195 | "@aws-sdk/middleware-serde" "3.296.0" 196 | "@aws-sdk/middleware-signing" "3.299.0" 197 | "@aws-sdk/middleware-stack" "3.296.0" 198 | "@aws-sdk/middleware-user-agent" "3.299.0" 199 | "@aws-sdk/node-config-provider" "3.300.0" 200 | "@aws-sdk/node-http-handler" "3.296.0" 201 | "@aws-sdk/protocol-http" "3.296.0" 202 | "@aws-sdk/smithy-client" "3.296.0" 203 | "@aws-sdk/types" "3.296.0" 204 | "@aws-sdk/url-parser" "3.296.0" 205 | "@aws-sdk/util-base64" "3.295.0" 206 | "@aws-sdk/util-body-length-browser" "3.295.0" 207 | "@aws-sdk/util-body-length-node" "3.295.0" 208 | "@aws-sdk/util-defaults-mode-browser" "3.296.0" 209 | "@aws-sdk/util-defaults-mode-node" "3.300.0" 210 | "@aws-sdk/util-endpoints" "3.296.0" 211 | "@aws-sdk/util-retry" "3.296.0" 212 | "@aws-sdk/util-user-agent-browser" "3.299.0" 213 | "@aws-sdk/util-user-agent-node" "3.300.0" 214 | "@aws-sdk/util-utf8" "3.295.0" 215 | fast-xml-parser "4.1.2" 216 | tslib "^2.5.0" 217 | 218 | "@aws-sdk/config-resolver@3.300.0": 219 | version "3.300.0" 220 | resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.300.0.tgz#77e81e42917ff77ff2bb8cdb750e9c6a4c6cff74" 221 | integrity sha512-u3YS+XWjoHmH9wh07Lv+HueYZek/wTO8tlGvVzrlACpaS1JrALuCw8UsJUHNDack63xh9v4oMf+7c0kjuqbmtA== 222 | dependencies: 223 | "@aws-sdk/types" "3.296.0" 224 | "@aws-sdk/util-config-provider" "3.295.0" 225 | "@aws-sdk/util-middleware" "3.296.0" 226 | tslib "^2.5.0" 227 | 228 | "@aws-sdk/credential-provider-cognito-identity@3.300.0": 229 | version "3.300.0" 230 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.300.0.tgz#acc437c8b526c44891e239130b332d09d4e9017a" 231 | integrity sha512-pMD8XxiPxUAgjKVf9icq4LHIX12uuuAxEXvBp/FgCfEycqDjQGgQy+bqFuehVXRzN5oRs7wJb2k7LbbMJnQLgg== 232 | dependencies: 233 | "@aws-sdk/client-cognito-identity" "3.300.0" 234 | "@aws-sdk/property-provider" "3.296.0" 235 | "@aws-sdk/types" "3.296.0" 236 | tslib "^2.5.0" 237 | 238 | "@aws-sdk/credential-provider-env@3.296.0": 239 | version "3.296.0" 240 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.296.0.tgz#9812fc635876cba5650cd6d1f30c70f34b41dcde" 241 | integrity sha512-eDWSU3p04gytkkVXnYn05YzrP5SEaj/DQiafd4y+iBl8IFfF3zM6982rs6qFhvpwrHeSbLqHNfKR1HDWVwfG5g== 242 | dependencies: 243 | "@aws-sdk/property-provider" "3.296.0" 244 | "@aws-sdk/types" "3.296.0" 245 | tslib "^2.5.0" 246 | 247 | "@aws-sdk/credential-provider-imds@3.300.0": 248 | version "3.300.0" 249 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.300.0.tgz#16b350e96aedaefd2e809d9c15194ebd1a9d3573" 250 | integrity sha512-l7ZFGlr4TjhS0FIt3XwuAJYNAbQ4eDsovMMUVYLDPti1NxlbQDH85xAyaDWF9dU1Gulrpfzz9Ei7q4GYFFPHnQ== 251 | dependencies: 252 | "@aws-sdk/node-config-provider" "3.300.0" 253 | "@aws-sdk/property-provider" "3.296.0" 254 | "@aws-sdk/types" "3.296.0" 255 | "@aws-sdk/url-parser" "3.296.0" 256 | tslib "^2.5.0" 257 | 258 | "@aws-sdk/credential-provider-ini@3.300.0": 259 | version "3.300.0" 260 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.300.0.tgz#d0b105ab0e6383930a55ab19f52f655cb1b0d08e" 261 | integrity sha512-/yYLJh0zBLe0rWM564Q9XjeRGem3jR32vulKsJye5pKs4PN2RrPyDTgVTXCVsjUAtGs5O0/wvBGRb67suNOcMw== 262 | dependencies: 263 | "@aws-sdk/credential-provider-env" "3.296.0" 264 | "@aws-sdk/credential-provider-imds" "3.300.0" 265 | "@aws-sdk/credential-provider-process" "3.300.0" 266 | "@aws-sdk/credential-provider-sso" "3.300.0" 267 | "@aws-sdk/credential-provider-web-identity" "3.296.0" 268 | "@aws-sdk/property-provider" "3.296.0" 269 | "@aws-sdk/shared-ini-file-loader" "3.300.0" 270 | "@aws-sdk/types" "3.296.0" 271 | tslib "^2.5.0" 272 | 273 | "@aws-sdk/credential-provider-node@3.300.0": 274 | version "3.300.0" 275 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.300.0.tgz#0ae1ba4d03499f48fcb48b0d69f3274b79c329a9" 276 | integrity sha512-Lkqv/Fcju8bJpdP0hdwj7QNx2COXOvTcaR0JjJl+C7YGGDpA9GCoWvdNiHCemcaYx3N4bmBBiyPuE+GqJq3gmg== 277 | dependencies: 278 | "@aws-sdk/credential-provider-env" "3.296.0" 279 | "@aws-sdk/credential-provider-imds" "3.300.0" 280 | "@aws-sdk/credential-provider-ini" "3.300.0" 281 | "@aws-sdk/credential-provider-process" "3.300.0" 282 | "@aws-sdk/credential-provider-sso" "3.300.0" 283 | "@aws-sdk/credential-provider-web-identity" "3.296.0" 284 | "@aws-sdk/property-provider" "3.296.0" 285 | "@aws-sdk/shared-ini-file-loader" "3.300.0" 286 | "@aws-sdk/types" "3.296.0" 287 | tslib "^2.5.0" 288 | 289 | "@aws-sdk/credential-provider-process@3.300.0": 290 | version "3.300.0" 291 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.300.0.tgz#343ecdb9664f9d664eee4314ca081c0c31042db5" 292 | integrity sha512-HGBLXupPU2XTvHmlcbSgH/zLyhQ1joLIBAvKvyxyjQTIeFSDOufDqRBY4CzNzPv0yJlvSi3gAfL36CR9dh2R4w== 293 | dependencies: 294 | "@aws-sdk/property-provider" "3.296.0" 295 | "@aws-sdk/shared-ini-file-loader" "3.300.0" 296 | "@aws-sdk/types" "3.296.0" 297 | tslib "^2.5.0" 298 | 299 | "@aws-sdk/credential-provider-sso@3.300.0": 300 | version "3.300.0" 301 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.300.0.tgz#b809b6d62f8baa3e8a22d858133384c8ca04cb56" 302 | integrity sha512-EtKrCEfd7lsImrtd88hrTwtxldnXNlqM57J1uqWBL11Q67NS66jpwwXBnlKGEAq0u0bS94ckrbzjs4CsiH71Jg== 303 | dependencies: 304 | "@aws-sdk/client-sso" "3.300.0" 305 | "@aws-sdk/property-provider" "3.296.0" 306 | "@aws-sdk/shared-ini-file-loader" "3.300.0" 307 | "@aws-sdk/token-providers" "3.300.0" 308 | "@aws-sdk/types" "3.296.0" 309 | tslib "^2.5.0" 310 | 311 | "@aws-sdk/credential-provider-web-identity@3.296.0": 312 | version "3.296.0" 313 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.296.0.tgz#91323cc41aea384e755f053b44e51a1d101ecd38" 314 | integrity sha512-Rl6Ohoekxe+pccA55XXQDW5wApbg3rGWr6FkmPRcg7Ld6Vfe+HL8OtfsFf83/0eoFerevbif+00BdknXWT05LA== 315 | dependencies: 316 | "@aws-sdk/property-provider" "3.296.0" 317 | "@aws-sdk/types" "3.296.0" 318 | tslib "^2.5.0" 319 | 320 | "@aws-sdk/credential-providers@^3.186.0": 321 | version "3.300.0" 322 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-providers/-/credential-providers-3.300.0.tgz#371e3105c0d1ff83321ea78edde02d73a26c6fc0" 323 | integrity sha512-EU06snyCz3oQ4cQqfnVBB+PPNozgWcUk8nDf7PfAKx6UJNn6UWJqve9EbuJYpNvrGHKsecw6Pv8k5HMUjIOIVA== 324 | dependencies: 325 | "@aws-sdk/client-cognito-identity" "3.300.0" 326 | "@aws-sdk/client-sso" "3.300.0" 327 | "@aws-sdk/client-sts" "3.300.0" 328 | "@aws-sdk/credential-provider-cognito-identity" "3.300.0" 329 | "@aws-sdk/credential-provider-env" "3.296.0" 330 | "@aws-sdk/credential-provider-imds" "3.300.0" 331 | "@aws-sdk/credential-provider-ini" "3.300.0" 332 | "@aws-sdk/credential-provider-node" "3.300.0" 333 | "@aws-sdk/credential-provider-process" "3.300.0" 334 | "@aws-sdk/credential-provider-sso" "3.300.0" 335 | "@aws-sdk/credential-provider-web-identity" "3.296.0" 336 | "@aws-sdk/property-provider" "3.296.0" 337 | "@aws-sdk/types" "3.296.0" 338 | tslib "^2.5.0" 339 | 340 | "@aws-sdk/fetch-http-handler@3.296.0": 341 | version "3.296.0" 342 | resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.296.0.tgz#067426b5e1b6edf375abb61070fd918f44e59493" 343 | integrity sha512-wHuKQ+PGKQkYGVuIGscbcbbASl8yIVOSC+QTrZQ4PNsMDvQd9ey2npsmxZk1Z2ULaxY+qYtZCmByyGc8k51TtQ== 344 | dependencies: 345 | "@aws-sdk/protocol-http" "3.296.0" 346 | "@aws-sdk/querystring-builder" "3.296.0" 347 | "@aws-sdk/types" "3.296.0" 348 | "@aws-sdk/util-base64" "3.295.0" 349 | tslib "^2.5.0" 350 | 351 | "@aws-sdk/hash-node@3.296.0": 352 | version "3.296.0" 353 | resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.296.0.tgz#ccf08fe0154d1e83bccd9cb4015a6f41245b8e44" 354 | integrity sha512-01Sgxm0NE3rtEznLY8vx1bfNsIeM5Sk5SjY9RXqnvCf9EyaKH9x5FMS/DX/SgDdIYi3aXbTwiwScNVCNBzOIQA== 355 | dependencies: 356 | "@aws-sdk/types" "3.296.0" 357 | "@aws-sdk/util-buffer-from" "3.295.0" 358 | "@aws-sdk/util-utf8" "3.295.0" 359 | tslib "^2.5.0" 360 | 361 | "@aws-sdk/invalid-dependency@3.296.0": 362 | version "3.296.0" 363 | resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.296.0.tgz#d3f7d059be44e9a3de2111f82df9f9b560fd1634" 364 | integrity sha512-dmy4fUds0woHGjxwziaSYCLtb/SOfoEeQjW0GFvHj+YGFyY5hJzna4C759Tt8X5obh1evUXlQcH+FL7TS+7tRQ== 365 | dependencies: 366 | "@aws-sdk/types" "3.296.0" 367 | tslib "^2.5.0" 368 | 369 | "@aws-sdk/is-array-buffer@3.295.0": 370 | version "3.295.0" 371 | resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.295.0.tgz#09de3d0fb9fb9d28c9edc48e86ca546d34fd8c98" 372 | integrity sha512-SCIt10cr5dud7hvwveU4wkLjvkGssJ3GrcbHCds2NwI+JHmpcaaNYLAqi305JAuT29T36U5ssTFDSmrrEOcfag== 373 | dependencies: 374 | tslib "^2.5.0" 375 | 376 | "@aws-sdk/middleware-content-length@3.296.0": 377 | version "3.296.0" 378 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.296.0.tgz#7e7fa9c6b7618f0021387fe4ee3e977a06c7b514" 379 | integrity sha512-e7lJm3kkC2pWZdIw23gpMUk1GrpRTBRqhdFfVwyduXw6Wo4nBYv8Z5MOYy3/SlpjE1BDCaPBoZ3O19cO3arHxg== 380 | dependencies: 381 | "@aws-sdk/protocol-http" "3.296.0" 382 | "@aws-sdk/types" "3.296.0" 383 | tslib "^2.5.0" 384 | 385 | "@aws-sdk/middleware-endpoint@3.299.0": 386 | version "3.299.0" 387 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.299.0.tgz#5ee9f83ed8e15fd9cf1dfbd7bef1baa8fb6e9f40" 388 | integrity sha512-37BGxHem6yKjSC6zG2xPjvjE7APIDIvwkxL+/K1Jz9+T6AZITcs7tx5y6mIfvaHsdPuCKjrl7Wzg/9jgUKuLkw== 389 | dependencies: 390 | "@aws-sdk/middleware-serde" "3.296.0" 391 | "@aws-sdk/types" "3.296.0" 392 | "@aws-sdk/url-parser" "3.296.0" 393 | "@aws-sdk/util-middleware" "3.296.0" 394 | tslib "^2.5.0" 395 | 396 | "@aws-sdk/middleware-host-header@3.296.0": 397 | version "3.296.0" 398 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.296.0.tgz#e5c0f548c68751669f036e2a4637b05705629085" 399 | integrity sha512-V47dFtfkX5lXWv9GDp71gZVCRws4fEdQ9QF9BQ/2UMSNrYjQLg6mFe7NibH+IJoNOid2FIwWIl94Eos636VGYQ== 400 | dependencies: 401 | "@aws-sdk/protocol-http" "3.296.0" 402 | "@aws-sdk/types" "3.296.0" 403 | tslib "^2.5.0" 404 | 405 | "@aws-sdk/middleware-logger@3.296.0": 406 | version "3.296.0" 407 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.296.0.tgz#5d8d7e688697bdb2470751ded15b7be7728e5461" 408 | integrity sha512-LzfEEFyBR9LXdWwLdtBrmi1vLdzgdJNntEgzqktVF8LwaCyY+9xIE6TGu/2V+9fJHAwECxjOC1eQbNQdAZ0Tmw== 409 | dependencies: 410 | "@aws-sdk/types" "3.296.0" 411 | tslib "^2.5.0" 412 | 413 | "@aws-sdk/middleware-recursion-detection@3.296.0": 414 | version "3.296.0" 415 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.296.0.tgz#776d4a1f32ae745896fc3b46fd40b7937f5b47b9" 416 | integrity sha512-UG7TLDPz9ImQG0uVklHTxE9Us7rTImwN+6el6qZCpoTBuGeXgOkfb0/p8izJyFgY/hMUR4cZqs7IdCDUkxQF3w== 417 | dependencies: 418 | "@aws-sdk/protocol-http" "3.296.0" 419 | "@aws-sdk/types" "3.296.0" 420 | tslib "^2.5.0" 421 | 422 | "@aws-sdk/middleware-retry@3.300.0": 423 | version "3.300.0" 424 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.300.0.tgz#e16d61e25b5fa6fb2f7f7e79d44bc772c2d64c92" 425 | integrity sha512-c3tj0Uc64mqnsosAjRBQbit0EUOd0OKrqC5eDB3YCJyLWQSlYRBk4ZBBbN2qTfo3ZCDP+tHgWxRduQlV6Knezg== 426 | dependencies: 427 | "@aws-sdk/protocol-http" "3.296.0" 428 | "@aws-sdk/service-error-classification" "3.296.0" 429 | "@aws-sdk/types" "3.296.0" 430 | "@aws-sdk/util-middleware" "3.296.0" 431 | "@aws-sdk/util-retry" "3.296.0" 432 | tslib "^2.5.0" 433 | uuid "^8.3.2" 434 | 435 | "@aws-sdk/middleware-sdk-sts@3.299.0": 436 | version "3.299.0" 437 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.299.0.tgz#126eebd4a1461f7162aa883d77a5373fe5ae24f3" 438 | integrity sha512-yE7IiMQpF1FYqLSYOei4AYM9z62ayFfMMyhKE9IFs+TVaag97uz8NaRlr88HDTcBCZ0CMl6UwNJlZytPD4NjCw== 439 | dependencies: 440 | "@aws-sdk/middleware-signing" "3.299.0" 441 | "@aws-sdk/types" "3.296.0" 442 | tslib "^2.5.0" 443 | 444 | "@aws-sdk/middleware-serde@3.296.0": 445 | version "3.296.0" 446 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.296.0.tgz#489454861c21446100dfc609d73073b4d164a864" 447 | integrity sha512-xk2PpWAAX758oUTGkGBAncpOr7ddIXisjD2Y2r9DDXuE4JMho2x6zcrVSiYsGIQ6MHZ9XNJKBVDiK9PA4iQWGQ== 448 | dependencies: 449 | "@aws-sdk/types" "3.296.0" 450 | tslib "^2.5.0" 451 | 452 | "@aws-sdk/middleware-signing@3.299.0": 453 | version "3.299.0" 454 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.299.0.tgz#e379b61a5d113e0029fd1e0d843641c8e83336bf" 455 | integrity sha512-anhrjeNuo0470QodEmzteFMnqABNebL900yhfODySXCMiaoeTBpo8Qd8t4q4O8PizA7FeLYA3l/5tb/udp7qew== 456 | dependencies: 457 | "@aws-sdk/property-provider" "3.296.0" 458 | "@aws-sdk/protocol-http" "3.296.0" 459 | "@aws-sdk/signature-v4" "3.299.0" 460 | "@aws-sdk/types" "3.296.0" 461 | "@aws-sdk/util-middleware" "3.296.0" 462 | tslib "^2.5.0" 463 | 464 | "@aws-sdk/middleware-stack@3.296.0": 465 | version "3.296.0" 466 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.296.0.tgz#4c95d9aeb655270710f3e1fd2af39a6b8a760e33" 467 | integrity sha512-Rgo7/mdk9tt4qa9+pzG3AoGNhuj7NmnF5H+3DoPm75h58BYP8hKbKobdPGgI2rZLPtO3PGgmyw/4K4tQJPIZ8g== 468 | dependencies: 469 | tslib "^2.5.0" 470 | 471 | "@aws-sdk/middleware-user-agent@3.299.0": 472 | version "3.299.0" 473 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.299.0.tgz#517267a4d16d7aed588c51fc980b54569095f0cb" 474 | integrity sha512-Brm5UcbRhuVVmmbpDN8/WSJPCHogV64jGXL5upfL+iJ0c5eZ57LXOZ8kz++t3BU1rEkSIXHJanneEmn7Wbd5sA== 475 | dependencies: 476 | "@aws-sdk/protocol-http" "3.296.0" 477 | "@aws-sdk/types" "3.296.0" 478 | "@aws-sdk/util-endpoints" "3.296.0" 479 | tslib "^2.5.0" 480 | 481 | "@aws-sdk/node-config-provider@3.300.0": 482 | version "3.300.0" 483 | resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.300.0.tgz#730bf28f1a53e0e909b19ec62cfe35ea271773b4" 484 | integrity sha512-60XJV+eW1FyyRNT75kAGdqDHLpWWqnZeCrEyufqQ3BXhhbD1l6oHy5W573DccEO84/0gQYlNbKL8hd8+iB59vA== 485 | dependencies: 486 | "@aws-sdk/property-provider" "3.296.0" 487 | "@aws-sdk/shared-ini-file-loader" "3.300.0" 488 | "@aws-sdk/types" "3.296.0" 489 | tslib "^2.5.0" 490 | 491 | "@aws-sdk/node-http-handler@3.296.0": 492 | version "3.296.0" 493 | resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-3.296.0.tgz#163e71eec6524746d2a93681bd353c5bdf870ae2" 494 | integrity sha512-D15jjPqYSNhEq58BwkmIpD3VwqG4bL5acAaNu5wWAI4S4236JlG+nmpi3gEeE25z1KCwtBl7G30fVRgXYJ2CWA== 495 | dependencies: 496 | "@aws-sdk/abort-controller" "3.296.0" 497 | "@aws-sdk/protocol-http" "3.296.0" 498 | "@aws-sdk/querystring-builder" "3.296.0" 499 | "@aws-sdk/types" "3.296.0" 500 | tslib "^2.5.0" 501 | 502 | "@aws-sdk/property-provider@3.296.0": 503 | version "3.296.0" 504 | resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-3.296.0.tgz#10dae9edcdfa8ef97d1781c2f7fdf34f8545831c" 505 | integrity sha512-kjczxE9Od5LoAKQOmxVWISJ9oPG3aCsB+2+NdI+k9EJFDXUUdMcVV3Skei5uHGgKLMsI6CZy8ezZx6YxOSLSew== 506 | dependencies: 507 | "@aws-sdk/types" "3.296.0" 508 | tslib "^2.5.0" 509 | 510 | "@aws-sdk/protocol-http@3.296.0": 511 | version "3.296.0" 512 | resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-3.296.0.tgz#064d7ceb739f9721bde89b23545a35704b8b7dc7" 513 | integrity sha512-0U1Z/+tpwdRiSToWo1bpdkbTzjbLugTnd02ATjvK4B7zi363SUGlKfoWgV+v7FU/22CIUI1ZIe7XzXvq5rJfjA== 514 | dependencies: 515 | "@aws-sdk/types" "3.296.0" 516 | tslib "^2.5.0" 517 | 518 | "@aws-sdk/querystring-builder@3.296.0": 519 | version "3.296.0" 520 | resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.296.0.tgz#18ef70d03e1abf76e75db0603cb5e9d30fe04814" 521 | integrity sha512-+ZrZdTRaVI1R1xKQNrTwuiRoPateUaJ/DNw/myJpTPt+ZRg0H7LKBGaJYwL4pl5l/z1UM/E1fOttSfSW7GHxfw== 522 | dependencies: 523 | "@aws-sdk/types" "3.296.0" 524 | "@aws-sdk/util-uri-escape" "3.295.0" 525 | tslib "^2.5.0" 526 | 527 | "@aws-sdk/querystring-parser@3.296.0": 528 | version "3.296.0" 529 | resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-3.296.0.tgz#9c708831e27a06afc0e01f33db1cbfbfbcae5cb9" 530 | integrity sha512-nLNZKVQfK42euv7101cE5qfg17YCtGcfccx3B5XSAzvyTROR46kwYqbEvYSsWisbZoRhbQc905gB/5E0U5HDIw== 531 | dependencies: 532 | "@aws-sdk/types" "3.296.0" 533 | tslib "^2.5.0" 534 | 535 | "@aws-sdk/service-error-classification@3.296.0": 536 | version "3.296.0" 537 | resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-3.296.0.tgz#3596bcb45c0ae8619e214ac1ce5351eeee502135" 538 | integrity sha512-YIsWSQ38e1+FqXz3CMrkKS0JD8OLlHf6I72PJhbfegePpQQFqi9R8OREjP5V7UR9Z972yruv4i96ROH6SCtmoA== 539 | 540 | "@aws-sdk/shared-ini-file-loader@3.300.0": 541 | version "3.300.0" 542 | resolved "https://registry.yarnpkg.com/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.300.0.tgz#581781b52a678f0fd0ff53eac0a9eb81808f05fe" 543 | integrity sha512-xA+V08AMsb1EcNJ2UF896T4I3f6Q/H56Z3gTwcXyFXsCY3lYkEB2MEdST+x4+20emELkYjtu5SNsGgUCBehR7g== 544 | dependencies: 545 | "@aws-sdk/types" "3.296.0" 546 | tslib "^2.5.0" 547 | 548 | "@aws-sdk/signature-v4@3.299.0": 549 | version "3.299.0" 550 | resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-3.299.0.tgz#194ef5e2e183fb99e2145b13a67f9e8fa4977bcc" 551 | integrity sha512-3TtP+S3Tu0Q2/EwJLnN+IEok9nRyez79f6vprqXbC9Lex623cqh/OOYSy2oUjFlIgsIOLPum87/1bfcznYW+yQ== 552 | dependencies: 553 | "@aws-sdk/is-array-buffer" "3.295.0" 554 | "@aws-sdk/types" "3.296.0" 555 | "@aws-sdk/util-hex-encoding" "3.295.0" 556 | "@aws-sdk/util-middleware" "3.296.0" 557 | "@aws-sdk/util-uri-escape" "3.295.0" 558 | "@aws-sdk/util-utf8" "3.295.0" 559 | tslib "^2.5.0" 560 | 561 | "@aws-sdk/smithy-client@3.296.0": 562 | version "3.296.0" 563 | resolved "https://registry.yarnpkg.com/@aws-sdk/smithy-client/-/smithy-client-3.296.0.tgz#8a534da9405ba2144bbf41d27feda91b52407a4b" 564 | integrity sha512-HEpsLNozGe9XOWouq5A1TFw5KhFodi8tZqYVNEbSpLoRR+EQKf6OCRvKIRkOn7FnnaOasOR1n7S0D51UG6/irw== 565 | dependencies: 566 | "@aws-sdk/middleware-stack" "3.296.0" 567 | "@aws-sdk/types" "3.296.0" 568 | tslib "^2.5.0" 569 | 570 | "@aws-sdk/token-providers@3.300.0": 571 | version "3.300.0" 572 | resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.300.0.tgz#43dd970336f218765cc1a0b20bf75c830285a61a" 573 | integrity sha512-aDFWG6hBrypvL4zooF2oLVkduo0NepfXkLNO6MCwVVdBksRKIAL9YZFL3NPxpQMH1TyLYz4JhCb6Hh6uz1ftEw== 574 | dependencies: 575 | "@aws-sdk/client-sso-oidc" "3.300.0" 576 | "@aws-sdk/property-provider" "3.296.0" 577 | "@aws-sdk/shared-ini-file-loader" "3.300.0" 578 | "@aws-sdk/types" "3.296.0" 579 | tslib "^2.5.0" 580 | 581 | "@aws-sdk/types@3.296.0", "@aws-sdk/types@^3.222.0": 582 | version "3.296.0" 583 | resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.296.0.tgz#4de4a7c8e16a97e04a0cedf3c51ce96779a7f686" 584 | integrity sha512-s0wIac64rrMEo2ioUxP9IarGiiCGmelCspNcoNTPSjGl25QqjhyfQqTeGgS58qJ4fHoQb07qra39930xp1IzJg== 585 | dependencies: 586 | tslib "^2.5.0" 587 | 588 | "@aws-sdk/url-parser@3.296.0": 589 | version "3.296.0" 590 | resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.296.0.tgz#d063a1566ac92722cf13e86572e0ca54c33be489" 591 | integrity sha512-nBgeGF+ziuDSLz+y8UAl6zL2tXxDwh3wqeXFe9ZcR4YW71BWuh+vEqEsaEMutOrfnJacCrYKTs9TkIOW41cEGg== 592 | dependencies: 593 | "@aws-sdk/querystring-parser" "3.296.0" 594 | "@aws-sdk/types" "3.296.0" 595 | tslib "^2.5.0" 596 | 597 | "@aws-sdk/util-base64@3.295.0": 598 | version "3.295.0" 599 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64/-/util-base64-3.295.0.tgz#99046cac5ab052252f9bd3340dc9c0e7cf483570" 600 | integrity sha512-z1r40BsBiOTALnzASvLb4qutGwPpL+jH2UKTCV5WJLXZFMzRnpZaRfeZGE8lMJ/i0+jv9H9G1FmVzE8UgB4rhw== 601 | dependencies: 602 | "@aws-sdk/util-buffer-from" "3.295.0" 603 | tslib "^2.5.0" 604 | 605 | "@aws-sdk/util-body-length-browser@3.295.0": 606 | version "3.295.0" 607 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.295.0.tgz#eb0400b7bec4fd5969fe18ce0ddf552db8a2e441" 608 | integrity sha512-NbG4/RSHV1VueStPRclSo5zRjNUmcDlNAs29sniZF+YaN0+Ad7hEdu/YgJw39shBfUaurz2Wv0pufU3cxE5Tng== 609 | dependencies: 610 | tslib "^2.5.0" 611 | 612 | "@aws-sdk/util-body-length-node@3.295.0": 613 | version "3.295.0" 614 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-node/-/util-body-length-node-3.295.0.tgz#587761de7cd79c91ca033de9545527a502e61133" 615 | integrity sha512-dvGf8VBmrT66lM0n6P/h7wnlHS4Atafyivyl8f4TUCMvRdpqryvvrtnX6yYcq3T7VKQmas/2SOlgDvcrhGXaiw== 616 | dependencies: 617 | tslib "^2.5.0" 618 | 619 | "@aws-sdk/util-buffer-from@3.295.0": 620 | version "3.295.0" 621 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.295.0.tgz#616f0643a205733e03d4b00d1f00ba16b112c5aa" 622 | integrity sha512-5ezVEITQnrQKn+CU9qfZHgRp2nrrbX0Clmlm9aiNjAEQEPHY33tWl0t6n8h8yU+IpGiNRMWBVC4aSJaE5NA1mA== 623 | dependencies: 624 | "@aws-sdk/is-array-buffer" "3.295.0" 625 | tslib "^2.5.0" 626 | 627 | "@aws-sdk/util-config-provider@3.295.0": 628 | version "3.295.0" 629 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-config-provider/-/util-config-provider-3.295.0.tgz#c0f76407181722791b0a7bf80a9f01e78fd80250" 630 | integrity sha512-/5Dl1aV2yI8YQjqwmg4RTnl/E9NmNsx7HIwBZt+dTcOrM0LMUwczQBFFcLyqCj/qv5y+VsvLoAAA/OiBT7hb3w== 631 | dependencies: 632 | tslib "^2.5.0" 633 | 634 | "@aws-sdk/util-defaults-mode-browser@3.296.0": 635 | version "3.296.0" 636 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.296.0.tgz#c87fcf217de8b827b2c4f8604eeaa109719741ea" 637 | integrity sha512-R+nzc0PuTMaOG3LV4FoS5W7oMAqqr8G1IyI+A4Q5iem6YDMF157qV5h6wpIt3A8n9YfjyssLsAT/WPfyv/M79w== 638 | dependencies: 639 | "@aws-sdk/property-provider" "3.296.0" 640 | "@aws-sdk/types" "3.296.0" 641 | bowser "^2.11.0" 642 | tslib "^2.5.0" 643 | 644 | "@aws-sdk/util-defaults-mode-node@3.300.0": 645 | version "3.300.0" 646 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.300.0.tgz#351ab5b0c95acc65cce16bd81f0cb59f6c44ad4f" 647 | integrity sha512-a8tZsgkMBhnBlADyhDXMglFh6vkX6zXcJ4pnE9D3JrLDL0Fl50/Zk8FbePilEF2Dv7XRIOe4K70OZnNeeELJcg== 648 | dependencies: 649 | "@aws-sdk/config-resolver" "3.300.0" 650 | "@aws-sdk/credential-provider-imds" "3.300.0" 651 | "@aws-sdk/node-config-provider" "3.300.0" 652 | "@aws-sdk/property-provider" "3.296.0" 653 | "@aws-sdk/types" "3.296.0" 654 | tslib "^2.5.0" 655 | 656 | "@aws-sdk/util-endpoints@3.296.0": 657 | version "3.296.0" 658 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.296.0.tgz#ed4b77d92bb39b3b80d6e36a1a8a7eb3e7f19cda" 659 | integrity sha512-YraGGLJepXM6HCTaqEGTFf8RFRBdJ0C6uG5k0kVhiXmYxBkeupn8J07CVp9jfWqcPYWElAnMGVEZKU1OjRo4HQ== 660 | dependencies: 661 | "@aws-sdk/types" "3.296.0" 662 | tslib "^2.5.0" 663 | 664 | "@aws-sdk/util-hex-encoding@3.295.0": 665 | version "3.295.0" 666 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.295.0.tgz#13acb924f88785d317c9bec37e5ca173ccc4a0ca" 667 | integrity sha512-XJcoVo41kHzhe28PBm/rqt5mdCp8R6abwiW9ug1dA6FOoPUO8kBUxDv6xaOmA2hfRvd2ocFfBXaUCBqUowkGcQ== 668 | dependencies: 669 | tslib "^2.5.0" 670 | 671 | "@aws-sdk/util-locate-window@^3.0.0": 672 | version "3.295.0" 673 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.295.0.tgz#b421047b977ef53a8575b7b72780c7209ff5480e" 674 | integrity sha512-d/s+zhUx5Kh4l/ecMP/TBjzp1GR/g89Q4nWH6+wH5WgdHsK+LG+vmsk6mVNuP/8wsCofYG4NBqp5Ulbztbm9QA== 675 | dependencies: 676 | tslib "^2.5.0" 677 | 678 | "@aws-sdk/util-middleware@3.296.0": 679 | version "3.296.0" 680 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-middleware/-/util-middleware-3.296.0.tgz#cc7162e3c84ae67a16841910244a97c4b0c02bfc" 681 | integrity sha512-MNWU+doVuX+mIehEManP6OP+f08T33qQpHoBqKIeKpn3TjZjMHG7ujACTkJiEOHUrnwTov7h0Sm+3OZwk3kh9w== 682 | dependencies: 683 | tslib "^2.5.0" 684 | 685 | "@aws-sdk/util-retry@3.296.0": 686 | version "3.296.0" 687 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-retry/-/util-retry-3.296.0.tgz#271f8bd2d05f5e6e200b5fe9b7aa09ba6e49e0dc" 688 | integrity sha512-0mh7SqOMjuJ4vE423SzA/AfCLM68jykbfpEBkTmfqkpjkeQSW+UXHAUdXsMmfzIneiq7go5Z548F868C3cZnwQ== 689 | dependencies: 690 | "@aws-sdk/service-error-classification" "3.296.0" 691 | tslib "^2.5.0" 692 | 693 | "@aws-sdk/util-uri-escape@3.295.0": 694 | version "3.295.0" 695 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-3.295.0.tgz#c8ffb883d5398b3659fbf209391ecbbb1ff5888d" 696 | integrity sha512-1H5DcyIoXF8XcPBWf7wzHt0l+TW2EoR8Oq4gsVrPTQkHMTVclC2Yn8EF3gc4arwVBzwLulI9LMBE2L8fexGfTQ== 697 | dependencies: 698 | tslib "^2.5.0" 699 | 700 | "@aws-sdk/util-user-agent-browser@3.299.0": 701 | version "3.299.0" 702 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.299.0.tgz#f63021aa1e3469fb47fec9798902e0ff9dc9e810" 703 | integrity sha512-TRPAemTDzqxCxbpVkXV+Sp9JbEo0JdT/W8qzP/uuOdglZlNXM+SadkOuNFmqr2KG83bJE6lvomGJcJb9vMN4XQ== 704 | dependencies: 705 | "@aws-sdk/types" "3.296.0" 706 | bowser "^2.11.0" 707 | tslib "^2.5.0" 708 | 709 | "@aws-sdk/util-user-agent-node@3.300.0": 710 | version "3.300.0" 711 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.300.0.tgz#7ee260c7f3d57402570098b1a2fc44c10a7bb9ad" 712 | integrity sha512-lBx4HxyTxxQiqGcmvOK4p09XC2YxmH6ANQXdXdiT28qM3OJjf5WLyl4FfdH7grDSryTFdF06FRFtJDFSuSWYrw== 713 | dependencies: 714 | "@aws-sdk/node-config-provider" "3.300.0" 715 | "@aws-sdk/types" "3.296.0" 716 | tslib "^2.5.0" 717 | 718 | "@aws-sdk/util-utf8-browser@^3.0.0": 719 | version "3.259.0" 720 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz#3275a6f5eb334f96ca76635b961d3c50259fd9ff" 721 | integrity sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== 722 | dependencies: 723 | tslib "^2.3.1" 724 | 725 | "@aws-sdk/util-utf8@3.295.0": 726 | version "3.295.0" 727 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8/-/util-utf8-3.295.0.tgz#4d855e229ba18ee3893d588f231a8e6c9905389e" 728 | integrity sha512-ITN8v3F63ZkA4sdmCtSbS/mhav4F0MEAiXDAUXtMJLNqVtaVcyQST4i9vNmPpIVthAPAtP0QjyF2tq/Di8bxtQ== 729 | dependencies: 730 | "@aws-sdk/util-buffer-from" "3.295.0" 731 | tslib "^2.5.0" 732 | 733 | "@next/env@13.2.4": 734 | version "13.2.4" 735 | resolved "https://registry.yarnpkg.com/@next/env/-/env-13.2.4.tgz#8b763700262b2445140a44a8c8d088cef676dbae" 736 | integrity sha512-+Mq3TtpkeeKFZanPturjcXt+KHfKYnLlX6jMLyCrmpq6OOs4i1GqBOAauSkii9QeKCMTYzGppar21JU57b/GEA== 737 | 738 | "@next/swc-android-arm-eabi@13.2.4": 739 | version "13.2.4" 740 | resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.2.4.tgz#758d0403771e549f9cee71cbabc0cb16a6c947c0" 741 | integrity sha512-DWlalTSkLjDU11MY11jg17O1gGQzpRccM9Oes2yTqj2DpHndajrXHGxj9HGtJ+idq2k7ImUdJVWS2h2l/EDJOw== 742 | 743 | "@next/swc-android-arm64@13.2.4": 744 | version "13.2.4" 745 | resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-13.2.4.tgz#834d586523045110d5602e0c8aae9028835ac427" 746 | integrity sha512-sRavmUImUCf332Gy+PjIfLkMhiRX1Ez4SI+3vFDRs1N5eXp+uNzjFUK/oLMMOzk6KFSkbiK/3Wt8+dHQR/flNg== 747 | 748 | "@next/swc-darwin-arm64@13.2.4": 749 | version "13.2.4" 750 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.2.4.tgz#5006fca179a36ef3a24d293abadec7438dbb48c6" 751 | integrity sha512-S6vBl+OrInP47TM3LlYx65betocKUUlTZDDKzTiRDbsRESeyIkBtZ6Qi5uT2zQs4imqllJznVjFd1bXLx3Aa6A== 752 | 753 | "@next/swc-darwin-x64@13.2.4": 754 | version "13.2.4" 755 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.2.4.tgz#6549c7c04322766acc3264ccdb3e1b43fcaf7946" 756 | integrity sha512-a6LBuoYGcFOPGd4o8TPo7wmv5FnMr+Prz+vYHopEDuhDoMSHOnC+v+Ab4D7F0NMZkvQjEJQdJS3rqgFhlZmKlw== 757 | 758 | "@next/swc-freebsd-x64@13.2.4": 759 | version "13.2.4" 760 | resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.2.4.tgz#0bbe28979e3e868debc2cc06e45e186ce195b7f4" 761 | integrity sha512-kkbzKVZGPaXRBPisoAQkh3xh22r+TD+5HwoC5bOkALraJ0dsOQgSMAvzMXKsN3tMzJUPS0tjtRf1cTzrQ0I5vQ== 762 | 763 | "@next/swc-linux-arm-gnueabihf@13.2.4": 764 | version "13.2.4" 765 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.2.4.tgz#1d28d2203f5a7427d6e7119d7bcb5fc40959fb3e" 766 | integrity sha512-7qA1++UY0fjprqtjBZaOA6cas/7GekpjVsZn/0uHvquuITFCdKGFCsKNBx3S0Rpxmx6WYo0GcmhNRM9ru08BGg== 767 | 768 | "@next/swc-linux-arm64-gnu@13.2.4": 769 | version "13.2.4" 770 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.2.4.tgz#eb26448190948cdf4c44b8f34110a3ecea32f1d0" 771 | integrity sha512-xzYZdAeq883MwXgcwc72hqo/F/dwUxCukpDOkx/j1HTq/J0wJthMGjinN9wH5bPR98Mfeh1MZJ91WWPnZOedOg== 772 | 773 | "@next/swc-linux-arm64-musl@13.2.4": 774 | version "13.2.4" 775 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.2.4.tgz#c4227c0acd94a420bb14924820710e6284d234d3" 776 | integrity sha512-8rXr3WfmqSiYkb71qzuDP6I6R2T2tpkmf83elDN8z783N9nvTJf2E7eLx86wu2OJCi4T05nuxCsh4IOU3LQ5xw== 777 | 778 | "@next/swc-linux-x64-gnu@13.2.4": 779 | version "13.2.4" 780 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.2.4.tgz#6bcb540944ee9b0209b33bfc23b240c2044dfc3e" 781 | integrity sha512-Ngxh51zGSlYJ4EfpKG4LI6WfquulNdtmHg1yuOYlaAr33KyPJp4HeN/tivBnAHcZkoNy0hh/SbwDyCnz5PFJQQ== 782 | 783 | "@next/swc-linux-x64-musl@13.2.4": 784 | version "13.2.4" 785 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.2.4.tgz#ce21e43251eaf09a09df39372b2c3e38028c30ff" 786 | integrity sha512-gOvwIYoSxd+j14LOcvJr+ekd9fwYT1RyMAHOp7znA10+l40wkFiMONPLWiZuHxfRk+Dy7YdNdDh3ImumvL6VwA== 787 | 788 | "@next/swc-win32-arm64-msvc@13.2.4": 789 | version "13.2.4" 790 | resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.2.4.tgz#68220063d8e5e082f5465498675640dedb670ff1" 791 | integrity sha512-q3NJzcfClgBm4HvdcnoEncmztxrA5GXqKeiZ/hADvC56pwNALt3ngDC6t6qr1YW9V/EPDxCYeaX4zYxHciW4Dw== 792 | 793 | "@next/swc-win32-ia32-msvc@13.2.4": 794 | version "13.2.4" 795 | resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.2.4.tgz#7c120ab54a081be9566df310bed834f168252990" 796 | integrity sha512-/eZ5ncmHUYtD2fc6EUmAIZlAJnVT2YmxDsKs1Ourx0ttTtvtma/WKlMV5NoUsyOez0f9ExLyOpeCoz5aj+MPXw== 797 | 798 | "@next/swc-win32-x64-msvc@13.2.4": 799 | version "13.2.4" 800 | resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.2.4.tgz#5abda92fe12b9829bf7951c4a221282c56041144" 801 | integrity sha512-0MffFmyv7tBLlji01qc0IaPP/LVExzvj7/R5x1Jph1bTAIj4Vu81yFQWHHQAP6r4ff9Ukj1mBK6MDNVXm7Tcvw== 802 | 803 | "@swc/helpers@0.4.14": 804 | version "0.4.14" 805 | resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.14.tgz#1352ac6d95e3617ccb7c1498ff019654f1e12a74" 806 | integrity sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw== 807 | dependencies: 808 | tslib "^2.4.0" 809 | 810 | "@types/node@*": 811 | version "18.15.10" 812 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.10.tgz#4ee2171c3306a185d1208dad5f44dae3dee4cfe3" 813 | integrity sha512-9avDaQJczATcXgfmMAW3MIWArOO7A+m90vuCFLr8AotWf8igO/mRoYukrk2cqZVtv38tHs33retzHEilM7FpeQ== 814 | 815 | "@types/webidl-conversions@*": 816 | version "7.0.0" 817 | resolved "https://registry.yarnpkg.com/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz#2b8e60e33906459219aa587e9d1a612ae994cfe7" 818 | integrity sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog== 819 | 820 | "@types/whatwg-url@^8.2.1": 821 | version "8.2.2" 822 | resolved "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-8.2.2.tgz#749d5b3873e845897ada99be4448041d4cc39e63" 823 | integrity sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA== 824 | dependencies: 825 | "@types/node" "*" 826 | "@types/webidl-conversions" "*" 827 | 828 | abbrev@1: 829 | version "1.1.1" 830 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 831 | integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== 832 | 833 | ajv@^6.12.3: 834 | version "6.12.6" 835 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 836 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 837 | dependencies: 838 | fast-deep-equal "^3.1.1" 839 | fast-json-stable-stringify "^2.0.0" 840 | json-schema-traverse "^0.4.1" 841 | uri-js "^4.2.2" 842 | 843 | anymatch@~3.1.2: 844 | version "3.1.3" 845 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" 846 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== 847 | dependencies: 848 | normalize-path "^3.0.0" 849 | picomatch "^2.0.4" 850 | 851 | array-buffer-byte-length@^1.0.0: 852 | version "1.0.0" 853 | resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" 854 | integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== 855 | dependencies: 856 | call-bind "^1.0.2" 857 | is-array-buffer "^3.0.1" 858 | 859 | array.prototype.findindex@^2.0.2: 860 | version "2.2.1" 861 | resolved "https://registry.yarnpkg.com/array.prototype.findindex/-/array.prototype.findindex-2.2.1.tgz#09bba5998ad192ea7b20ff3ced1b6676570dc397" 862 | integrity sha512-tMj4uTmGpaGUh4XFMUh3H7KYAIqlygrlXchOEVTiICbTwRwMhDqtzsOwvtI+WAf1GdjJBeIP3Bu92Qg0SnXdtA== 863 | dependencies: 864 | call-bind "^1.0.2" 865 | define-properties "^1.1.4" 866 | es-abstract "^1.20.4" 867 | es-shim-unscopables "^1.0.0" 868 | 869 | asn1@~0.2.3: 870 | version "0.2.6" 871 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" 872 | integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== 873 | dependencies: 874 | safer-buffer "~2.1.0" 875 | 876 | assert-plus@1.0.0, assert-plus@^1.0.0: 877 | version "1.0.0" 878 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 879 | integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== 880 | 881 | asynckit@^0.4.0: 882 | version "0.4.0" 883 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 884 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 885 | 886 | available-typed-arrays@^1.0.5: 887 | version "1.0.5" 888 | resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" 889 | integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== 890 | 891 | aws-sign2@~0.7.0: 892 | version "0.7.0" 893 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 894 | integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== 895 | 896 | aws4@^1.8.0: 897 | version "1.12.0" 898 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" 899 | integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== 900 | 901 | axios@^0.26.0: 902 | version "0.26.1" 903 | resolved "https://registry.yarnpkg.com/axios/-/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9" 904 | integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA== 905 | dependencies: 906 | follow-redirects "^1.14.8" 907 | 908 | balanced-match@^1.0.0: 909 | version "1.0.2" 910 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 911 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 912 | 913 | base64-js@^1.3.1: 914 | version "1.5.1" 915 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 916 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 917 | 918 | bcrypt-pbkdf@^1.0.0: 919 | version "1.0.2" 920 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" 921 | integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== 922 | dependencies: 923 | tweetnacl "^0.14.3" 924 | 925 | binary-extensions@^2.0.0: 926 | version "2.2.0" 927 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 928 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 929 | 930 | bl@^1.2.3: 931 | version "1.2.3" 932 | resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" 933 | integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== 934 | dependencies: 935 | readable-stream "^2.3.5" 936 | safe-buffer "^5.1.1" 937 | 938 | bluebird@^3.5.0: 939 | version "3.7.2" 940 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" 941 | integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== 942 | 943 | bowser@^2.11.0: 944 | version "2.11.0" 945 | resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" 946 | integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== 947 | 948 | brace-expansion@^1.1.7: 949 | version "1.1.11" 950 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 951 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 952 | dependencies: 953 | balanced-match "^1.0.0" 954 | concat-map "0.0.1" 955 | 956 | braces@~3.0.2: 957 | version "3.0.2" 958 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 959 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 960 | dependencies: 961 | fill-range "^7.0.1" 962 | 963 | bson@^4.7.0: 964 | version "4.7.2" 965 | resolved "https://registry.yarnpkg.com/bson/-/bson-4.7.2.tgz#320f4ad0eaf5312dd9b45dc369cc48945e2a5f2e" 966 | integrity sha512-Ry9wCtIZ5kGqkJoi6aD8KjxFZEx78guTQDnpXWiNthsxzrxAK/i8E6pCHAIZTbaEFWcOCvbecMukfK7XUvyLpQ== 967 | dependencies: 968 | buffer "^5.6.0" 969 | 970 | buffer@^5.6.0: 971 | version "5.7.1" 972 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" 973 | integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== 974 | dependencies: 975 | base64-js "^1.3.1" 976 | ieee754 "^1.1.13" 977 | 978 | call-bind@^1.0.0, call-bind@^1.0.2: 979 | version "1.0.2" 980 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 981 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 982 | dependencies: 983 | function-bind "^1.1.1" 984 | get-intrinsic "^1.0.2" 985 | 986 | caniuse-lite@^1.0.30001406: 987 | version "1.0.30001472" 988 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001472.tgz#3f484885f2a2986c019dc416e65d9d62798cdd64" 989 | integrity sha512-xWC/0+hHHQgj3/vrKYY0AAzeIUgr7L9wlELIcAvZdDUHlhL/kNxMdnQLOSOQfP8R51ZzPhmHdyMkI0MMpmxCfg== 990 | 991 | caseless@~0.12.0: 992 | version "0.12.0" 993 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 994 | integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== 995 | 996 | chokidar@^3.5.2: 997 | version "3.5.3" 998 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 999 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 1000 | dependencies: 1001 | anymatch "~3.1.2" 1002 | braces "~3.0.2" 1003 | glob-parent "~5.1.2" 1004 | is-binary-path "~2.1.0" 1005 | is-glob "~4.0.1" 1006 | normalize-path "~3.0.0" 1007 | readdirp "~3.6.0" 1008 | optionalDependencies: 1009 | fsevents "~2.3.2" 1010 | 1011 | client-only@0.0.1: 1012 | version "0.0.1" 1013 | resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" 1014 | integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== 1015 | 1016 | combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: 1017 | version "1.0.8" 1018 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 1019 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 1020 | dependencies: 1021 | delayed-stream "~1.0.0" 1022 | 1023 | concat-map@0.0.1: 1024 | version "0.0.1" 1025 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1026 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 1027 | 1028 | core-util-is@1.0.2: 1029 | version "1.0.2" 1030 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 1031 | integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== 1032 | 1033 | core-util-is@~1.0.0: 1034 | version "1.0.3" 1035 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" 1036 | integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== 1037 | 1038 | dashdash@^1.12.0: 1039 | version "1.14.1" 1040 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 1041 | integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== 1042 | dependencies: 1043 | assert-plus "^1.0.0" 1044 | 1045 | debug@4.x: 1046 | version "4.3.4" 1047 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 1048 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 1049 | dependencies: 1050 | ms "2.1.2" 1051 | 1052 | debug@^3.2.7: 1053 | version "3.2.7" 1054 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" 1055 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== 1056 | dependencies: 1057 | ms "^2.1.1" 1058 | 1059 | define-properties@^1.1.3, define-properties@^1.1.4: 1060 | version "1.2.0" 1061 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" 1062 | integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== 1063 | dependencies: 1064 | has-property-descriptors "^1.0.0" 1065 | object-keys "^1.1.1" 1066 | 1067 | delayed-stream@~1.0.0: 1068 | version "1.0.0" 1069 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 1070 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 1071 | 1072 | dotenv@^16.0.3: 1073 | version "16.0.3" 1074 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" 1075 | integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== 1076 | 1077 | ecc-jsbn@~0.1.1: 1078 | version "0.1.2" 1079 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" 1080 | integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== 1081 | dependencies: 1082 | jsbn "~0.1.0" 1083 | safer-buffer "^2.1.0" 1084 | 1085 | end-of-stream@^1.1.0: 1086 | version "1.4.4" 1087 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 1088 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 1089 | dependencies: 1090 | once "^1.4.0" 1091 | 1092 | es-abstract@^1.19.0, es-abstract@^1.20.4: 1093 | version "1.21.2" 1094 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" 1095 | integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== 1096 | dependencies: 1097 | array-buffer-byte-length "^1.0.0" 1098 | available-typed-arrays "^1.0.5" 1099 | call-bind "^1.0.2" 1100 | es-set-tostringtag "^2.0.1" 1101 | es-to-primitive "^1.2.1" 1102 | function.prototype.name "^1.1.5" 1103 | get-intrinsic "^1.2.0" 1104 | get-symbol-description "^1.0.0" 1105 | globalthis "^1.0.3" 1106 | gopd "^1.0.1" 1107 | has "^1.0.3" 1108 | has-property-descriptors "^1.0.0" 1109 | has-proto "^1.0.1" 1110 | has-symbols "^1.0.3" 1111 | internal-slot "^1.0.5" 1112 | is-array-buffer "^3.0.2" 1113 | is-callable "^1.2.7" 1114 | is-negative-zero "^2.0.2" 1115 | is-regex "^1.1.4" 1116 | is-shared-array-buffer "^1.0.2" 1117 | is-string "^1.0.7" 1118 | is-typed-array "^1.1.10" 1119 | is-weakref "^1.0.2" 1120 | object-inspect "^1.12.3" 1121 | object-keys "^1.1.1" 1122 | object.assign "^4.1.4" 1123 | regexp.prototype.flags "^1.4.3" 1124 | safe-regex-test "^1.0.0" 1125 | string.prototype.trim "^1.2.7" 1126 | string.prototype.trimend "^1.0.6" 1127 | string.prototype.trimstart "^1.0.6" 1128 | typed-array-length "^1.0.4" 1129 | unbox-primitive "^1.0.2" 1130 | which-typed-array "^1.1.9" 1131 | 1132 | es-set-tostringtag@^2.0.1: 1133 | version "2.0.1" 1134 | resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" 1135 | integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== 1136 | dependencies: 1137 | get-intrinsic "^1.1.3" 1138 | has "^1.0.3" 1139 | has-tostringtag "^1.0.0" 1140 | 1141 | es-shim-unscopables@^1.0.0: 1142 | version "1.0.0" 1143 | resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" 1144 | integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== 1145 | dependencies: 1146 | has "^1.0.3" 1147 | 1148 | es-to-primitive@^1.2.1: 1149 | version "1.2.1" 1150 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 1151 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 1152 | dependencies: 1153 | is-callable "^1.1.4" 1154 | is-date-object "^1.0.1" 1155 | is-symbol "^1.0.2" 1156 | 1157 | eventemitter3@^3.0.0: 1158 | version "3.1.2" 1159 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" 1160 | integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== 1161 | 1162 | extend@~3.0.2: 1163 | version "3.0.2" 1164 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 1165 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 1166 | 1167 | extsprintf@1.3.0: 1168 | version "1.3.0" 1169 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 1170 | integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== 1171 | 1172 | extsprintf@^1.2.0: 1173 | version "1.4.1" 1174 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" 1175 | integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== 1176 | 1177 | fast-deep-equal@^3.1.1: 1178 | version "3.1.3" 1179 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 1180 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 1181 | 1182 | fast-json-stable-stringify@^2.0.0: 1183 | version "2.1.0" 1184 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1185 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1186 | 1187 | fast-xml-parser@4.1.2: 1188 | version "4.1.2" 1189 | resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.1.2.tgz#5a98c18238d28a57bbdfa9fe4cda01211fff8f4a" 1190 | integrity sha512-CDYeykkle1LiA/uqQyNwYpFbyF6Axec6YapmpUP+/RHWIoR1zKjocdvNaTsxCxZzQ6v9MLXaSYm9Qq0thv0DHg== 1191 | dependencies: 1192 | strnum "^1.0.5" 1193 | 1194 | file-type@^3.9.0: 1195 | version "3.9.0" 1196 | resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" 1197 | integrity sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA== 1198 | 1199 | fill-range@^7.0.1: 1200 | version "7.0.1" 1201 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1202 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1203 | dependencies: 1204 | to-regex-range "^5.0.1" 1205 | 1206 | follow-redirects@^1.14.8: 1207 | version "1.15.2" 1208 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" 1209 | integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== 1210 | 1211 | for-each@^0.3.3: 1212 | version "0.3.3" 1213 | resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" 1214 | integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== 1215 | dependencies: 1216 | is-callable "^1.1.3" 1217 | 1218 | forever-agent@~0.6.1: 1219 | version "0.6.1" 1220 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 1221 | integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== 1222 | 1223 | form-data@^4.0.0: 1224 | version "4.0.0" 1225 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" 1226 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== 1227 | dependencies: 1228 | asynckit "^0.4.0" 1229 | combined-stream "^1.0.8" 1230 | mime-types "^2.1.12" 1231 | 1232 | form-data@~2.3.2: 1233 | version "2.3.3" 1234 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" 1235 | integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== 1236 | dependencies: 1237 | asynckit "^0.4.0" 1238 | combined-stream "^1.0.6" 1239 | mime-types "^2.1.12" 1240 | 1241 | fsevents@~2.3.2: 1242 | version "2.3.2" 1243 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1244 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1245 | 1246 | function-bind@^1.1.1: 1247 | version "1.1.1" 1248 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1249 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1250 | 1251 | function.prototype.name@^1.1.5: 1252 | version "1.1.5" 1253 | resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" 1254 | integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== 1255 | dependencies: 1256 | call-bind "^1.0.2" 1257 | define-properties "^1.1.3" 1258 | es-abstract "^1.19.0" 1259 | functions-have-names "^1.2.2" 1260 | 1261 | functions-have-names@^1.2.2: 1262 | version "1.2.3" 1263 | resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" 1264 | integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== 1265 | 1266 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: 1267 | version "1.2.0" 1268 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" 1269 | integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== 1270 | dependencies: 1271 | function-bind "^1.1.1" 1272 | has "^1.0.3" 1273 | has-symbols "^1.0.3" 1274 | 1275 | get-symbol-description@^1.0.0: 1276 | version "1.0.0" 1277 | resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" 1278 | integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== 1279 | dependencies: 1280 | call-bind "^1.0.2" 1281 | get-intrinsic "^1.1.1" 1282 | 1283 | getpass@^0.1.1: 1284 | version "0.1.7" 1285 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 1286 | integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== 1287 | dependencies: 1288 | assert-plus "^1.0.0" 1289 | 1290 | glob-parent@~5.1.2: 1291 | version "5.1.2" 1292 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1293 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1294 | dependencies: 1295 | is-glob "^4.0.1" 1296 | 1297 | globalthis@^1.0.3: 1298 | version "1.0.3" 1299 | resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" 1300 | integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== 1301 | dependencies: 1302 | define-properties "^1.1.3" 1303 | 1304 | gopd@^1.0.1: 1305 | version "1.0.1" 1306 | resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" 1307 | integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== 1308 | dependencies: 1309 | get-intrinsic "^1.1.3" 1310 | 1311 | har-schema@^2.0.0: 1312 | version "2.0.0" 1313 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 1314 | integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== 1315 | 1316 | har-validator@~5.1.3: 1317 | version "5.1.5" 1318 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" 1319 | integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== 1320 | dependencies: 1321 | ajv "^6.12.3" 1322 | har-schema "^2.0.0" 1323 | 1324 | has-bigints@^1.0.1, has-bigints@^1.0.2: 1325 | version "1.0.2" 1326 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" 1327 | integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== 1328 | 1329 | has-flag@^3.0.0: 1330 | version "3.0.0" 1331 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1332 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 1333 | 1334 | has-property-descriptors@^1.0.0: 1335 | version "1.0.0" 1336 | resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" 1337 | integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== 1338 | dependencies: 1339 | get-intrinsic "^1.1.1" 1340 | 1341 | has-proto@^1.0.1: 1342 | version "1.0.1" 1343 | resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" 1344 | integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== 1345 | 1346 | has-symbols@^1.0.2, has-symbols@^1.0.3: 1347 | version "1.0.3" 1348 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 1349 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 1350 | 1351 | has-tostringtag@^1.0.0: 1352 | version "1.0.0" 1353 | resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" 1354 | integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== 1355 | dependencies: 1356 | has-symbols "^1.0.2" 1357 | 1358 | has@^1.0.3: 1359 | version "1.0.3" 1360 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1361 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1362 | dependencies: 1363 | function-bind "^1.1.1" 1364 | 1365 | http-signature@~1.2.0: 1366 | version "1.2.0" 1367 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 1368 | integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== 1369 | dependencies: 1370 | assert-plus "^1.0.0" 1371 | jsprim "^1.2.2" 1372 | sshpk "^1.7.0" 1373 | 1374 | ieee754@^1.1.13: 1375 | version "1.2.1" 1376 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 1377 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 1378 | 1379 | ignore-by-default@^1.0.1: 1380 | version "1.0.1" 1381 | resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" 1382 | integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA== 1383 | 1384 | inherits@~2.0.3: 1385 | version "2.0.4" 1386 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1387 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1388 | 1389 | internal-slot@^1.0.5: 1390 | version "1.0.5" 1391 | resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" 1392 | integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== 1393 | dependencies: 1394 | get-intrinsic "^1.2.0" 1395 | has "^1.0.3" 1396 | side-channel "^1.0.4" 1397 | 1398 | ip@^2.0.0: 1399 | version "2.0.0" 1400 | resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" 1401 | integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== 1402 | 1403 | is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: 1404 | version "3.0.2" 1405 | resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" 1406 | integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== 1407 | dependencies: 1408 | call-bind "^1.0.2" 1409 | get-intrinsic "^1.2.0" 1410 | is-typed-array "^1.1.10" 1411 | 1412 | is-bigint@^1.0.1: 1413 | version "1.0.4" 1414 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" 1415 | integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== 1416 | dependencies: 1417 | has-bigints "^1.0.1" 1418 | 1419 | is-binary-path@~2.1.0: 1420 | version "2.1.0" 1421 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 1422 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 1423 | dependencies: 1424 | binary-extensions "^2.0.0" 1425 | 1426 | is-boolean-object@^1.1.0: 1427 | version "1.1.2" 1428 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" 1429 | integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== 1430 | dependencies: 1431 | call-bind "^1.0.2" 1432 | has-tostringtag "^1.0.0" 1433 | 1434 | is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: 1435 | version "1.2.7" 1436 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" 1437 | integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== 1438 | 1439 | is-date-object@^1.0.1: 1440 | version "1.0.5" 1441 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" 1442 | integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== 1443 | dependencies: 1444 | has-tostringtag "^1.0.0" 1445 | 1446 | is-extglob@^2.1.1: 1447 | version "2.1.1" 1448 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1449 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 1450 | 1451 | is-glob@^4.0.1, is-glob@~4.0.1: 1452 | version "4.0.3" 1453 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 1454 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1455 | dependencies: 1456 | is-extglob "^2.1.1" 1457 | 1458 | is-negative-zero@^2.0.2: 1459 | version "2.0.2" 1460 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" 1461 | integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== 1462 | 1463 | is-number-object@^1.0.4: 1464 | version "1.0.7" 1465 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" 1466 | integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== 1467 | dependencies: 1468 | has-tostringtag "^1.0.0" 1469 | 1470 | is-number@^7.0.0: 1471 | version "7.0.0" 1472 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1473 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1474 | 1475 | is-regex@^1.1.4: 1476 | version "1.1.4" 1477 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" 1478 | integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== 1479 | dependencies: 1480 | call-bind "^1.0.2" 1481 | has-tostringtag "^1.0.0" 1482 | 1483 | is-shared-array-buffer@^1.0.2: 1484 | version "1.0.2" 1485 | resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" 1486 | integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== 1487 | dependencies: 1488 | call-bind "^1.0.2" 1489 | 1490 | is-string@^1.0.5, is-string@^1.0.7: 1491 | version "1.0.7" 1492 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" 1493 | integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== 1494 | dependencies: 1495 | has-tostringtag "^1.0.0" 1496 | 1497 | is-symbol@^1.0.2, is-symbol@^1.0.3: 1498 | version "1.0.4" 1499 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" 1500 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== 1501 | dependencies: 1502 | has-symbols "^1.0.2" 1503 | 1504 | is-typed-array@^1.1.10, is-typed-array@^1.1.9: 1505 | version "1.1.10" 1506 | resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" 1507 | integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== 1508 | dependencies: 1509 | available-typed-arrays "^1.0.5" 1510 | call-bind "^1.0.2" 1511 | for-each "^0.3.3" 1512 | gopd "^1.0.1" 1513 | has-tostringtag "^1.0.0" 1514 | 1515 | is-typedarray@~1.0.0: 1516 | version "1.0.0" 1517 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1518 | integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== 1519 | 1520 | is-weakref@^1.0.2: 1521 | version "1.0.2" 1522 | resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" 1523 | integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== 1524 | dependencies: 1525 | call-bind "^1.0.2" 1526 | 1527 | isarray@~1.0.0: 1528 | version "1.0.0" 1529 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1530 | integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== 1531 | 1532 | isstream@~0.1.2: 1533 | version "0.1.2" 1534 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 1535 | integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== 1536 | 1537 | "js-tokens@^3.0.0 || ^4.0.0": 1538 | version "4.0.0" 1539 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1540 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1541 | 1542 | jsbn@~0.1.0: 1543 | version "0.1.1" 1544 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 1545 | integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== 1546 | 1547 | json-schema-traverse@^0.4.1: 1548 | version "0.4.1" 1549 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1550 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1551 | 1552 | json-schema@0.4.0: 1553 | version "0.4.0" 1554 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" 1555 | integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== 1556 | 1557 | json-stringify-safe@~5.0.1: 1558 | version "5.0.1" 1559 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 1560 | integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== 1561 | 1562 | jsprim@^1.2.2: 1563 | version "1.4.2" 1564 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" 1565 | integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== 1566 | dependencies: 1567 | assert-plus "1.0.0" 1568 | extsprintf "1.3.0" 1569 | json-schema "0.4.0" 1570 | verror "1.10.0" 1571 | 1572 | kareem@2.5.1: 1573 | version "2.5.1" 1574 | resolved "https://registry.yarnpkg.com/kareem/-/kareem-2.5.1.tgz#7b8203e11819a8e77a34b3517d3ead206764d15d" 1575 | integrity sha512-7jFxRVm+jD+rkq3kY0iZDJfsO2/t4BBPeEb2qKn2lR/9KhuksYk5hxzfRYWMPV8P/x2d0kHD306YyWLzjjH+uA== 1576 | 1577 | lodash@^4.17.19: 1578 | version "4.17.21" 1579 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 1580 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 1581 | 1582 | loose-envify@^1.1.0: 1583 | version "1.4.0" 1584 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1585 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 1586 | dependencies: 1587 | js-tokens "^3.0.0 || ^4.0.0" 1588 | 1589 | memory-pager@^1.0.2: 1590 | version "1.5.0" 1591 | resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5" 1592 | integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== 1593 | 1594 | mime-db@1.52.0: 1595 | version "1.52.0" 1596 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 1597 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 1598 | 1599 | mime-types@^2.1.12, mime-types@~2.1.19: 1600 | version "2.1.35" 1601 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 1602 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 1603 | dependencies: 1604 | mime-db "1.52.0" 1605 | 1606 | mime@^1.6.0: 1607 | version "1.6.0" 1608 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 1609 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 1610 | 1611 | minimatch@^3.1.2: 1612 | version "3.1.2" 1613 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 1614 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1615 | dependencies: 1616 | brace-expansion "^1.1.7" 1617 | 1618 | mongodb-connection-string-url@^2.5.4: 1619 | version "2.6.0" 1620 | resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz#57901bf352372abdde812c81be47b75c6b2ec5cf" 1621 | integrity sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ== 1622 | dependencies: 1623 | "@types/whatwg-url" "^8.2.1" 1624 | whatwg-url "^11.0.0" 1625 | 1626 | mongodb@4.14.0: 1627 | version "4.14.0" 1628 | resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-4.14.0.tgz#3a21ca602069b2494b7066a7709056c8cece6bf6" 1629 | integrity sha512-coGKkWXIBczZPr284tYKFLg+KbGPPLlSbdgfKAb6QqCFt5bo5VFZ50O3FFzsw4rnkqjwT6D8Qcoo9nshYKM7Mg== 1630 | dependencies: 1631 | bson "^4.7.0" 1632 | mongodb-connection-string-url "^2.5.4" 1633 | socks "^2.7.1" 1634 | optionalDependencies: 1635 | "@aws-sdk/credential-providers" "^3.186.0" 1636 | saslprep "^1.0.3" 1637 | 1638 | mongoose@^6.9.1: 1639 | version "6.10.4" 1640 | resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-6.10.4.tgz#a39770737cc750c9eea1ddd162710313c717c9c2" 1641 | integrity sha512-xCHVVEaOuhZxbthsKYxvHexWafJqWsl03sD7y7uyyt3euLd1sQoDI8DKueeJq9+hrbWkMkAGbGzgFPTIRqenPg== 1642 | dependencies: 1643 | bson "^4.7.0" 1644 | kareem "2.5.1" 1645 | mongodb "4.14.0" 1646 | mpath "0.9.0" 1647 | mquery "4.0.3" 1648 | ms "2.1.3" 1649 | sift "16.0.1" 1650 | 1651 | mpath@0.9.0: 1652 | version "0.9.0" 1653 | resolved "https://registry.yarnpkg.com/mpath/-/mpath-0.9.0.tgz#0c122fe107846e31fc58c75b09c35514b3871904" 1654 | integrity sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew== 1655 | 1656 | mquery@4.0.3: 1657 | version "4.0.3" 1658 | resolved "https://registry.yarnpkg.com/mquery/-/mquery-4.0.3.tgz#4d15f938e6247d773a942c912d9748bd1965f89d" 1659 | integrity sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA== 1660 | dependencies: 1661 | debug "4.x" 1662 | 1663 | ms@2.1.2: 1664 | version "2.1.2" 1665 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1666 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1667 | 1668 | ms@2.1.3, ms@^2.1.1: 1669 | version "2.1.3" 1670 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1671 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1672 | 1673 | nanoid@^3.3.4: 1674 | version "3.3.6" 1675 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" 1676 | integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== 1677 | 1678 | next@^13.1.6: 1679 | version "13.2.4" 1680 | resolved "https://registry.yarnpkg.com/next/-/next-13.2.4.tgz#2363330392b0f7da02ab41301f60857ffa7f67d6" 1681 | integrity sha512-g1I30317cThkEpvzfXujf0O4wtaQHtDCLhlivwlTJ885Ld+eOgcz7r3TGQzeU+cSRoNHtD8tsJgzxVdYojFssw== 1682 | dependencies: 1683 | "@next/env" "13.2.4" 1684 | "@swc/helpers" "0.4.14" 1685 | caniuse-lite "^1.0.30001406" 1686 | postcss "8.4.14" 1687 | styled-jsx "5.1.1" 1688 | optionalDependencies: 1689 | "@next/swc-android-arm-eabi" "13.2.4" 1690 | "@next/swc-android-arm64" "13.2.4" 1691 | "@next/swc-darwin-arm64" "13.2.4" 1692 | "@next/swc-darwin-x64" "13.2.4" 1693 | "@next/swc-freebsd-x64" "13.2.4" 1694 | "@next/swc-linux-arm-gnueabihf" "13.2.4" 1695 | "@next/swc-linux-arm64-gnu" "13.2.4" 1696 | "@next/swc-linux-arm64-musl" "13.2.4" 1697 | "@next/swc-linux-x64-gnu" "13.2.4" 1698 | "@next/swc-linux-x64-musl" "13.2.4" 1699 | "@next/swc-win32-arm64-msvc" "13.2.4" 1700 | "@next/swc-win32-ia32-msvc" "13.2.4" 1701 | "@next/swc-win32-x64-msvc" "13.2.4" 1702 | 1703 | node-telegram-bot-api@^0.61.0: 1704 | version "0.61.0" 1705 | resolved "https://registry.yarnpkg.com/node-telegram-bot-api/-/node-telegram-bot-api-0.61.0.tgz#e5d10e219e4d3e8d347dbafd0ded0262409cf4cf" 1706 | integrity sha512-BZXd8Bh2C5+uBEQuuI3FD7TFJF3alV+6oFQt8CNLx3ldX/hsd+NYyllTX+Y+5X0tG+xtcRQQjbfLgz/4sRvmBQ== 1707 | dependencies: 1708 | array.prototype.findindex "^2.0.2" 1709 | bl "^1.2.3" 1710 | debug "^3.2.7" 1711 | eventemitter3 "^3.0.0" 1712 | file-type "^3.9.0" 1713 | mime "^1.6.0" 1714 | pump "^2.0.0" 1715 | request "^2.83.0" 1716 | request-promise "^4.2.2" 1717 | 1718 | nodemon@^2.0.20: 1719 | version "2.0.22" 1720 | resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.22.tgz#182c45c3a78da486f673d6c1702e00728daf5258" 1721 | integrity sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ== 1722 | dependencies: 1723 | chokidar "^3.5.2" 1724 | debug "^3.2.7" 1725 | ignore-by-default "^1.0.1" 1726 | minimatch "^3.1.2" 1727 | pstree.remy "^1.1.8" 1728 | semver "^5.7.1" 1729 | simple-update-notifier "^1.0.7" 1730 | supports-color "^5.5.0" 1731 | touch "^3.1.0" 1732 | undefsafe "^2.0.5" 1733 | 1734 | nopt@~1.0.10: 1735 | version "1.0.10" 1736 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" 1737 | integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg== 1738 | dependencies: 1739 | abbrev "1" 1740 | 1741 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1742 | version "3.0.0" 1743 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1744 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1745 | 1746 | oauth-sign@~0.9.0: 1747 | version "0.9.0" 1748 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" 1749 | integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== 1750 | 1751 | object-inspect@^1.12.3, object-inspect@^1.9.0: 1752 | version "1.12.3" 1753 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" 1754 | integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== 1755 | 1756 | object-keys@^1.1.1: 1757 | version "1.1.1" 1758 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1759 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1760 | 1761 | object.assign@^4.1.4: 1762 | version "4.1.4" 1763 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" 1764 | integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== 1765 | dependencies: 1766 | call-bind "^1.0.2" 1767 | define-properties "^1.1.4" 1768 | has-symbols "^1.0.3" 1769 | object-keys "^1.1.1" 1770 | 1771 | once@^1.3.1, once@^1.4.0: 1772 | version "1.4.0" 1773 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1774 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 1775 | dependencies: 1776 | wrappy "1" 1777 | 1778 | openai@^3.2.1: 1779 | version "3.2.1" 1780 | resolved "https://registry.yarnpkg.com/openai/-/openai-3.2.1.tgz#1fa35bdf979cbde8453b43f2dd3a7d401ee40866" 1781 | integrity sha512-762C9BNlJPbjjlWZi4WYK9iM2tAVAv0uUp1UmI34vb0CN5T2mjB/qM6RYBmNKMh/dN9fC+bxqPwWJZUTWW052A== 1782 | dependencies: 1783 | axios "^0.26.0" 1784 | form-data "^4.0.0" 1785 | 1786 | performance-now@^2.1.0: 1787 | version "2.1.0" 1788 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 1789 | integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== 1790 | 1791 | picocolors@^1.0.0: 1792 | version "1.0.0" 1793 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 1794 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 1795 | 1796 | picomatch@^2.0.4, picomatch@^2.2.1: 1797 | version "2.3.1" 1798 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 1799 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 1800 | 1801 | postcss@8.4.14: 1802 | version "8.4.14" 1803 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" 1804 | integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== 1805 | dependencies: 1806 | nanoid "^3.3.4" 1807 | picocolors "^1.0.0" 1808 | source-map-js "^1.0.2" 1809 | 1810 | process-nextick-args@~2.0.0: 1811 | version "2.0.1" 1812 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 1813 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 1814 | 1815 | psl@^1.1.28: 1816 | version "1.9.0" 1817 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" 1818 | integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== 1819 | 1820 | pstree.remy@^1.1.8: 1821 | version "1.1.8" 1822 | resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a" 1823 | integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== 1824 | 1825 | pump@^2.0.0: 1826 | version "2.0.1" 1827 | resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" 1828 | integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== 1829 | dependencies: 1830 | end-of-stream "^1.1.0" 1831 | once "^1.3.1" 1832 | 1833 | punycode@^2.1.0, punycode@^2.1.1: 1834 | version "2.3.0" 1835 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" 1836 | integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== 1837 | 1838 | qs@~6.5.2: 1839 | version "6.5.3" 1840 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" 1841 | integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== 1842 | 1843 | react-dom@^18.2.0: 1844 | version "18.2.0" 1845 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" 1846 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== 1847 | dependencies: 1848 | loose-envify "^1.1.0" 1849 | scheduler "^0.23.0" 1850 | 1851 | react@^18.2.0: 1852 | version "18.2.0" 1853 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" 1854 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== 1855 | dependencies: 1856 | loose-envify "^1.1.0" 1857 | 1858 | readable-stream@^2.3.5: 1859 | version "2.3.8" 1860 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" 1861 | integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== 1862 | dependencies: 1863 | core-util-is "~1.0.0" 1864 | inherits "~2.0.3" 1865 | isarray "~1.0.0" 1866 | process-nextick-args "~2.0.0" 1867 | safe-buffer "~5.1.1" 1868 | string_decoder "~1.1.1" 1869 | util-deprecate "~1.0.1" 1870 | 1871 | readdirp@~3.6.0: 1872 | version "3.6.0" 1873 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 1874 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 1875 | dependencies: 1876 | picomatch "^2.2.1" 1877 | 1878 | regexp.prototype.flags@^1.4.3: 1879 | version "1.4.3" 1880 | resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" 1881 | integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== 1882 | dependencies: 1883 | call-bind "^1.0.2" 1884 | define-properties "^1.1.3" 1885 | functions-have-names "^1.2.2" 1886 | 1887 | request-promise-core@1.1.4: 1888 | version "1.1.4" 1889 | resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" 1890 | integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== 1891 | dependencies: 1892 | lodash "^4.17.19" 1893 | 1894 | request-promise@^4.2.2: 1895 | version "4.2.6" 1896 | resolved "https://registry.yarnpkg.com/request-promise/-/request-promise-4.2.6.tgz#7e7e5b9578630e6f598e3813c0f8eb342a27f0a2" 1897 | integrity sha512-HCHI3DJJUakkOr8fNoCc73E5nU5bqITjOYFMDrKHYOXWXrgD/SBaC7LjwuPymUprRyuF06UK7hd/lMHkmUXglQ== 1898 | dependencies: 1899 | bluebird "^3.5.0" 1900 | request-promise-core "1.1.4" 1901 | stealthy-require "^1.1.1" 1902 | tough-cookie "^2.3.3" 1903 | 1904 | request@^2.83.0: 1905 | version "2.88.2" 1906 | resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" 1907 | integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== 1908 | dependencies: 1909 | aws-sign2 "~0.7.0" 1910 | aws4 "^1.8.0" 1911 | caseless "~0.12.0" 1912 | combined-stream "~1.0.6" 1913 | extend "~3.0.2" 1914 | forever-agent "~0.6.1" 1915 | form-data "~2.3.2" 1916 | har-validator "~5.1.3" 1917 | http-signature "~1.2.0" 1918 | is-typedarray "~1.0.0" 1919 | isstream "~0.1.2" 1920 | json-stringify-safe "~5.0.1" 1921 | mime-types "~2.1.19" 1922 | oauth-sign "~0.9.0" 1923 | performance-now "^2.1.0" 1924 | qs "~6.5.2" 1925 | safe-buffer "^5.1.2" 1926 | tough-cookie "~2.5.0" 1927 | tunnel-agent "^0.6.0" 1928 | uuid "^3.3.2" 1929 | 1930 | safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2: 1931 | version "5.2.1" 1932 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1933 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1934 | 1935 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1936 | version "5.1.2" 1937 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1938 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1939 | 1940 | safe-regex-test@^1.0.0: 1941 | version "1.0.0" 1942 | resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" 1943 | integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== 1944 | dependencies: 1945 | call-bind "^1.0.2" 1946 | get-intrinsic "^1.1.3" 1947 | is-regex "^1.1.4" 1948 | 1949 | safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: 1950 | version "2.1.2" 1951 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1952 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1953 | 1954 | saslprep@^1.0.3: 1955 | version "1.0.3" 1956 | resolved "https://registry.yarnpkg.com/saslprep/-/saslprep-1.0.3.tgz#4c02f946b56cf54297e347ba1093e7acac4cf226" 1957 | integrity sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag== 1958 | dependencies: 1959 | sparse-bitfield "^3.0.3" 1960 | 1961 | scheduler@^0.23.0: 1962 | version "0.23.0" 1963 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" 1964 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== 1965 | dependencies: 1966 | loose-envify "^1.1.0" 1967 | 1968 | semver@^5.7.1: 1969 | version "5.7.1" 1970 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1971 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1972 | 1973 | semver@~7.0.0: 1974 | version "7.0.0" 1975 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" 1976 | integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== 1977 | 1978 | side-channel@^1.0.4: 1979 | version "1.0.4" 1980 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 1981 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 1982 | dependencies: 1983 | call-bind "^1.0.0" 1984 | get-intrinsic "^1.0.2" 1985 | object-inspect "^1.9.0" 1986 | 1987 | sift@16.0.1: 1988 | version "16.0.1" 1989 | resolved "https://registry.yarnpkg.com/sift/-/sift-16.0.1.tgz#e9c2ccc72191585008cf3e36fc447b2d2633a053" 1990 | integrity sha512-Wv6BjQ5zbhW7VFefWusVP33T/EM0vYikCaQ2qR8yULbsilAT8/wQaXvuQ3ptGLpoKx+lihJE3y2UTgKDyyNHZQ== 1991 | 1992 | simple-update-notifier@^1.0.7: 1993 | version "1.1.0" 1994 | resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz#67694c121de354af592b347cdba798463ed49c82" 1995 | integrity sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg== 1996 | dependencies: 1997 | semver "~7.0.0" 1998 | 1999 | smart-buffer@^4.2.0: 2000 | version "4.2.0" 2001 | resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" 2002 | integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== 2003 | 2004 | socks@^2.7.1: 2005 | version "2.7.1" 2006 | resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" 2007 | integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== 2008 | dependencies: 2009 | ip "^2.0.0" 2010 | smart-buffer "^4.2.0" 2011 | 2012 | source-map-js@^1.0.2: 2013 | version "1.0.2" 2014 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 2015 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 2016 | 2017 | sparse-bitfield@^3.0.3: 2018 | version "3.0.3" 2019 | resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" 2020 | integrity sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ== 2021 | dependencies: 2022 | memory-pager "^1.0.2" 2023 | 2024 | sshpk@^1.7.0: 2025 | version "1.17.0" 2026 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" 2027 | integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== 2028 | dependencies: 2029 | asn1 "~0.2.3" 2030 | assert-plus "^1.0.0" 2031 | bcrypt-pbkdf "^1.0.0" 2032 | dashdash "^1.12.0" 2033 | ecc-jsbn "~0.1.1" 2034 | getpass "^0.1.1" 2035 | jsbn "~0.1.0" 2036 | safer-buffer "^2.0.2" 2037 | tweetnacl "~0.14.0" 2038 | 2039 | stealthy-require@^1.1.1: 2040 | version "1.1.1" 2041 | resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" 2042 | integrity sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g== 2043 | 2044 | string.prototype.trim@^1.2.7: 2045 | version "1.2.7" 2046 | resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" 2047 | integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== 2048 | dependencies: 2049 | call-bind "^1.0.2" 2050 | define-properties "^1.1.4" 2051 | es-abstract "^1.20.4" 2052 | 2053 | string.prototype.trimend@^1.0.6: 2054 | version "1.0.6" 2055 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" 2056 | integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== 2057 | dependencies: 2058 | call-bind "^1.0.2" 2059 | define-properties "^1.1.4" 2060 | es-abstract "^1.20.4" 2061 | 2062 | string.prototype.trimstart@^1.0.6: 2063 | version "1.0.6" 2064 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" 2065 | integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== 2066 | dependencies: 2067 | call-bind "^1.0.2" 2068 | define-properties "^1.1.4" 2069 | es-abstract "^1.20.4" 2070 | 2071 | string_decoder@~1.1.1: 2072 | version "1.1.1" 2073 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 2074 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 2075 | dependencies: 2076 | safe-buffer "~5.1.0" 2077 | 2078 | strnum@^1.0.5: 2079 | version "1.0.5" 2080 | resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" 2081 | integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== 2082 | 2083 | styled-jsx@5.1.1: 2084 | version "5.1.1" 2085 | resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.1.tgz#839a1c3aaacc4e735fed0781b8619ea5d0009d1f" 2086 | integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw== 2087 | dependencies: 2088 | client-only "0.0.1" 2089 | 2090 | supports-color@^5.5.0: 2091 | version "5.5.0" 2092 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 2093 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 2094 | dependencies: 2095 | has-flag "^3.0.0" 2096 | 2097 | to-regex-range@^5.0.1: 2098 | version "5.0.1" 2099 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2100 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2101 | dependencies: 2102 | is-number "^7.0.0" 2103 | 2104 | touch@^3.1.0: 2105 | version "3.1.0" 2106 | resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" 2107 | integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== 2108 | dependencies: 2109 | nopt "~1.0.10" 2110 | 2111 | tough-cookie@^2.3.3, tough-cookie@~2.5.0: 2112 | version "2.5.0" 2113 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" 2114 | integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== 2115 | dependencies: 2116 | psl "^1.1.28" 2117 | punycode "^2.1.1" 2118 | 2119 | tr46@^3.0.0: 2120 | version "3.0.0" 2121 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" 2122 | integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== 2123 | dependencies: 2124 | punycode "^2.1.1" 2125 | 2126 | tslib@^1.11.1: 2127 | version "1.14.1" 2128 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 2129 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 2130 | 2131 | tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0: 2132 | version "2.5.0" 2133 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" 2134 | integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== 2135 | 2136 | tunnel-agent@^0.6.0: 2137 | version "0.6.0" 2138 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 2139 | integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== 2140 | dependencies: 2141 | safe-buffer "^5.0.1" 2142 | 2143 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 2144 | version "0.14.5" 2145 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 2146 | integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== 2147 | 2148 | typed-array-length@^1.0.4: 2149 | version "1.0.4" 2150 | resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" 2151 | integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== 2152 | dependencies: 2153 | call-bind "^1.0.2" 2154 | for-each "^0.3.3" 2155 | is-typed-array "^1.1.9" 2156 | 2157 | unbox-primitive@^1.0.2: 2158 | version "1.0.2" 2159 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" 2160 | integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== 2161 | dependencies: 2162 | call-bind "^1.0.2" 2163 | has-bigints "^1.0.2" 2164 | has-symbols "^1.0.3" 2165 | which-boxed-primitive "^1.0.2" 2166 | 2167 | undefsafe@^2.0.5: 2168 | version "2.0.5" 2169 | resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c" 2170 | integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== 2171 | 2172 | uri-js@^4.2.2: 2173 | version "4.4.1" 2174 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 2175 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 2176 | dependencies: 2177 | punycode "^2.1.0" 2178 | 2179 | util-deprecate@~1.0.1: 2180 | version "1.0.2" 2181 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2182 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 2183 | 2184 | uuid@^3.3.2: 2185 | version "3.4.0" 2186 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" 2187 | integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== 2188 | 2189 | uuid@^8.3.2: 2190 | version "8.3.2" 2191 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" 2192 | integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== 2193 | 2194 | verror@1.10.0: 2195 | version "1.10.0" 2196 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 2197 | integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== 2198 | dependencies: 2199 | assert-plus "^1.0.0" 2200 | core-util-is "1.0.2" 2201 | extsprintf "^1.2.0" 2202 | 2203 | webidl-conversions@^7.0.0: 2204 | version "7.0.0" 2205 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" 2206 | integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== 2207 | 2208 | whatwg-url@^11.0.0: 2209 | version "11.0.0" 2210 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" 2211 | integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== 2212 | dependencies: 2213 | tr46 "^3.0.0" 2214 | webidl-conversions "^7.0.0" 2215 | 2216 | which-boxed-primitive@^1.0.2: 2217 | version "1.0.2" 2218 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" 2219 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== 2220 | dependencies: 2221 | is-bigint "^1.0.1" 2222 | is-boolean-object "^1.1.0" 2223 | is-number-object "^1.0.4" 2224 | is-string "^1.0.5" 2225 | is-symbol "^1.0.3" 2226 | 2227 | which-typed-array@^1.1.9: 2228 | version "1.1.9" 2229 | resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" 2230 | integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== 2231 | dependencies: 2232 | available-typed-arrays "^1.0.5" 2233 | call-bind "^1.0.2" 2234 | for-each "^0.3.3" 2235 | gopd "^1.0.1" 2236 | has-tostringtag "^1.0.0" 2237 | is-typed-array "^1.1.10" 2238 | 2239 | wrappy@1: 2240 | version "1.0.2" 2241 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2242 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 2243 | --------------------------------------------------------------------------------