From 3e512a0f75a4c81fff51b171011f83ac0c069bf3 Mon Sep 17 00:00:00 2001 From: RoyaLProg Date: Wed, 16 Feb 2022 11:32:42 +0100 Subject: [PATCH] Starting bot dev --- bot.js | 44 + node_modules/.bin/npm | 1 + node_modules/.bin/npx | 1 + node_modules/.package-lock.json | 2637 +++++ node_modules/@discordjs/builders/LICENSE | 191 + node_modules/@discordjs/builders/README.md | 53 + .../@discordjs/builders/dist/index.d.ts | 844 ++ .../@discordjs/builders/dist/index.js | 4 + .../@discordjs/builders/dist/index.js.map | 1 + .../@discordjs/builders/dist/index.mjs | 4 + .../@discordjs/builders/dist/index.mjs.map | 1 + .../node_modules/discord-api-types/LICENSE | 21 + .../node_modules/discord-api-types/README.md | 97 + .../discord-api-types/gateway/common.d.ts | 9 + .../discord-api-types/gateway/common.d.ts.map | 1 + .../discord-api-types/gateway/common.js | 3 + .../discord-api-types/gateway/common.js.map | 1 + .../discord-api-types/gateway/index.d.ts | 2 + .../discord-api-types/gateway/index.d.ts.map | 1 + .../discord-api-types/gateway/index.js | 16 + .../discord-api-types/gateway/index.js.map | 1 + .../discord-api-types/gateway/index.mjs | 8 + .../discord-api-types/gateway/v6.d.ts | 608 ++ .../discord-api-types/gateway/v6.d.ts.map | 1 + .../discord-api-types/gateway/v6.js | 163 + .../discord-api-types/gateway/v6.js.map | 1 + .../discord-api-types/gateway/v6.mjs | 10 + .../discord-api-types/gateway/v8.d.ts | 1290 +++ .../discord-api-types/gateway/v8.d.ts.map | 1 + .../discord-api-types/gateway/v8.js | 231 + .../discord-api-types/gateway/v8.js.map | 1 + .../discord-api-types/gateway/v8.mjs | 8 + .../discord-api-types/gateway/v9.d.ts | 1352 +++ .../discord-api-types/gateway/v9.d.ts.map | 1 + .../discord-api-types/gateway/v9.js | 237 + .../discord-api-types/gateway/v9.js.map | 1 + .../discord-api-types/gateway/v9.mjs | 8 + .../discord-api-types/globals.d.ts | 81 + .../discord-api-types/globals.d.ts.map | 1 + .../node_modules/discord-api-types/globals.js | 80 + .../discord-api-types/globals.js.map | 1 + .../discord-api-types/globals.mjs | 4 + .../discord-api-types/package.json | 210 + .../discord-api-types/payloads/index.d.ts | 2 + .../discord-api-types/payloads/index.d.ts.map | 1 + .../discord-api-types/payloads/index.js | 16 + .../discord-api-types/payloads/index.js.map | 1 + .../discord-api-types/payloads/index.mjs | 52 + .../payloads/v6/auditLog.d.ts | 414 + .../payloads/v6/auditLog.d.ts.map | 1 + .../discord-api-types/payloads/v6/auditLog.js | 57 + .../payloads/v6/auditLog.js.map | 1 + .../payloads/v6/channel.d.ts | 320 + .../payloads/v6/channel.d.ts.map | 1 + .../discord-api-types/payloads/v6/channel.js | 90 + .../payloads/v6/channel.js.map | 1 + .../discord-api-types/payloads/v6/emoji.d.ts | 25 + .../payloads/v6/emoji.d.ts.map | 1 + .../discord-api-types/payloads/v6/emoji.js | 6 + .../payloads/v6/emoji.js.map | 1 + .../payloads/v6/gateway.d.ts | 136 + .../payloads/v6/gateway.d.ts.map | 1 + .../discord-api-types/payloads/v6/gateway.js | 43 + .../payloads/v6/gateway.js.map | 1 + .../discord-api-types/payloads/v6/guild.d.ts | 293 + .../payloads/v6/guild.d.ts.map | 1 + .../discord-api-types/payloads/v6/guild.js | 109 + .../payloads/v6/guild.js.map | 1 + .../discord-api-types/payloads/v6/index.d.ts | 13 + .../payloads/v6/index.d.ts.map | 1 + .../discord-api-types/payloads/v6/index.js | 25 + .../payloads/v6/index.js.map | 1 + .../discord-api-types/payloads/v6/index.mjs | 30 + .../discord-api-types/payloads/v6/invite.d.ts | 39 + .../payloads/v6/invite.d.ts.map | 1 + .../discord-api-types/payloads/v6/invite.js | 15 + .../payloads/v6/invite.js.map | 1 + .../discord-api-types/payloads/v6/oauth2.d.ts | 27 + .../payloads/v6/oauth2.d.ts.map | 1 + .../discord-api-types/payloads/v6/oauth2.js | 6 + .../payloads/v6/oauth2.js.map | 1 + .../payloads/v6/permissions.d.ts | 73 + .../payloads/v6/permissions.d.ts.map | 1 + .../payloads/v6/permissions.js | 54 + .../payloads/v6/permissions.js.map | 1 + .../discord-api-types/payloads/v6/teams.d.ts | 33 + .../payloads/v6/teams.d.ts.map | 1 + .../discord-api-types/payloads/v6/teams.js | 16 + .../payloads/v6/teams.js.map | 1 + .../discord-api-types/payloads/v6/user.d.ts | 75 + .../payloads/v6/user.d.ts.map | 1 + .../discord-api-types/payloads/v6/user.js | 46 + .../discord-api-types/payloads/v6/user.js.map | 1 + .../discord-api-types/payloads/v6/voice.d.ts | 35 + .../payloads/v6/voice.d.ts.map | 1 + .../discord-api-types/payloads/v6/voice.js | 6 + .../payloads/v6/voice.js.map | 1 + .../payloads/v6/webhook.d.ts | 31 + .../payloads/v6/webhook.d.ts.map | 1 + .../discord-api-types/payloads/v6/webhook.js | 15 + .../payloads/v6/webhook.js.map | 1 + .../_applicationCommands/_chatInput/base.d.ts | 19 + .../_chatInput/base.d.ts.map | 1 + .../_applicationCommands/_chatInput/base.js | 3 + .../_chatInput/base.js.map | 1 + .../_chatInput/boolean.d.ts | 5 + .../_chatInput/boolean.d.ts.map | 1 + .../_chatInput/boolean.js | 3 + .../_chatInput/boolean.js.map | 1 + .../_chatInput/channel.d.ts | 9 + .../_chatInput/channel.d.ts.map | 1 + .../_chatInput/channel.js | 3 + .../_chatInput/channel.js.map | 1 + .../_chatInput/integer.d.ts | 18 + .../_chatInput/integer.d.ts.map | 1 + .../_chatInput/integer.js | 3 + .../_chatInput/integer.js.map | 1 + .../_chatInput/mentionable.d.ts | 6 + .../_chatInput/mentionable.d.ts.map | 1 + .../_chatInput/mentionable.js | 3 + .../_chatInput/mentionable.js.map | 1 + .../_chatInput/number.d.ts | 18 + .../_chatInput/number.d.ts.map | 1 + .../_applicationCommands/_chatInput/number.js | 3 + .../_chatInput/number.js.map | 1 + .../_applicationCommands/_chatInput/role.d.ts | 6 + .../_chatInput/role.d.ts.map | 1 + .../_applicationCommands/_chatInput/role.js | 3 + .../_chatInput/role.js.map | 1 + .../_chatInput/shared.d.ts | 23 + .../_chatInput/shared.d.ts.map | 1 + .../_applicationCommands/_chatInput/shared.js | 20 + .../_chatInput/shared.js.map | 1 + .../_chatInput/string.d.ts | 7 + .../_chatInput/string.d.ts.map | 1 + .../_applicationCommands/_chatInput/string.js | 3 + .../_chatInput/string.js.map | 1 + .../_chatInput/subcommand.d.ts | 12 + .../_chatInput/subcommand.d.ts.map | 1 + .../_chatInput/subcommand.js | 3 + .../_chatInput/subcommand.js.map | 1 + .../_chatInput/subcommandGroup.d.ts | 12 + .../_chatInput/subcommandGroup.d.ts.map | 1 + .../_chatInput/subcommandGroup.js | 3 + .../_chatInput/subcommandGroup.js.map | 1 + .../_applicationCommands/_chatInput/user.d.ts | 6 + .../_chatInput/user.d.ts.map | 1 + .../_applicationCommands/_chatInput/user.js | 3 + .../_chatInput/user.js.map | 1 + .../_applicationCommands/chatInput.d.ts | 68 + .../_applicationCommands/chatInput.d.ts.map | 1 + .../_applicationCommands/chatInput.js | 24 + .../_applicationCommands/chatInput.js.map | 1 + .../_applicationCommands/contextMenu.d.ts | 74 + .../_applicationCommands/contextMenu.d.ts.map | 1 + .../_applicationCommands/contextMenu.js | 3 + .../_applicationCommands/contextMenu.js.map | 1 + .../_applicationCommands/internals.d.ts | 8 + .../_applicationCommands/internals.d.ts.map | 1 + .../_applicationCommands/internals.js | 3 + .../_applicationCommands/internals.js.map | 1 + .../_applicationCommands/permissions.d.ts | 47 + .../_applicationCommands/permissions.d.ts.map | 1 + .../_applicationCommands/permissions.js | 12 + .../_applicationCommands/permissions.js.map | 1 + .../v8/_interactions/applicationCommands.d.ts | 94 + .../applicationCommands.d.ts.map | 1 + .../v8/_interactions/applicationCommands.js | 26 + .../_interactions/applicationCommands.js.map | 1 + .../v8/_interactions/autocomplete.d.ts | 3 + .../v8/_interactions/autocomplete.d.ts.map | 1 + .../payloads/v8/_interactions/autocomplete.js | 3 + .../v8/_interactions/autocomplete.js.map | 1 + .../payloads/v8/_interactions/base.d.ts | 87 + .../payloads/v8/_interactions/base.d.ts.map | 1 + .../payloads/v8/_interactions/base.js | 3 + .../payloads/v8/_interactions/base.js.map | 1 + .../v8/_interactions/messageComponents.d.ts | 22 + .../_interactions/messageComponents.d.ts.map | 1 + .../v8/_interactions/messageComponents.js | 3 + .../v8/_interactions/messageComponents.js.map | 1 + .../payloads/v8/_interactions/ping.d.ts | 4 + .../payloads/v8/_interactions/ping.d.ts.map | 1 + .../payloads/v8/_interactions/ping.js | 3 + .../payloads/v8/_interactions/ping.js.map | 1 + .../payloads/v8/_interactions/responses.d.ts | 77 + .../v8/_interactions/responses.d.ts.map | 1 + .../payloads/v8/_interactions/responses.js | 44 + .../v8/_interactions/responses.js.map | 1 + .../payloads/v8/application.d.ts | 111 + .../payloads/v8/application.d.ts.map | 1 + .../payloads/v8/application.js | 26 + .../payloads/v8/application.js.map | 1 + .../payloads/v8/auditLog.d.ts | 496 + .../payloads/v8/auditLog.d.ts.map | 1 + .../discord-api-types/payloads/v8/auditLog.js | 62 + .../payloads/v8/auditLog.js.map | 1 + .../payloads/v8/channel.d.ts | 1045 ++ .../payloads/v8/channel.d.ts.map | 1 + .../discord-api-types/payloads/v8/channel.js | 218 + .../payloads/v8/channel.js.map | 1 + .../discord-api-types/payloads/v8/emoji.d.ts | 49 + .../payloads/v8/emoji.d.ts.map | 1 + .../discord-api-types/payloads/v8/emoji.js | 6 + .../payloads/v8/emoji.js.map | 1 + .../payloads/v8/gateway.d.ts | 297 + .../payloads/v8/gateway.d.ts.map | 1 + .../discord-api-types/payloads/v8/gateway.js | 69 + .../payloads/v8/gateway.js.map | 1 + .../discord-api-types/payloads/v8/guild.d.ts | 926 ++ .../payloads/v8/guild.d.ts.map | 1 + .../discord-api-types/payloads/v8/guild.js | 237 + .../payloads/v8/guild.js.map | 1 + .../payloads/v8/guildScheduledEvent.d.ts | 135 + .../payloads/v8/guildScheduledEvent.d.ts.map | 1 + .../payloads/v8/guildScheduledEvent.js | 33 + .../payloads/v8/guildScheduledEvent.js.map | 1 + .../discord-api-types/payloads/v8/index.d.ts | 19 + .../payloads/v8/index.d.ts.map | 1 + .../discord-api-types/payloads/v8/index.js | 31 + .../payloads/v8/index.js.map | 1 + .../discord-api-types/payloads/v8/index.mjs | 50 + .../payloads/v8/interactions.d.ts | 22 + .../payloads/v8/interactions.d.ts.map | 1 + .../payloads/v8/interactions.js | 18 + .../payloads/v8/interactions.js.map | 1 + .../discord-api-types/payloads/v8/invite.d.ts | 107 + .../payloads/v8/invite.d.ts.map | 1 + .../discord-api-types/payloads/v8/invite.js | 15 + .../payloads/v8/invite.js.map | 1 + .../discord-api-types/payloads/v8/oauth2.d.ts | 114 + .../payloads/v8/oauth2.d.ts.map | 1 + .../discord-api-types/payloads/v8/oauth2.js | 118 + .../payloads/v8/oauth2.js.map | 1 + .../payloads/v8/permissions.d.ts | 119 + .../payloads/v8/permissions.d.ts.map | 1 + .../payloads/v8/permissions.js | 58 + .../payloads/v8/permissions.js.map | 1 + .../payloads/v8/stageInstance.d.ts | 70 + .../payloads/v8/stageInstance.d.ts.map | 1 + .../payloads/v8/stageInstance.js | 18 + .../payloads/v8/stageInstance.js.map | 1 + .../payloads/v8/sticker.d.ts | 122 + .../payloads/v8/sticker.d.ts.map | 1 + .../discord-api-types/payloads/v8/sticker.js | 30 + .../payloads/v8/sticker.js.map | 1 + .../discord-api-types/payloads/v8/teams.d.ts | 63 + .../payloads/v8/teams.d.ts.map | 1 + .../discord-api-types/payloads/v8/teams.js | 15 + .../payloads/v8/teams.js.map | 1 + .../payloads/v8/template.d.ts | 63 + .../payloads/v8/template.d.ts.map | 1 + .../discord-api-types/payloads/v8/template.js | 6 + .../payloads/v8/template.js.map | 1 + .../discord-api-types/payloads/v8/user.d.ts | 209 + .../payloads/v8/user.d.ts.map | 1 + .../discord-api-types/payloads/v8/user.js | 93 + .../discord-api-types/payloads/v8/user.js.map | 1 + .../discord-api-types/payloads/v8/voice.d.ts | 90 + .../payloads/v8/voice.d.ts.map | 1 + .../discord-api-types/payloads/v8/voice.js | 6 + .../payloads/v8/voice.js.map | 1 + .../payloads/v8/webhook.d.ts | 77 + .../payloads/v8/webhook.d.ts.map | 1 + .../discord-api-types/payloads/v8/webhook.js | 22 + .../payloads/v8/webhook.js.map | 1 + .../_applicationCommands/_chatInput/base.d.ts | 19 + .../_chatInput/base.d.ts.map | 1 + .../_applicationCommands/_chatInput/base.js | 3 + .../_chatInput/base.js.map | 1 + .../_chatInput/boolean.d.ts | 5 + .../_chatInput/boolean.d.ts.map | 1 + .../_chatInput/boolean.js | 3 + .../_chatInput/boolean.js.map | 1 + .../_chatInput/channel.d.ts | 9 + .../_chatInput/channel.d.ts.map | 1 + .../_chatInput/channel.js | 3 + .../_chatInput/channel.js.map | 1 + .../_chatInput/integer.d.ts | 18 + .../_chatInput/integer.d.ts.map | 1 + .../_chatInput/integer.js | 3 + .../_chatInput/integer.js.map | 1 + .../_chatInput/mentionable.d.ts | 6 + .../_chatInput/mentionable.d.ts.map | 1 + .../_chatInput/mentionable.js | 3 + .../_chatInput/mentionable.js.map | 1 + .../_chatInput/number.d.ts | 18 + .../_chatInput/number.d.ts.map | 1 + .../_applicationCommands/_chatInput/number.js | 3 + .../_chatInput/number.js.map | 1 + .../_applicationCommands/_chatInput/role.d.ts | 6 + .../_chatInput/role.d.ts.map | 1 + .../_applicationCommands/_chatInput/role.js | 3 + .../_chatInput/role.js.map | 1 + .../_chatInput/shared.d.ts | 23 + .../_chatInput/shared.d.ts.map | 1 + .../_applicationCommands/_chatInput/shared.js | 20 + .../_chatInput/shared.js.map | 1 + .../_chatInput/string.d.ts | 7 + .../_chatInput/string.d.ts.map | 1 + .../_applicationCommands/_chatInput/string.js | 3 + .../_chatInput/string.js.map | 1 + .../_chatInput/subcommand.d.ts | 12 + .../_chatInput/subcommand.d.ts.map | 1 + .../_chatInput/subcommand.js | 3 + .../_chatInput/subcommand.js.map | 1 + .../_chatInput/subcommandGroup.d.ts | 12 + .../_chatInput/subcommandGroup.d.ts.map | 1 + .../_chatInput/subcommandGroup.js | 3 + .../_chatInput/subcommandGroup.js.map | 1 + .../_applicationCommands/_chatInput/user.d.ts | 6 + .../_chatInput/user.d.ts.map | 1 + .../_applicationCommands/_chatInput/user.js | 3 + .../_chatInput/user.js.map | 1 + .../_applicationCommands/chatInput.d.ts | 68 + .../_applicationCommands/chatInput.d.ts.map | 1 + .../_applicationCommands/chatInput.js | 24 + .../_applicationCommands/chatInput.js.map | 1 + .../_applicationCommands/contextMenu.d.ts | 74 + .../_applicationCommands/contextMenu.d.ts.map | 1 + .../_applicationCommands/contextMenu.js | 3 + .../_applicationCommands/contextMenu.js.map | 1 + .../_applicationCommands/internals.d.ts | 8 + .../_applicationCommands/internals.d.ts.map | 1 + .../_applicationCommands/internals.js | 3 + .../_applicationCommands/internals.js.map | 1 + .../_applicationCommands/permissions.d.ts | 47 + .../_applicationCommands/permissions.d.ts.map | 1 + .../_applicationCommands/permissions.js | 12 + .../_applicationCommands/permissions.js.map | 1 + .../v9/_interactions/applicationCommands.d.ts | 96 + .../applicationCommands.d.ts.map | 1 + .../v9/_interactions/applicationCommands.js | 26 + .../_interactions/applicationCommands.js.map | 1 + .../v9/_interactions/autocomplete.d.ts | 3 + .../v9/_interactions/autocomplete.d.ts.map | 1 + .../payloads/v9/_interactions/autocomplete.js | 3 + .../v9/_interactions/autocomplete.js.map | 1 + .../payloads/v9/_interactions/base.d.ts | 87 + .../payloads/v9/_interactions/base.d.ts.map | 1 + .../payloads/v9/_interactions/base.js | 3 + .../payloads/v9/_interactions/base.js.map | 1 + .../v9/_interactions/messageComponents.d.ts | 22 + .../_interactions/messageComponents.d.ts.map | 1 + .../v9/_interactions/messageComponents.js | 3 + .../v9/_interactions/messageComponents.js.map | 1 + .../payloads/v9/_interactions/ping.d.ts | 4 + .../payloads/v9/_interactions/ping.d.ts.map | 1 + .../payloads/v9/_interactions/ping.js | 3 + .../payloads/v9/_interactions/ping.js.map | 1 + .../payloads/v9/_interactions/responses.d.ts | 77 + .../v9/_interactions/responses.d.ts.map | 1 + .../payloads/v9/_interactions/responses.js | 44 + .../v9/_interactions/responses.js.map | 1 + .../payloads/v9/application.d.ts | 111 + .../payloads/v9/application.d.ts.map | 1 + .../payloads/v9/application.js | 26 + .../payloads/v9/application.js.map | 1 + .../payloads/v9/auditLog.d.ts | 511 + .../payloads/v9/auditLog.d.ts.map | 1 + .../discord-api-types/payloads/v9/auditLog.js | 65 + .../payloads/v9/auditLog.js.map | 1 + .../payloads/v9/channel.d.ts | 1170 +++ .../payloads/v9/channel.d.ts.map | 1 + .../discord-api-types/payloads/v9/channel.js | 246 + .../payloads/v9/channel.js.map | 1 + .../discord-api-types/payloads/v9/emoji.d.ts | 49 + .../payloads/v9/emoji.d.ts.map | 1 + .../discord-api-types/payloads/v9/emoji.js | 6 + .../payloads/v9/emoji.js.map | 1 + .../payloads/v9/gateway.d.ts | 344 + .../payloads/v9/gateway.d.ts.map | 1 + .../discord-api-types/payloads/v9/gateway.js | 69 + .../payloads/v9/gateway.js.map | 1 + .../discord-api-types/payloads/v9/guild.d.ts | 934 ++ .../payloads/v9/guild.d.ts.map | 1 + .../discord-api-types/payloads/v9/guild.js | 237 + .../payloads/v9/guild.js.map | 1 + .../payloads/v9/guildScheduledEvent.d.ts | 135 + .../payloads/v9/guildScheduledEvent.d.ts.map | 1 + .../payloads/v9/guildScheduledEvent.js | 33 + .../payloads/v9/guildScheduledEvent.js.map | 1 + .../discord-api-types/payloads/v9/index.d.ts | 19 + .../payloads/v9/index.d.ts.map | 1 + .../discord-api-types/payloads/v9/index.js | 31 + .../payloads/v9/index.js.map | 1 + .../discord-api-types/payloads/v9/index.mjs | 52 + .../payloads/v9/interactions.d.ts | 22 + .../payloads/v9/interactions.d.ts.map | 1 + .../payloads/v9/interactions.js | 18 + .../payloads/v9/interactions.js.map | 1 + .../discord-api-types/payloads/v9/invite.d.ts | 107 + .../payloads/v9/invite.d.ts.map | 1 + .../discord-api-types/payloads/v9/invite.js | 15 + .../payloads/v9/invite.js.map | 1 + .../discord-api-types/payloads/v9/oauth2.d.ts | 114 + .../payloads/v9/oauth2.d.ts.map | 1 + .../discord-api-types/payloads/v9/oauth2.js | 118 + .../payloads/v9/oauth2.js.map | 1 + .../payloads/v9/permissions.d.ts | 123 + .../payloads/v9/permissions.d.ts.map | 1 + .../payloads/v9/permissions.js | 62 + .../payloads/v9/permissions.js.map | 1 + .../payloads/v9/stageInstance.d.ts | 70 + .../payloads/v9/stageInstance.d.ts.map | 1 + .../payloads/v9/stageInstance.js | 18 + .../payloads/v9/stageInstance.js.map | 1 + .../payloads/v9/sticker.d.ts | 122 + .../payloads/v9/sticker.d.ts.map | 1 + .../discord-api-types/payloads/v9/sticker.js | 30 + .../payloads/v9/sticker.js.map | 1 + .../discord-api-types/payloads/v9/teams.d.ts | 63 + .../payloads/v9/teams.d.ts.map | 1 + .../discord-api-types/payloads/v9/teams.js | 15 + .../payloads/v9/teams.js.map | 1 + .../payloads/v9/template.d.ts | 63 + .../payloads/v9/template.d.ts.map | 1 + .../discord-api-types/payloads/v9/template.js | 6 + .../payloads/v9/template.js.map | 1 + .../discord-api-types/payloads/v9/user.d.ts | 209 + .../payloads/v9/user.d.ts.map | 1 + .../discord-api-types/payloads/v9/user.js | 93 + .../discord-api-types/payloads/v9/user.js.map | 1 + .../discord-api-types/payloads/v9/voice.d.ts | 90 + .../payloads/v9/voice.d.ts.map | 1 + .../discord-api-types/payloads/v9/voice.js | 6 + .../payloads/v9/voice.js.map | 1 + .../payloads/v9/webhook.d.ts | 77 + .../payloads/v9/webhook.d.ts.map | 1 + .../discord-api-types/payloads/v9/webhook.js | 22 + .../payloads/v9/webhook.js.map | 1 + .../discord-api-types/rest/common.d.ts | 151 + .../discord-api-types/rest/common.d.ts.map | 1 + .../discord-api-types/rest/common.js | 155 + .../discord-api-types/rest/common.js.map | 1 + .../discord-api-types/rest/index.d.ts | 2 + .../discord-api-types/rest/index.d.ts.map | 1 + .../discord-api-types/rest/index.js | 16 + .../discord-api-types/rest/index.js.map | 1 + .../discord-api-types/rest/index.mjs | 8 + .../discord-api-types/rest/v6/auditLog.d.ts | 16 + .../rest/v6/auditLog.d.ts.map | 1 + .../discord-api-types/rest/v6/auditLog.js | 3 + .../discord-api-types/rest/v6/auditLog.js.map | 1 + .../discord-api-types/rest/v6/channel.d.ts | 252 + .../rest/v6/channel.d.ts.map | 1 + .../discord-api-types/rest/v6/channel.js | 14 + .../discord-api-types/rest/v6/channel.js.map | 1 + .../discord-api-types/rest/v6/emoji.d.ts | 45 + .../discord-api-types/rest/v6/emoji.d.ts.map | 1 + .../discord-api-types/rest/v6/emoji.js | 3 + .../discord-api-types/rest/v6/emoji.js.map | 1 + .../discord-api-types/rest/v6/gateway.d.ts | 12 + .../rest/v6/gateway.d.ts.map | 1 + .../discord-api-types/rest/v6/gateway.js | 3 + .../discord-api-types/rest/v6/gateway.js.map | 1 + .../discord-api-types/rest/v6/guild.d.ts | 426 + .../discord-api-types/rest/v6/guild.d.ts.map | 1 + .../discord-api-types/rest/v6/guild.js | 3 + .../discord-api-types/rest/v6/guild.js.map | 1 + .../discord-api-types/rest/v6/index.d.ts | 348 + .../discord-api-types/rest/v6/index.d.ts.map | 1 + .../discord-api-types/rest/v6/index.js | 476 + .../discord-api-types/rest/v6/index.js.map | 1 + .../discord-api-types/rest/v6/index.mjs | 7 + .../discord-api-types/rest/v6/invite.d.ts | 18 + .../discord-api-types/rest/v6/invite.d.ts.map | 1 + .../discord-api-types/rest/v6/invite.js | 3 + .../discord-api-types/rest/v6/invite.js.map | 1 + .../discord-api-types/rest/v6/oauth2.d.ts | 164 + .../discord-api-types/rest/v6/oauth2.d.ts.map | 1 + .../discord-api-types/rest/v6/oauth2.js | 3 + .../discord-api-types/rest/v6/oauth2.js.map | 1 + .../discord-api-types/rest/v6/user.d.ts | 73 + .../discord-api-types/rest/v6/user.d.ts.map | 1 + .../discord-api-types/rest/v6/user.js | 3 + .../discord-api-types/rest/v6/user.js.map | 1 + .../discord-api-types/rest/v6/voice.d.ts | 7 + .../discord-api-types/rest/v6/voice.d.ts.map | 1 + .../discord-api-types/rest/v6/voice.js | 3 + .../discord-api-types/rest/v6/voice.js.map | 1 + .../discord-api-types/rest/v6/webhook.d.ts | 126 + .../rest/v6/webhook.d.ts.map | 1 + .../discord-api-types/rest/v6/webhook.js | 3 + .../discord-api-types/rest/v6/webhook.js.map | 1 + .../discord-api-types/rest/v8/auditLog.d.ts | 27 + .../rest/v8/auditLog.d.ts.map | 1 + .../discord-api-types/rest/v8/auditLog.js | 3 + .../discord-api-types/rest/v8/auditLog.js.map | 1 + .../discord-api-types/rest/v8/channel.d.ts | 465 + .../rest/v8/channel.d.ts.map | 1 + .../discord-api-types/rest/v8/channel.js | 3 + .../discord-api-types/rest/v8/channel.js.map | 1 + .../discord-api-types/rest/v8/emoji.d.ts | 56 + .../discord-api-types/rest/v8/emoji.d.ts.map | 1 + .../discord-api-types/rest/v8/emoji.js | 3 + .../discord-api-types/rest/v8/emoji.js.map | 1 + .../discord-api-types/rest/v8/gateway.d.ts | 10 + .../rest/v8/gateway.d.ts.map | 1 + .../discord-api-types/rest/v8/gateway.js | 3 + .../discord-api-types/rest/v8/gateway.js.map | 1 + .../discord-api-types/rest/v8/guild.d.ts | 715 ++ .../discord-api-types/rest/v8/guild.d.ts.map | 1 + .../discord-api-types/rest/v8/guild.js | 3 + .../discord-api-types/rest/v8/guild.js.map | 1 + .../rest/v8/guildScheduledEvent.d.ts | 115 + .../rest/v8/guildScheduledEvent.d.ts.map | 1 + .../rest/v8/guildScheduledEvent.js | 3 + .../rest/v8/guildScheduledEvent.js.map | 1 + .../discord-api-types/rest/v8/index.d.ts | 537 ++ .../discord-api-types/rest/v8/index.d.ts.map | 1 + .../discord-api-types/rest/v8/index.js | 722 ++ .../discord-api-types/rest/v8/index.js.map | 1 + .../discord-api-types/rest/v8/index.mjs | 8 + .../rest/v8/interactions.d.ts | 179 + .../rest/v8/interactions.d.ts.map | 1 + .../discord-api-types/rest/v8/interactions.js | 3 + .../rest/v8/interactions.js.map | 1 + .../discord-api-types/rest/v8/invite.d.ts | 25 + .../discord-api-types/rest/v8/invite.d.ts.map | 1 + .../discord-api-types/rest/v8/invite.js | 3 + .../discord-api-types/rest/v8/invite.js.map | 1 + .../discord-api-types/rest/v8/oauth2.d.ts | 173 + .../discord-api-types/rest/v8/oauth2.d.ts.map | 1 + .../discord-api-types/rest/v8/oauth2.js | 3 + .../discord-api-types/rest/v8/oauth2.js.map | 1 + .../rest/v8/stageInstance.d.ts | 52 + .../rest/v8/stageInstance.d.ts.map | 1 + .../rest/v8/stageInstance.js | 3 + .../rest/v8/stageInstance.js.map | 1 + .../discord-api-types/rest/v8/sticker.d.ts | 44 + .../rest/v8/sticker.d.ts.map | 1 + .../discord-api-types/rest/v8/sticker.js | 3 + .../discord-api-types/rest/v8/sticker.js.map | 1 + .../discord-api-types/rest/v8/template.d.ts | 63 + .../rest/v8/template.d.ts.map | 1 + .../discord-api-types/rest/v8/template.js | 3 + .../discord-api-types/rest/v8/template.js.map | 1 + .../discord-api-types/rest/v8/user.d.ts | 85 + .../discord-api-types/rest/v8/user.d.ts.map | 1 + .../discord-api-types/rest/v8/user.js | 3 + .../discord-api-types/rest/v8/user.js.map | 1 + .../discord-api-types/rest/v8/voice.d.ts | 6 + .../discord-api-types/rest/v8/voice.d.ts.map | 1 + .../discord-api-types/rest/v8/voice.js | 3 + .../discord-api-types/rest/v8/voice.js.map | 1 + .../discord-api-types/rest/v8/webhook.d.ts | 223 + .../rest/v8/webhook.d.ts.map | 1 + .../discord-api-types/rest/v8/webhook.js | 3 + .../discord-api-types/rest/v8/webhook.js.map | 1 + .../discord-api-types/rest/v9/auditLog.d.ts | 27 + .../rest/v9/auditLog.d.ts.map | 1 + .../discord-api-types/rest/v9/auditLog.js | 3 + .../discord-api-types/rest/v9/auditLog.js.map | 1 + .../discord-api-types/rest/v9/channel.d.ts | 574 ++ .../rest/v9/channel.d.ts.map | 1 + .../discord-api-types/rest/v9/channel.js | 3 + .../discord-api-types/rest/v9/channel.js.map | 1 + .../discord-api-types/rest/v9/emoji.d.ts | 56 + .../discord-api-types/rest/v9/emoji.d.ts.map | 1 + .../discord-api-types/rest/v9/emoji.js | 3 + .../discord-api-types/rest/v9/emoji.js.map | 1 + .../discord-api-types/rest/v9/gateway.d.ts | 10 + .../rest/v9/gateway.d.ts.map | 1 + .../discord-api-types/rest/v9/gateway.js | 3 + .../discord-api-types/rest/v9/gateway.js.map | 1 + .../discord-api-types/rest/v9/guild.d.ts | 719 ++ .../discord-api-types/rest/v9/guild.d.ts.map | 1 + .../discord-api-types/rest/v9/guild.js | 3 + .../discord-api-types/rest/v9/guild.js.map | 1 + .../rest/v9/guildScheduledEvent.d.ts | 115 + .../rest/v9/guildScheduledEvent.d.ts.map | 1 + .../rest/v9/guildScheduledEvent.js | 3 + .../rest/v9/guildScheduledEvent.js.map | 1 + .../discord-api-types/rest/v9/index.d.ts | 572 ++ .../discord-api-types/rest/v9/index.d.ts.map | 1 + .../discord-api-types/rest/v9/index.js | 779 ++ .../discord-api-types/rest/v9/index.js.map | 1 + .../discord-api-types/rest/v9/index.mjs | 8 + .../rest/v9/interactions.d.ts | 179 + .../rest/v9/interactions.d.ts.map | 1 + .../discord-api-types/rest/v9/interactions.js | 3 + .../rest/v9/interactions.js.map | 1 + .../discord-api-types/rest/v9/invite.d.ts | 25 + .../discord-api-types/rest/v9/invite.d.ts.map | 1 + .../discord-api-types/rest/v9/invite.js | 3 + .../discord-api-types/rest/v9/invite.js.map | 1 + .../discord-api-types/rest/v9/oauth2.d.ts | 173 + .../discord-api-types/rest/v9/oauth2.d.ts.map | 1 + .../discord-api-types/rest/v9/oauth2.js | 3 + .../discord-api-types/rest/v9/oauth2.js.map | 1 + .../rest/v9/stageInstance.d.ts | 52 + .../rest/v9/stageInstance.d.ts.map | 1 + .../rest/v9/stageInstance.js | 3 + .../rest/v9/stageInstance.js.map | 1 + .../discord-api-types/rest/v9/sticker.d.ts | 44 + .../rest/v9/sticker.d.ts.map | 1 + .../discord-api-types/rest/v9/sticker.js | 3 + .../discord-api-types/rest/v9/sticker.js.map | 1 + .../discord-api-types/rest/v9/template.d.ts | 63 + .../rest/v9/template.d.ts.map | 1 + .../discord-api-types/rest/v9/template.js | 3 + .../discord-api-types/rest/v9/template.js.map | 1 + .../discord-api-types/rest/v9/user.d.ts | 85 + .../discord-api-types/rest/v9/user.d.ts.map | 1 + .../discord-api-types/rest/v9/user.js | 3 + .../discord-api-types/rest/v9/user.js.map | 1 + .../discord-api-types/rest/v9/voice.d.ts | 6 + .../discord-api-types/rest/v9/voice.d.ts.map | 1 + .../discord-api-types/rest/v9/voice.js | 3 + .../discord-api-types/rest/v9/voice.js.map | 1 + .../discord-api-types/rest/v9/webhook.d.ts | 223 + .../rest/v9/webhook.d.ts.map | 1 + .../discord-api-types/rest/v9/webhook.js | 3 + .../discord-api-types/rest/v9/webhook.js.map | 1 + .../discord-api-types/rpc/index.d.ts | 2 + .../discord-api-types/rpc/index.d.ts.map | 1 + .../discord-api-types/rpc/index.js | 16 + .../discord-api-types/rpc/index.js.map | 1 + .../discord-api-types/rpc/index.mjs | 5 + .../discord-api-types/rpc/v8.d.ts | 33 + .../discord-api-types/rpc/v8.d.ts.map | 1 + .../node_modules/discord-api-types/rpc/v8.js | 38 + .../discord-api-types/rpc/v8.js.map | 1 + .../node_modules/discord-api-types/rpc/v8.mjs | 5 + .../discord-api-types/rpc/v9.d.ts | 33 + .../discord-api-types/rpc/v9.d.ts.map | 1 + .../node_modules/discord-api-types/rpc/v9.js | 38 + .../discord-api-types/rpc/v9.js.map | 1 + .../node_modules/discord-api-types/rpc/v9.mjs | 5 + .../discord-api-types/utils/index.d.ts | 2 + .../discord-api-types/utils/index.d.ts.map | 1 + .../discord-api-types/utils/index.js | 16 + .../discord-api-types/utils/index.js.map | 1 + .../discord-api-types/utils/index.mjs | 11 + .../discord-api-types/utils/internals.d.ts | 15 + .../utils/internals.d.ts.map | 1 + .../discord-api-types/utils/internals.js | 3 + .../discord-api-types/utils/internals.js.map | 1 + .../discord-api-types/utils/v8.d.ts | 50 + .../discord-api-types/utils/v8.d.ts.map | 1 + .../discord-api-types/utils/v8.js | 81 + .../discord-api-types/utils/v8.js.map | 1 + .../discord-api-types/utils/v8.mjs | 11 + .../discord-api-types/utils/v9.d.ts | 50 + .../discord-api-types/utils/v9.d.ts.map | 1 + .../discord-api-types/utils/v9.js | 81 + .../discord-api-types/utils/v9.js.map | 1 + .../discord-api-types/utils/v9.mjs | 11 + .../node_modules/discord-api-types/v6.d.ts | 5 + .../discord-api-types/v6.d.ts.map | 1 + .../node_modules/discord-api-types/v6.js | 17 + .../node_modules/discord-api-types/v6.js.map | 1 + .../node_modules/discord-api-types/v6.mjs | 42 + .../node_modules/discord-api-types/v8.d.ts | 7 + .../discord-api-types/v8.d.ts.map | 1 + .../node_modules/discord-api-types/v8.js | 20 + .../node_modules/discord-api-types/v8.js.map | 1 + .../node_modules/discord-api-types/v8.mjs | 64 + .../node_modules/discord-api-types/v9.d.ts | 7 + .../discord-api-types/v9.d.ts.map | 1 + .../node_modules/discord-api-types/v9.js | 20 + .../node_modules/discord-api-types/v9.js.map | 1 + .../node_modules/discord-api-types/v9.mjs | 66 + .../discord-api-types/voice/index.d.ts | 2 + .../discord-api-types/voice/index.d.ts.map | 1 + .../discord-api-types/voice/index.js | 16 + .../discord-api-types/voice/index.js.map | 1 + .../discord-api-types/voice/index.mjs | 6 + .../discord-api-types/voice/v4.d.ts | 108 + .../discord-api-types/voice/v4.d.ts.map | 1 + .../discord-api-types/voice/v4.js | 113 + .../discord-api-types/voice/v4.js.map | 1 + .../discord-api-types/voice/v4.mjs | 6 + node_modules/@discordjs/builders/package.json | 98 + node_modules/@discordjs/collection/LICENSE | 191 + node_modules/@discordjs/collection/README.md | 46 + .../@discordjs/collection/dist/index.d.ts | 381 + .../@discordjs/collection/dist/index.js | 2 + .../@discordjs/collection/dist/index.js.map | 1 + .../@discordjs/collection/dist/index.mjs | 2 + .../@discordjs/collection/dist/index.mjs.map | 1 + .../@discordjs/collection/package.json | 85 + node_modules/@discordjs/rest/CHANGELOG.md | 68 + node_modules/@discordjs/rest/LICENSE | 192 + node_modules/@discordjs/rest/README.md | 3 + node_modules/@discordjs/rest/dist/index.d.ts | 8 + node_modules/@discordjs/rest/dist/index.js | 8 + .../@discordjs/rest/dist/index.js.map | 1 + node_modules/@discordjs/rest/dist/index.mjs | 8 + .../@discordjs/rest/dist/index.mjs.map | 1 + .../@discordjs/rest/dist/lib/CDN.d.ts | 163 + .../@discordjs/rest/dist/lib/REST.d.ts | 237 + .../rest/dist/lib/RequestManager.d.ts | 199 + .../rest/dist/lib/errors/DiscordAPIError.d.ts | 52 + .../rest/dist/lib/errors/HTTPError.d.ts | 21 + .../rest/dist/lib/errors/RateLimitError.d.ts | 16 + .../rest/dist/lib/handlers/IHandler.d.ts | 7 + .../dist/lib/handlers/SequentialHandler.d.ts | 82 + .../rest/dist/lib/utils/constants.d.ts | 21 + .../@discordjs/rest/dist/lib/utils/utils.d.ts | 14 + node_modules/@discordjs/rest/docs/README.md | 1 + node_modules/@discordjs/rest/docs/index.yml | 5 + .../node_modules/discord-api-types/LICENSE | 21 + .../node_modules/discord-api-types/README.md | 97 + .../discord-api-types/gateway/common.d.ts | 9 + .../discord-api-types/gateway/common.d.ts.map | 1 + .../discord-api-types/gateway/common.js | 3 + .../discord-api-types/gateway/common.js.map | 1 + .../discord-api-types/gateway/index.d.ts | 2 + .../discord-api-types/gateway/index.d.ts.map | 1 + .../discord-api-types/gateway/index.js | 16 + .../discord-api-types/gateway/index.js.map | 1 + .../discord-api-types/gateway/index.mjs | 8 + .../discord-api-types/gateway/v6.d.ts | 608 ++ .../discord-api-types/gateway/v6.d.ts.map | 1 + .../discord-api-types/gateway/v6.js | 163 + .../discord-api-types/gateway/v6.js.map | 1 + .../discord-api-types/gateway/v6.mjs | 10 + .../discord-api-types/gateway/v8.d.ts | 1290 +++ .../discord-api-types/gateway/v8.d.ts.map | 1 + .../discord-api-types/gateway/v8.js | 231 + .../discord-api-types/gateway/v8.js.map | 1 + .../discord-api-types/gateway/v8.mjs | 8 + .../discord-api-types/gateway/v9.d.ts | 1352 +++ .../discord-api-types/gateway/v9.d.ts.map | 1 + .../discord-api-types/gateway/v9.js | 237 + .../discord-api-types/gateway/v9.js.map | 1 + .../discord-api-types/gateway/v9.mjs | 8 + .../discord-api-types/globals.d.ts | 81 + .../discord-api-types/globals.d.ts.map | 1 + .../node_modules/discord-api-types/globals.js | 80 + .../discord-api-types/globals.js.map | 1 + .../discord-api-types/globals.mjs | 4 + .../discord-api-types/package.json | 210 + .../discord-api-types/payloads/index.d.ts | 2 + .../discord-api-types/payloads/index.d.ts.map | 1 + .../discord-api-types/payloads/index.js | 16 + .../discord-api-types/payloads/index.js.map | 1 + .../discord-api-types/payloads/index.mjs | 52 + .../payloads/v6/auditLog.d.ts | 414 + .../payloads/v6/auditLog.d.ts.map | 1 + .../discord-api-types/payloads/v6/auditLog.js | 57 + .../payloads/v6/auditLog.js.map | 1 + .../payloads/v6/channel.d.ts | 320 + .../payloads/v6/channel.d.ts.map | 1 + .../discord-api-types/payloads/v6/channel.js | 90 + .../payloads/v6/channel.js.map | 1 + .../discord-api-types/payloads/v6/emoji.d.ts | 25 + .../payloads/v6/emoji.d.ts.map | 1 + .../discord-api-types/payloads/v6/emoji.js | 6 + .../payloads/v6/emoji.js.map | 1 + .../payloads/v6/gateway.d.ts | 136 + .../payloads/v6/gateway.d.ts.map | 1 + .../discord-api-types/payloads/v6/gateway.js | 43 + .../payloads/v6/gateway.js.map | 1 + .../discord-api-types/payloads/v6/guild.d.ts | 293 + .../payloads/v6/guild.d.ts.map | 1 + .../discord-api-types/payloads/v6/guild.js | 109 + .../payloads/v6/guild.js.map | 1 + .../discord-api-types/payloads/v6/index.d.ts | 13 + .../payloads/v6/index.d.ts.map | 1 + .../discord-api-types/payloads/v6/index.js | 25 + .../payloads/v6/index.js.map | 1 + .../discord-api-types/payloads/v6/index.mjs | 30 + .../discord-api-types/payloads/v6/invite.d.ts | 39 + .../payloads/v6/invite.d.ts.map | 1 + .../discord-api-types/payloads/v6/invite.js | 15 + .../payloads/v6/invite.js.map | 1 + .../discord-api-types/payloads/v6/oauth2.d.ts | 27 + .../payloads/v6/oauth2.d.ts.map | 1 + .../discord-api-types/payloads/v6/oauth2.js | 6 + .../payloads/v6/oauth2.js.map | 1 + .../payloads/v6/permissions.d.ts | 73 + .../payloads/v6/permissions.d.ts.map | 1 + .../payloads/v6/permissions.js | 54 + .../payloads/v6/permissions.js.map | 1 + .../discord-api-types/payloads/v6/teams.d.ts | 33 + .../payloads/v6/teams.d.ts.map | 1 + .../discord-api-types/payloads/v6/teams.js | 16 + .../payloads/v6/teams.js.map | 1 + .../discord-api-types/payloads/v6/user.d.ts | 75 + .../payloads/v6/user.d.ts.map | 1 + .../discord-api-types/payloads/v6/user.js | 46 + .../discord-api-types/payloads/v6/user.js.map | 1 + .../discord-api-types/payloads/v6/voice.d.ts | 35 + .../payloads/v6/voice.d.ts.map | 1 + .../discord-api-types/payloads/v6/voice.js | 6 + .../payloads/v6/voice.js.map | 1 + .../payloads/v6/webhook.d.ts | 31 + .../payloads/v6/webhook.d.ts.map | 1 + .../discord-api-types/payloads/v6/webhook.js | 15 + .../payloads/v6/webhook.js.map | 1 + .../_applicationCommands/_chatInput/base.d.ts | 19 + .../_chatInput/base.d.ts.map | 1 + .../_applicationCommands/_chatInput/base.js | 3 + .../_chatInput/base.js.map | 1 + .../_chatInput/boolean.d.ts | 5 + .../_chatInput/boolean.d.ts.map | 1 + .../_chatInput/boolean.js | 3 + .../_chatInput/boolean.js.map | 1 + .../_chatInput/channel.d.ts | 9 + .../_chatInput/channel.d.ts.map | 1 + .../_chatInput/channel.js | 3 + .../_chatInput/channel.js.map | 1 + .../_chatInput/integer.d.ts | 18 + .../_chatInput/integer.d.ts.map | 1 + .../_chatInput/integer.js | 3 + .../_chatInput/integer.js.map | 1 + .../_chatInput/mentionable.d.ts | 6 + .../_chatInput/mentionable.d.ts.map | 1 + .../_chatInput/mentionable.js | 3 + .../_chatInput/mentionable.js.map | 1 + .../_chatInput/number.d.ts | 18 + .../_chatInput/number.d.ts.map | 1 + .../_applicationCommands/_chatInput/number.js | 3 + .../_chatInput/number.js.map | 1 + .../_applicationCommands/_chatInput/role.d.ts | 6 + .../_chatInput/role.d.ts.map | 1 + .../_applicationCommands/_chatInput/role.js | 3 + .../_chatInput/role.js.map | 1 + .../_chatInput/shared.d.ts | 23 + .../_chatInput/shared.d.ts.map | 1 + .../_applicationCommands/_chatInput/shared.js | 20 + .../_chatInput/shared.js.map | 1 + .../_chatInput/string.d.ts | 7 + .../_chatInput/string.d.ts.map | 1 + .../_applicationCommands/_chatInput/string.js | 3 + .../_chatInput/string.js.map | 1 + .../_chatInput/subcommand.d.ts | 12 + .../_chatInput/subcommand.d.ts.map | 1 + .../_chatInput/subcommand.js | 3 + .../_chatInput/subcommand.js.map | 1 + .../_chatInput/subcommandGroup.d.ts | 12 + .../_chatInput/subcommandGroup.d.ts.map | 1 + .../_chatInput/subcommandGroup.js | 3 + .../_chatInput/subcommandGroup.js.map | 1 + .../_applicationCommands/_chatInput/user.d.ts | 6 + .../_chatInput/user.d.ts.map | 1 + .../_applicationCommands/_chatInput/user.js | 3 + .../_chatInput/user.js.map | 1 + .../_applicationCommands/chatInput.d.ts | 68 + .../_applicationCommands/chatInput.d.ts.map | 1 + .../_applicationCommands/chatInput.js | 24 + .../_applicationCommands/chatInput.js.map | 1 + .../_applicationCommands/contextMenu.d.ts | 74 + .../_applicationCommands/contextMenu.d.ts.map | 1 + .../_applicationCommands/contextMenu.js | 3 + .../_applicationCommands/contextMenu.js.map | 1 + .../_applicationCommands/internals.d.ts | 8 + .../_applicationCommands/internals.d.ts.map | 1 + .../_applicationCommands/internals.js | 3 + .../_applicationCommands/internals.js.map | 1 + .../_applicationCommands/permissions.d.ts | 47 + .../_applicationCommands/permissions.d.ts.map | 1 + .../_applicationCommands/permissions.js | 12 + .../_applicationCommands/permissions.js.map | 1 + .../v8/_interactions/applicationCommands.d.ts | 94 + .../applicationCommands.d.ts.map | 1 + .../v8/_interactions/applicationCommands.js | 26 + .../_interactions/applicationCommands.js.map | 1 + .../v8/_interactions/autocomplete.d.ts | 3 + .../v8/_interactions/autocomplete.d.ts.map | 1 + .../payloads/v8/_interactions/autocomplete.js | 3 + .../v8/_interactions/autocomplete.js.map | 1 + .../payloads/v8/_interactions/base.d.ts | 87 + .../payloads/v8/_interactions/base.d.ts.map | 1 + .../payloads/v8/_interactions/base.js | 3 + .../payloads/v8/_interactions/base.js.map | 1 + .../v8/_interactions/messageComponents.d.ts | 22 + .../_interactions/messageComponents.d.ts.map | 1 + .../v8/_interactions/messageComponents.js | 3 + .../v8/_interactions/messageComponents.js.map | 1 + .../payloads/v8/_interactions/ping.d.ts | 4 + .../payloads/v8/_interactions/ping.d.ts.map | 1 + .../payloads/v8/_interactions/ping.js | 3 + .../payloads/v8/_interactions/ping.js.map | 1 + .../payloads/v8/_interactions/responses.d.ts | 77 + .../v8/_interactions/responses.d.ts.map | 1 + .../payloads/v8/_interactions/responses.js | 44 + .../v8/_interactions/responses.js.map | 1 + .../payloads/v8/application.d.ts | 111 + .../payloads/v8/application.d.ts.map | 1 + .../payloads/v8/application.js | 26 + .../payloads/v8/application.js.map | 1 + .../payloads/v8/auditLog.d.ts | 496 + .../payloads/v8/auditLog.d.ts.map | 1 + .../discord-api-types/payloads/v8/auditLog.js | 62 + .../payloads/v8/auditLog.js.map | 1 + .../payloads/v8/channel.d.ts | 1045 ++ .../payloads/v8/channel.d.ts.map | 1 + .../discord-api-types/payloads/v8/channel.js | 218 + .../payloads/v8/channel.js.map | 1 + .../discord-api-types/payloads/v8/emoji.d.ts | 49 + .../payloads/v8/emoji.d.ts.map | 1 + .../discord-api-types/payloads/v8/emoji.js | 6 + .../payloads/v8/emoji.js.map | 1 + .../payloads/v8/gateway.d.ts | 297 + .../payloads/v8/gateway.d.ts.map | 1 + .../discord-api-types/payloads/v8/gateway.js | 69 + .../payloads/v8/gateway.js.map | 1 + .../discord-api-types/payloads/v8/guild.d.ts | 926 ++ .../payloads/v8/guild.d.ts.map | 1 + .../discord-api-types/payloads/v8/guild.js | 237 + .../payloads/v8/guild.js.map | 1 + .../payloads/v8/guildScheduledEvent.d.ts | 135 + .../payloads/v8/guildScheduledEvent.d.ts.map | 1 + .../payloads/v8/guildScheduledEvent.js | 33 + .../payloads/v8/guildScheduledEvent.js.map | 1 + .../discord-api-types/payloads/v8/index.d.ts | 19 + .../payloads/v8/index.d.ts.map | 1 + .../discord-api-types/payloads/v8/index.js | 31 + .../payloads/v8/index.js.map | 1 + .../discord-api-types/payloads/v8/index.mjs | 50 + .../payloads/v8/interactions.d.ts | 22 + .../payloads/v8/interactions.d.ts.map | 1 + .../payloads/v8/interactions.js | 18 + .../payloads/v8/interactions.js.map | 1 + .../discord-api-types/payloads/v8/invite.d.ts | 107 + .../payloads/v8/invite.d.ts.map | 1 + .../discord-api-types/payloads/v8/invite.js | 15 + .../payloads/v8/invite.js.map | 1 + .../discord-api-types/payloads/v8/oauth2.d.ts | 114 + .../payloads/v8/oauth2.d.ts.map | 1 + .../discord-api-types/payloads/v8/oauth2.js | 118 + .../payloads/v8/oauth2.js.map | 1 + .../payloads/v8/permissions.d.ts | 119 + .../payloads/v8/permissions.d.ts.map | 1 + .../payloads/v8/permissions.js | 58 + .../payloads/v8/permissions.js.map | 1 + .../payloads/v8/stageInstance.d.ts | 70 + .../payloads/v8/stageInstance.d.ts.map | 1 + .../payloads/v8/stageInstance.js | 18 + .../payloads/v8/stageInstance.js.map | 1 + .../payloads/v8/sticker.d.ts | 122 + .../payloads/v8/sticker.d.ts.map | 1 + .../discord-api-types/payloads/v8/sticker.js | 30 + .../payloads/v8/sticker.js.map | 1 + .../discord-api-types/payloads/v8/teams.d.ts | 63 + .../payloads/v8/teams.d.ts.map | 1 + .../discord-api-types/payloads/v8/teams.js | 15 + .../payloads/v8/teams.js.map | 1 + .../payloads/v8/template.d.ts | 63 + .../payloads/v8/template.d.ts.map | 1 + .../discord-api-types/payloads/v8/template.js | 6 + .../payloads/v8/template.js.map | 1 + .../discord-api-types/payloads/v8/user.d.ts | 209 + .../payloads/v8/user.d.ts.map | 1 + .../discord-api-types/payloads/v8/user.js | 93 + .../discord-api-types/payloads/v8/user.js.map | 1 + .../discord-api-types/payloads/v8/voice.d.ts | 90 + .../payloads/v8/voice.d.ts.map | 1 + .../discord-api-types/payloads/v8/voice.js | 6 + .../payloads/v8/voice.js.map | 1 + .../payloads/v8/webhook.d.ts | 77 + .../payloads/v8/webhook.d.ts.map | 1 + .../discord-api-types/payloads/v8/webhook.js | 22 + .../payloads/v8/webhook.js.map | 1 + .../_applicationCommands/_chatInput/base.d.ts | 19 + .../_chatInput/base.d.ts.map | 1 + .../_applicationCommands/_chatInput/base.js | 3 + .../_chatInput/base.js.map | 1 + .../_chatInput/boolean.d.ts | 5 + .../_chatInput/boolean.d.ts.map | 1 + .../_chatInput/boolean.js | 3 + .../_chatInput/boolean.js.map | 1 + .../_chatInput/channel.d.ts | 9 + .../_chatInput/channel.d.ts.map | 1 + .../_chatInput/channel.js | 3 + .../_chatInput/channel.js.map | 1 + .../_chatInput/integer.d.ts | 18 + .../_chatInput/integer.d.ts.map | 1 + .../_chatInput/integer.js | 3 + .../_chatInput/integer.js.map | 1 + .../_chatInput/mentionable.d.ts | 6 + .../_chatInput/mentionable.d.ts.map | 1 + .../_chatInput/mentionable.js | 3 + .../_chatInput/mentionable.js.map | 1 + .../_chatInput/number.d.ts | 18 + .../_chatInput/number.d.ts.map | 1 + .../_applicationCommands/_chatInput/number.js | 3 + .../_chatInput/number.js.map | 1 + .../_applicationCommands/_chatInput/role.d.ts | 6 + .../_chatInput/role.d.ts.map | 1 + .../_applicationCommands/_chatInput/role.js | 3 + .../_chatInput/role.js.map | 1 + .../_chatInput/shared.d.ts | 23 + .../_chatInput/shared.d.ts.map | 1 + .../_applicationCommands/_chatInput/shared.js | 20 + .../_chatInput/shared.js.map | 1 + .../_chatInput/string.d.ts | 7 + .../_chatInput/string.d.ts.map | 1 + .../_applicationCommands/_chatInput/string.js | 3 + .../_chatInput/string.js.map | 1 + .../_chatInput/subcommand.d.ts | 12 + .../_chatInput/subcommand.d.ts.map | 1 + .../_chatInput/subcommand.js | 3 + .../_chatInput/subcommand.js.map | 1 + .../_chatInput/subcommandGroup.d.ts | 12 + .../_chatInput/subcommandGroup.d.ts.map | 1 + .../_chatInput/subcommandGroup.js | 3 + .../_chatInput/subcommandGroup.js.map | 1 + .../_applicationCommands/_chatInput/user.d.ts | 6 + .../_chatInput/user.d.ts.map | 1 + .../_applicationCommands/_chatInput/user.js | 3 + .../_chatInput/user.js.map | 1 + .../_applicationCommands/chatInput.d.ts | 68 + .../_applicationCommands/chatInput.d.ts.map | 1 + .../_applicationCommands/chatInput.js | 24 + .../_applicationCommands/chatInput.js.map | 1 + .../_applicationCommands/contextMenu.d.ts | 74 + .../_applicationCommands/contextMenu.d.ts.map | 1 + .../_applicationCommands/contextMenu.js | 3 + .../_applicationCommands/contextMenu.js.map | 1 + .../_applicationCommands/internals.d.ts | 8 + .../_applicationCommands/internals.d.ts.map | 1 + .../_applicationCommands/internals.js | 3 + .../_applicationCommands/internals.js.map | 1 + .../_applicationCommands/permissions.d.ts | 47 + .../_applicationCommands/permissions.d.ts.map | 1 + .../_applicationCommands/permissions.js | 12 + .../_applicationCommands/permissions.js.map | 1 + .../v9/_interactions/applicationCommands.d.ts | 96 + .../applicationCommands.d.ts.map | 1 + .../v9/_interactions/applicationCommands.js | 26 + .../_interactions/applicationCommands.js.map | 1 + .../v9/_interactions/autocomplete.d.ts | 3 + .../v9/_interactions/autocomplete.d.ts.map | 1 + .../payloads/v9/_interactions/autocomplete.js | 3 + .../v9/_interactions/autocomplete.js.map | 1 + .../payloads/v9/_interactions/base.d.ts | 87 + .../payloads/v9/_interactions/base.d.ts.map | 1 + .../payloads/v9/_interactions/base.js | 3 + .../payloads/v9/_interactions/base.js.map | 1 + .../v9/_interactions/messageComponents.d.ts | 22 + .../_interactions/messageComponents.d.ts.map | 1 + .../v9/_interactions/messageComponents.js | 3 + .../v9/_interactions/messageComponents.js.map | 1 + .../payloads/v9/_interactions/ping.d.ts | 4 + .../payloads/v9/_interactions/ping.d.ts.map | 1 + .../payloads/v9/_interactions/ping.js | 3 + .../payloads/v9/_interactions/ping.js.map | 1 + .../payloads/v9/_interactions/responses.d.ts | 77 + .../v9/_interactions/responses.d.ts.map | 1 + .../payloads/v9/_interactions/responses.js | 44 + .../v9/_interactions/responses.js.map | 1 + .../payloads/v9/application.d.ts | 111 + .../payloads/v9/application.d.ts.map | 1 + .../payloads/v9/application.js | 26 + .../payloads/v9/application.js.map | 1 + .../payloads/v9/auditLog.d.ts | 511 + .../payloads/v9/auditLog.d.ts.map | 1 + .../discord-api-types/payloads/v9/auditLog.js | 65 + .../payloads/v9/auditLog.js.map | 1 + .../payloads/v9/channel.d.ts | 1170 +++ .../payloads/v9/channel.d.ts.map | 1 + .../discord-api-types/payloads/v9/channel.js | 246 + .../payloads/v9/channel.js.map | 1 + .../discord-api-types/payloads/v9/emoji.d.ts | 49 + .../payloads/v9/emoji.d.ts.map | 1 + .../discord-api-types/payloads/v9/emoji.js | 6 + .../payloads/v9/emoji.js.map | 1 + .../payloads/v9/gateway.d.ts | 344 + .../payloads/v9/gateway.d.ts.map | 1 + .../discord-api-types/payloads/v9/gateway.js | 69 + .../payloads/v9/gateway.js.map | 1 + .../discord-api-types/payloads/v9/guild.d.ts | 934 ++ .../payloads/v9/guild.d.ts.map | 1 + .../discord-api-types/payloads/v9/guild.js | 237 + .../payloads/v9/guild.js.map | 1 + .../payloads/v9/guildScheduledEvent.d.ts | 135 + .../payloads/v9/guildScheduledEvent.d.ts.map | 1 + .../payloads/v9/guildScheduledEvent.js | 33 + .../payloads/v9/guildScheduledEvent.js.map | 1 + .../discord-api-types/payloads/v9/index.d.ts | 19 + .../payloads/v9/index.d.ts.map | 1 + .../discord-api-types/payloads/v9/index.js | 31 + .../payloads/v9/index.js.map | 1 + .../discord-api-types/payloads/v9/index.mjs | 52 + .../payloads/v9/interactions.d.ts | 22 + .../payloads/v9/interactions.d.ts.map | 1 + .../payloads/v9/interactions.js | 18 + .../payloads/v9/interactions.js.map | 1 + .../discord-api-types/payloads/v9/invite.d.ts | 107 + .../payloads/v9/invite.d.ts.map | 1 + .../discord-api-types/payloads/v9/invite.js | 15 + .../payloads/v9/invite.js.map | 1 + .../discord-api-types/payloads/v9/oauth2.d.ts | 114 + .../payloads/v9/oauth2.d.ts.map | 1 + .../discord-api-types/payloads/v9/oauth2.js | 118 + .../payloads/v9/oauth2.js.map | 1 + .../payloads/v9/permissions.d.ts | 123 + .../payloads/v9/permissions.d.ts.map | 1 + .../payloads/v9/permissions.js | 62 + .../payloads/v9/permissions.js.map | 1 + .../payloads/v9/stageInstance.d.ts | 70 + .../payloads/v9/stageInstance.d.ts.map | 1 + .../payloads/v9/stageInstance.js | 18 + .../payloads/v9/stageInstance.js.map | 1 + .../payloads/v9/sticker.d.ts | 122 + .../payloads/v9/sticker.d.ts.map | 1 + .../discord-api-types/payloads/v9/sticker.js | 30 + .../payloads/v9/sticker.js.map | 1 + .../discord-api-types/payloads/v9/teams.d.ts | 63 + .../payloads/v9/teams.d.ts.map | 1 + .../discord-api-types/payloads/v9/teams.js | 15 + .../payloads/v9/teams.js.map | 1 + .../payloads/v9/template.d.ts | 63 + .../payloads/v9/template.d.ts.map | 1 + .../discord-api-types/payloads/v9/template.js | 6 + .../payloads/v9/template.js.map | 1 + .../discord-api-types/payloads/v9/user.d.ts | 209 + .../payloads/v9/user.d.ts.map | 1 + .../discord-api-types/payloads/v9/user.js | 93 + .../discord-api-types/payloads/v9/user.js.map | 1 + .../discord-api-types/payloads/v9/voice.d.ts | 90 + .../payloads/v9/voice.d.ts.map | 1 + .../discord-api-types/payloads/v9/voice.js | 6 + .../payloads/v9/voice.js.map | 1 + .../payloads/v9/webhook.d.ts | 77 + .../payloads/v9/webhook.d.ts.map | 1 + .../discord-api-types/payloads/v9/webhook.js | 22 + .../payloads/v9/webhook.js.map | 1 + .../discord-api-types/rest/common.d.ts | 151 + .../discord-api-types/rest/common.d.ts.map | 1 + .../discord-api-types/rest/common.js | 155 + .../discord-api-types/rest/common.js.map | 1 + .../discord-api-types/rest/index.d.ts | 2 + .../discord-api-types/rest/index.d.ts.map | 1 + .../discord-api-types/rest/index.js | 16 + .../discord-api-types/rest/index.js.map | 1 + .../discord-api-types/rest/index.mjs | 8 + .../discord-api-types/rest/v6/auditLog.d.ts | 16 + .../rest/v6/auditLog.d.ts.map | 1 + .../discord-api-types/rest/v6/auditLog.js | 3 + .../discord-api-types/rest/v6/auditLog.js.map | 1 + .../discord-api-types/rest/v6/channel.d.ts | 252 + .../rest/v6/channel.d.ts.map | 1 + .../discord-api-types/rest/v6/channel.js | 14 + .../discord-api-types/rest/v6/channel.js.map | 1 + .../discord-api-types/rest/v6/emoji.d.ts | 45 + .../discord-api-types/rest/v6/emoji.d.ts.map | 1 + .../discord-api-types/rest/v6/emoji.js | 3 + .../discord-api-types/rest/v6/emoji.js.map | 1 + .../discord-api-types/rest/v6/gateway.d.ts | 12 + .../rest/v6/gateway.d.ts.map | 1 + .../discord-api-types/rest/v6/gateway.js | 3 + .../discord-api-types/rest/v6/gateway.js.map | 1 + .../discord-api-types/rest/v6/guild.d.ts | 426 + .../discord-api-types/rest/v6/guild.d.ts.map | 1 + .../discord-api-types/rest/v6/guild.js | 3 + .../discord-api-types/rest/v6/guild.js.map | 1 + .../discord-api-types/rest/v6/index.d.ts | 348 + .../discord-api-types/rest/v6/index.d.ts.map | 1 + .../discord-api-types/rest/v6/index.js | 476 + .../discord-api-types/rest/v6/index.js.map | 1 + .../discord-api-types/rest/v6/index.mjs | 7 + .../discord-api-types/rest/v6/invite.d.ts | 18 + .../discord-api-types/rest/v6/invite.d.ts.map | 1 + .../discord-api-types/rest/v6/invite.js | 3 + .../discord-api-types/rest/v6/invite.js.map | 1 + .../discord-api-types/rest/v6/oauth2.d.ts | 164 + .../discord-api-types/rest/v6/oauth2.d.ts.map | 1 + .../discord-api-types/rest/v6/oauth2.js | 3 + .../discord-api-types/rest/v6/oauth2.js.map | 1 + .../discord-api-types/rest/v6/user.d.ts | 73 + .../discord-api-types/rest/v6/user.d.ts.map | 1 + .../discord-api-types/rest/v6/user.js | 3 + .../discord-api-types/rest/v6/user.js.map | 1 + .../discord-api-types/rest/v6/voice.d.ts | 7 + .../discord-api-types/rest/v6/voice.d.ts.map | 1 + .../discord-api-types/rest/v6/voice.js | 3 + .../discord-api-types/rest/v6/voice.js.map | 1 + .../discord-api-types/rest/v6/webhook.d.ts | 126 + .../rest/v6/webhook.d.ts.map | 1 + .../discord-api-types/rest/v6/webhook.js | 3 + .../discord-api-types/rest/v6/webhook.js.map | 1 + .../discord-api-types/rest/v8/auditLog.d.ts | 27 + .../rest/v8/auditLog.d.ts.map | 1 + .../discord-api-types/rest/v8/auditLog.js | 3 + .../discord-api-types/rest/v8/auditLog.js.map | 1 + .../discord-api-types/rest/v8/channel.d.ts | 465 + .../rest/v8/channel.d.ts.map | 1 + .../discord-api-types/rest/v8/channel.js | 3 + .../discord-api-types/rest/v8/channel.js.map | 1 + .../discord-api-types/rest/v8/emoji.d.ts | 56 + .../discord-api-types/rest/v8/emoji.d.ts.map | 1 + .../discord-api-types/rest/v8/emoji.js | 3 + .../discord-api-types/rest/v8/emoji.js.map | 1 + .../discord-api-types/rest/v8/gateway.d.ts | 10 + .../rest/v8/gateway.d.ts.map | 1 + .../discord-api-types/rest/v8/gateway.js | 3 + .../discord-api-types/rest/v8/gateway.js.map | 1 + .../discord-api-types/rest/v8/guild.d.ts | 715 ++ .../discord-api-types/rest/v8/guild.d.ts.map | 1 + .../discord-api-types/rest/v8/guild.js | 3 + .../discord-api-types/rest/v8/guild.js.map | 1 + .../rest/v8/guildScheduledEvent.d.ts | 115 + .../rest/v8/guildScheduledEvent.d.ts.map | 1 + .../rest/v8/guildScheduledEvent.js | 3 + .../rest/v8/guildScheduledEvent.js.map | 1 + .../discord-api-types/rest/v8/index.d.ts | 537 ++ .../discord-api-types/rest/v8/index.d.ts.map | 1 + .../discord-api-types/rest/v8/index.js | 722 ++ .../discord-api-types/rest/v8/index.js.map | 1 + .../discord-api-types/rest/v8/index.mjs | 8 + .../rest/v8/interactions.d.ts | 179 + .../rest/v8/interactions.d.ts.map | 1 + .../discord-api-types/rest/v8/interactions.js | 3 + .../rest/v8/interactions.js.map | 1 + .../discord-api-types/rest/v8/invite.d.ts | 25 + .../discord-api-types/rest/v8/invite.d.ts.map | 1 + .../discord-api-types/rest/v8/invite.js | 3 + .../discord-api-types/rest/v8/invite.js.map | 1 + .../discord-api-types/rest/v8/oauth2.d.ts | 173 + .../discord-api-types/rest/v8/oauth2.d.ts.map | 1 + .../discord-api-types/rest/v8/oauth2.js | 3 + .../discord-api-types/rest/v8/oauth2.js.map | 1 + .../rest/v8/stageInstance.d.ts | 52 + .../rest/v8/stageInstance.d.ts.map | 1 + .../rest/v8/stageInstance.js | 3 + .../rest/v8/stageInstance.js.map | 1 + .../discord-api-types/rest/v8/sticker.d.ts | 44 + .../rest/v8/sticker.d.ts.map | 1 + .../discord-api-types/rest/v8/sticker.js | 3 + .../discord-api-types/rest/v8/sticker.js.map | 1 + .../discord-api-types/rest/v8/template.d.ts | 63 + .../rest/v8/template.d.ts.map | 1 + .../discord-api-types/rest/v8/template.js | 3 + .../discord-api-types/rest/v8/template.js.map | 1 + .../discord-api-types/rest/v8/user.d.ts | 85 + .../discord-api-types/rest/v8/user.d.ts.map | 1 + .../discord-api-types/rest/v8/user.js | 3 + .../discord-api-types/rest/v8/user.js.map | 1 + .../discord-api-types/rest/v8/voice.d.ts | 6 + .../discord-api-types/rest/v8/voice.d.ts.map | 1 + .../discord-api-types/rest/v8/voice.js | 3 + .../discord-api-types/rest/v8/voice.js.map | 1 + .../discord-api-types/rest/v8/webhook.d.ts | 223 + .../rest/v8/webhook.d.ts.map | 1 + .../discord-api-types/rest/v8/webhook.js | 3 + .../discord-api-types/rest/v8/webhook.js.map | 1 + .../discord-api-types/rest/v9/auditLog.d.ts | 27 + .../rest/v9/auditLog.d.ts.map | 1 + .../discord-api-types/rest/v9/auditLog.js | 3 + .../discord-api-types/rest/v9/auditLog.js.map | 1 + .../discord-api-types/rest/v9/channel.d.ts | 574 ++ .../rest/v9/channel.d.ts.map | 1 + .../discord-api-types/rest/v9/channel.js | 3 + .../discord-api-types/rest/v9/channel.js.map | 1 + .../discord-api-types/rest/v9/emoji.d.ts | 56 + .../discord-api-types/rest/v9/emoji.d.ts.map | 1 + .../discord-api-types/rest/v9/emoji.js | 3 + .../discord-api-types/rest/v9/emoji.js.map | 1 + .../discord-api-types/rest/v9/gateway.d.ts | 10 + .../rest/v9/gateway.d.ts.map | 1 + .../discord-api-types/rest/v9/gateway.js | 3 + .../discord-api-types/rest/v9/gateway.js.map | 1 + .../discord-api-types/rest/v9/guild.d.ts | 719 ++ .../discord-api-types/rest/v9/guild.d.ts.map | 1 + .../discord-api-types/rest/v9/guild.js | 3 + .../discord-api-types/rest/v9/guild.js.map | 1 + .../rest/v9/guildScheduledEvent.d.ts | 115 + .../rest/v9/guildScheduledEvent.d.ts.map | 1 + .../rest/v9/guildScheduledEvent.js | 3 + .../rest/v9/guildScheduledEvent.js.map | 1 + .../discord-api-types/rest/v9/index.d.ts | 572 ++ .../discord-api-types/rest/v9/index.d.ts.map | 1 + .../discord-api-types/rest/v9/index.js | 779 ++ .../discord-api-types/rest/v9/index.js.map | 1 + .../discord-api-types/rest/v9/index.mjs | 8 + .../rest/v9/interactions.d.ts | 179 + .../rest/v9/interactions.d.ts.map | 1 + .../discord-api-types/rest/v9/interactions.js | 3 + .../rest/v9/interactions.js.map | 1 + .../discord-api-types/rest/v9/invite.d.ts | 25 + .../discord-api-types/rest/v9/invite.d.ts.map | 1 + .../discord-api-types/rest/v9/invite.js | 3 + .../discord-api-types/rest/v9/invite.js.map | 1 + .../discord-api-types/rest/v9/oauth2.d.ts | 173 + .../discord-api-types/rest/v9/oauth2.d.ts.map | 1 + .../discord-api-types/rest/v9/oauth2.js | 3 + .../discord-api-types/rest/v9/oauth2.js.map | 1 + .../rest/v9/stageInstance.d.ts | 52 + .../rest/v9/stageInstance.d.ts.map | 1 + .../rest/v9/stageInstance.js | 3 + .../rest/v9/stageInstance.js.map | 1 + .../discord-api-types/rest/v9/sticker.d.ts | 44 + .../rest/v9/sticker.d.ts.map | 1 + .../discord-api-types/rest/v9/sticker.js | 3 + .../discord-api-types/rest/v9/sticker.js.map | 1 + .../discord-api-types/rest/v9/template.d.ts | 63 + .../rest/v9/template.d.ts.map | 1 + .../discord-api-types/rest/v9/template.js | 3 + .../discord-api-types/rest/v9/template.js.map | 1 + .../discord-api-types/rest/v9/user.d.ts | 85 + .../discord-api-types/rest/v9/user.d.ts.map | 1 + .../discord-api-types/rest/v9/user.js | 3 + .../discord-api-types/rest/v9/user.js.map | 1 + .../discord-api-types/rest/v9/voice.d.ts | 6 + .../discord-api-types/rest/v9/voice.d.ts.map | 1 + .../discord-api-types/rest/v9/voice.js | 3 + .../discord-api-types/rest/v9/voice.js.map | 1 + .../discord-api-types/rest/v9/webhook.d.ts | 223 + .../rest/v9/webhook.d.ts.map | 1 + .../discord-api-types/rest/v9/webhook.js | 3 + .../discord-api-types/rest/v9/webhook.js.map | 1 + .../discord-api-types/rpc/index.d.ts | 2 + .../discord-api-types/rpc/index.d.ts.map | 1 + .../discord-api-types/rpc/index.js | 16 + .../discord-api-types/rpc/index.js.map | 1 + .../discord-api-types/rpc/index.mjs | 5 + .../discord-api-types/rpc/v8.d.ts | 33 + .../discord-api-types/rpc/v8.d.ts.map | 1 + .../node_modules/discord-api-types/rpc/v8.js | 38 + .../discord-api-types/rpc/v8.js.map | 1 + .../node_modules/discord-api-types/rpc/v8.mjs | 5 + .../discord-api-types/rpc/v9.d.ts | 33 + .../discord-api-types/rpc/v9.d.ts.map | 1 + .../node_modules/discord-api-types/rpc/v9.js | 38 + .../discord-api-types/rpc/v9.js.map | 1 + .../node_modules/discord-api-types/rpc/v9.mjs | 5 + .../discord-api-types/utils/index.d.ts | 2 + .../discord-api-types/utils/index.d.ts.map | 1 + .../discord-api-types/utils/index.js | 16 + .../discord-api-types/utils/index.js.map | 1 + .../discord-api-types/utils/index.mjs | 11 + .../discord-api-types/utils/internals.d.ts | 15 + .../utils/internals.d.ts.map | 1 + .../discord-api-types/utils/internals.js | 3 + .../discord-api-types/utils/internals.js.map | 1 + .../discord-api-types/utils/v8.d.ts | 50 + .../discord-api-types/utils/v8.d.ts.map | 1 + .../discord-api-types/utils/v8.js | 81 + .../discord-api-types/utils/v8.js.map | 1 + .../discord-api-types/utils/v8.mjs | 11 + .../discord-api-types/utils/v9.d.ts | 50 + .../discord-api-types/utils/v9.d.ts.map | 1 + .../discord-api-types/utils/v9.js | 81 + .../discord-api-types/utils/v9.js.map | 1 + .../discord-api-types/utils/v9.mjs | 11 + .../node_modules/discord-api-types/v6.d.ts | 5 + .../discord-api-types/v6.d.ts.map | 1 + .../rest/node_modules/discord-api-types/v6.js | 17 + .../node_modules/discord-api-types/v6.js.map | 1 + .../node_modules/discord-api-types/v6.mjs | 42 + .../node_modules/discord-api-types/v8.d.ts | 7 + .../discord-api-types/v8.d.ts.map | 1 + .../rest/node_modules/discord-api-types/v8.js | 20 + .../node_modules/discord-api-types/v8.js.map | 1 + .../node_modules/discord-api-types/v8.mjs | 64 + .../node_modules/discord-api-types/v9.d.ts | 7 + .../discord-api-types/v9.d.ts.map | 1 + .../rest/node_modules/discord-api-types/v9.js | 20 + .../node_modules/discord-api-types/v9.js.map | 1 + .../node_modules/discord-api-types/v9.mjs | 66 + .../discord-api-types/voice/index.d.ts | 2 + .../discord-api-types/voice/index.d.ts.map | 1 + .../discord-api-types/voice/index.js | 16 + .../discord-api-types/voice/index.js.map | 1 + .../discord-api-types/voice/index.mjs | 6 + .../discord-api-types/voice/v4.d.ts | 108 + .../discord-api-types/voice/v4.d.ts.map | 1 + .../discord-api-types/voice/v4.js | 113 + .../discord-api-types/voice/v4.js.map | 1 + .../discord-api-types/voice/v4.mjs | 6 + node_modules/@discordjs/rest/package.json | 89 + node_modules/@sapphire/async-queue/LICENSE.md | 24 + node_modules/@sapphire/async-queue/README.md | 101 + .../@sapphire/async-queue/dist/index.d.ts | 2 + .../async-queue/dist/index.global.js | 66 + .../async-queue/dist/index.global.js.map | 1 + .../@sapphire/async-queue/dist/index.js | 69 + .../@sapphire/async-queue/dist/index.js.map | 1 + .../@sapphire/async-queue/dist/index.mjs | 39 + .../@sapphire/async-queue/dist/index.mjs.map | 1 + .../async-queue/dist/lib/AsyncQueue.d.ts | 40 + .../@sapphire/async-queue/package.json | 55 + node_modules/@sapphire/snowflake/LICENSE.md | 24 + node_modules/@sapphire/snowflake/README.md | 223 + .../@sapphire/snowflake/dist/index.d.ts | 4 + .../@sapphire/snowflake/dist/index.global.js | 124 + .../snowflake/dist/index.global.js.map | 1 + .../@sapphire/snowflake/dist/index.js | 129 + .../@sapphire/snowflake/dist/index.js.map | 1 + .../@sapphire/snowflake/dist/index.mjs | 97 + .../@sapphire/snowflake/dist/index.mjs.map | 1 + .../snowflake/dist/lib/DiscordSnowflake.d.ts | 8 + .../snowflake/dist/lib/Snowflake.d.ts | 114 + .../snowflake/dist/lib/TwitterSnowflake.d.ts | 8 + node_modules/@sapphire/snowflake/package.json | 55 + node_modules/@sindresorhus/is/dist/index.d.ts | 227 + node_modules/@sindresorhus/is/dist/index.js | 428 + node_modules/@sindresorhus/is/dist/types.d.ts | 25 + node_modules/@sindresorhus/is/dist/types.js | 3 + node_modules/@sindresorhus/is/license | 9 + node_modules/@sindresorhus/is/package.json | 96 + node_modules/@sindresorhus/is/readme.md | 649 ++ node_modules/@types/node-fetch/LICENSE | 21 + node_modules/@types/node-fetch/README.md | 16 + node_modules/@types/node-fetch/externals.d.ts | 21 + node_modules/@types/node-fetch/index.d.ts | 224 + .../node-fetch/node_modules/form-data/License | 19 + .../node_modules/form-data/README.md.bak | 356 + .../node_modules/form-data/Readme.md | 356 + .../node_modules/form-data/index.d.ts | 62 + .../node_modules/form-data/lib/browser.js | 2 + .../node_modules/form-data/lib/form_data.js | 498 + .../node_modules/form-data/lib/populate.js | 10 + .../node_modules/form-data/package.json | 68 + node_modules/@types/node-fetch/package.json | 83 + node_modules/@types/node/LICENSE | 21 + node_modules/@types/node/README.md | 16 + node_modules/@types/node/assert.d.ts | 912 ++ node_modules/@types/node/assert/strict.d.ts | 8 + node_modules/@types/node/async_hooks.d.ts | 501 + node_modules/@types/node/buffer.d.ts | 2232 +++++ node_modules/@types/node/child_process.d.ts | 1366 +++ node_modules/@types/node/cluster.d.ts | 414 + node_modules/@types/node/console.d.ts | 412 + node_modules/@types/node/constants.d.ts | 18 + node_modules/@types/node/crypto.d.ts | 3307 +++++++ node_modules/@types/node/dgram.d.ts | 545 ++ .../@types/node/diagnostics_channel.d.ts | 134 + node_modules/@types/node/dns.d.ts | 659 ++ node_modules/@types/node/dns/promises.d.ts | 370 + node_modules/@types/node/domain.d.ts | 169 + node_modules/@types/node/events.d.ts | 651 ++ node_modules/@types/node/fs.d.ts | 3835 ++++++++ node_modules/@types/node/fs/promises.d.ts | 1091 +++ node_modules/@types/node/globals.d.ts | 284 + node_modules/@types/node/globals.global.d.ts | 1 + node_modules/@types/node/http.d.ts | 1396 +++ node_modules/@types/node/http2.d.ts | 2100 ++++ node_modules/@types/node/https.d.ts | 391 + node_modules/@types/node/index.d.ts | 129 + node_modules/@types/node/inspector.d.ts | 2744 ++++++ node_modules/@types/node/module.d.ts | 114 + node_modules/@types/node/net.d.ts | 784 ++ node_modules/@types/node/os.d.ts | 455 + node_modules/@types/node/package.json | 220 + node_modules/@types/node/path.d.ts | 180 + node_modules/@types/node/perf_hooks.d.ts | 557 ++ node_modules/@types/node/process.d.ts | 1481 +++ node_modules/@types/node/punycode.d.ts | 117 + node_modules/@types/node/querystring.d.ts | 131 + node_modules/@types/node/readline.d.ts | 650 ++ node_modules/@types/node/repl.d.ts | 424 + node_modules/@types/node/stream.d.ts | 1249 +++ .../@types/node/stream/consumers.d.ts | 24 + node_modules/@types/node/stream/promises.d.ts | 42 + node_modules/@types/node/stream/web.d.ts | 329 + node_modules/@types/node/string_decoder.d.ts | 67 + node_modules/@types/node/timers.d.ts | 94 + node_modules/@types/node/timers/promises.d.ts | 68 + node_modules/@types/node/tls.d.ts | 1020 ++ node_modules/@types/node/trace_events.d.ts | 161 + node_modules/@types/node/tty.d.ts | 204 + node_modules/@types/node/url.d.ts | 891 ++ node_modules/@types/node/util.d.ts | 1594 ++++ node_modules/@types/node/v8.d.ts | 378 + node_modules/@types/node/vm.d.ts | 507 + node_modules/@types/node/wasi.d.ts | 158 + node_modules/@types/node/worker_threads.d.ts | 649 ++ node_modules/@types/node/zlib.d.ts | 517 + node_modules/@types/ws/LICENSE | 21 + node_modules/@types/ws/README.md | 16 + node_modules/@types/ws/index.d.mts | 3 + node_modules/@types/ws/index.d.ts | 358 + node_modules/@types/ws/package.json | 66 + node_modules/asynckit/LICENSE | 21 + node_modules/asynckit/README.md | 233 + node_modules/asynckit/bench.js | 76 + node_modules/asynckit/index.js | 6 + node_modules/asynckit/lib/abort.js | 29 + node_modules/asynckit/lib/async.js | 34 + node_modules/asynckit/lib/defer.js | 26 + node_modules/asynckit/lib/iterate.js | 75 + .../asynckit/lib/readable_asynckit.js | 91 + .../asynckit/lib/readable_parallel.js | 25 + node_modules/asynckit/lib/readable_serial.js | 25 + .../asynckit/lib/readable_serial_ordered.js | 29 + node_modules/asynckit/lib/state.js | 37 + node_modules/asynckit/lib/streamify.js | 141 + node_modules/asynckit/lib/terminator.js | 29 + node_modules/asynckit/package.json | 63 + node_modules/asynckit/parallel.js | 43 + node_modules/asynckit/serial.js | 17 + node_modules/asynckit/serialOrdered.js | 75 + node_modules/asynckit/stream.js | 21 + node_modules/combined-stream/License | 19 + node_modules/combined-stream/Readme.md | 138 + .../combined-stream/lib/combined_stream.js | 208 + node_modules/combined-stream/package.json | 25 + node_modules/combined-stream/yarn.lock | 17 + node_modules/delayed-stream/.npmignore | 1 + node_modules/delayed-stream/License | 19 + node_modules/delayed-stream/Makefile | 7 + node_modules/delayed-stream/Readme.md | 141 + .../delayed-stream/lib/delayed_stream.js | 107 + node_modules/delayed-stream/package.json | 27 + node_modules/discord-api-types/LICENSE | 21 + node_modules/discord-api-types/README.md | 97 + .../discord-api-types/gateway/common.d.ts | 9 + .../discord-api-types/gateway/common.d.ts.map | 1 + .../discord-api-types/gateway/common.js | 3 + .../discord-api-types/gateway/common.js.map | 1 + .../discord-api-types/gateway/index.d.ts | 2 + .../discord-api-types/gateway/index.d.ts.map | 1 + .../discord-api-types/gateway/index.js | 16 + .../discord-api-types/gateway/index.js.map | 1 + .../discord-api-types/gateway/index.mjs | 8 + .../discord-api-types/gateway/v6.d.ts | 608 ++ .../discord-api-types/gateway/v6.d.ts.map | 1 + node_modules/discord-api-types/gateway/v6.js | 163 + .../discord-api-types/gateway/v6.js.map | 1 + node_modules/discord-api-types/gateway/v6.mjs | 10 + .../discord-api-types/gateway/v8.d.ts | 1290 +++ .../discord-api-types/gateway/v8.d.ts.map | 1 + node_modules/discord-api-types/gateway/v8.js | 231 + .../discord-api-types/gateway/v8.js.map | 1 + node_modules/discord-api-types/gateway/v8.mjs | 8 + .../discord-api-types/gateway/v9.d.ts | 1357 +++ .../discord-api-types/gateway/v9.d.ts.map | 1 + node_modules/discord-api-types/gateway/v9.js | 237 + .../discord-api-types/gateway/v9.js.map | 1 + node_modules/discord-api-types/gateway/v9.mjs | 8 + node_modules/discord-api-types/globals.d.ts | 81 + .../discord-api-types/globals.d.ts.map | 1 + node_modules/discord-api-types/globals.js | 80 + node_modules/discord-api-types/globals.js.map | 1 + node_modules/discord-api-types/globals.mjs | 4 + node_modules/discord-api-types/package.json | 178 + .../discord-api-types/payloads/index.d.ts | 2 + .../discord-api-types/payloads/index.d.ts.map | 1 + .../discord-api-types/payloads/index.js | 16 + .../discord-api-types/payloads/index.js.map | 1 + .../discord-api-types/payloads/index.mjs | 53 + .../payloads/v6/auditLog.d.ts | 414 + .../payloads/v6/auditLog.d.ts.map | 1 + .../discord-api-types/payloads/v6/auditLog.js | 57 + .../payloads/v6/auditLog.js.map | 1 + .../payloads/v6/channel.d.ts | 320 + .../payloads/v6/channel.d.ts.map | 1 + .../discord-api-types/payloads/v6/channel.js | 90 + .../payloads/v6/channel.js.map | 1 + .../discord-api-types/payloads/v6/emoji.d.ts | 25 + .../payloads/v6/emoji.d.ts.map | 1 + .../discord-api-types/payloads/v6/emoji.js | 6 + .../payloads/v6/emoji.js.map | 1 + .../payloads/v6/gateway.d.ts | 136 + .../payloads/v6/gateway.d.ts.map | 1 + .../discord-api-types/payloads/v6/gateway.js | 43 + .../payloads/v6/gateway.js.map | 1 + .../discord-api-types/payloads/v6/guild.d.ts | 293 + .../payloads/v6/guild.d.ts.map | 1 + .../discord-api-types/payloads/v6/guild.js | 109 + .../payloads/v6/guild.js.map | 1 + .../discord-api-types/payloads/v6/index.d.ts | 13 + .../payloads/v6/index.d.ts.map | 1 + .../discord-api-types/payloads/v6/index.js | 25 + .../payloads/v6/index.js.map | 1 + .../discord-api-types/payloads/v6/index.mjs | 30 + .../discord-api-types/payloads/v6/invite.d.ts | 39 + .../payloads/v6/invite.d.ts.map | 1 + .../discord-api-types/payloads/v6/invite.js | 15 + .../payloads/v6/invite.js.map | 1 + .../discord-api-types/payloads/v6/oauth2.d.ts | 27 + .../payloads/v6/oauth2.d.ts.map | 1 + .../discord-api-types/payloads/v6/oauth2.js | 6 + .../payloads/v6/oauth2.js.map | 1 + .../payloads/v6/permissions.d.ts | 73 + .../payloads/v6/permissions.d.ts.map | 1 + .../payloads/v6/permissions.js | 54 + .../payloads/v6/permissions.js.map | 1 + .../discord-api-types/payloads/v6/teams.d.ts | 33 + .../payloads/v6/teams.d.ts.map | 1 + .../discord-api-types/payloads/v6/teams.js | 16 + .../payloads/v6/teams.js.map | 1 + .../discord-api-types/payloads/v6/user.d.ts | 75 + .../payloads/v6/user.d.ts.map | 1 + .../discord-api-types/payloads/v6/user.js | 46 + .../discord-api-types/payloads/v6/user.js.map | 1 + .../discord-api-types/payloads/v6/voice.d.ts | 35 + .../payloads/v6/voice.d.ts.map | 1 + .../discord-api-types/payloads/v6/voice.js | 6 + .../payloads/v6/voice.js.map | 1 + .../payloads/v6/webhook.d.ts | 31 + .../payloads/v6/webhook.d.ts.map | 1 + .../discord-api-types/payloads/v6/webhook.js | 15 + .../payloads/v6/webhook.js.map | 1 + .../_chatInput/attachment.d.ts | 6 + .../_chatInput/attachment.d.ts.map | 1 + .../_chatInput/attachment.js | 3 + .../_chatInput/attachment.js.map | 1 + .../_applicationCommands/_chatInput/base.d.ts | 19 + .../_chatInput/base.d.ts.map | 1 + .../_applicationCommands/_chatInput/base.js | 3 + .../_chatInput/base.js.map | 1 + .../_chatInput/boolean.d.ts | 5 + .../_chatInput/boolean.d.ts.map | 1 + .../_chatInput/boolean.js | 3 + .../_chatInput/boolean.js.map | 1 + .../_chatInput/channel.d.ts | 9 + .../_chatInput/channel.d.ts.map | 1 + .../_chatInput/channel.js | 3 + .../_chatInput/channel.js.map | 1 + .../_chatInput/integer.d.ts | 18 + .../_chatInput/integer.d.ts.map | 1 + .../_chatInput/integer.js | 3 + .../_chatInput/integer.js.map | 1 + .../_chatInput/mentionable.d.ts | 6 + .../_chatInput/mentionable.d.ts.map | 1 + .../_chatInput/mentionable.js | 3 + .../_chatInput/mentionable.js.map | 1 + .../_chatInput/number.d.ts | 18 + .../_chatInput/number.d.ts.map | 1 + .../_applicationCommands/_chatInput/number.js | 3 + .../_chatInput/number.js.map | 1 + .../_applicationCommands/_chatInput/role.d.ts | 6 + .../_chatInput/role.d.ts.map | 1 + .../_applicationCommands/_chatInput/role.js | 3 + .../_chatInput/role.js.map | 1 + .../_chatInput/shared.d.ts | 24 + .../_chatInput/shared.d.ts.map | 1 + .../_applicationCommands/_chatInput/shared.js | 21 + .../_chatInput/shared.js.map | 1 + .../_chatInput/string.d.ts | 7 + .../_chatInput/string.d.ts.map | 1 + .../_applicationCommands/_chatInput/string.js | 3 + .../_chatInput/string.js.map | 1 + .../_chatInput/subcommand.d.ts | 12 + .../_chatInput/subcommand.d.ts.map | 1 + .../_chatInput/subcommand.js | 3 + .../_chatInput/subcommand.js.map | 1 + .../_chatInput/subcommandGroup.d.ts | 12 + .../_chatInput/subcommandGroup.d.ts.map | 1 + .../_chatInput/subcommandGroup.js | 3 + .../_chatInput/subcommandGroup.js.map | 1 + .../_applicationCommands/_chatInput/user.d.ts | 6 + .../_chatInput/user.d.ts.map | 1 + .../_applicationCommands/_chatInput/user.js | 3 + .../_chatInput/user.js.map | 1 + .../_applicationCommands/chatInput.d.ts | 71 + .../_applicationCommands/chatInput.d.ts.map | 1 + .../_applicationCommands/chatInput.js | 25 + .../_applicationCommands/chatInput.js.map | 1 + .../_applicationCommands/contextMenu.d.ts | 74 + .../_applicationCommands/contextMenu.d.ts.map | 1 + .../_applicationCommands/contextMenu.js | 3 + .../_applicationCommands/contextMenu.js.map | 1 + .../_applicationCommands/internals.d.ts | 8 + .../_applicationCommands/internals.d.ts.map | 1 + .../_applicationCommands/internals.js | 3 + .../_applicationCommands/internals.js.map | 1 + .../_applicationCommands/permissions.d.ts | 47 + .../_applicationCommands/permissions.d.ts.map | 1 + .../_applicationCommands/permissions.js | 12 + .../_applicationCommands/permissions.js.map | 1 + .../v8/_interactions/applicationCommands.d.ts | 94 + .../applicationCommands.d.ts.map | 1 + .../v8/_interactions/applicationCommands.js | 26 + .../_interactions/applicationCommands.js.map | 1 + .../v8/_interactions/autocomplete.d.ts | 11 + .../v8/_interactions/autocomplete.d.ts.map | 1 + .../payloads/v8/_interactions/autocomplete.js | 3 + .../v8/_interactions/autocomplete.js.map | 1 + .../payloads/v8/_interactions/base.d.ts | 101 + .../payloads/v8/_interactions/base.d.ts.map | 1 + .../payloads/v8/_interactions/base.js | 3 + .../payloads/v8/_interactions/base.js.map | 1 + .../v8/_interactions/messageComponents.d.ts | 22 + .../_interactions/messageComponents.d.ts.map | 1 + .../v8/_interactions/messageComponents.js | 3 + .../v8/_interactions/messageComponents.js.map | 1 + .../v8/_interactions/modalSubmit.d.ts | 33 + .../v8/_interactions/modalSubmit.d.ts.map | 1 + .../payloads/v8/_interactions/modalSubmit.js | 3 + .../v8/_interactions/modalSubmit.js.map | 1 + .../payloads/v8/_interactions/ping.d.ts | 4 + .../payloads/v8/_interactions/ping.d.ts.map | 1 + .../payloads/v8/_interactions/ping.js | 3 + .../payloads/v8/_interactions/ping.js.map | 1 + .../payloads/v8/_interactions/responses.d.ts | 104 + .../v8/_interactions/responses.d.ts.map | 1 + .../payloads/v8/_interactions/responses.js | 49 + .../v8/_interactions/responses.js.map | 1 + .../payloads/v8/application.d.ts | 111 + .../payloads/v8/application.d.ts.map | 1 + .../payloads/v8/application.js | 26 + .../payloads/v8/application.js.map | 1 + .../payloads/v8/auditLog.d.ts | 496 + .../payloads/v8/auditLog.d.ts.map | 1 + .../discord-api-types/payloads/v8/auditLog.js | 62 + .../payloads/v8/auditLog.js.map | 1 + .../payloads/v8/channel.d.ts | 1131 +++ .../payloads/v8/channel.d.ts.map | 1 + .../discord-api-types/payloads/v8/channel.js | 230 + .../payloads/v8/channel.js.map | 1 + .../discord-api-types/payloads/v8/emoji.d.ts | 49 + .../payloads/v8/emoji.d.ts.map | 1 + .../discord-api-types/payloads/v8/emoji.js | 6 + .../payloads/v8/emoji.js.map | 1 + .../payloads/v8/gateway.d.ts | 297 + .../payloads/v8/gateway.d.ts.map | 1 + .../discord-api-types/payloads/v8/gateway.js | 69 + .../payloads/v8/gateway.js.map | 1 + .../discord-api-types/payloads/v8/guild.d.ts | 930 ++ .../payloads/v8/guild.d.ts.map | 1 + .../discord-api-types/payloads/v8/guild.js | 237 + .../payloads/v8/guild.js.map | 1 + .../payloads/v8/guildScheduledEvent.d.ts | 139 + .../payloads/v8/guildScheduledEvent.d.ts.map | 1 + .../payloads/v8/guildScheduledEvent.js | 33 + .../payloads/v8/guildScheduledEvent.js.map | 1 + .../discord-api-types/payloads/v8/index.d.ts | 19 + .../payloads/v8/index.d.ts.map | 1 + .../discord-api-types/payloads/v8/index.js | 31 + .../payloads/v8/index.js.map | 1 + .../discord-api-types/payloads/v8/index.mjs | 51 + .../payloads/v8/interactions.d.ts | 25 + .../payloads/v8/interactions.d.ts.map | 1 + .../payloads/v8/interactions.js | 20 + .../payloads/v8/interactions.js.map | 1 + .../discord-api-types/payloads/v8/invite.d.ts | 107 + .../payloads/v8/invite.d.ts.map | 1 + .../discord-api-types/payloads/v8/invite.js | 15 + .../payloads/v8/invite.js.map | 1 + .../discord-api-types/payloads/v8/oauth2.d.ts | 114 + .../payloads/v8/oauth2.d.ts.map | 1 + .../discord-api-types/payloads/v8/oauth2.js | 118 + .../payloads/v8/oauth2.js.map | 1 + .../payloads/v8/permissions.d.ts | 119 + .../payloads/v8/permissions.d.ts.map | 1 + .../payloads/v8/permissions.js | 58 + .../payloads/v8/permissions.js.map | 1 + .../payloads/v8/stageInstance.d.ts | 70 + .../payloads/v8/stageInstance.d.ts.map | 1 + .../payloads/v8/stageInstance.js | 18 + .../payloads/v8/stageInstance.js.map | 1 + .../payloads/v8/sticker.d.ts | 122 + .../payloads/v8/sticker.d.ts.map | 1 + .../discord-api-types/payloads/v8/sticker.js | 30 + .../payloads/v8/sticker.js.map | 1 + .../discord-api-types/payloads/v8/teams.d.ts | 63 + .../payloads/v8/teams.d.ts.map | 1 + .../discord-api-types/payloads/v8/teams.js | 15 + .../payloads/v8/teams.js.map | 1 + .../payloads/v8/template.d.ts | 63 + .../payloads/v8/template.d.ts.map | 1 + .../discord-api-types/payloads/v8/template.js | 6 + .../payloads/v8/template.js.map | 1 + .../discord-api-types/payloads/v8/user.d.ts | 209 + .../payloads/v8/user.d.ts.map | 1 + .../discord-api-types/payloads/v8/user.js | 93 + .../discord-api-types/payloads/v8/user.js.map | 1 + .../discord-api-types/payloads/v8/voice.d.ts | 90 + .../payloads/v8/voice.d.ts.map | 1 + .../discord-api-types/payloads/v8/voice.js | 6 + .../payloads/v8/voice.js.map | 1 + .../payloads/v8/webhook.d.ts | 77 + .../payloads/v8/webhook.d.ts.map | 1 + .../discord-api-types/payloads/v8/webhook.js | 22 + .../payloads/v8/webhook.js.map | 1 + .../_chatInput/attachment.d.ts | 6 + .../_chatInput/attachment.d.ts.map | 1 + .../_chatInput/attachment.js | 3 + .../_chatInput/attachment.js.map | 1 + .../_applicationCommands/_chatInput/base.d.ts | 19 + .../_chatInput/base.d.ts.map | 1 + .../_applicationCommands/_chatInput/base.js | 3 + .../_chatInput/base.js.map | 1 + .../_chatInput/boolean.d.ts | 5 + .../_chatInput/boolean.d.ts.map | 1 + .../_chatInput/boolean.js | 3 + .../_chatInput/boolean.js.map | 1 + .../_chatInput/channel.d.ts | 9 + .../_chatInput/channel.d.ts.map | 1 + .../_chatInput/channel.js | 3 + .../_chatInput/channel.js.map | 1 + .../_chatInput/integer.d.ts | 18 + .../_chatInput/integer.d.ts.map | 1 + .../_chatInput/integer.js | 3 + .../_chatInput/integer.js.map | 1 + .../_chatInput/mentionable.d.ts | 6 + .../_chatInput/mentionable.d.ts.map | 1 + .../_chatInput/mentionable.js | 3 + .../_chatInput/mentionable.js.map | 1 + .../_chatInput/number.d.ts | 18 + .../_chatInput/number.d.ts.map | 1 + .../_applicationCommands/_chatInput/number.js | 3 + .../_chatInput/number.js.map | 1 + .../_applicationCommands/_chatInput/role.d.ts | 6 + .../_chatInput/role.d.ts.map | 1 + .../_applicationCommands/_chatInput/role.js | 3 + .../_chatInput/role.js.map | 1 + .../_chatInput/shared.d.ts | 24 + .../_chatInput/shared.d.ts.map | 1 + .../_applicationCommands/_chatInput/shared.js | 21 + .../_chatInput/shared.js.map | 1 + .../_chatInput/string.d.ts | 7 + .../_chatInput/string.d.ts.map | 1 + .../_applicationCommands/_chatInput/string.js | 3 + .../_chatInput/string.js.map | 1 + .../_chatInput/subcommand.d.ts | 12 + .../_chatInput/subcommand.d.ts.map | 1 + .../_chatInput/subcommand.js | 3 + .../_chatInput/subcommand.js.map | 1 + .../_chatInput/subcommandGroup.d.ts | 12 + .../_chatInput/subcommandGroup.d.ts.map | 1 + .../_chatInput/subcommandGroup.js | 3 + .../_chatInput/subcommandGroup.js.map | 1 + .../_applicationCommands/_chatInput/user.d.ts | 6 + .../_chatInput/user.d.ts.map | 1 + .../_applicationCommands/_chatInput/user.js | 3 + .../_chatInput/user.js.map | 1 + .../_applicationCommands/chatInput.d.ts | 71 + .../_applicationCommands/chatInput.d.ts.map | 1 + .../_applicationCommands/chatInput.js | 25 + .../_applicationCommands/chatInput.js.map | 1 + .../_applicationCommands/contextMenu.d.ts | 74 + .../_applicationCommands/contextMenu.d.ts.map | 1 + .../_applicationCommands/contextMenu.js | 3 + .../_applicationCommands/contextMenu.js.map | 1 + .../_applicationCommands/internals.d.ts | 8 + .../_applicationCommands/internals.d.ts.map | 1 + .../_applicationCommands/internals.js | 3 + .../_applicationCommands/internals.js.map | 1 + .../_applicationCommands/permissions.d.ts | 47 + .../_applicationCommands/permissions.d.ts.map | 1 + .../_applicationCommands/permissions.js | 12 + .../_applicationCommands/permissions.js.map | 1 + .../v9/_interactions/applicationCommands.d.ts | 96 + .../applicationCommands.d.ts.map | 1 + .../v9/_interactions/applicationCommands.js | 26 + .../_interactions/applicationCommands.js.map | 1 + .../v9/_interactions/autocomplete.d.ts | 11 + .../v9/_interactions/autocomplete.d.ts.map | 1 + .../payloads/v9/_interactions/autocomplete.js | 3 + .../v9/_interactions/autocomplete.js.map | 1 + .../payloads/v9/_interactions/base.d.ts | 101 + .../payloads/v9/_interactions/base.d.ts.map | 1 + .../payloads/v9/_interactions/base.js | 3 + .../payloads/v9/_interactions/base.js.map | 1 + .../v9/_interactions/messageComponents.d.ts | 22 + .../_interactions/messageComponents.d.ts.map | 1 + .../v9/_interactions/messageComponents.js | 3 + .../v9/_interactions/messageComponents.js.map | 1 + .../v9/_interactions/modalSubmit.d.ts | 33 + .../v9/_interactions/modalSubmit.d.ts.map | 1 + .../payloads/v9/_interactions/modalSubmit.js | 3 + .../v9/_interactions/modalSubmit.js.map | 1 + .../payloads/v9/_interactions/ping.d.ts | 4 + .../payloads/v9/_interactions/ping.d.ts.map | 1 + .../payloads/v9/_interactions/ping.js | 3 + .../payloads/v9/_interactions/ping.js.map | 1 + .../payloads/v9/_interactions/responses.d.ts | 104 + .../v9/_interactions/responses.d.ts.map | 1 + .../payloads/v9/_interactions/responses.js | 49 + .../v9/_interactions/responses.js.map | 1 + .../payloads/v9/application.d.ts | 111 + .../payloads/v9/application.d.ts.map | 1 + .../payloads/v9/application.js | 26 + .../payloads/v9/application.js.map | 1 + .../payloads/v9/auditLog.d.ts | 511 + .../payloads/v9/auditLog.d.ts.map | 1 + .../discord-api-types/payloads/v9/auditLog.js | 65 + .../payloads/v9/auditLog.js.map | 1 + .../payloads/v9/channel.d.ts | 1284 +++ .../payloads/v9/channel.d.ts.map | 1 + .../discord-api-types/payloads/v9/channel.js | 262 + .../payloads/v9/channel.js.map | 1 + .../discord-api-types/payloads/v9/emoji.d.ts | 49 + .../payloads/v9/emoji.d.ts.map | 1 + .../discord-api-types/payloads/v9/emoji.js | 6 + .../payloads/v9/emoji.js.map | 1 + .../payloads/v9/gateway.d.ts | 344 + .../payloads/v9/gateway.d.ts.map | 1 + .../discord-api-types/payloads/v9/gateway.js | 69 + .../payloads/v9/gateway.js.map | 1 + .../discord-api-types/payloads/v9/guild.d.ts | 938 ++ .../payloads/v9/guild.d.ts.map | 1 + .../discord-api-types/payloads/v9/guild.js | 237 + .../payloads/v9/guild.js.map | 1 + .../payloads/v9/guildScheduledEvent.d.ts | 139 + .../payloads/v9/guildScheduledEvent.d.ts.map | 1 + .../payloads/v9/guildScheduledEvent.js | 33 + .../payloads/v9/guildScheduledEvent.js.map | 1 + .../discord-api-types/payloads/v9/index.d.ts | 19 + .../payloads/v9/index.d.ts.map | 1 + .../discord-api-types/payloads/v9/index.js | 31 + .../payloads/v9/index.js.map | 1 + .../discord-api-types/payloads/v9/index.mjs | 53 + .../payloads/v9/interactions.d.ts | 25 + .../payloads/v9/interactions.d.ts.map | 1 + .../payloads/v9/interactions.js | 20 + .../payloads/v9/interactions.js.map | 1 + .../discord-api-types/payloads/v9/invite.d.ts | 107 + .../payloads/v9/invite.d.ts.map | 1 + .../discord-api-types/payloads/v9/invite.js | 15 + .../payloads/v9/invite.js.map | 1 + .../discord-api-types/payloads/v9/oauth2.d.ts | 114 + .../payloads/v9/oauth2.d.ts.map | 1 + .../discord-api-types/payloads/v9/oauth2.js | 118 + .../payloads/v9/oauth2.js.map | 1 + .../payloads/v9/permissions.d.ts | 123 + .../payloads/v9/permissions.d.ts.map | 1 + .../payloads/v9/permissions.js | 62 + .../payloads/v9/permissions.js.map | 1 + .../payloads/v9/stageInstance.d.ts | 70 + .../payloads/v9/stageInstance.d.ts.map | 1 + .../payloads/v9/stageInstance.js | 18 + .../payloads/v9/stageInstance.js.map | 1 + .../payloads/v9/sticker.d.ts | 122 + .../payloads/v9/sticker.d.ts.map | 1 + .../discord-api-types/payloads/v9/sticker.js | 30 + .../payloads/v9/sticker.js.map | 1 + .../discord-api-types/payloads/v9/teams.d.ts | 63 + .../payloads/v9/teams.d.ts.map | 1 + .../discord-api-types/payloads/v9/teams.js | 15 + .../payloads/v9/teams.js.map | 1 + .../payloads/v9/template.d.ts | 63 + .../payloads/v9/template.d.ts.map | 1 + .../discord-api-types/payloads/v9/template.js | 6 + .../payloads/v9/template.js.map | 1 + .../discord-api-types/payloads/v9/user.d.ts | 209 + .../payloads/v9/user.d.ts.map | 1 + .../discord-api-types/payloads/v9/user.js | 93 + .../discord-api-types/payloads/v9/user.js.map | 1 + .../discord-api-types/payloads/v9/voice.d.ts | 90 + .../payloads/v9/voice.d.ts.map | 1 + .../discord-api-types/payloads/v9/voice.js | 6 + .../payloads/v9/voice.js.map | 1 + .../payloads/v9/webhook.d.ts | 77 + .../payloads/v9/webhook.d.ts.map | 1 + .../discord-api-types/payloads/v9/webhook.js | 22 + .../payloads/v9/webhook.js.map | 1 + .../discord-api-types/rest/common.d.ts | 190 + .../discord-api-types/rest/common.d.ts.map | 1 + node_modules/discord-api-types/rest/common.js | 194 + .../discord-api-types/rest/common.js.map | 1 + .../discord-api-types/rest/index.d.ts | 2 + .../discord-api-types/rest/index.d.ts.map | 1 + node_modules/discord-api-types/rest/index.js | 16 + .../discord-api-types/rest/index.js.map | 1 + node_modules/discord-api-types/rest/index.mjs | 9 + .../discord-api-types/rest/v6/auditLog.d.ts | 16 + .../rest/v6/auditLog.d.ts.map | 1 + .../discord-api-types/rest/v6/auditLog.js | 3 + .../discord-api-types/rest/v6/auditLog.js.map | 1 + .../discord-api-types/rest/v6/channel.d.ts | 252 + .../rest/v6/channel.d.ts.map | 1 + .../discord-api-types/rest/v6/channel.js | 14 + .../discord-api-types/rest/v6/channel.js.map | 1 + .../discord-api-types/rest/v6/emoji.d.ts | 45 + .../discord-api-types/rest/v6/emoji.d.ts.map | 1 + .../discord-api-types/rest/v6/emoji.js | 3 + .../discord-api-types/rest/v6/emoji.js.map | 1 + .../discord-api-types/rest/v6/gateway.d.ts | 12 + .../rest/v6/gateway.d.ts.map | 1 + .../discord-api-types/rest/v6/gateway.js | 3 + .../discord-api-types/rest/v6/gateway.js.map | 1 + .../discord-api-types/rest/v6/guild.d.ts | 426 + .../discord-api-types/rest/v6/guild.d.ts.map | 1 + .../discord-api-types/rest/v6/guild.js | 3 + .../discord-api-types/rest/v6/guild.js.map | 1 + .../discord-api-types/rest/v6/index.d.ts | 348 + .../discord-api-types/rest/v6/index.d.ts.map | 1 + .../discord-api-types/rest/v6/index.js | 476 + .../discord-api-types/rest/v6/index.js.map | 1 + .../discord-api-types/rest/v6/index.mjs | 8 + .../discord-api-types/rest/v6/invite.d.ts | 18 + .../discord-api-types/rest/v6/invite.d.ts.map | 1 + .../discord-api-types/rest/v6/invite.js | 3 + .../discord-api-types/rest/v6/invite.js.map | 1 + .../discord-api-types/rest/v6/oauth2.d.ts | 164 + .../discord-api-types/rest/v6/oauth2.d.ts.map | 1 + .../discord-api-types/rest/v6/oauth2.js | 3 + .../discord-api-types/rest/v6/oauth2.js.map | 1 + .../discord-api-types/rest/v6/user.d.ts | 73 + .../discord-api-types/rest/v6/user.d.ts.map | 1 + .../discord-api-types/rest/v6/user.js | 3 + .../discord-api-types/rest/v6/user.js.map | 1 + .../discord-api-types/rest/v6/voice.d.ts | 7 + .../discord-api-types/rest/v6/voice.d.ts.map | 1 + .../discord-api-types/rest/v6/voice.js | 3 + .../discord-api-types/rest/v6/voice.js.map | 1 + .../discord-api-types/rest/v6/webhook.d.ts | 126 + .../rest/v6/webhook.d.ts.map | 1 + .../discord-api-types/rest/v6/webhook.js | 3 + .../discord-api-types/rest/v6/webhook.js.map | 1 + .../discord-api-types/rest/v8/auditLog.d.ts | 27 + .../rest/v8/auditLog.d.ts.map | 1 + .../discord-api-types/rest/v8/auditLog.js | 3 + .../discord-api-types/rest/v8/auditLog.js.map | 1 + .../discord-api-types/rest/v8/channel.d.ts | 476 + .../rest/v8/channel.d.ts.map | 1 + .../discord-api-types/rest/v8/channel.js | 3 + .../discord-api-types/rest/v8/channel.js.map | 1 + .../discord-api-types/rest/v8/emoji.d.ts | 56 + .../discord-api-types/rest/v8/emoji.d.ts.map | 1 + .../discord-api-types/rest/v8/emoji.js | 3 + .../discord-api-types/rest/v8/emoji.js.map | 1 + .../discord-api-types/rest/v8/gateway.d.ts | 10 + .../rest/v8/gateway.d.ts.map | 1 + .../discord-api-types/rest/v8/gateway.js | 3 + .../discord-api-types/rest/v8/gateway.js.map | 1 + .../discord-api-types/rest/v8/guild.d.ts | 735 ++ .../discord-api-types/rest/v8/guild.d.ts.map | 1 + .../discord-api-types/rest/v8/guild.js | 3 + .../discord-api-types/rest/v8/guild.js.map | 1 + .../rest/v8/guildScheduledEvent.d.ts | 119 + .../rest/v8/guildScheduledEvent.d.ts.map | 1 + .../rest/v8/guildScheduledEvent.js | 3 + .../rest/v8/guildScheduledEvent.js.map | 1 + .../discord-api-types/rest/v8/index.d.ts | 540 ++ .../discord-api-types/rest/v8/index.d.ts.map | 1 + .../discord-api-types/rest/v8/index.js | 725 ++ .../discord-api-types/rest/v8/index.js.map | 1 + .../discord-api-types/rest/v8/index.mjs | 9 + .../rest/v8/interactions.d.ts | 179 + .../rest/v8/interactions.d.ts.map | 1 + .../discord-api-types/rest/v8/interactions.js | 3 + .../rest/v8/interactions.js.map | 1 + .../discord-api-types/rest/v8/invite.d.ts | 25 + .../discord-api-types/rest/v8/invite.d.ts.map | 1 + .../discord-api-types/rest/v8/invite.js | 3 + .../discord-api-types/rest/v8/invite.js.map | 1 + .../discord-api-types/rest/v8/oauth2.d.ts | 173 + .../discord-api-types/rest/v8/oauth2.d.ts.map | 1 + .../discord-api-types/rest/v8/oauth2.js | 3 + .../discord-api-types/rest/v8/oauth2.js.map | 1 + .../rest/v8/stageInstance.d.ts | 52 + .../rest/v8/stageInstance.d.ts.map | 1 + .../rest/v8/stageInstance.js | 3 + .../rest/v8/stageInstance.js.map | 1 + .../discord-api-types/rest/v8/sticker.d.ts | 44 + .../rest/v8/sticker.d.ts.map | 1 + .../discord-api-types/rest/v8/sticker.js | 3 + .../discord-api-types/rest/v8/sticker.js.map | 1 + .../discord-api-types/rest/v8/template.d.ts | 63 + .../rest/v8/template.d.ts.map | 1 + .../discord-api-types/rest/v8/template.js | 3 + .../discord-api-types/rest/v8/template.js.map | 1 + .../discord-api-types/rest/v8/user.d.ts | 85 + .../discord-api-types/rest/v8/user.d.ts.map | 1 + .../discord-api-types/rest/v8/user.js | 3 + .../discord-api-types/rest/v8/user.js.map | 1 + .../discord-api-types/rest/v8/voice.d.ts | 6 + .../discord-api-types/rest/v8/voice.d.ts.map | 1 + .../discord-api-types/rest/v8/voice.js | 3 + .../discord-api-types/rest/v8/voice.js.map | 1 + .../discord-api-types/rest/v8/webhook.d.ts | 227 + .../rest/v8/webhook.d.ts.map | 1 + .../discord-api-types/rest/v8/webhook.js | 3 + .../discord-api-types/rest/v8/webhook.js.map | 1 + .../discord-api-types/rest/v9/auditLog.d.ts | 27 + .../rest/v9/auditLog.d.ts.map | 1 + .../discord-api-types/rest/v9/auditLog.js | 3 + .../discord-api-types/rest/v9/auditLog.js.map | 1 + .../discord-api-types/rest/v9/channel.d.ts | 585 ++ .../rest/v9/channel.d.ts.map | 1 + .../discord-api-types/rest/v9/channel.js | 3 + .../discord-api-types/rest/v9/channel.js.map | 1 + .../discord-api-types/rest/v9/emoji.d.ts | 56 + .../discord-api-types/rest/v9/emoji.d.ts.map | 1 + .../discord-api-types/rest/v9/emoji.js | 3 + .../discord-api-types/rest/v9/emoji.js.map | 1 + .../discord-api-types/rest/v9/gateway.d.ts | 10 + .../rest/v9/gateway.d.ts.map | 1 + .../discord-api-types/rest/v9/gateway.js | 3 + .../discord-api-types/rest/v9/gateway.js.map | 1 + .../discord-api-types/rest/v9/guild.d.ts | 739 ++ .../discord-api-types/rest/v9/guild.d.ts.map | 1 + .../discord-api-types/rest/v9/guild.js | 3 + .../discord-api-types/rest/v9/guild.js.map | 1 + .../rest/v9/guildScheduledEvent.d.ts | 119 + .../rest/v9/guildScheduledEvent.d.ts.map | 1 + .../rest/v9/guildScheduledEvent.js | 3 + .../rest/v9/guildScheduledEvent.js.map | 1 + .../discord-api-types/rest/v9/index.d.ts | 575 ++ .../discord-api-types/rest/v9/index.d.ts.map | 1 + .../discord-api-types/rest/v9/index.js | 782 ++ .../discord-api-types/rest/v9/index.js.map | 1 + .../discord-api-types/rest/v9/index.mjs | 9 + .../rest/v9/interactions.d.ts | 179 + .../rest/v9/interactions.d.ts.map | 1 + .../discord-api-types/rest/v9/interactions.js | 3 + .../rest/v9/interactions.js.map | 1 + .../discord-api-types/rest/v9/invite.d.ts | 25 + .../discord-api-types/rest/v9/invite.d.ts.map | 1 + .../discord-api-types/rest/v9/invite.js | 3 + .../discord-api-types/rest/v9/invite.js.map | 1 + .../discord-api-types/rest/v9/oauth2.d.ts | 173 + .../discord-api-types/rest/v9/oauth2.d.ts.map | 1 + .../discord-api-types/rest/v9/oauth2.js | 3 + .../discord-api-types/rest/v9/oauth2.js.map | 1 + .../rest/v9/stageInstance.d.ts | 52 + .../rest/v9/stageInstance.d.ts.map | 1 + .../rest/v9/stageInstance.js | 3 + .../rest/v9/stageInstance.js.map | 1 + .../discord-api-types/rest/v9/sticker.d.ts | 44 + .../rest/v9/sticker.d.ts.map | 1 + .../discord-api-types/rest/v9/sticker.js | 3 + .../discord-api-types/rest/v9/sticker.js.map | 1 + .../discord-api-types/rest/v9/template.d.ts | 63 + .../rest/v9/template.d.ts.map | 1 + .../discord-api-types/rest/v9/template.js | 3 + .../discord-api-types/rest/v9/template.js.map | 1 + .../discord-api-types/rest/v9/user.d.ts | 85 + .../discord-api-types/rest/v9/user.d.ts.map | 1 + .../discord-api-types/rest/v9/user.js | 3 + .../discord-api-types/rest/v9/user.js.map | 1 + .../discord-api-types/rest/v9/voice.d.ts | 6 + .../discord-api-types/rest/v9/voice.d.ts.map | 1 + .../discord-api-types/rest/v9/voice.js | 3 + .../discord-api-types/rest/v9/voice.js.map | 1 + .../discord-api-types/rest/v9/webhook.d.ts | 227 + .../rest/v9/webhook.d.ts.map | 1 + .../discord-api-types/rest/v9/webhook.js | 3 + .../discord-api-types/rest/v9/webhook.js.map | 1 + node_modules/discord-api-types/rpc/index.d.ts | 2 + .../discord-api-types/rpc/index.d.ts.map | 1 + node_modules/discord-api-types/rpc/index.js | 16 + .../discord-api-types/rpc/index.js.map | 1 + node_modules/discord-api-types/rpc/index.mjs | 5 + node_modules/discord-api-types/rpc/v8.d.ts | 33 + .../discord-api-types/rpc/v8.d.ts.map | 1 + node_modules/discord-api-types/rpc/v8.js | 38 + node_modules/discord-api-types/rpc/v8.js.map | 1 + node_modules/discord-api-types/rpc/v8.mjs | 5 + node_modules/discord-api-types/rpc/v9.d.ts | 33 + .../discord-api-types/rpc/v9.d.ts.map | 1 + node_modules/discord-api-types/rpc/v9.js | 38 + node_modules/discord-api-types/rpc/v9.js.map | 1 + node_modules/discord-api-types/rpc/v9.mjs | 5 + .../discord-api-types/utils/index.d.ts | 2 + .../discord-api-types/utils/index.d.ts.map | 1 + node_modules/discord-api-types/utils/index.js | 16 + .../discord-api-types/utils/index.js.map | 1 + .../discord-api-types/utils/index.mjs | 11 + .../discord-api-types/utils/internals.d.ts | 16 + .../utils/internals.d.ts.map | 1 + .../discord-api-types/utils/internals.js | 3 + .../discord-api-types/utils/internals.js.map | 1 + node_modules/discord-api-types/utils/v8.d.ts | 50 + .../discord-api-types/utils/v8.d.ts.map | 1 + node_modules/discord-api-types/utils/v8.js | 81 + .../discord-api-types/utils/v8.js.map | 1 + node_modules/discord-api-types/utils/v8.mjs | 11 + node_modules/discord-api-types/utils/v9.d.ts | 50 + .../discord-api-types/utils/v9.d.ts.map | 1 + node_modules/discord-api-types/utils/v9.js | 81 + .../discord-api-types/utils/v9.js.map | 1 + node_modules/discord-api-types/utils/v9.mjs | 11 + node_modules/discord-api-types/v6.d.ts | 5 + node_modules/discord-api-types/v6.d.ts.map | 1 + node_modules/discord-api-types/v6.js | 17 + node_modules/discord-api-types/v6.js.map | 1 + node_modules/discord-api-types/v6.mjs | 43 + node_modules/discord-api-types/v8.d.ts | 7 + node_modules/discord-api-types/v8.d.ts.map | 1 + node_modules/discord-api-types/v8.js | 20 + node_modules/discord-api-types/v8.js.map | 1 + node_modules/discord-api-types/v8.mjs | 66 + node_modules/discord-api-types/v9.d.ts | 7 + node_modules/discord-api-types/v9.d.ts.map | 1 + node_modules/discord-api-types/v9.js | 20 + node_modules/discord-api-types/v9.js.map | 1 + node_modules/discord-api-types/v9.mjs | 68 + .../discord-api-types/voice/index.d.ts | 2 + .../discord-api-types/voice/index.d.ts.map | 1 + node_modules/discord-api-types/voice/index.js | 16 + .../discord-api-types/voice/index.js.map | 1 + .../discord-api-types/voice/index.mjs | 6 + node_modules/discord-api-types/voice/v4.d.ts | 108 + .../discord-api-types/voice/v4.d.ts.map | 1 + node_modules/discord-api-types/voice/v4.js | 113 + .../discord-api-types/voice/v4.js.map | 1 + node_modules/discord-api-types/voice/v4.mjs | 6 + node_modules/discord.js/LICENSE | 191 + node_modules/discord.js/README.md | 125 + .../node_modules/discord-api-types/LICENSE | 21 + .../node_modules/discord-api-types/README.md | 97 + .../discord-api-types/gateway/common.d.ts | 9 + .../discord-api-types/gateway/common.d.ts.map | 1 + .../discord-api-types/gateway/common.js | 3 + .../discord-api-types/gateway/common.js.map | 1 + .../discord-api-types/gateway/index.d.ts | 2 + .../discord-api-types/gateway/index.d.ts.map | 1 + .../discord-api-types/gateway/index.js | 16 + .../discord-api-types/gateway/index.js.map | 1 + .../discord-api-types/gateway/index.mjs | 8 + .../discord-api-types/gateway/v6.d.ts | 608 ++ .../discord-api-types/gateway/v6.d.ts.map | 1 + .../discord-api-types/gateway/v6.js | 163 + .../discord-api-types/gateway/v6.js.map | 1 + .../discord-api-types/gateway/v6.mjs | 10 + .../discord-api-types/gateway/v8.d.ts | 1290 +++ .../discord-api-types/gateway/v8.d.ts.map | 1 + .../discord-api-types/gateway/v8.js | 231 + .../discord-api-types/gateway/v8.js.map | 1 + .../discord-api-types/gateway/v8.mjs | 8 + .../discord-api-types/gateway/v9.d.ts | 1352 +++ .../discord-api-types/gateway/v9.d.ts.map | 1 + .../discord-api-types/gateway/v9.js | 237 + .../discord-api-types/gateway/v9.js.map | 1 + .../discord-api-types/gateway/v9.mjs | 8 + .../discord-api-types/globals.d.ts | 81 + .../discord-api-types/globals.d.ts.map | 1 + .../node_modules/discord-api-types/globals.js | 80 + .../discord-api-types/globals.js.map | 1 + .../discord-api-types/globals.mjs | 4 + .../discord-api-types/package.json | 210 + .../discord-api-types/payloads/index.d.ts | 2 + .../discord-api-types/payloads/index.d.ts.map | 1 + .../discord-api-types/payloads/index.js | 16 + .../discord-api-types/payloads/index.js.map | 1 + .../discord-api-types/payloads/index.mjs | 52 + .../payloads/v6/auditLog.d.ts | 414 + .../payloads/v6/auditLog.d.ts.map | 1 + .../discord-api-types/payloads/v6/auditLog.js | 57 + .../payloads/v6/auditLog.js.map | 1 + .../payloads/v6/channel.d.ts | 320 + .../payloads/v6/channel.d.ts.map | 1 + .../discord-api-types/payloads/v6/channel.js | 90 + .../payloads/v6/channel.js.map | 1 + .../discord-api-types/payloads/v6/emoji.d.ts | 25 + .../payloads/v6/emoji.d.ts.map | 1 + .../discord-api-types/payloads/v6/emoji.js | 6 + .../payloads/v6/emoji.js.map | 1 + .../payloads/v6/gateway.d.ts | 136 + .../payloads/v6/gateway.d.ts.map | 1 + .../discord-api-types/payloads/v6/gateway.js | 43 + .../payloads/v6/gateway.js.map | 1 + .../discord-api-types/payloads/v6/guild.d.ts | 293 + .../payloads/v6/guild.d.ts.map | 1 + .../discord-api-types/payloads/v6/guild.js | 109 + .../payloads/v6/guild.js.map | 1 + .../discord-api-types/payloads/v6/index.d.ts | 13 + .../payloads/v6/index.d.ts.map | 1 + .../discord-api-types/payloads/v6/index.js | 25 + .../payloads/v6/index.js.map | 1 + .../discord-api-types/payloads/v6/index.mjs | 30 + .../discord-api-types/payloads/v6/invite.d.ts | 39 + .../payloads/v6/invite.d.ts.map | 1 + .../discord-api-types/payloads/v6/invite.js | 15 + .../payloads/v6/invite.js.map | 1 + .../discord-api-types/payloads/v6/oauth2.d.ts | 27 + .../payloads/v6/oauth2.d.ts.map | 1 + .../discord-api-types/payloads/v6/oauth2.js | 6 + .../payloads/v6/oauth2.js.map | 1 + .../payloads/v6/permissions.d.ts | 73 + .../payloads/v6/permissions.d.ts.map | 1 + .../payloads/v6/permissions.js | 54 + .../payloads/v6/permissions.js.map | 1 + .../discord-api-types/payloads/v6/teams.d.ts | 33 + .../payloads/v6/teams.d.ts.map | 1 + .../discord-api-types/payloads/v6/teams.js | 16 + .../payloads/v6/teams.js.map | 1 + .../discord-api-types/payloads/v6/user.d.ts | 75 + .../payloads/v6/user.d.ts.map | 1 + .../discord-api-types/payloads/v6/user.js | 46 + .../discord-api-types/payloads/v6/user.js.map | 1 + .../discord-api-types/payloads/v6/voice.d.ts | 35 + .../payloads/v6/voice.d.ts.map | 1 + .../discord-api-types/payloads/v6/voice.js | 6 + .../payloads/v6/voice.js.map | 1 + .../payloads/v6/webhook.d.ts | 31 + .../payloads/v6/webhook.d.ts.map | 1 + .../discord-api-types/payloads/v6/webhook.js | 15 + .../payloads/v6/webhook.js.map | 1 + .../_applicationCommands/_chatInput/base.d.ts | 19 + .../_chatInput/base.d.ts.map | 1 + .../_applicationCommands/_chatInput/base.js | 3 + .../_chatInput/base.js.map | 1 + .../_chatInput/boolean.d.ts | 5 + .../_chatInput/boolean.d.ts.map | 1 + .../_chatInput/boolean.js | 3 + .../_chatInput/boolean.js.map | 1 + .../_chatInput/channel.d.ts | 9 + .../_chatInput/channel.d.ts.map | 1 + .../_chatInput/channel.js | 3 + .../_chatInput/channel.js.map | 1 + .../_chatInput/integer.d.ts | 18 + .../_chatInput/integer.d.ts.map | 1 + .../_chatInput/integer.js | 3 + .../_chatInput/integer.js.map | 1 + .../_chatInput/mentionable.d.ts | 6 + .../_chatInput/mentionable.d.ts.map | 1 + .../_chatInput/mentionable.js | 3 + .../_chatInput/mentionable.js.map | 1 + .../_chatInput/number.d.ts | 18 + .../_chatInput/number.d.ts.map | 1 + .../_applicationCommands/_chatInput/number.js | 3 + .../_chatInput/number.js.map | 1 + .../_applicationCommands/_chatInput/role.d.ts | 6 + .../_chatInput/role.d.ts.map | 1 + .../_applicationCommands/_chatInput/role.js | 3 + .../_chatInput/role.js.map | 1 + .../_chatInput/shared.d.ts | 23 + .../_chatInput/shared.d.ts.map | 1 + .../_applicationCommands/_chatInput/shared.js | 20 + .../_chatInput/shared.js.map | 1 + .../_chatInput/string.d.ts | 7 + .../_chatInput/string.d.ts.map | 1 + .../_applicationCommands/_chatInput/string.js | 3 + .../_chatInput/string.js.map | 1 + .../_chatInput/subcommand.d.ts | 12 + .../_chatInput/subcommand.d.ts.map | 1 + .../_chatInput/subcommand.js | 3 + .../_chatInput/subcommand.js.map | 1 + .../_chatInput/subcommandGroup.d.ts | 12 + .../_chatInput/subcommandGroup.d.ts.map | 1 + .../_chatInput/subcommandGroup.js | 3 + .../_chatInput/subcommandGroup.js.map | 1 + .../_applicationCommands/_chatInput/user.d.ts | 6 + .../_chatInput/user.d.ts.map | 1 + .../_applicationCommands/_chatInput/user.js | 3 + .../_chatInput/user.js.map | 1 + .../_applicationCommands/chatInput.d.ts | 68 + .../_applicationCommands/chatInput.d.ts.map | 1 + .../_applicationCommands/chatInput.js | 24 + .../_applicationCommands/chatInput.js.map | 1 + .../_applicationCommands/contextMenu.d.ts | 74 + .../_applicationCommands/contextMenu.d.ts.map | 1 + .../_applicationCommands/contextMenu.js | 3 + .../_applicationCommands/contextMenu.js.map | 1 + .../_applicationCommands/internals.d.ts | 8 + .../_applicationCommands/internals.d.ts.map | 1 + .../_applicationCommands/internals.js | 3 + .../_applicationCommands/internals.js.map | 1 + .../_applicationCommands/permissions.d.ts | 47 + .../_applicationCommands/permissions.d.ts.map | 1 + .../_applicationCommands/permissions.js | 12 + .../_applicationCommands/permissions.js.map | 1 + .../v8/_interactions/applicationCommands.d.ts | 94 + .../applicationCommands.d.ts.map | 1 + .../v8/_interactions/applicationCommands.js | 26 + .../_interactions/applicationCommands.js.map | 1 + .../v8/_interactions/autocomplete.d.ts | 3 + .../v8/_interactions/autocomplete.d.ts.map | 1 + .../payloads/v8/_interactions/autocomplete.js | 3 + .../v8/_interactions/autocomplete.js.map | 1 + .../payloads/v8/_interactions/base.d.ts | 87 + .../payloads/v8/_interactions/base.d.ts.map | 1 + .../payloads/v8/_interactions/base.js | 3 + .../payloads/v8/_interactions/base.js.map | 1 + .../v8/_interactions/messageComponents.d.ts | 22 + .../_interactions/messageComponents.d.ts.map | 1 + .../v8/_interactions/messageComponents.js | 3 + .../v8/_interactions/messageComponents.js.map | 1 + .../payloads/v8/_interactions/ping.d.ts | 4 + .../payloads/v8/_interactions/ping.d.ts.map | 1 + .../payloads/v8/_interactions/ping.js | 3 + .../payloads/v8/_interactions/ping.js.map | 1 + .../payloads/v8/_interactions/responses.d.ts | 77 + .../v8/_interactions/responses.d.ts.map | 1 + .../payloads/v8/_interactions/responses.js | 44 + .../v8/_interactions/responses.js.map | 1 + .../payloads/v8/application.d.ts | 111 + .../payloads/v8/application.d.ts.map | 1 + .../payloads/v8/application.js | 26 + .../payloads/v8/application.js.map | 1 + .../payloads/v8/auditLog.d.ts | 496 + .../payloads/v8/auditLog.d.ts.map | 1 + .../discord-api-types/payloads/v8/auditLog.js | 62 + .../payloads/v8/auditLog.js.map | 1 + .../payloads/v8/channel.d.ts | 1045 ++ .../payloads/v8/channel.d.ts.map | 1 + .../discord-api-types/payloads/v8/channel.js | 218 + .../payloads/v8/channel.js.map | 1 + .../discord-api-types/payloads/v8/emoji.d.ts | 49 + .../payloads/v8/emoji.d.ts.map | 1 + .../discord-api-types/payloads/v8/emoji.js | 6 + .../payloads/v8/emoji.js.map | 1 + .../payloads/v8/gateway.d.ts | 297 + .../payloads/v8/gateway.d.ts.map | 1 + .../discord-api-types/payloads/v8/gateway.js | 69 + .../payloads/v8/gateway.js.map | 1 + .../discord-api-types/payloads/v8/guild.d.ts | 926 ++ .../payloads/v8/guild.d.ts.map | 1 + .../discord-api-types/payloads/v8/guild.js | 237 + .../payloads/v8/guild.js.map | 1 + .../payloads/v8/guildScheduledEvent.d.ts | 135 + .../payloads/v8/guildScheduledEvent.d.ts.map | 1 + .../payloads/v8/guildScheduledEvent.js | 33 + .../payloads/v8/guildScheduledEvent.js.map | 1 + .../discord-api-types/payloads/v8/index.d.ts | 19 + .../payloads/v8/index.d.ts.map | 1 + .../discord-api-types/payloads/v8/index.js | 31 + .../payloads/v8/index.js.map | 1 + .../discord-api-types/payloads/v8/index.mjs | 50 + .../payloads/v8/interactions.d.ts | 22 + .../payloads/v8/interactions.d.ts.map | 1 + .../payloads/v8/interactions.js | 18 + .../payloads/v8/interactions.js.map | 1 + .../discord-api-types/payloads/v8/invite.d.ts | 107 + .../payloads/v8/invite.d.ts.map | 1 + .../discord-api-types/payloads/v8/invite.js | 15 + .../payloads/v8/invite.js.map | 1 + .../discord-api-types/payloads/v8/oauth2.d.ts | 114 + .../payloads/v8/oauth2.d.ts.map | 1 + .../discord-api-types/payloads/v8/oauth2.js | 118 + .../payloads/v8/oauth2.js.map | 1 + .../payloads/v8/permissions.d.ts | 119 + .../payloads/v8/permissions.d.ts.map | 1 + .../payloads/v8/permissions.js | 58 + .../payloads/v8/permissions.js.map | 1 + .../payloads/v8/stageInstance.d.ts | 70 + .../payloads/v8/stageInstance.d.ts.map | 1 + .../payloads/v8/stageInstance.js | 18 + .../payloads/v8/stageInstance.js.map | 1 + .../payloads/v8/sticker.d.ts | 122 + .../payloads/v8/sticker.d.ts.map | 1 + .../discord-api-types/payloads/v8/sticker.js | 30 + .../payloads/v8/sticker.js.map | 1 + .../discord-api-types/payloads/v8/teams.d.ts | 63 + .../payloads/v8/teams.d.ts.map | 1 + .../discord-api-types/payloads/v8/teams.js | 15 + .../payloads/v8/teams.js.map | 1 + .../payloads/v8/template.d.ts | 63 + .../payloads/v8/template.d.ts.map | 1 + .../discord-api-types/payloads/v8/template.js | 6 + .../payloads/v8/template.js.map | 1 + .../discord-api-types/payloads/v8/user.d.ts | 209 + .../payloads/v8/user.d.ts.map | 1 + .../discord-api-types/payloads/v8/user.js | 93 + .../discord-api-types/payloads/v8/user.js.map | 1 + .../discord-api-types/payloads/v8/voice.d.ts | 90 + .../payloads/v8/voice.d.ts.map | 1 + .../discord-api-types/payloads/v8/voice.js | 6 + .../payloads/v8/voice.js.map | 1 + .../payloads/v8/webhook.d.ts | 77 + .../payloads/v8/webhook.d.ts.map | 1 + .../discord-api-types/payloads/v8/webhook.js | 22 + .../payloads/v8/webhook.js.map | 1 + .../_applicationCommands/_chatInput/base.d.ts | 19 + .../_chatInput/base.d.ts.map | 1 + .../_applicationCommands/_chatInput/base.js | 3 + .../_chatInput/base.js.map | 1 + .../_chatInput/boolean.d.ts | 5 + .../_chatInput/boolean.d.ts.map | 1 + .../_chatInput/boolean.js | 3 + .../_chatInput/boolean.js.map | 1 + .../_chatInput/channel.d.ts | 9 + .../_chatInput/channel.d.ts.map | 1 + .../_chatInput/channel.js | 3 + .../_chatInput/channel.js.map | 1 + .../_chatInput/integer.d.ts | 18 + .../_chatInput/integer.d.ts.map | 1 + .../_chatInput/integer.js | 3 + .../_chatInput/integer.js.map | 1 + .../_chatInput/mentionable.d.ts | 6 + .../_chatInput/mentionable.d.ts.map | 1 + .../_chatInput/mentionable.js | 3 + .../_chatInput/mentionable.js.map | 1 + .../_chatInput/number.d.ts | 18 + .../_chatInput/number.d.ts.map | 1 + .../_applicationCommands/_chatInput/number.js | 3 + .../_chatInput/number.js.map | 1 + .../_applicationCommands/_chatInput/role.d.ts | 6 + .../_chatInput/role.d.ts.map | 1 + .../_applicationCommands/_chatInput/role.js | 3 + .../_chatInput/role.js.map | 1 + .../_chatInput/shared.d.ts | 23 + .../_chatInput/shared.d.ts.map | 1 + .../_applicationCommands/_chatInput/shared.js | 20 + .../_chatInput/shared.js.map | 1 + .../_chatInput/string.d.ts | 7 + .../_chatInput/string.d.ts.map | 1 + .../_applicationCommands/_chatInput/string.js | 3 + .../_chatInput/string.js.map | 1 + .../_chatInput/subcommand.d.ts | 12 + .../_chatInput/subcommand.d.ts.map | 1 + .../_chatInput/subcommand.js | 3 + .../_chatInput/subcommand.js.map | 1 + .../_chatInput/subcommandGroup.d.ts | 12 + .../_chatInput/subcommandGroup.d.ts.map | 1 + .../_chatInput/subcommandGroup.js | 3 + .../_chatInput/subcommandGroup.js.map | 1 + .../_applicationCommands/_chatInput/user.d.ts | 6 + .../_chatInput/user.d.ts.map | 1 + .../_applicationCommands/_chatInput/user.js | 3 + .../_chatInput/user.js.map | 1 + .../_applicationCommands/chatInput.d.ts | 68 + .../_applicationCommands/chatInput.d.ts.map | 1 + .../_applicationCommands/chatInput.js | 24 + .../_applicationCommands/chatInput.js.map | 1 + .../_applicationCommands/contextMenu.d.ts | 74 + .../_applicationCommands/contextMenu.d.ts.map | 1 + .../_applicationCommands/contextMenu.js | 3 + .../_applicationCommands/contextMenu.js.map | 1 + .../_applicationCommands/internals.d.ts | 8 + .../_applicationCommands/internals.d.ts.map | 1 + .../_applicationCommands/internals.js | 3 + .../_applicationCommands/internals.js.map | 1 + .../_applicationCommands/permissions.d.ts | 47 + .../_applicationCommands/permissions.d.ts.map | 1 + .../_applicationCommands/permissions.js | 12 + .../_applicationCommands/permissions.js.map | 1 + .../v9/_interactions/applicationCommands.d.ts | 96 + .../applicationCommands.d.ts.map | 1 + .../v9/_interactions/applicationCommands.js | 26 + .../_interactions/applicationCommands.js.map | 1 + .../v9/_interactions/autocomplete.d.ts | 3 + .../v9/_interactions/autocomplete.d.ts.map | 1 + .../payloads/v9/_interactions/autocomplete.js | 3 + .../v9/_interactions/autocomplete.js.map | 1 + .../payloads/v9/_interactions/base.d.ts | 87 + .../payloads/v9/_interactions/base.d.ts.map | 1 + .../payloads/v9/_interactions/base.js | 3 + .../payloads/v9/_interactions/base.js.map | 1 + .../v9/_interactions/messageComponents.d.ts | 22 + .../_interactions/messageComponents.d.ts.map | 1 + .../v9/_interactions/messageComponents.js | 3 + .../v9/_interactions/messageComponents.js.map | 1 + .../payloads/v9/_interactions/ping.d.ts | 4 + .../payloads/v9/_interactions/ping.d.ts.map | 1 + .../payloads/v9/_interactions/ping.js | 3 + .../payloads/v9/_interactions/ping.js.map | 1 + .../payloads/v9/_interactions/responses.d.ts | 77 + .../v9/_interactions/responses.d.ts.map | 1 + .../payloads/v9/_interactions/responses.js | 44 + .../v9/_interactions/responses.js.map | 1 + .../payloads/v9/application.d.ts | 111 + .../payloads/v9/application.d.ts.map | 1 + .../payloads/v9/application.js | 26 + .../payloads/v9/application.js.map | 1 + .../payloads/v9/auditLog.d.ts | 511 + .../payloads/v9/auditLog.d.ts.map | 1 + .../discord-api-types/payloads/v9/auditLog.js | 65 + .../payloads/v9/auditLog.js.map | 1 + .../payloads/v9/channel.d.ts | 1170 +++ .../payloads/v9/channel.d.ts.map | 1 + .../discord-api-types/payloads/v9/channel.js | 246 + .../payloads/v9/channel.js.map | 1 + .../discord-api-types/payloads/v9/emoji.d.ts | 49 + .../payloads/v9/emoji.d.ts.map | 1 + .../discord-api-types/payloads/v9/emoji.js | 6 + .../payloads/v9/emoji.js.map | 1 + .../payloads/v9/gateway.d.ts | 344 + .../payloads/v9/gateway.d.ts.map | 1 + .../discord-api-types/payloads/v9/gateway.js | 69 + .../payloads/v9/gateway.js.map | 1 + .../discord-api-types/payloads/v9/guild.d.ts | 934 ++ .../payloads/v9/guild.d.ts.map | 1 + .../discord-api-types/payloads/v9/guild.js | 237 + .../payloads/v9/guild.js.map | 1 + .../payloads/v9/guildScheduledEvent.d.ts | 135 + .../payloads/v9/guildScheduledEvent.d.ts.map | 1 + .../payloads/v9/guildScheduledEvent.js | 33 + .../payloads/v9/guildScheduledEvent.js.map | 1 + .../discord-api-types/payloads/v9/index.d.ts | 19 + .../payloads/v9/index.d.ts.map | 1 + .../discord-api-types/payloads/v9/index.js | 31 + .../payloads/v9/index.js.map | 1 + .../discord-api-types/payloads/v9/index.mjs | 52 + .../payloads/v9/interactions.d.ts | 22 + .../payloads/v9/interactions.d.ts.map | 1 + .../payloads/v9/interactions.js | 18 + .../payloads/v9/interactions.js.map | 1 + .../discord-api-types/payloads/v9/invite.d.ts | 107 + .../payloads/v9/invite.d.ts.map | 1 + .../discord-api-types/payloads/v9/invite.js | 15 + .../payloads/v9/invite.js.map | 1 + .../discord-api-types/payloads/v9/oauth2.d.ts | 114 + .../payloads/v9/oauth2.d.ts.map | 1 + .../discord-api-types/payloads/v9/oauth2.js | 118 + .../payloads/v9/oauth2.js.map | 1 + .../payloads/v9/permissions.d.ts | 123 + .../payloads/v9/permissions.d.ts.map | 1 + .../payloads/v9/permissions.js | 62 + .../payloads/v9/permissions.js.map | 1 + .../payloads/v9/stageInstance.d.ts | 70 + .../payloads/v9/stageInstance.d.ts.map | 1 + .../payloads/v9/stageInstance.js | 18 + .../payloads/v9/stageInstance.js.map | 1 + .../payloads/v9/sticker.d.ts | 122 + .../payloads/v9/sticker.d.ts.map | 1 + .../discord-api-types/payloads/v9/sticker.js | 30 + .../payloads/v9/sticker.js.map | 1 + .../discord-api-types/payloads/v9/teams.d.ts | 63 + .../payloads/v9/teams.d.ts.map | 1 + .../discord-api-types/payloads/v9/teams.js | 15 + .../payloads/v9/teams.js.map | 1 + .../payloads/v9/template.d.ts | 63 + .../payloads/v9/template.d.ts.map | 1 + .../discord-api-types/payloads/v9/template.js | 6 + .../payloads/v9/template.js.map | 1 + .../discord-api-types/payloads/v9/user.d.ts | 209 + .../payloads/v9/user.d.ts.map | 1 + .../discord-api-types/payloads/v9/user.js | 93 + .../discord-api-types/payloads/v9/user.js.map | 1 + .../discord-api-types/payloads/v9/voice.d.ts | 90 + .../payloads/v9/voice.d.ts.map | 1 + .../discord-api-types/payloads/v9/voice.js | 6 + .../payloads/v9/voice.js.map | 1 + .../payloads/v9/webhook.d.ts | 77 + .../payloads/v9/webhook.d.ts.map | 1 + .../discord-api-types/payloads/v9/webhook.js | 22 + .../payloads/v9/webhook.js.map | 1 + .../discord-api-types/rest/common.d.ts | 151 + .../discord-api-types/rest/common.d.ts.map | 1 + .../discord-api-types/rest/common.js | 155 + .../discord-api-types/rest/common.js.map | 1 + .../discord-api-types/rest/index.d.ts | 2 + .../discord-api-types/rest/index.d.ts.map | 1 + .../discord-api-types/rest/index.js | 16 + .../discord-api-types/rest/index.js.map | 1 + .../discord-api-types/rest/index.mjs | 8 + .../discord-api-types/rest/v6/auditLog.d.ts | 16 + .../rest/v6/auditLog.d.ts.map | 1 + .../discord-api-types/rest/v6/auditLog.js | 3 + .../discord-api-types/rest/v6/auditLog.js.map | 1 + .../discord-api-types/rest/v6/channel.d.ts | 252 + .../rest/v6/channel.d.ts.map | 1 + .../discord-api-types/rest/v6/channel.js | 14 + .../discord-api-types/rest/v6/channel.js.map | 1 + .../discord-api-types/rest/v6/emoji.d.ts | 45 + .../discord-api-types/rest/v6/emoji.d.ts.map | 1 + .../discord-api-types/rest/v6/emoji.js | 3 + .../discord-api-types/rest/v6/emoji.js.map | 1 + .../discord-api-types/rest/v6/gateway.d.ts | 12 + .../rest/v6/gateway.d.ts.map | 1 + .../discord-api-types/rest/v6/gateway.js | 3 + .../discord-api-types/rest/v6/gateway.js.map | 1 + .../discord-api-types/rest/v6/guild.d.ts | 426 + .../discord-api-types/rest/v6/guild.d.ts.map | 1 + .../discord-api-types/rest/v6/guild.js | 3 + .../discord-api-types/rest/v6/guild.js.map | 1 + .../discord-api-types/rest/v6/index.d.ts | 348 + .../discord-api-types/rest/v6/index.d.ts.map | 1 + .../discord-api-types/rest/v6/index.js | 476 + .../discord-api-types/rest/v6/index.js.map | 1 + .../discord-api-types/rest/v6/index.mjs | 7 + .../discord-api-types/rest/v6/invite.d.ts | 18 + .../discord-api-types/rest/v6/invite.d.ts.map | 1 + .../discord-api-types/rest/v6/invite.js | 3 + .../discord-api-types/rest/v6/invite.js.map | 1 + .../discord-api-types/rest/v6/oauth2.d.ts | 164 + .../discord-api-types/rest/v6/oauth2.d.ts.map | 1 + .../discord-api-types/rest/v6/oauth2.js | 3 + .../discord-api-types/rest/v6/oauth2.js.map | 1 + .../discord-api-types/rest/v6/user.d.ts | 73 + .../discord-api-types/rest/v6/user.d.ts.map | 1 + .../discord-api-types/rest/v6/user.js | 3 + .../discord-api-types/rest/v6/user.js.map | 1 + .../discord-api-types/rest/v6/voice.d.ts | 7 + .../discord-api-types/rest/v6/voice.d.ts.map | 1 + .../discord-api-types/rest/v6/voice.js | 3 + .../discord-api-types/rest/v6/voice.js.map | 1 + .../discord-api-types/rest/v6/webhook.d.ts | 126 + .../rest/v6/webhook.d.ts.map | 1 + .../discord-api-types/rest/v6/webhook.js | 3 + .../discord-api-types/rest/v6/webhook.js.map | 1 + .../discord-api-types/rest/v8/auditLog.d.ts | 27 + .../rest/v8/auditLog.d.ts.map | 1 + .../discord-api-types/rest/v8/auditLog.js | 3 + .../discord-api-types/rest/v8/auditLog.js.map | 1 + .../discord-api-types/rest/v8/channel.d.ts | 465 + .../rest/v8/channel.d.ts.map | 1 + .../discord-api-types/rest/v8/channel.js | 3 + .../discord-api-types/rest/v8/channel.js.map | 1 + .../discord-api-types/rest/v8/emoji.d.ts | 56 + .../discord-api-types/rest/v8/emoji.d.ts.map | 1 + .../discord-api-types/rest/v8/emoji.js | 3 + .../discord-api-types/rest/v8/emoji.js.map | 1 + .../discord-api-types/rest/v8/gateway.d.ts | 10 + .../rest/v8/gateway.d.ts.map | 1 + .../discord-api-types/rest/v8/gateway.js | 3 + .../discord-api-types/rest/v8/gateway.js.map | 1 + .../discord-api-types/rest/v8/guild.d.ts | 715 ++ .../discord-api-types/rest/v8/guild.d.ts.map | 1 + .../discord-api-types/rest/v8/guild.js | 3 + .../discord-api-types/rest/v8/guild.js.map | 1 + .../rest/v8/guildScheduledEvent.d.ts | 115 + .../rest/v8/guildScheduledEvent.d.ts.map | 1 + .../rest/v8/guildScheduledEvent.js | 3 + .../rest/v8/guildScheduledEvent.js.map | 1 + .../discord-api-types/rest/v8/index.d.ts | 537 ++ .../discord-api-types/rest/v8/index.d.ts.map | 1 + .../discord-api-types/rest/v8/index.js | 722 ++ .../discord-api-types/rest/v8/index.js.map | 1 + .../discord-api-types/rest/v8/index.mjs | 8 + .../rest/v8/interactions.d.ts | 179 + .../rest/v8/interactions.d.ts.map | 1 + .../discord-api-types/rest/v8/interactions.js | 3 + .../rest/v8/interactions.js.map | 1 + .../discord-api-types/rest/v8/invite.d.ts | 25 + .../discord-api-types/rest/v8/invite.d.ts.map | 1 + .../discord-api-types/rest/v8/invite.js | 3 + .../discord-api-types/rest/v8/invite.js.map | 1 + .../discord-api-types/rest/v8/oauth2.d.ts | 173 + .../discord-api-types/rest/v8/oauth2.d.ts.map | 1 + .../discord-api-types/rest/v8/oauth2.js | 3 + .../discord-api-types/rest/v8/oauth2.js.map | 1 + .../rest/v8/stageInstance.d.ts | 52 + .../rest/v8/stageInstance.d.ts.map | 1 + .../rest/v8/stageInstance.js | 3 + .../rest/v8/stageInstance.js.map | 1 + .../discord-api-types/rest/v8/sticker.d.ts | 44 + .../rest/v8/sticker.d.ts.map | 1 + .../discord-api-types/rest/v8/sticker.js | 3 + .../discord-api-types/rest/v8/sticker.js.map | 1 + .../discord-api-types/rest/v8/template.d.ts | 63 + .../rest/v8/template.d.ts.map | 1 + .../discord-api-types/rest/v8/template.js | 3 + .../discord-api-types/rest/v8/template.js.map | 1 + .../discord-api-types/rest/v8/user.d.ts | 85 + .../discord-api-types/rest/v8/user.d.ts.map | 1 + .../discord-api-types/rest/v8/user.js | 3 + .../discord-api-types/rest/v8/user.js.map | 1 + .../discord-api-types/rest/v8/voice.d.ts | 6 + .../discord-api-types/rest/v8/voice.d.ts.map | 1 + .../discord-api-types/rest/v8/voice.js | 3 + .../discord-api-types/rest/v8/voice.js.map | 1 + .../discord-api-types/rest/v8/webhook.d.ts | 223 + .../rest/v8/webhook.d.ts.map | 1 + .../discord-api-types/rest/v8/webhook.js | 3 + .../discord-api-types/rest/v8/webhook.js.map | 1 + .../discord-api-types/rest/v9/auditLog.d.ts | 27 + .../rest/v9/auditLog.d.ts.map | 1 + .../discord-api-types/rest/v9/auditLog.js | 3 + .../discord-api-types/rest/v9/auditLog.js.map | 1 + .../discord-api-types/rest/v9/channel.d.ts | 574 ++ .../rest/v9/channel.d.ts.map | 1 + .../discord-api-types/rest/v9/channel.js | 3 + .../discord-api-types/rest/v9/channel.js.map | 1 + .../discord-api-types/rest/v9/emoji.d.ts | 56 + .../discord-api-types/rest/v9/emoji.d.ts.map | 1 + .../discord-api-types/rest/v9/emoji.js | 3 + .../discord-api-types/rest/v9/emoji.js.map | 1 + .../discord-api-types/rest/v9/gateway.d.ts | 10 + .../rest/v9/gateway.d.ts.map | 1 + .../discord-api-types/rest/v9/gateway.js | 3 + .../discord-api-types/rest/v9/gateway.js.map | 1 + .../discord-api-types/rest/v9/guild.d.ts | 719 ++ .../discord-api-types/rest/v9/guild.d.ts.map | 1 + .../discord-api-types/rest/v9/guild.js | 3 + .../discord-api-types/rest/v9/guild.js.map | 1 + .../rest/v9/guildScheduledEvent.d.ts | 115 + .../rest/v9/guildScheduledEvent.d.ts.map | 1 + .../rest/v9/guildScheduledEvent.js | 3 + .../rest/v9/guildScheduledEvent.js.map | 1 + .../discord-api-types/rest/v9/index.d.ts | 572 ++ .../discord-api-types/rest/v9/index.d.ts.map | 1 + .../discord-api-types/rest/v9/index.js | 779 ++ .../discord-api-types/rest/v9/index.js.map | 1 + .../discord-api-types/rest/v9/index.mjs | 8 + .../rest/v9/interactions.d.ts | 179 + .../rest/v9/interactions.d.ts.map | 1 + .../discord-api-types/rest/v9/interactions.js | 3 + .../rest/v9/interactions.js.map | 1 + .../discord-api-types/rest/v9/invite.d.ts | 25 + .../discord-api-types/rest/v9/invite.d.ts.map | 1 + .../discord-api-types/rest/v9/invite.js | 3 + .../discord-api-types/rest/v9/invite.js.map | 1 + .../discord-api-types/rest/v9/oauth2.d.ts | 173 + .../discord-api-types/rest/v9/oauth2.d.ts.map | 1 + .../discord-api-types/rest/v9/oauth2.js | 3 + .../discord-api-types/rest/v9/oauth2.js.map | 1 + .../rest/v9/stageInstance.d.ts | 52 + .../rest/v9/stageInstance.d.ts.map | 1 + .../rest/v9/stageInstance.js | 3 + .../rest/v9/stageInstance.js.map | 1 + .../discord-api-types/rest/v9/sticker.d.ts | 44 + .../rest/v9/sticker.d.ts.map | 1 + .../discord-api-types/rest/v9/sticker.js | 3 + .../discord-api-types/rest/v9/sticker.js.map | 1 + .../discord-api-types/rest/v9/template.d.ts | 63 + .../rest/v9/template.d.ts.map | 1 + .../discord-api-types/rest/v9/template.js | 3 + .../discord-api-types/rest/v9/template.js.map | 1 + .../discord-api-types/rest/v9/user.d.ts | 85 + .../discord-api-types/rest/v9/user.d.ts.map | 1 + .../discord-api-types/rest/v9/user.js | 3 + .../discord-api-types/rest/v9/user.js.map | 1 + .../discord-api-types/rest/v9/voice.d.ts | 6 + .../discord-api-types/rest/v9/voice.d.ts.map | 1 + .../discord-api-types/rest/v9/voice.js | 3 + .../discord-api-types/rest/v9/voice.js.map | 1 + .../discord-api-types/rest/v9/webhook.d.ts | 223 + .../rest/v9/webhook.d.ts.map | 1 + .../discord-api-types/rest/v9/webhook.js | 3 + .../discord-api-types/rest/v9/webhook.js.map | 1 + .../discord-api-types/rpc/index.d.ts | 2 + .../discord-api-types/rpc/index.d.ts.map | 1 + .../discord-api-types/rpc/index.js | 16 + .../discord-api-types/rpc/index.js.map | 1 + .../discord-api-types/rpc/index.mjs | 5 + .../discord-api-types/rpc/v8.d.ts | 33 + .../discord-api-types/rpc/v8.d.ts.map | 1 + .../node_modules/discord-api-types/rpc/v8.js | 38 + .../discord-api-types/rpc/v8.js.map | 1 + .../node_modules/discord-api-types/rpc/v8.mjs | 5 + .../discord-api-types/rpc/v9.d.ts | 33 + .../discord-api-types/rpc/v9.d.ts.map | 1 + .../node_modules/discord-api-types/rpc/v9.js | 38 + .../discord-api-types/rpc/v9.js.map | 1 + .../node_modules/discord-api-types/rpc/v9.mjs | 5 + .../discord-api-types/utils/index.d.ts | 2 + .../discord-api-types/utils/index.d.ts.map | 1 + .../discord-api-types/utils/index.js | 16 + .../discord-api-types/utils/index.js.map | 1 + .../discord-api-types/utils/index.mjs | 11 + .../discord-api-types/utils/internals.d.ts | 15 + .../utils/internals.d.ts.map | 1 + .../discord-api-types/utils/internals.js | 3 + .../discord-api-types/utils/internals.js.map | 1 + .../discord-api-types/utils/v8.d.ts | 50 + .../discord-api-types/utils/v8.d.ts.map | 1 + .../discord-api-types/utils/v8.js | 81 + .../discord-api-types/utils/v8.js.map | 1 + .../discord-api-types/utils/v8.mjs | 11 + .../discord-api-types/utils/v9.d.ts | 50 + .../discord-api-types/utils/v9.d.ts.map | 1 + .../discord-api-types/utils/v9.js | 81 + .../discord-api-types/utils/v9.js.map | 1 + .../discord-api-types/utils/v9.mjs | 11 + .../node_modules/discord-api-types/v6.d.ts | 5 + .../discord-api-types/v6.d.ts.map | 1 + .../node_modules/discord-api-types/v6.js | 17 + .../node_modules/discord-api-types/v6.js.map | 1 + .../node_modules/discord-api-types/v6.mjs | 42 + .../node_modules/discord-api-types/v8.d.ts | 7 + .../discord-api-types/v8.d.ts.map | 1 + .../node_modules/discord-api-types/v8.js | 20 + .../node_modules/discord-api-types/v8.js.map | 1 + .../node_modules/discord-api-types/v8.mjs | 64 + .../node_modules/discord-api-types/v9.d.ts | 7 + .../discord-api-types/v9.d.ts.map | 1 + .../node_modules/discord-api-types/v9.js | 20 + .../node_modules/discord-api-types/v9.js.map | 1 + .../node_modules/discord-api-types/v9.mjs | 66 + .../discord-api-types/voice/index.d.ts | 2 + .../discord-api-types/voice/index.d.ts.map | 1 + .../discord-api-types/voice/index.js | 16 + .../discord-api-types/voice/index.js.map | 1 + .../discord-api-types/voice/index.mjs | 6 + .../discord-api-types/voice/v4.d.ts | 108 + .../discord-api-types/voice/v4.d.ts.map | 1 + .../discord-api-types/voice/v4.js | 113 + .../discord-api-types/voice/v4.js.map | 1 + .../discord-api-types/voice/v4.mjs | 6 + node_modules/discord.js/package.json | 88 + node_modules/discord.js/src/WebSocket.js | 39 + .../discord.js/src/client/BaseClient.js | 81 + node_modules/discord.js/src/client/Client.js | 621 ++ .../discord.js/src/client/WebhookClient.js | 61 + .../discord.js/src/client/actions/Action.js | 115 + .../src/client/actions/ActionsManager.js | 66 + .../src/client/actions/ChannelCreate.js | 23 + .../src/client/actions/ChannelDelete.js | 39 + .../src/client/actions/ChannelUpdate.js | 34 + .../src/client/actions/GuildBanAdd.js | 20 + .../src/client/actions/GuildBanRemove.js | 25 + .../actions/GuildChannelsPositionUpdate.js | 21 + .../src/client/actions/GuildDelete.js | 65 + .../src/client/actions/GuildEmojiCreate.js | 20 + .../src/client/actions/GuildEmojiDelete.js | 21 + .../src/client/actions/GuildEmojiUpdate.js | 20 + .../src/client/actions/GuildEmojisUpdate.js | 34 + .../client/actions/GuildIntegrationsUpdate.js | 19 + .../src/client/actions/GuildMemberRemove.js | 31 + .../src/client/actions/GuildMemberUpdate.js | 43 + .../src/client/actions/GuildRoleCreate.js | 25 + .../src/client/actions/GuildRoleDelete.js | 31 + .../src/client/actions/GuildRoleUpdate.js | 39 + .../actions/GuildRolesPositionUpdate.js | 21 + .../actions/GuildScheduledEventCreate.js | 27 + .../actions/GuildScheduledEventDelete.js | 31 + .../actions/GuildScheduledEventUpdate.js | 30 + .../actions/GuildScheduledEventUserAdd.js | 32 + .../actions/GuildScheduledEventUserRemove.js | 32 + .../src/client/actions/GuildStickerCreate.js | 20 + .../src/client/actions/GuildStickerDelete.js | 21 + .../src/client/actions/GuildStickerUpdate.js | 20 + .../src/client/actions/GuildStickersUpdate.js | 34 + .../src/client/actions/GuildUpdate.js | 33 + .../src/client/actions/InteractionCreate.js | 89 + .../src/client/actions/InviteCreate.js | 28 + .../src/client/actions/InviteDelete.js | 30 + .../src/client/actions/MessageCreate.js | 46 + .../src/client/actions/MessageDelete.js | 32 + .../src/client/actions/MessageDeleteBulk.js | 46 + .../src/client/actions/MessageReactionAdd.js | 55 + .../client/actions/MessageReactionRemove.js | 45 + .../actions/MessageReactionRemoveAll.js | 33 + .../actions/MessageReactionRemoveEmoji.js | 28 + .../src/client/actions/MessageUpdate.js | 26 + .../src/client/actions/PresenceUpdate.js | 42 + .../src/client/actions/StageInstanceCreate.js | 28 + .../src/client/actions/StageInstanceDelete.js | 33 + .../src/client/actions/StageInstanceUpdate.js | 30 + .../src/client/actions/ThreadCreate.js | 23 + .../src/client/actions/ThreadDelete.js | 32 + .../src/client/actions/ThreadListSync.js | 59 + .../src/client/actions/ThreadMemberUpdate.js | 30 + .../src/client/actions/ThreadMembersUpdate.js | 34 + .../src/client/actions/TypingStart.js | 29 + .../src/client/actions/UserUpdate.js | 35 + .../src/client/actions/VoiceStateUpdate.js | 43 + .../src/client/actions/WebhooksUpdate.js | 19 + .../src/client/voice/ClientVoiceManager.js | 44 + .../src/client/websocket/WebSocketManager.js | 390 + .../src/client/websocket/WebSocketShard.js | 786 ++ .../handlers/APPLICATION_COMMAND_CREATE.js | 18 + .../handlers/APPLICATION_COMMAND_DELETE.js | 20 + .../handlers/APPLICATION_COMMAND_UPDATE.js | 20 + .../websocket/handlers/CHANNEL_CREATE.js | 5 + .../websocket/handlers/CHANNEL_DELETE.js | 5 + .../websocket/handlers/CHANNEL_PINS_UPDATE.js | 22 + .../websocket/handlers/CHANNEL_UPDATE.js | 16 + .../websocket/handlers/GUILD_BAN_ADD.js | 5 + .../websocket/handlers/GUILD_BAN_REMOVE.js | 5 + .../client/websocket/handlers/GUILD_CREATE.js | 25 + .../client/websocket/handlers/GUILD_DELETE.js | 5 + .../websocket/handlers/GUILD_EMOJIS_UPDATE.js | 5 + .../handlers/GUILD_INTEGRATIONS_UPDATE.js | 5 + .../websocket/handlers/GUILD_MEMBERS_CHUNK.js | 36 + .../websocket/handlers/GUILD_MEMBER_ADD.js | 19 + .../websocket/handlers/GUILD_MEMBER_REMOVE.js | 5 + .../websocket/handlers/GUILD_MEMBER_UPDATE.js | 5 + .../websocket/handlers/GUILD_ROLE_CREATE.js | 5 + .../websocket/handlers/GUILD_ROLE_DELETE.js | 5 + .../websocket/handlers/GUILD_ROLE_UPDATE.js | 5 + .../handlers/GUILD_SCHEDULED_EVENT_CREATE.js | 5 + .../handlers/GUILD_SCHEDULED_EVENT_DELETE.js | 5 + .../handlers/GUILD_SCHEDULED_EVENT_UPDATE.js | 5 + .../GUILD_SCHEDULED_EVENT_USER_ADD.js | 5 + .../GUILD_SCHEDULED_EVENT_USER_REMOVE.js | 5 + .../handlers/GUILD_STICKERS_UPDATE.js | 5 + .../client/websocket/handlers/GUILD_UPDATE.js | 5 + .../websocket/handlers/INTERACTION_CREATE.js | 5 + .../websocket/handlers/INVITE_CREATE.js | 5 + .../websocket/handlers/INVITE_DELETE.js | 5 + .../websocket/handlers/MESSAGE_CREATE.js | 5 + .../websocket/handlers/MESSAGE_DELETE.js | 5 + .../websocket/handlers/MESSAGE_DELETE_BULK.js | 5 + .../handlers/MESSAGE_REACTION_ADD.js | 5 + .../handlers/MESSAGE_REACTION_REMOVE.js | 5 + .../handlers/MESSAGE_REACTION_REMOVE_ALL.js | 5 + .../handlers/MESSAGE_REACTION_REMOVE_EMOJI.js | 5 + .../websocket/handlers/MESSAGE_UPDATE.js | 16 + .../websocket/handlers/PRESENCE_UPDATE.js | 5 + .../src/client/websocket/handlers/READY.js | 27 + .../src/client/websocket/handlers/RESUMED.js | 14 + .../handlers/STAGE_INSTANCE_CREATE.js | 5 + .../handlers/STAGE_INSTANCE_DELETE.js | 5 + .../handlers/STAGE_INSTANCE_UPDATE.js | 5 + .../websocket/handlers/THREAD_CREATE.js | 5 + .../websocket/handlers/THREAD_DELETE.js | 5 + .../websocket/handlers/THREAD_LIST_SYNC.js | 5 + .../handlers/THREAD_MEMBERS_UPDATE.js | 5 + .../handlers/THREAD_MEMBER_UPDATE.js | 5 + .../websocket/handlers/THREAD_UPDATE.js | 16 + .../client/websocket/handlers/TYPING_START.js | 5 + .../client/websocket/handlers/USER_UPDATE.js | 5 + .../websocket/handlers/VOICE_SERVER_UPDATE.js | 6 + .../websocket/handlers/VOICE_STATE_UPDATE.js | 5 + .../websocket/handlers/WEBHOOKS_UPDATE.js | 5 + .../src/client/websocket/handlers/index.js | 61 + .../discord.js/src/errors/DJSError.js | 61 + .../discord.js/src/errors/Messages.js | 158 + node_modules/discord.js/src/errors/index.js | 4 + node_modules/discord.js/src/index.js | 157 + .../src/managers/ApplicationCommandManager.js | 217 + .../ApplicationCommandPermissionsManager.js | 417 + .../src/managers/BaseGuildEmojiManager.js | 80 + .../discord.js/src/managers/BaseManager.js | 19 + .../discord.js/src/managers/CachedManager.js | 64 + .../discord.js/src/managers/ChannelManager.js | 120 + .../discord.js/src/managers/DataManager.js | 61 + .../GuildApplicationCommandManager.js | 28 + .../src/managers/GuildBanManager.js | 177 + .../src/managers/GuildChannelManager.js | 248 + .../src/managers/GuildEmojiManager.js | 105 + .../src/managers/GuildEmojiRoleManager.js | 118 + .../src/managers/GuildInviteManager.js | 213 + .../discord.js/src/managers/GuildManager.js | 297 + .../src/managers/GuildMemberManager.js | 462 + .../src/managers/GuildMemberRoleManager.js | 191 + .../managers/GuildScheduledEventManager.js | 289 + .../src/managers/GuildStickerManager.js | 166 + .../discord.js/src/managers/MessageManager.js | 231 + .../managers/PermissionOverwriteManager.js | 165 + .../src/managers/PresenceManager.js | 58 + .../src/managers/ReactionManager.js | 66 + .../src/managers/ReactionUserManager.js | 71 + .../discord.js/src/managers/RoleManager.js | 324 + .../src/managers/StageInstanceManager.js | 156 + .../discord.js/src/managers/ThreadManager.js | 258 + .../src/managers/ThreadMemberManager.js | 124 + .../discord.js/src/managers/UserManager.js | 141 + .../src/managers/VoiceStateManager.js | 37 + .../discord.js/src/rest/APIRequest.js | 83 + node_modules/discord.js/src/rest/APIRouter.js | 53 + .../discord.js/src/rest/DiscordAPIError.js | 82 + node_modules/discord.js/src/rest/HTTPError.js | 61 + .../discord.js/src/rest/RESTManager.js | 62 + .../discord.js/src/rest/RateLimitError.js | 55 + .../discord.js/src/rest/RequestHandler.js | 379 + node_modules/discord.js/src/sharding/Shard.js | 411 + .../src/sharding/ShardClientUtil.js | 246 + .../src/sharding/ShardingManager.js | 318 + .../src/structures/AnonymousGuild.js | 88 + .../src/structures/ApplicationCommand.js | 408 + .../src/structures/AutocompleteInteraction.js | 108 + .../discord.js/src/structures/Base.js | 43 + .../src/structures/BaseCommandInteraction.js | 195 + .../discord.js/src/structures/BaseGuild.js | 116 + .../src/structures/BaseGuildEmoji.js | 56 + .../src/structures/BaseGuildTextChannel.js | 236 + .../src/structures/BaseGuildVoiceChannel.js | 123 + .../src/structures/BaseMessageComponent.js | 103 + .../src/structures/ButtonInteraction.js | 11 + .../src/structures/CategoryChannel.js | 61 + .../discord.js/src/structures/Channel.js | 239 + .../src/structures/ClientApplication.js | 105 + .../src/structures/ClientPresence.js | 80 + .../discord.js/src/structures/ClientUser.js | 181 + .../src/structures/CommandInteraction.js | 41 + .../CommandInteractionOptionResolver.js | 256 + .../src/structures/ContextMenuInteraction.js | 65 + .../discord.js/src/structures/DMChannel.js | 101 + .../discord.js/src/structures/Emoji.js | 148 + .../discord.js/src/structures/Guild.js | 1437 +++ .../src/structures/GuildAuditLogs.js | 638 ++ .../discord.js/src/structures/GuildBan.js | 59 + .../discord.js/src/structures/GuildChannel.js | 552 ++ .../discord.js/src/structures/GuildEmoji.js | 171 + .../discord.js/src/structures/GuildMember.js | 486 + .../discord.js/src/structures/GuildPreview.js | 181 + .../src/structures/GuildPreviewEmoji.js | 27 + .../src/structures/GuildScheduledEvent.js | 422 + .../src/structures/GuildTemplate.js | 236 + .../discord.js/src/structures/Integration.js | 186 + .../src/structures/IntegrationApplication.js | 95 + .../discord.js/src/structures/Interaction.js | 231 + .../src/structures/InteractionCollector.js | 248 + .../src/structures/InteractionWebhook.js | 43 + .../discord.js/src/structures/Invite.js | 324 + .../discord.js/src/structures/InviteGuild.js | 23 + .../src/structures/InviteStageInstance.js | 86 + .../discord.js/src/structures/Message.js | 986 ++ .../src/structures/MessageActionRow.js | 101 + .../src/structures/MessageAttachment.js | 171 + .../src/structures/MessageButton.js | 165 + .../src/structures/MessageCollector.js | 146 + .../structures/MessageComponentInteraction.js | 118 + .../MessageContextMenuInteraction.js | 20 + .../discord.js/src/structures/MessageEmbed.js | 575 ++ .../src/structures/MessageMentions.js | 235 + .../src/structures/MessagePayload.js | 281 + .../src/structures/MessageReaction.js | 131 + .../src/structures/MessageSelectMenu.js | 212 + .../discord.js/src/structures/NewsChannel.js | 31 + .../discord.js/src/structures/OAuth2Guild.js | 28 + .../src/structures/PartialGroupDMChannel.js | 57 + .../src/structures/PermissionOverwrites.js | 196 + .../discord.js/src/structures/Presence.js | 384 + .../src/structures/ReactionCollector.js | 229 + .../src/structures/ReactionEmoji.js | 31 + .../discord.js/src/structures/Role.js | 512 + .../src/structures/SelectMenuInteraction.js | 21 + .../discord.js/src/structures/StageChannel.js | 69 + .../src/structures/StageInstance.js | 189 + .../discord.js/src/structures/Sticker.js | 312 + .../discord.js/src/structures/StickerPack.js | 95 + .../discord.js/src/structures/StoreChannel.js | 56 + .../discord.js/src/structures/Team.js | 118 + .../discord.js/src/structures/TeamMember.js | 71 + .../discord.js/src/structures/TextChannel.js | 33 + .../src/structures/ThreadChannel.js | 523 + .../discord.js/src/structures/ThreadMember.js | 94 + .../discord.js/src/structures/Typing.js | 74 + .../discord.js/src/structures/User.js | 326 + .../structures/UserContextMenuInteraction.js | 29 + .../discord.js/src/structures/VoiceChannel.js | 104 + .../discord.js/src/structures/VoiceRegion.js | 52 + .../discord.js/src/structures/VoiceState.js | 275 + .../discord.js/src/structures/Webhook.js | 449 + .../src/structures/WelcomeChannel.js | 60 + .../src/structures/WelcomeScreen.js | 48 + .../discord.js/src/structures/Widget.js | 86 + .../discord.js/src/structures/WidgetMember.js | 98 + .../src/structures/interfaces/Application.js | 133 + .../src/structures/interfaces/Collector.js | 299 + .../interfaces/InteractionResponses.js | 250 + .../structures/interfaces/TextBasedChannel.js | 360 + .../discord.js/src/util/ActivityFlags.js | 44 + .../discord.js/src/util/ApplicationFlags.js | 48 + node_modules/discord.js/src/util/BitField.js | 170 + node_modules/discord.js/src/util/Constants.js | 1240 +++ .../discord.js/src/util/DataResolver.js | 145 + .../discord.js/src/util/Formatters.js | 208 + node_modules/discord.js/src/util/Intents.js | 66 + .../discord.js/src/util/LimitedCollection.js | 131 + .../discord.js/src/util/MessageFlags.js | 48 + node_modules/discord.js/src/util/Options.js | 294 + .../discord.js/src/util/Permissions.js | 182 + .../discord.js/src/util/SnowflakeUtil.js | 92 + node_modules/discord.js/src/util/Sweepers.js | 447 + .../discord.js/src/util/SystemChannelFlags.js | 51 + .../discord.js/src/util/ThreadMemberFlags.js | 30 + node_modules/discord.js/src/util/UserFlags.js | 59 + node_modules/discord.js/src/util/Util.js | 611 ++ node_modules/discord.js/typings/enums.d.ts | 198 + node_modules/discord.js/typings/index.d.ts | 5817 +++++++++++ .../discord.js/typings/index.test-d.ts | 1257 +++ .../discord.js/typings/rawDataTypes.d.ts | 210 + node_modules/form-data/License | 19 + node_modules/form-data/README.md.bak | 358 + node_modules/form-data/Readme.md | 358 + node_modules/form-data/index.d.ts | 62 + node_modules/form-data/lib/browser.js | 2 + node_modules/form-data/lib/form_data.js | 501 + node_modules/form-data/lib/populate.js | 10 + node_modules/form-data/package.json | 68 + node_modules/mime-db/HISTORY.md | 499 + node_modules/mime-db/LICENSE | 22 + node_modules/mime-db/README.md | 100 + node_modules/mime-db/db.json | 8471 +++++++++++++++++ node_modules/mime-db/index.js | 11 + node_modules/mime-db/package.json | 59 + node_modules/mime-types/HISTORY.md | 388 + node_modules/mime-types/LICENSE | 23 + node_modules/mime-types/README.md | 113 + node_modules/mime-types/index.js | 188 + node_modules/mime-types/package.json | 44 + node_modules/node-fetch/LICENSE.md | 22 + node_modules/node-fetch/README.md | 590 ++ node_modules/node-fetch/browser.js | 25 + node_modules/node-fetch/lib/index.es.js | 1688 ++++ node_modules/node-fetch/lib/index.js | 1697 ++++ node_modules/node-fetch/lib/index.mjs | 1686 ++++ node_modules/node-fetch/package.json | 76 + node_modules/npm/LICENSE | 235 + node_modules/npm/README.md | 70 + node_modules/npm/bin/node-gyp-bin/node-gyp | 6 + .../npm/bin/node-gyp-bin/node-gyp.cmd | 5 + node_modules/npm/bin/npm | 44 + node_modules/npm/bin/npm-cli.js | 2 + node_modules/npm/bin/npm.cmd | 19 + node_modules/npm/bin/npx | 45 + node_modules/npm/bin/npx-cli.js | 128 + node_modules/npm/bin/npx.cmd | 20 + .../npm/docs/content/commands/npm-access.md | 121 + .../npm/docs/content/commands/npm-adduser.md | 94 + .../npm/docs/content/commands/npm-audit.md | 368 + .../npm/docs/content/commands/npm-bin.md | 49 + .../npm/docs/content/commands/npm-bugs.md | 62 + .../npm/docs/content/commands/npm-cache.md | 105 + .../npm/docs/content/commands/npm-ci.md | 117 + .../docs/content/commands/npm-completion.md | 41 + .../npm/docs/content/commands/npm-config.md | 173 + .../npm/docs/content/commands/npm-dedupe.md | 310 + .../docs/content/commands/npm-deprecate.md | 79 + .../npm/docs/content/commands/npm-diff.md | 342 + .../npm/docs/content/commands/npm-dist-tag.md | 165 + .../npm/docs/content/commands/npm-docs.md | 122 + .../npm/docs/content/commands/npm-doctor.md | 126 + .../npm/docs/content/commands/npm-edit.md | 52 + .../npm/docs/content/commands/npm-exec.md | 391 + .../npm/docs/content/commands/npm-explain.md | 112 + .../npm/docs/content/commands/npm-explore.md | 55 + .../docs/content/commands/npm-find-dupes.md | 232 + .../npm/docs/content/commands/npm-fund.md | 155 + .../docs/content/commands/npm-help-search.md | 46 + .../npm/docs/content/commands/npm-help.md | 50 + .../npm/docs/content/commands/npm-hook.md | 119 + .../npm/docs/content/commands/npm-init.md | 259 + .../content/commands/npm-install-ci-test.md | 69 + .../docs/content/commands/npm-install-test.md | 297 + .../npm/docs/content/commands/npm-install.md | 727 ++ .../npm/docs/content/commands/npm-link.md | 384 + .../npm/docs/content/commands/npm-logout.md | 83 + .../npm/docs/content/commands/npm-ls.md | 290 + .../npm/docs/content/commands/npm-org.md | 121 + .../npm/docs/content/commands/npm-outdated.md | 190 + .../npm/docs/content/commands/npm-owner.md | 74 + .../npm/docs/content/commands/npm-pack.md | 140 + .../npm/docs/content/commands/npm-ping.md | 49 + .../npm/docs/content/commands/npm-pkg.md | 266 + .../npm/docs/content/commands/npm-prefix.md | 66 + .../npm/docs/content/commands/npm-profile.md | 141 + .../npm/docs/content/commands/npm-prune.md | 159 + .../npm/docs/content/commands/npm-publish.md | 250 + .../npm/docs/content/commands/npm-rebuild.md | 143 + .../npm/docs/content/commands/npm-repo.md | 105 + .../npm/docs/content/commands/npm-restart.md | 77 + .../npm/docs/content/commands/npm-root.md | 56 + .../docs/content/commands/npm-run-script.md | 253 + .../npm/docs/content/commands/npm-search.md | 175 + .../docs/content/commands/npm-set-script.md | 101 + .../docs/content/commands/npm-shrinkwrap.md | 32 + .../npm/docs/content/commands/npm-star.md | 71 + .../npm/docs/content/commands/npm-stars.md | 45 + .../npm/docs/content/commands/npm-start.md | 87 + .../npm/docs/content/commands/npm-stop.md | 80 + .../npm/docs/content/commands/npm-team.md | 165 + .../npm/docs/content/commands/npm-test.md | 77 + .../npm/docs/content/commands/npm-token.md | 138 + .../docs/content/commands/npm-uninstall.md | 143 + .../docs/content/commands/npm-unpublish.md | 152 + .../npm/docs/content/commands/npm-unstar.md | 82 + .../npm/docs/content/commands/npm-update.md | 406 + .../npm/docs/content/commands/npm-version.md | 244 + .../npm/docs/content/commands/npm-view.md | 199 + .../npm/docs/content/commands/npm-whoami.md | 47 + node_modules/npm/docs/content/commands/npm.md | 173 + node_modules/npm/docs/content/commands/npx.md | 178 + .../docs/content/configuring-npm/folders.md | 221 + .../docs/content/configuring-npm/install.md | 87 + .../configuring-npm/npm-shrinkwrap-json.md | 34 + .../npm/docs/content/configuring-npm/npmrc.md | 100 + .../content/configuring-npm/package-json.md | 1146 +++ .../configuring-npm/package-lock-json.md | 238 + .../npm/docs/content/using-npm/config.md | 2051 ++++ .../npm/docs/content/using-npm/developers.md | 245 + .../npm/docs/content/using-npm/logging.md | 60 + .../npm/docs/content/using-npm/orgs.md | 93 + .../npm/docs/content/using-npm/registry.md | 81 + .../npm/docs/content/using-npm/removal.md | 64 + .../npm/docs/content/using-npm/scope.md | 129 + .../npm/docs/content/using-npm/scripts.md | 353 + .../npm/docs/content/using-npm/workspaces.md | 211 + .../npm/docs/output/commands/npm-access.html | 266 + .../npm/docs/output/commands/npm-adduser.html | 226 + .../npm/docs/output/commands/npm-audit.html | 436 + .../npm/docs/output/commands/npm-bin.html | 197 + .../npm/docs/output/commands/npm-bugs.html | 206 + .../npm/docs/output/commands/npm-cache.html | 247 + .../npm/docs/output/commands/npm-ci.html | 249 + .../docs/output/commands/npm-completion.html | 187 + .../npm/docs/output/commands/npm-config.html | 283 + .../npm/docs/output/commands/npm-dedupe.html | 403 + .../docs/output/commands/npm-deprecate.html | 214 + .../npm/docs/output/commands/npm-diff.html | 432 + .../docs/output/commands/npm-dist-tag.html | 290 + .../npm/docs/output/commands/npm-docs.html | 256 + .../npm/docs/output/commands/npm-doctor.html | 258 + .../npm/docs/output/commands/npm-edit.html | 197 + .../npm/docs/output/commands/npm-exec.html | 459 + .../npm/docs/output/commands/npm-explain.html | 250 + .../npm/docs/output/commands/npm-explore.html | 197 + .../docs/output/commands/npm-find-dupes.html | 344 + .../npm/docs/output/commands/npm-fund.html | 280 + .../docs/output/commands/npm-help-search.html | 191 + .../npm/docs/output/commands/npm-help.html | 195 + .../npm/docs/output/commands/npm-hook.html | 235 + .../npm/docs/output/commands/npm-init.html | 360 + .../output/commands/npm-install-ci-test.html | 211 + .../output/commands/npm-install-test.html | 401 + .../npm/docs/output/commands/npm-install.html | 759 ++ .../npm/docs/output/commands/npm-link.html | 460 + .../npm/docs/output/commands/npm-logout.html | 218 + .../npm/docs/output/commands/npm-ls.html | 390 + .../npm/docs/output/commands/npm-org.html | 242 + .../docs/output/commands/npm-outdated.html | 321 + .../npm/docs/output/commands/npm-owner.html | 217 + .../npm/docs/output/commands/npm-pack.html | 271 + .../npm/docs/output/commands/npm-ping.html | 193 + .../npm/docs/output/commands/npm-pkg.html | 361 + .../npm/docs/output/commands/npm-prefix.html | 208 + .../npm/docs/output/commands/npm-profile.html | 286 + .../npm/docs/output/commands/npm-prune.html | 284 + .../npm/docs/output/commands/npm-publish.html | 384 + .../npm/docs/output/commands/npm-rebuild.html | 275 + .../npm/docs/output/commands/npm-repo.html | 241 + .../npm/docs/output/commands/npm-restart.html | 220 + .../npm/docs/output/commands/npm-root.html | 202 + .../docs/output/commands/npm-run-script.html | 349 + .../npm/docs/output/commands/npm-search.html | 299 + .../docs/output/commands/npm-set-script.html | 240 + .../docs/output/commands/npm-shrinkwrap.html | 183 + .../npm/docs/output/commands/npm-star.html | 208 + .../npm/docs/output/commands/npm-stars.html | 192 + .../npm/docs/output/commands/npm-start.html | 223 + .../npm/docs/output/commands/npm-stop.html | 218 + .../npm/docs/output/commands/npm-team.html | 286 + .../npm/docs/output/commands/npm-test.html | 216 + .../npm/docs/output/commands/npm-token.html | 279 + .../docs/output/commands/npm-uninstall.html | 267 + .../docs/output/commands/npm-unpublish.html | 278 + .../npm/docs/output/commands/npm-unstar.html | 217 + .../npm/docs/output/commands/npm-update.html | 474 + .../npm/docs/output/commands/npm-version.html | 357 + .../npm/docs/output/commands/npm-view.html | 301 + .../npm/docs/output/commands/npm-whoami.html | 192 + .../npm/docs/output/commands/npm.html | 296 + .../npm/docs/output/commands/npx.html | 296 + .../docs/output/configuring-npm/folders.html | 324 + .../docs/output/configuring-npm/install.html | 227 + .../configuring-npm/npm-shrinkwrap-json.html | 185 + .../docs/output/configuring-npm/npmrc.html | 229 + .../output/configuring-npm/package-json.html | 1030 ++ .../configuring-npm/package-lock-json.html | 394 + .../npm/docs/output/using-npm/config.html | 1810 ++++ .../npm/docs/output/using-npm/developers.html | 353 + .../npm/docs/output/using-npm/logging.html | 203 + .../npm/docs/output/using-npm/orgs.html | 237 + .../npm/docs/output/using-npm/registry.html | 222 + .../npm/docs/output/using-npm/removal.html | 200 + .../npm/docs/output/using-npm/scope.html | 245 + .../npm/docs/output/using-npm/scripts.html | 472 + .../npm/docs/output/using-npm/workspaces.html | 304 + node_modules/npm/index.js | 5 + node_modules/npm/lib/arborist-cmd.js | 23 + node_modules/npm/lib/auth/legacy.js | 92 + node_modules/npm/lib/auth/oauth.js | 8 + node_modules/npm/lib/auth/saml.js | 8 + node_modules/npm/lib/auth/sso.js | 83 + node_modules/npm/lib/base-command.js | 98 + node_modules/npm/lib/cli.js | 79 + node_modules/npm/lib/commands/access.js | 212 + node_modules/npm/lib/commands/adduser.js | 76 + node_modules/npm/lib/commands/audit.js | 62 + node_modules/npm/lib/commands/bin.js | 18 + node_modules/npm/lib/commands/birthday.js | 11 + node_modules/npm/lib/commands/bugs.js | 55 + node_modules/npm/lib/commands/cache.js | 217 + node_modules/npm/lib/commands/ci.js | 113 + node_modules/npm/lib/commands/completion.js | 285 + node_modules/npm/lib/commands/config.js | 306 + node_modules/npm/lib/commands/dedupe.js | 55 + node_modules/npm/lib/commands/deprecate.js | 74 + node_modules/npm/lib/commands/diff.js | 286 + node_modules/npm/lib/commands/dist-tag.js | 203 + node_modules/npm/lib/commands/docs.js | 53 + node_modules/npm/lib/commands/doctor.js | 328 + node_modules/npm/lib/commands/edit.js | 49 + node_modules/npm/lib/commands/exec.js | 102 + node_modules/npm/lib/commands/explain.js | 125 + node_modules/npm/lib/commands/explore.js | 79 + node_modules/npm/lib/commands/find-dupes.js | 25 + node_modules/npm/lib/commands/fund.js | 211 + node_modules/npm/lib/commands/get.js | 19 + node_modules/npm/lib/commands/help-search.js | 197 + node_modules/npm/lib/commands/help.js | 146 + node_modules/npm/lib/commands/hook.js | 138 + node_modules/npm/lib/commands/init.js | 200 + .../npm/lib/commands/install-ci-test.js | 15 + node_modules/npm/lib/commands/install-test.js | 15 + node_modules/npm/lib/commands/install.js | 184 + node_modules/npm/lib/commands/link.js | 191 + node_modules/npm/lib/commands/ll.js | 13 + node_modules/npm/lib/commands/logout.js | 46 + node_modules/npm/lib/commands/ls.js | 581 ++ node_modules/npm/lib/commands/org.js | 164 + node_modules/npm/lib/commands/outdated.js | 375 + node_modules/npm/lib/commands/owner.js | 262 + node_modules/npm/lib/commands/pack.js | 77 + node_modules/npm/lib/commands/ping.js | 27 + node_modules/npm/lib/commands/pkg.js | 136 + node_modules/npm/lib/commands/prefix.js | 13 + node_modules/npm/lib/commands/profile.js | 408 + node_modules/npm/lib/commands/prune.js | 26 + node_modules/npm/lib/commands/publish.js | 201 + node_modules/npm/lib/commands/rebuild.js | 81 + node_modules/npm/lib/commands/repo.js | 84 + node_modules/npm/lib/commands/restart.js | 12 + node_modules/npm/lib/commands/root.js | 11 + node_modules/npm/lib/commands/run-script.js | 266 + node_modules/npm/lib/commands/search.js | 103 + node_modules/npm/lib/commands/set-script.js | 93 + node_modules/npm/lib/commands/set.js | 21 + node_modules/npm/lib/commands/shrinkwrap.js | 70 + node_modules/npm/lib/commands/star.js | 76 + node_modules/npm/lib/commands/stars.js | 37 + node_modules/npm/lib/commands/start.js | 12 + node_modules/npm/lib/commands/stop.js | 12 + node_modules/npm/lib/commands/team.js | 153 + node_modules/npm/lib/commands/test.js | 12 + node_modules/npm/lib/commands/token.js | 239 + node_modules/npm/lib/commands/uninstall.js | 61 + node_modules/npm/lib/commands/unpublish.js | 156 + node_modules/npm/lib/commands/unstar.js | 17 + node_modules/npm/lib/commands/update.js | 68 + node_modules/npm/lib/commands/version.js | 132 + node_modules/npm/lib/commands/view.js | 504 + node_modules/npm/lib/commands/whoami.js | 17 + .../lib/exec/get-workspace-location-msg.js | 25 + node_modules/npm/lib/lifecycle-cmd.js | 16 + node_modules/npm/lib/npm.js | 404 + .../npm/lib/search/format-package-stream.js | 192 + node_modules/npm/lib/search/package-filter.js | 43 + node_modules/npm/lib/utils/ansi-trim.js | 3 + node_modules/npm/lib/utils/audit-error.js | 39 + node_modules/npm/lib/utils/cmd-list.js | 161 + node_modules/npm/lib/utils/completion.sh | 70 + .../lib/utils/completion/installed-deep.js | 45 + .../lib/utils/completion/installed-shallow.js | 17 + .../npm/lib/utils/config/definition.js | 251 + .../npm/lib/utils/config/definitions.js | 2276 +++++ .../npm/lib/utils/config/describe-all.js | 20 + node_modules/npm/lib/utils/config/flatten.js | 33 + node_modules/npm/lib/utils/config/index.js | 54 + node_modules/npm/lib/utils/deref-command.js | 31 + node_modules/npm/lib/utils/did-you-mean.js | 40 + node_modules/npm/lib/utils/display.js | 119 + node_modules/npm/lib/utils/error-message.js | 407 + node_modules/npm/lib/utils/exit-handler.js | 191 + node_modules/npm/lib/utils/explain-dep.js | 137 + .../npm/lib/utils/explain-eresolve.js | 74 + node_modules/npm/lib/utils/file-exists.js | 10 + node_modules/npm/lib/utils/format-bytes.js | 29 + node_modules/npm/lib/utils/get-identity.js | 39 + .../utils/hosted-git-info-from-manifest.js | 14 + node_modules/npm/lib/utils/is-windows-bash.js | 3 + .../npm/lib/utils/is-windows-shell.js | 3 + node_modules/npm/lib/utils/is-windows.js | 1 + node_modules/npm/lib/utils/log-file.js | 240 + node_modules/npm/lib/utils/log-shim.js | 59 + node_modules/npm/lib/utils/npm-usage.js | 72 + node_modules/npm/lib/utils/open-url.js | 54 + node_modules/npm/lib/utils/otplease.js | 20 + node_modules/npm/lib/utils/path.js | 4 + node_modules/npm/lib/utils/ping.js | 7 + node_modules/npm/lib/utils/pulse-till-done.js | 26 + node_modules/npm/lib/utils/queryable.js | 309 + .../npm/lib/utils/read-package-name.js | 9 + node_modules/npm/lib/utils/read-user-info.js | 69 + node_modules/npm/lib/utils/reify-finish.js | 33 + node_modules/npm/lib/utils/reify-output.js | 184 + node_modules/npm/lib/utils/replace-info.js | 33 + .../npm/lib/utils/split-package-names.js | 25 + node_modules/npm/lib/utils/tar.js | 130 + node_modules/npm/lib/utils/timers.js | 111 + node_modules/npm/lib/utils/unsupported.js | 39 + node_modules/npm/lib/utils/update-notifier.js | 127 + node_modules/npm/lib/utils/usage.js | 32 + .../npm/lib/utils/validate-lockfile.js | 29 + node_modules/npm/lib/utils/with-chown-sync.js | 13 + .../npm/lib/workspaces/get-workspaces.js | 44 + node_modules/npm/man/man1/npm-access.1 | 137 + node_modules/npm/man/man1/npm-adduser.1 | 108 + node_modules/npm/man/man1/npm-audit.1 | 434 + node_modules/npm/man/man1/npm-bin.1 | 60 + node_modules/npm/man/man1/npm-bugs.1 | 73 + node_modules/npm/man/man1/npm-cache.1 | 117 + node_modules/npm/man/man1/npm-ci.1 | 142 + node_modules/npm/man/man1/npm-completion.1 | 44 + node_modules/npm/man/man1/npm-config.1 | 203 + node_modules/npm/man/man1/npm-dedupe.1 | 365 + node_modules/npm/man/man1/npm-deprecate.1 | 91 + node_modules/npm/man/man1/npm-diff.1 | 394 + node_modules/npm/man/man1/npm-dist-tag.1 | 191 + node_modules/npm/man/man1/npm-docs.1 | 149 + node_modules/npm/man/man1/npm-doctor.1 | 134 + node_modules/npm/man/man1/npm-edit.1 | 58 + node_modules/npm/man/man1/npm-exec.1 | 468 + node_modules/npm/man/man1/npm-explain.1 | 138 + node_modules/npm/man/man1/npm-explore.1 | 62 + node_modules/npm/man/man1/npm-find-dupes.1 | 277 + node_modules/npm/man/man1/npm-fund.1 | 182 + node_modules/npm/man/man1/npm-help-search.1 | 49 + node_modules/npm/man/man1/npm-help.1 | 57 + node_modules/npm/man/man1/npm-hook.1 | 137 + node_modules/npm/man/man1/npm-init.1 | 322 + .../npm/man/man1/npm-install-ci-test.1 | 79 + node_modules/npm/man/man1/npm-install-test.1 | 359 + node_modules/npm/man/man1/npm-install.1 | 822 ++ node_modules/npm/man/man1/npm-link.1 | 455 + node_modules/npm/man/man1/npm-logout.1 | 94 + node_modules/npm/man/man1/npm-ls.1 | 354 + node_modules/npm/man/man1/npm-org.1 | 147 + node_modules/npm/man/man1/npm-outdated.1 | 244 + node_modules/npm/man/man1/npm-owner.1 | 87 + node_modules/npm/man/man1/npm-pack.1 | 172 + node_modules/npm/man/man1/npm-ping.1 | 59 + node_modules/npm/man/man1/npm-pkg.1 | 318 + node_modules/npm/man/man1/npm-prefix.1 | 80 + node_modules/npm/man/man1/npm-profile.1 | 173 + node_modules/npm/man/man1/npm-prune.1 | 189 + node_modules/npm/man/man1/npm-publish.1 | 289 + node_modules/npm/man/man1/npm-rebuild.1 | 173 + node_modules/npm/man/man1/npm-repo.1 | 125 + node_modules/npm/man/man1/npm-restart.1 | 102 + node_modules/npm/man/man1/npm-root.1 | 69 + node_modules/npm/man/man1/npm-run-script.1 | 298 + node_modules/npm/man/man1/npm-search.1 | 215 + node_modules/npm/man/man1/npm-set-script.1 | 126 + node_modules/npm/man/man1/npm-shrinkwrap.1 | 38 + node_modules/npm/man/man1/npm-star.1 | 77 + node_modules/npm/man/man1/npm-stars.1 | 52 + node_modules/npm/man/man1/npm-start.1 | 99 + node_modules/npm/man/man1/npm-stop.1 | 92 + node_modules/npm/man/man1/npm-team.1 | 185 + node_modules/npm/man/man1/npm-test.1 | 89 + node_modules/npm/man/man1/npm-token.1 | 168 + node_modules/npm/man/man1/npm-uninstall.1 | 169 + node_modules/npm/man/man1/npm-unpublish.1 | 187 + node_modules/npm/man/man1/npm-unstar.1 | 90 + node_modules/npm/man/man1/npm-update.1 | 471 + node_modules/npm/man/man1/npm-version.1 | 299 + node_modules/npm/man/man1/npm-view.1 | 244 + node_modules/npm/man/man1/npm-whoami.1 | 51 + node_modules/npm/man/man1/npm.1 | 193 + node_modules/npm/man/man1/npx.1 | 215 + node_modules/npm/man/man5/folders.5 | 226 + node_modules/npm/man/man5/install.5 | 96 + .../npm/man/man5/npm-shrinkwrap-json.5 | 36 + node_modules/npm/man/man5/npmrc.5 | 109 + node_modules/npm/man/man5/package-json.5 | 1264 +++ node_modules/npm/man/man5/package-lock-json.5 | 259 + node_modules/npm/man/man7/config.7 | 2600 +++++ node_modules/npm/man/man7/developers.7 | 290 + node_modules/npm/man/man7/logging.7 | 74 + node_modules/npm/man/man7/orgs.7 | 146 + node_modules/npm/man/man7/registry.7 | 84 + node_modules/npm/man/man7/removal.7 | 73 + node_modules/npm/man/man7/scope.7 | 137 + node_modules/npm/man/man7/scripts.7 | 459 + node_modules/npm/man/man7/workspaces.7 | 234 + node_modules/npm/node_modules/.bin/arborist | 1 + .../npm/node_modules/.bin/color-support | 1 + .../.bin/installed-package-contents | 1 + node_modules/npm/node_modules/.bin/mkdirp | 1 + node_modules/npm/node_modules/.bin/node-gyp | 1 + node_modules/npm/node_modules/.bin/node-which | 1 + node_modules/npm/node_modules/.bin/nopt | 1 + .../npm/node_modules/.bin/npm-packlist | 1 + node_modules/npm/node_modules/.bin/opener | 1 + node_modules/npm/node_modules/.bin/pacote | 1 + .../npm/node_modules/.bin/qrcode-terminal | 1 + node_modules/npm/node_modules/.bin/rimraf | 1 + node_modules/npm/node_modules/.bin/semver | 1 + .../npm/node_modules/@gar/promisify/index.js | 36 + .../node_modules/@gar/promisify/package.json | 32 + .../@isaacs/string-locale-compare/LICENSE | 15 + .../@isaacs/string-locale-compare/index.js | 42 + .../string-locale-compare/package.json | 28 + .../node_modules/@npmcli/arborist/LICENSE.md | 20 + .../node_modules/@npmcli/arborist/README.md | 335 + .../@npmcli/arborist/bin/actual.js | 23 + .../@npmcli/arborist/bin/audit.js | 54 + .../@npmcli/arborist/bin/funding.js | 34 + .../@npmcli/arborist/bin/ideal.js | 21 + .../@npmcli/arborist/bin/index.js | 81 + .../@npmcli/arborist/bin/lib/logging.js | 42 + .../@npmcli/arborist/bin/lib/options.js | 59 + .../@npmcli/arborist/bin/lib/print-tree.js | 5 + .../@npmcli/arborist/bin/lib/timers.js | 31 + .../@npmcli/arborist/bin/license.js | 38 + .../@npmcli/arborist/bin/prune.js | 49 + .../@npmcli/arborist/bin/reify.js | 49 + .../@npmcli/arborist/bin/shrinkwrap.js | 12 + .../@npmcli/arborist/bin/virtual.js | 18 + .../@npmcli/arborist/lib/add-rm-pkg-deps.js | 148 + .../@npmcli/arborist/lib/arborist/audit.js | 43 + .../arborist/lib/arborist/build-ideal-tree.js | 1527 +++ .../@npmcli/arborist/lib/arborist/deduper.js | 19 + .../@npmcli/arborist/lib/arborist/index.js | 162 + .../arborist/lib/arborist/load-actual.js | 472 + .../arborist/lib/arborist/load-virtual.js | 319 + .../arborist/lib/arborist/load-workspaces.js | 33 + .../@npmcli/arborist/lib/arborist/pruner.js | 30 + .../@npmcli/arborist/lib/arborist/rebuild.js | 387 + .../@npmcli/arborist/lib/arborist/reify.js | 1510 +++ .../@npmcli/arborist/lib/audit-report.js | 416 + .../@npmcli/arborist/lib/calc-dep-flags.js | 115 + .../@npmcli/arborist/lib/can-place-dep.js | 436 + .../arborist/lib/case-insensitive-map.js | 50 + .../arborist/lib/consistent-resolve.js | 39 + .../@npmcli/arborist/lib/debug.js | 31 + .../arborist/lib/deepest-nesting-target.js | 18 + .../@npmcli/arborist/lib/dep-valid.js | 134 + .../node_modules/@npmcli/arborist/lib/diff.js | 306 + .../node_modules/@npmcli/arborist/lib/edge.js | 280 + .../@npmcli/arborist/lib/from-path.js | 13 + .../@npmcli/arborist/lib/gather-dep-set.js | 43 + .../arborist/lib/get-workspace-nodes.js | 33 + .../@npmcli/arborist/lib/index.js | 8 + .../@npmcli/arborist/lib/inventory.js | 125 + .../node_modules/@npmcli/arborist/lib/link.js | 145 + .../node_modules/@npmcli/arborist/lib/node.js | 1438 +++ .../@npmcli/arborist/lib/optional-set.js | 38 + .../@npmcli/arborist/lib/override-set.js | 123 + .../@npmcli/arborist/lib/peer-entry-sets.js | 77 + .../@npmcli/arborist/lib/place-dep.js | 627 ++ .../@npmcli/arborist/lib/printable.js | 198 + .../@npmcli/arborist/lib/realpath.js | 98 + .../@npmcli/arborist/lib/relpath.js | 3 + .../@npmcli/arborist/lib/reset-dep-flags.js | 15 + .../@npmcli/arborist/lib/retire-path.js | 19 + .../@npmcli/arborist/lib/shrinkwrap.js | 1138 +++ .../@npmcli/arborist/lib/signal-handling.js | 70 + .../@npmcli/arborist/lib/signals.js | 58 + .../@npmcli/arborist/lib/spec-from-lock.js | 32 + .../@npmcli/arborist/lib/tracker.js | 109 + .../@npmcli/arborist/lib/tree-check.js | 155 + .../@npmcli/arborist/lib/version-from-tgz.js | 48 + .../node_modules/@npmcli/arborist/lib/vuln.js | 214 + .../@npmcli/arborist/lib/yarn-lock.js | 349 + .../@npmcli/arborist/package.json | 104 + .../node_modules/@npmcli/ci-detect/LICENSE | 15 + .../node_modules/@npmcli/ci-detect/index.js | 50 + .../@npmcli/ci-detect/package.json | 26 + .../npm/node_modules/@npmcli/config/LICENSE | 15 + .../@npmcli/config/lib/env-replace.js | 14 + .../node_modules/@npmcli/config/lib/index.js | 895 ++ .../@npmcli/config/lib/nerf-dart.js | 18 + .../@npmcli/config/lib/parse-field.js | 81 + .../@npmcli/config/lib/proc-log.js | 4 + .../@npmcli/config/lib/set-envs.js | 111 + .../@npmcli/config/lib/type-defs.js | 59 + .../@npmcli/config/lib/type-description.js | 21 + .../node_modules/@npmcli/config/lib/umask.js | 31 + .../node_modules/@npmcli/config/package.json | 51 + .../@npmcli/disparity-colors/LICENSE | 15 + .../@npmcli/disparity-colors/index.js | 34 + .../@npmcli/disparity-colors/package.json | 60 + .../npm/node_modules/@npmcli/fs/LICENSE.md | 20 + .../fs/lib/common/file-url-to-path/index.js | 17 + .../lib/common/file-url-to-path/polyfill.js | 121 + .../@npmcli/fs/lib/common/get-options.js | 20 + .../@npmcli/fs/lib/common/node.js | 9 + .../@npmcli/fs/lib/common/owner.js | 92 + .../node_modules/@npmcli/fs/lib/copy-file.js | 22 + .../node_modules/@npmcli/fs/lib/cp/LICENSE | 15 + .../node_modules/@npmcli/fs/lib/cp/index.js | 22 + .../@npmcli/fs/lib/cp/polyfill.js | 428 + .../npm/node_modules/@npmcli/fs/lib/errors.js | 129 + .../npm/node_modules/@npmcli/fs/lib/fs.js | 8 + .../npm/node_modules/@npmcli/fs/lib/index.js | 10 + .../@npmcli/fs/lib/mkdir/index.js | 32 + .../@npmcli/fs/lib/mkdir/polyfill.js | 81 + .../node_modules/@npmcli/fs/lib/mkdtemp.js | 28 + .../node_modules/@npmcli/fs/lib/rm/index.js | 22 + .../@npmcli/fs/lib/rm/polyfill.js | 239 + .../@npmcli/fs/lib/with-temp-dir.js | 39 + .../node_modules/@npmcli/fs/lib/write-file.js | 19 + .../npm/node_modules/@npmcli/fs/package.json | 41 + .../npm/node_modules/@npmcli/git/LICENSE | 15 + .../npm/node_modules/@npmcli/git/lib/clone.js | 163 + .../node_modules/@npmcli/git/lib/errors.js | 36 + .../npm/node_modules/@npmcli/git/lib/find.js | 15 + .../npm/node_modules/@npmcli/git/lib/index.js | 9 + .../node_modules/@npmcli/git/lib/is-clean.js | 6 + .../npm/node_modules/@npmcli/git/lib/is.js | 6 + .../@npmcli/git/lib/lines-to-revs.js | 141 + .../@npmcli/git/lib/make-error.js | 33 + .../npm/node_modules/@npmcli/git/lib/opts.js | 12 + .../node_modules/@npmcli/git/lib/proc-log.js | 21 + .../npm/node_modules/@npmcli/git/lib/revs.js | 28 + .../npm/node_modules/@npmcli/git/lib/spawn.js | 43 + .../npm/node_modules/@npmcli/git/lib/utils.js | 3 + .../npm/node_modules/@npmcli/git/lib/which.js | 16 + .../npm/node_modules/@npmcli/git/package.json | 44 + .../installed-package-contents/LICENSE | 15 + .../installed-package-contents/README.md | 109 + .../installed-package-contents/index.js | 237 + .../installed-package-contents/package.json | 37 + .../@npmcli/map-workspaces/LICENSE.md | 20 + .../@npmcli/map-workspaces/lib/index.js | 186 + .../@npmcli/map-workspaces/package.json | 57 + .../@npmcli/metavuln-calculator/LICENSE | 15 + .../metavuln-calculator/lib/advisory.js | 405 + .../metavuln-calculator/lib/get-dep-spec.js | 15 + .../@npmcli/metavuln-calculator/lib/hash.js | 5 + .../@npmcli/metavuln-calculator/lib/index.js | 124 + .../@npmcli/metavuln-calculator/package.json | 46 + .../node_modules/@npmcli/move-file/LICENSE.md | 22 + .../node_modules/@npmcli/move-file/index.js | 162 + .../@npmcli/move-file/package.json | 34 + .../@npmcli/name-from-folder/LICENSE | 15 + .../@npmcli/name-from-folder/index.js | 7 + .../@npmcli/name-from-folder/package.json | 27 + .../@npmcli/node-gyp/lib/index.js | 14 + .../@npmcli/node-gyp/package.json | 35 + .../node_modules/@npmcli/package-json/LICENSE | 18 + .../@npmcli/package-json/lib/index.js | 106 + .../package-json/lib/update-dependencies.js | 72 + .../package-json/lib/update-scripts.js | 28 + .../package-json/lib/update-workspaces.js | 25 + .../@npmcli/package-json/package.json | 34 + .../@npmcli/promise-spawn/LICENSE | 15 + .../@npmcli/promise-spawn/index.js | 75 + .../@npmcli/promise-spawn/package.json | 32 + .../node_modules/@npmcli/run-script/LICENSE | 15 + .../run-script/lib/is-server-package.js | 12 + .../@npmcli/run-script/lib/is-windows.js | 2 + .../@npmcli/run-script/lib/make-spawn-args.js | 40 + .../run-script/lib/node-gyp-bin/node-gyp | 2 + .../run-script/lib/node-gyp-bin/node-gyp.cmd | 1 + .../@npmcli/run-script/lib/package-envs.js | 25 + .../@npmcli/run-script/lib/run-script-pkg.js | 88 + .../@npmcli/run-script/lib/run-script.js | 13 + .../@npmcli/run-script/lib/set-path.js | 44 + .../@npmcli/run-script/lib/signal-manager.js | 46 + .../run-script/lib/validate-options.js | 31 + .../@npmcli/run-script/package.json | 45 + .../node_modules/@tootallnate/once/LICENSE | 21 + .../@tootallnate/once/dist/index.d.ts | 7 + .../@tootallnate/once/dist/index.js | 24 + .../@tootallnate/once/dist/index.js.map | 1 + .../once/dist/overloaded-parameters.d.ts | 231 + .../once/dist/overloaded-parameters.js | 3 + .../once/dist/overloaded-parameters.js.map | 1 + .../@tootallnate/once/dist/types.d.ts | 17 + .../@tootallnate/once/dist/types.js | 3 + .../@tootallnate/once/dist/types.js.map | 1 + .../@tootallnate/once/package.json | 52 + node_modules/npm/node_modules/abbrev/LICENSE | 46 + .../npm/node_modules/abbrev/abbrev.js | 61 + .../npm/node_modules/abbrev/package.json | 21 + .../agent-base/dist/src/index.d.ts | 78 + .../node_modules/agent-base/dist/src/index.js | 203 + .../agent-base/dist/src/index.js.map | 1 + .../agent-base/dist/src/promisify.d.ts | 4 + .../agent-base/dist/src/promisify.js | 18 + .../agent-base/dist/src/promisify.js.map | 1 + .../npm/node_modules/agent-base/package.json | 64 + .../npm/node_modules/agent-base/src/index.ts | 345 + .../node_modules/agent-base/src/promisify.ts | 33 + .../node_modules/agentkeepalive/History.md | 242 + .../npm/node_modules/agentkeepalive/LICENSE | 23 + .../node_modules/agentkeepalive/browser.js | 5 + .../node_modules/agentkeepalive/index.d.ts | 62 + .../npm/node_modules/agentkeepalive/index.js | 5 + .../node_modules/agentkeepalive/lib/agent.js | 398 + .../agentkeepalive/lib/constants.js | 14 + .../agentkeepalive/lib/https_agent.js | 51 + .../node_modules/agentkeepalive/package.json | 66 + .../node_modules/aggregate-error/index.d.ts | 51 + .../npm/node_modules/aggregate-error/index.js | 47 + .../npm/node_modules/aggregate-error/license | 9 + .../node_modules/aggregate-error/package.json | 41 + .../node_modules/aggregate-error/readme.md | 61 + .../npm/node_modules/ansi-regex/index.js | 4 + .../npm/node_modules/ansi-regex/license | 21 + .../npm/node_modules/ansi-regex/package.json | 64 + .../npm/node_modules/ansi-regex/readme.md | 39 + .../npm/node_modules/ansi-styles/index.d.ts | 345 + .../npm/node_modules/ansi-styles/index.js | 163 + .../npm/node_modules/ansi-styles/license | 9 + .../npm/node_modules/ansi-styles/package.json | 56 + .../npm/node_modules/ansi-styles/readme.md | 152 + .../npm/node_modules/ansicolors/LICENSE | 23 + .../npm/node_modules/ansicolors/ansicolors.js | 65 + .../npm/node_modules/ansicolors/package.json | 23 + .../ansicolors/test/ansicolors.js | 71 + .../npm/node_modules/ansistyles/LICENSE | 23 + .../npm/node_modules/ansistyles/ansistyles.js | 38 + .../npm/node_modules/ansistyles/package.json | 23 + .../ansistyles/test/ansistyles.js | 15 + node_modules/npm/node_modules/aproba/LICENSE | 14 + node_modules/npm/node_modules/aproba/index.js | 105 + .../npm/node_modules/aproba/package.json | 35 + node_modules/npm/node_modules/archy/LICENSE | 18 + .../npm/node_modules/archy/examples/beep.js | 24 + .../node_modules/archy/examples/multi_line.js | 25 + node_modules/npm/node_modules/archy/index.js | 35 + .../npm/node_modules/archy/package.json | 40 + .../npm/node_modules/archy/test/beep.js | 40 + .../npm/node_modules/archy/test/multi_line.js | 45 + .../node_modules/archy/test/non_unicode.js | 40 + .../node_modules/are-we-there-yet/LICENSE.md | 18 + .../are-we-there-yet/lib/index.js | 4 + .../are-we-there-yet/lib/tracker-base.js | 11 + .../are-we-there-yet/lib/tracker-group.js | 116 + .../are-we-there-yet/lib/tracker-stream.js | 36 + .../are-we-there-yet/lib/tracker.js | 32 + .../are-we-there-yet/package.json | 57 + node_modules/npm/node_modules/asap/CHANGES.md | 70 + node_modules/npm/node_modules/asap/LICENSE.md | 21 + node_modules/npm/node_modules/asap/asap.js | 65 + .../npm/node_modules/asap/browser-asap.js | 66 + .../npm/node_modules/asap/browser-raw.js | 223 + .../npm/node_modules/asap/package.json | 58 + node_modules/npm/node_modules/asap/raw.js | 101 + .../node_modules/balanced-match/LICENSE.md | 21 + .../npm/node_modules/balanced-match/index.js | 62 + .../node_modules/balanced-match/package.json | 48 + .../npm/node_modules/bin-links/LICENSE | 15 + .../node_modules/bin-links/lib/bin-target.js | 9 + .../node_modules/bin-links/lib/check-bin.js | 76 + .../node_modules/bin-links/lib/check-bins.js | 18 + .../npm/node_modules/bin-links/lib/fix-bin.js | 44 + .../bin-links/lib/get-node-modules.js | 19 + .../node_modules/bin-links/lib/get-paths.js | 51 + .../node_modules/bin-links/lib/get-prefix.js | 3 + .../npm/node_modules/bin-links/lib/index.js | 44 + .../node_modules/bin-links/lib/is-windows.js | 2 + .../node_modules/bin-links/lib/link-bin.js | 9 + .../node_modules/bin-links/lib/link-bins.js | 23 + .../node_modules/bin-links/lib/link-gently.js | 92 + .../node_modules/bin-links/lib/link-mans.js | 52 + .../node_modules/bin-links/lib/man-target.js | 6 + .../node_modules/bin-links/lib/shim-bin.js | 87 + .../npm/node_modules/bin-links/package.json | 57 + .../binary-extensions/binary-extensions.json | 260 + .../binary-extensions.json.d.ts | 3 + .../node_modules/binary-extensions/index.d.ts | 14 + .../node_modules/binary-extensions/index.js | 1 + .../node_modules/binary-extensions/license | 9 + .../binary-extensions/package.json | 38 + .../node_modules/binary-extensions/readme.md | 41 + .../npm/node_modules/brace-expansion/LICENSE | 21 + .../npm/node_modules/brace-expansion/index.js | 201 + .../node_modules/brace-expansion/package.json | 47 + .../npm/node_modules/builtins/History.md | 39 + .../npm/node_modules/builtins/License | 20 + .../npm/node_modules/builtins/Readme.md | 18 + .../npm/node_modules/builtins/builtins.json | 35 + .../npm/node_modules/builtins/package.json | 14 + .../npm/node_modules/builtins/test.js | 5 + .../npm/node_modules/cacache/LICENSE.md | 16 + node_modules/npm/node_modules/cacache/get.js | 237 + .../npm/node_modules/cacache/index.js | 46 + .../node_modules/cacache/lib/content/path.js | 29 + .../node_modules/cacache/lib/content/read.js | 244 + .../node_modules/cacache/lib/content/rm.js | 19 + .../node_modules/cacache/lib/content/write.js | 189 + .../node_modules/cacache/lib/entry-index.js | 394 + .../node_modules/cacache/lib/memoization.js | 73 + .../node_modules/cacache/lib/util/disposer.js | 30 + .../cacache/lib/util/fix-owner.js | 142 + .../cacache/lib/util/hash-to-segments.js | 7 + .../cacache/lib/util/move-file.js | 67 + .../npm/node_modules/cacache/lib/util/tmp.js | 35 + .../npm/node_modules/cacache/lib/verify.js | 287 + node_modules/npm/node_modules/cacache/ls.js | 6 + .../npm/node_modules/cacache/package.json | 80 + node_modules/npm/node_modules/cacache/put.js | 83 + node_modules/npm/node_modules/cacache/rm.js | 31 + .../npm/node_modules/cacache/verify.js | 3 + .../npm/node_modules/chalk/index.d.ts | 415 + node_modules/npm/node_modules/chalk/license | 9 + .../npm/node_modules/chalk/package.json | 68 + node_modules/npm/node_modules/chalk/readme.md | 341 + .../npm/node_modules/chalk/source/index.js | 229 + .../node_modules/chalk/source/templates.js | 134 + .../npm/node_modules/chalk/source/util.js | 39 + node_modules/npm/node_modules/chownr/LICENSE | 15 + .../npm/node_modules/chownr/chownr.js | 167 + .../npm/node_modules/chownr/package.json | 32 + .../npm/node_modules/cidr-regex/LICENSE | 22 + .../npm/node_modules/cidr-regex/index.d.ts | 55 + .../npm/node_modules/cidr-regex/index.js | 18 + .../npm/node_modules/cidr-regex/package.json | 42 + .../npm/node_modules/clean-stack/index.d.ts | 47 + .../npm/node_modules/clean-stack/index.js | 40 + .../npm/node_modules/clean-stack/license | 9 + .../npm/node_modules/clean-stack/package.json | 39 + .../npm/node_modules/clean-stack/readme.md | 76 + .../npm/node_modules/cli-columns/LICENSE | 20 + .../npm/node_modules/cli-columns/color.js | 16 + .../npm/node_modules/cli-columns/index.js | 82 + .../node_modules/ansi-regex/index.d.ts | 37 + .../node_modules/ansi-regex/index.js | 10 + .../node_modules/ansi-regex/license | 9 + .../node_modules/ansi-regex/package.json | 55 + .../is-fullwidth-code-point/index.d.ts | 17 + .../is-fullwidth-code-point/index.js | 50 + .../is-fullwidth-code-point/license | 9 + .../is-fullwidth-code-point/package.json | 42 + .../node_modules/string-width/index.d.ts | 29 + .../node_modules/string-width/index.js | 47 + .../node_modules/string-width/license | 9 + .../node_modules/string-width/package.json | 56 + .../node_modules/strip-ansi/index.d.ts | 17 + .../node_modules/strip-ansi/index.js | 4 + .../node_modules/strip-ansi/license | 9 + .../node_modules/strip-ansi/package.json | 54 + .../npm/node_modules/cli-columns/package.json | 54 + .../npm/node_modules/cli-columns/test.js | 101 + .../npm/node_modules/cli-table3/LICENSE | 21 + .../npm/node_modules/cli-table3/index.d.ts | 92 + .../npm/node_modules/cli-table3/index.js | 1 + .../node_modules/ansi-regex/index.d.ts | 37 + .../node_modules/ansi-regex/index.js | 10 + .../node_modules/ansi-regex/license | 9 + .../node_modules/ansi-regex/package.json | 55 + .../node_modules/ansi-regex/readme.md | 78 + .../is-fullwidth-code-point/index.d.ts | 17 + .../is-fullwidth-code-point/index.js | 50 + .../is-fullwidth-code-point/license | 9 + .../is-fullwidth-code-point/package.json | 42 + .../is-fullwidth-code-point/readme.md | 39 + .../node_modules/string-width/index.d.ts | 29 + .../node_modules/string-width/index.js | 47 + .../node_modules/string-width/license | 9 + .../node_modules/string-width/package.json | 56 + .../node_modules/string-width/readme.md | 50 + .../node_modules/strip-ansi/index.d.ts | 17 + .../node_modules/strip-ansi/index.js | 4 + .../node_modules/strip-ansi/license | 9 + .../node_modules/strip-ansi/package.json | 54 + .../node_modules/strip-ansi/readme.md | 46 + .../npm/node_modules/cli-table3/package.json | 100 + .../npm/node_modules/cli-table3/src/cell.js | 371 + .../cli-table3/src/layout-manager.js | 233 + .../npm/node_modules/cli-table3/src/table.js | 77 + .../npm/node_modules/cli-table3/src/utils.js | 302 + node_modules/npm/node_modules/clone/LICENSE | 18 + node_modules/npm/node_modules/clone/clone.iml | 10 + node_modules/npm/node_modules/clone/clone.js | 166 + .../npm/node_modules/clone/package.json | 51 + .../npm/node_modules/cmd-shim/LICENSE | 15 + .../npm/node_modules/cmd-shim/index.js | 236 + .../cmd-shim/lib/to-batch-syntax.js | 51 + .../npm/node_modules/cmd-shim/package.json | 36 + .../npm/node_modules/color-convert/LICENSE | 21 + .../node_modules/color-convert/conversions.js | 839 ++ .../npm/node_modules/color-convert/index.js | 81 + .../node_modules/color-convert/package.json | 48 + .../npm/node_modules/color-convert/route.js | 97 + .../npm/node_modules/color-name/LICENSE | 8 + .../npm/node_modules/color-name/index.js | 152 + .../npm/node_modules/color-name/package.json | 28 + .../npm/node_modules/color-support/LICENSE | 15 + .../npm/node_modules/color-support/README.md | 129 + .../npm/node_modules/color-support/bin.js | 3 + .../npm/node_modules/color-support/browser.js | 14 + .../npm/node_modules/color-support/index.js | 134 + .../node_modules/color-support/package.json | 36 + node_modules/npm/node_modules/colors/LICENSE | 25 + .../colors/examples/normal-usage.js | 82 + .../colors/examples/safe-string.js | 79 + .../npm/node_modules/colors/index.d.ts | 136 + .../npm/node_modules/colors/lib/colors.js | 211 + .../node_modules/colors/lib/custom/trap.js | 46 + .../node_modules/colors/lib/custom/zalgo.js | 110 + .../colors/lib/extendStringPrototype.js | 110 + .../npm/node_modules/colors/lib/index.js | 13 + .../node_modules/colors/lib/maps/america.js | 10 + .../node_modules/colors/lib/maps/rainbow.js | 12 + .../node_modules/colors/lib/maps/random.js | 11 + .../npm/node_modules/colors/lib/maps/zebra.js | 5 + .../npm/node_modules/colors/lib/styles.js | 95 + .../colors/lib/system/has-flag.js | 35 + .../colors/lib/system/supports-colors.js | 151 + .../npm/node_modules/colors/package.json | 45 + .../npm/node_modules/colors/safe.d.ts | 48 + node_modules/npm/node_modules/colors/safe.js | 10 + .../colors/themes/generic-logging.js | 12 + .../npm/node_modules/columnify/LICENSE | 21 + .../npm/node_modules/columnify/Makefile | 9 + .../npm/node_modules/columnify/Readme.md | 470 + .../npm/node_modules/columnify/columnify.js | 308 + .../npm/node_modules/columnify/index.js | 297 + .../npm/node_modules/columnify/package.json | 51 + .../npm/node_modules/columnify/utils.js | 193 + .../npm/node_modules/columnify/width.js | 6 + .../node_modules/common-ancestor-path/LICENSE | 15 + .../common-ancestor-path/index.js | 17 + .../common-ancestor-path/package.json | 28 + .../npm/node_modules/concat-map/LICENSE | 18 + .../node_modules/concat-map/example/map.js | 6 + .../npm/node_modules/concat-map/index.js | 13 + .../npm/node_modules/concat-map/package.json | 43 + .../npm/node_modules/concat-map/test/map.js | 39 + .../console-control-strings/LICENSE | 13 + .../console-control-strings/index.js | 125 + .../console-control-strings/package.json | 27 + node_modules/npm/node_modules/debug/LICENSE | 20 + .../debug/node_modules/ms/index.js | 162 + .../debug/node_modules/ms/license.md | 21 + .../debug/node_modules/ms/package.json | 37 + .../debug/node_modules/ms/readme.md | 60 + .../npm/node_modules/debug/package.json | 59 + .../npm/node_modules/debug/src/browser.js | 269 + .../npm/node_modules/debug/src/common.js | 274 + .../npm/node_modules/debug/src/index.js | 10 + .../npm/node_modules/debug/src/node.js | 263 + .../npm/node_modules/debuglog/LICENSE | 19 + .../npm/node_modules/debuglog/debuglog.js | 22 + .../npm/node_modules/debuglog/package.json | 21 + .../npm/node_modules/defaults/LICENSE | 21 + .../npm/node_modules/defaults/index.js | 13 + .../npm/node_modules/defaults/package.json | 26 + .../npm/node_modules/defaults/test.js | 34 + .../npm/node_modules/delegates/History.md | 22 + .../npm/node_modules/delegates/License | 20 + .../npm/node_modules/delegates/Makefile | 8 + .../npm/node_modules/delegates/Readme.md | 94 + .../npm/node_modules/delegates/index.js | 121 + .../npm/node_modules/delegates/package.json | 13 + .../npm/node_modules/delegates/test/index.js | 94 + node_modules/npm/node_modules/depd/History.md | 96 + node_modules/npm/node_modules/depd/LICENSE | 22 + node_modules/npm/node_modules/depd/Readme.md | 280 + node_modules/npm/node_modules/depd/index.js | 522 + .../node_modules/depd/lib/browser/index.js | 77 + .../depd/lib/compat/callsite-tostring.js | 103 + .../depd/lib/compat/event-listener-count.js | 22 + .../npm/node_modules/depd/lib/compat/index.js | 79 + .../npm/node_modules/depd/package.json | 41 + node_modules/npm/node_modules/dezalgo/LICENSE | 15 + .../npm/node_modules/dezalgo/dezalgo.js | 22 + .../npm/node_modules/dezalgo/package.json | 42 + .../npm/node_modules/dezalgo/test/basic.js | 29 + .../npm/node_modules/diff/CONTRIBUTING.md | 39 + node_modules/npm/node_modules/diff/LICENSE | 31 + .../npm/node_modules/diff/dist/diff.js | 1582 +++ .../npm/node_modules/diff/lib/convert/dmp.js | 32 + .../npm/node_modules/diff/lib/convert/xml.js | 42 + .../npm/node_modules/diff/lib/diff/array.js | 45 + .../npm/node_modules/diff/lib/diff/base.js | 304 + .../node_modules/diff/lib/diff/character.js | 37 + .../npm/node_modules/diff/lib/diff/css.js | 41 + .../npm/node_modules/diff/lib/diff/json.js | 163 + .../npm/node_modules/diff/lib/diff/line.js | 89 + .../node_modules/diff/lib/diff/sentence.js | 41 + .../npm/node_modules/diff/lib/diff/word.js | 108 + .../npm/node_modules/diff/lib/index.es6.js | 1553 +++ .../npm/node_modules/diff/lib/index.js | 216 + .../npm/node_modules/diff/lib/index.mjs | 1553 +++ .../npm/node_modules/diff/lib/patch/apply.js | 238 + .../npm/node_modules/diff/lib/patch/create.js | 267 + .../npm/node_modules/diff/lib/patch/merge.js | 613 ++ .../npm/node_modules/diff/lib/patch/parse.js | 167 + .../npm/node_modules/diff/lib/util/array.js | 32 + .../diff/lib/util/distance-iterator.js | 57 + .../npm/node_modules/diff/lib/util/params.js | 24 + .../npm/node_modules/diff/package.json | 87 + .../npm/node_modules/diff/release-notes.md | 303 + node_modules/npm/node_modules/diff/runtime.js | 3 + .../node_modules/emoji-regex/LICENSE-MIT.txt | 20 + .../node_modules/emoji-regex/es2015/index.js | 6 + .../node_modules/emoji-regex/es2015/text.js | 6 + .../npm/node_modules/emoji-regex/index.d.ts | 23 + .../npm/node_modules/emoji-regex/index.js | 6 + .../npm/node_modules/emoji-regex/package.json | 50 + .../npm/node_modules/emoji-regex/text.js | 6 + .../npm/node_modules/encoding/LICENSE | 16 + .../npm/node_modules/encoding/lib/encoding.js | 83 + .../npm/node_modules/encoding/package.json | 18 + .../npm/node_modules/encoding/test/test.js | 49 + .../npm/node_modules/env-paths/index.d.ts | 101 + .../npm/node_modules/env-paths/index.js | 74 + .../npm/node_modules/env-paths/license | 9 + .../npm/node_modules/env-paths/package.json | 45 + .../npm/node_modules/env-paths/readme.md | 115 + .../npm/node_modules/err-code/bower.json | 30 + .../npm/node_modules/err-code/index.js | 47 + .../npm/node_modules/err-code/index.umd.js | 51 + .../npm/node_modules/err-code/package.json | 34 + .../npm/node_modules/err-code/test/test.js | 159 + .../fastest-levenshtein/LICENSE.md | 21 + .../fastest-levenshtein/index.d.ts | 2 + .../node_modules/fastest-levenshtein/index.js | 147 + .../fastest-levenshtein/package.json | 63 + .../node_modules/fastest-levenshtein/test.js | 64 + .../npm/node_modules/fs-minipass/LICENSE | 15 + .../npm/node_modules/fs-minipass/index.js | 422 + .../npm/node_modules/fs-minipass/package.json | 39 + .../npm/node_modules/fs.realpath/LICENSE | 43 + .../npm/node_modules/fs.realpath/index.js | 66 + .../npm/node_modules/fs.realpath/old.js | 303 + .../npm/node_modules/fs.realpath/package.json | 26 + .../npm/node_modules/function-bind/LICENSE | 20 + .../function-bind/implementation.js | 52 + .../npm/node_modules/function-bind/index.js | 5 + .../node_modules/function-bind/package.json | 63 + .../node_modules/function-bind/test/index.js | 252 + .../npm/node_modules/gauge/LICENSE.md | 20 + .../npm/node_modules/gauge/lib/base-theme.js | 18 + .../npm/node_modules/gauge/lib/demo.js | 45 + .../npm/node_modules/gauge/lib/error.js | 24 + .../npm/node_modules/gauge/lib/has-color.js | 4 + .../npm/node_modules/gauge/lib/index.js | 290 + .../npm/node_modules/gauge/lib/plumbing.js | 50 + .../npm/node_modules/gauge/lib/process.js | 3 + .../node_modules/gauge/lib/progress-bar.js | 41 + .../node_modules/gauge/lib/render-template.js | 222 + .../node_modules/gauge/lib/set-immediate.js | 7 + .../node_modules/gauge/lib/set-interval.js | 3 + .../npm/node_modules/gauge/lib/spin.js | 5 + .../node_modules/gauge/lib/template-item.js | 87 + .../npm/node_modules/gauge/lib/theme-set.js | 122 + .../npm/node_modules/gauge/lib/themes.js | 56 + .../node_modules/gauge/lib/wide-truncate.js | 31 + .../gauge/node_modules/ansi-regex/index.d.ts | 37 + .../gauge/node_modules/ansi-regex/index.js | 10 + .../gauge/node_modules/ansi-regex/license | 9 + .../node_modules/ansi-regex/package.json | 55 + .../is-fullwidth-code-point/index.d.ts | 17 + .../is-fullwidth-code-point/index.js | 50 + .../is-fullwidth-code-point/license | 9 + .../is-fullwidth-code-point/package.json | 42 + .../node_modules/string-width/index.d.ts | 29 + .../gauge/node_modules/string-width/index.js | 47 + .../gauge/node_modules/string-width/license | 9 + .../node_modules/string-width/package.json | 56 + .../gauge/node_modules/strip-ansi/index.d.ts | 17 + .../gauge/node_modules/strip-ansi/index.js | 4 + .../gauge/node_modules/strip-ansi/license | 9 + .../node_modules/strip-ansi/package.json | 54 + .../npm/node_modules/gauge/package.json | 62 + node_modules/npm/node_modules/glob/LICENSE | 21 + node_modules/npm/node_modules/glob/common.js | 236 + node_modules/npm/node_modules/glob/glob.js | 787 ++ .../npm/node_modules/glob/package.json | 52 + node_modules/npm/node_modules/glob/sync.js | 483 + .../npm/node_modules/graceful-fs/LICENSE | 15 + .../npm/node_modules/graceful-fs/clone.js | 23 + .../node_modules/graceful-fs/graceful-fs.js | 429 + .../graceful-fs/legacy-streams.js | 118 + .../npm/node_modules/graceful-fs/package.json | 50 + .../npm/node_modules/graceful-fs/polyfills.js | 348 + .../npm/node_modules/has-flag/index.d.ts | 39 + .../npm/node_modules/has-flag/index.js | 8 + .../npm/node_modules/has-flag/license | 9 + .../npm/node_modules/has-flag/package.json | 46 + .../npm/node_modules/has-flag/readme.md | 89 + .../npm/node_modules/has-unicode/LICENSE | 14 + .../npm/node_modules/has-unicode/index.js | 16 + .../npm/node_modules/has-unicode/package.json | 30 + node_modules/npm/node_modules/has/LICENSE-MIT | 22 + .../npm/node_modules/has/package.json | 48 + .../npm/node_modules/has/src/index.js | 5 + .../npm/node_modules/has/test/index.js | 10 + .../npm/node_modules/hosted-git-info/LICENSE | 13 + .../hosted-git-info/git-host-info.js | 184 + .../node_modules/hosted-git-info/git-host.js | 110 + .../npm/node_modules/hosted-git-info/index.js | 237 + .../node_modules/hosted-git-info/package.json | 51 + .../node_modules/http-cache-semantics/LICENSE | 9 + .../http-cache-semantics/index.js | 673 ++ .../http-cache-semantics/package.json | 24 + .../http-proxy-agent/dist/agent.d.ts | 32 + .../http-proxy-agent/dist/agent.js | 145 + .../http-proxy-agent/dist/agent.js.map | 1 + .../http-proxy-agent/dist/index.d.ts | 21 + .../http-proxy-agent/dist/index.js | 14 + .../http-proxy-agent/dist/index.js.map | 1 + .../http-proxy-agent/package.json | 57 + .../https-proxy-agent/dist/agent.d.ts | 30 + .../https-proxy-agent/dist/agent.js | 180 + .../https-proxy-agent/dist/agent.js.map | 1 + .../https-proxy-agent/dist/index.d.ts | 23 + .../https-proxy-agent/dist/index.js | 14 + .../https-proxy-agent/dist/index.js.map | 1 + .../dist/parse-proxy-response.d.ts | 7 + .../dist/parse-proxy-response.js | 66 + .../dist/parse-proxy-response.js.map | 1 + .../https-proxy-agent/package.json | 56 + .../npm/node_modules/humanize-ms/History.md | 25 + .../npm/node_modules/humanize-ms/LICENSE | 17 + .../npm/node_modules/humanize-ms/index.js | 24 + .../npm/node_modules/humanize-ms/package.json | 37 + .../npm/node_modules/iconv-lite/Changelog.md | 212 + .../npm/node_modules/iconv-lite/LICENSE | 21 + .../iconv-lite/encodings/dbcs-codec.js | 597 ++ .../iconv-lite/encodings/dbcs-data.js | 188 + .../iconv-lite/encodings/index.js | 23 + .../iconv-lite/encodings/internal.js | 198 + .../iconv-lite/encodings/sbcs-codec.js | 72 + .../encodings/sbcs-data-generated.js | 451 + .../iconv-lite/encodings/sbcs-data.js | 179 + .../encodings/tables/big5-added.json | 122 + .../iconv-lite/encodings/tables/cp936.json | 264 + .../iconv-lite/encodings/tables/cp949.json | 273 + .../iconv-lite/encodings/tables/cp950.json | 177 + .../iconv-lite/encodings/tables/eucjp.json | 182 + .../encodings/tables/gb18030-ranges.json | 1 + .../encodings/tables/gbk-added.json | 56 + .../iconv-lite/encodings/tables/shiftjis.json | 125 + .../iconv-lite/encodings/utf16.js | 197 + .../iconv-lite/encodings/utf32.js | 319 + .../node_modules/iconv-lite/encodings/utf7.js | 290 + .../iconv-lite/lib/bom-handling.js | 52 + .../node_modules/iconv-lite/lib/index.d.ts | 41 + .../npm/node_modules/iconv-lite/lib/index.js | 180 + .../node_modules/iconv-lite/lib/streams.js | 109 + .../npm/node_modules/iconv-lite/package.json | 44 + .../npm/node_modules/ignore-walk/LICENSE | 15 + .../npm/node_modules/ignore-walk/index.js | 292 + .../npm/node_modules/ignore-walk/package.json | 54 + .../node_modules/imurmurhash/imurmurhash.js | 138 + .../imurmurhash/imurmurhash.min.js | 12 + .../npm/node_modules/imurmurhash/package.json | 40 + .../npm/node_modules/indent-string/index.d.ts | 42 + .../npm/node_modules/indent-string/index.js | 35 + .../npm/node_modules/indent-string/license | 9 + .../node_modules/indent-string/package.json | 37 + .../npm/node_modules/indent-string/readme.md | 70 + .../npm/node_modules/infer-owner/LICENSE | 15 + .../npm/node_modules/infer-owner/index.js | 71 + .../npm/node_modules/infer-owner/package.json | 26 + .../npm/node_modules/inflight/LICENSE | 15 + .../npm/node_modules/inflight/inflight.js | 54 + .../npm/node_modules/inflight/package.json | 29 + .../npm/node_modules/inherits/LICENSE | 16 + .../npm/node_modules/inherits/inherits.js | 9 + .../node_modules/inherits/inherits_browser.js | 27 + .../npm/node_modules/inherits/package.json | 29 + node_modules/npm/node_modules/ini/LICENSE | 15 + node_modules/npm/node_modules/ini/ini.js | 206 + .../npm/node_modules/ini/package.json | 36 + .../node_modules/init-package-json/LICENSE.md | 18 + .../init-package-json/lib/default-input.js | 311 + .../lib/init-package-json.js | 184 + .../init-package-json/package.json | 60 + .../npm/node_modules/ip-regex/index.d.ts | 70 + .../npm/node_modules/ip-regex/index.js | 36 + .../npm/node_modules/ip-regex/license | 9 + .../npm/node_modules/ip-regex/package.json | 44 + .../npm/node_modules/ip-regex/readme.md | 86 + node_modules/npm/node_modules/ip/lib/ip.js | 416 + node_modules/npm/node_modules/ip/package.json | 21 + .../npm/node_modules/ip/test/api-test.js | 407 + node_modules/npm/node_modules/is-cidr/LICENSE | 22 + .../npm/node_modules/is-cidr/index.d.ts | 31 + .../npm/node_modules/is-cidr/index.js | 9 + .../npm/node_modules/is-cidr/package.json | 46 + .../npm/node_modules/is-core-module/LICENSE | 20 + .../npm/node_modules/is-core-module/core.json | 152 + .../npm/node_modules/is-core-module/index.js | 69 + .../node_modules/is-core-module/package.json | 69 + .../node_modules/is-core-module/test/index.js | 130 + .../is-fullwidth-code-point/index.js | 46 + .../is-fullwidth-code-point/license | 21 + .../is-fullwidth-code-point/package.json | 45 + .../is-fullwidth-code-point/readme.md | 39 + .../npm/node_modules/is-lambda/LICENSE | 21 + .../npm/node_modules/is-lambda/index.js | 6 + .../npm/node_modules/is-lambda/package.json | 35 + .../npm/node_modules/is-lambda/test.js | 16 + .../npm/node_modules/is-typedarray/LICENSE.md | 18 + .../npm/node_modules/is-typedarray/index.js | 41 + .../node_modules/is-typedarray/package.json | 30 + .../npm/node_modules/is-typedarray/test.js | 34 + node_modules/npm/node_modules/isexe/LICENSE | 15 + node_modules/npm/node_modules/isexe/index.js | 57 + node_modules/npm/node_modules/isexe/mode.js | 41 + .../npm/node_modules/isexe/package.json | 31 + .../npm/node_modules/isexe/test/basic.js | 221 + .../npm/node_modules/isexe/windows.js | 42 + .../json-parse-even-better-errors/LICENSE.md | 25 + .../json-parse-even-better-errors/index.js | 121 + .../package.json | 33 + .../node_modules/json-stringify-nice/LICENSE | 15 + .../node_modules/json-stringify-nice/index.js | 38 + .../json-stringify-nice/package.json | 40 + .../npm/node_modules/jsonparse/LICENSE | 24 + .../npm/node_modules/jsonparse/bench.js | 26 + .../jsonparse/examples/twitterfeed.js | 30 + .../npm/node_modules/jsonparse/jsonparse.js | 413 + .../npm/node_modules/jsonparse/package.json | 22 + .../jsonparse/samplejson/basic.json | 167 + .../jsonparse/samplejson/basic2.json | 180 + .../node_modules/jsonparse/test/big-token.js | 24 + .../node_modules/jsonparse/test/boundary.js | 110 + .../npm/node_modules/jsonparse/test/offset.js | 67 + .../node_modules/jsonparse/test/primitives.js | 57 + .../node_modules/jsonparse/test/surrogate.js | 26 + .../node_modules/jsonparse/test/unvalid.js | 15 + .../npm/node_modules/jsonparse/test/utf8.js | 38 + .../npm/node_modules/just-diff-apply/LICENSE | 21 + .../npm/node_modules/just-diff-apply/index.js | 105 + .../node_modules/just-diff-apply/index.mjs | 110 + .../node_modules/just-diff-apply/package.json | 31 + .../just-diff-apply/rollup.config.js | 3 + .../npm/node_modules/just-diff/LICENSE | 21 + .../npm/node_modules/just-diff/index.d.ts | 20 + .../npm/node_modules/just-diff/index.js | 152 + .../npm/node_modules/just-diff/index.mjs | 146 + .../npm/node_modules/just-diff/index.tests.ts | 65 + .../npm/node_modules/just-diff/package.json | 31 + .../node_modules/just-diff/rollup.config.js | 3 + .../npm/node_modules/libnpmaccess/LICENSE | 13 + .../npm/node_modules/libnpmaccess/README.md | 247 + .../node_modules/libnpmaccess/lib/index.js | 186 + .../node_modules/libnpmaccess/package.json | 50 + .../npm/node_modules/libnpmdiff/LICENSE | 15 + .../npm/node_modules/libnpmdiff/README.md | 98 + .../libnpmdiff/lib/format-diff.js | 96 + .../npm/node_modules/libnpmdiff/lib/index.js | 62 + .../libnpmdiff/lib/should-print-patch.js | 22 + .../node_modules/libnpmdiff/lib/tarball.js | 34 + .../npm/node_modules/libnpmdiff/lib/untar.js | 96 + .../npm/node_modules/libnpmdiff/package.json | 63 + .../npm/node_modules/libnpmexec/LICENSE | 15 + .../npm/node_modules/libnpmexec/README.md | 50 + .../libnpmexec/lib/cache-install-dir.js | 20 + .../libnpmexec/lib/file-exists.js | 31 + .../libnpmexec/lib/get-bin-from-manifest.js | 22 + .../npm/node_modules/libnpmexec/lib/index.js | 192 + .../node_modules/libnpmexec/lib/is-windows.js | 1 + .../libnpmexec/lib/manifest-missing.js | 19 + .../npm/node_modules/libnpmexec/lib/no-tty.js | 1 + .../node_modules/libnpmexec/lib/run-script.js | 89 + .../npm/node_modules/libnpmexec/package.json | 68 + .../npm/node_modules/libnpmfund/LICENSE | 15 + .../npm/node_modules/libnpmfund/README.md | 132 + .../npm/node_modules/libnpmfund/lib/index.js | 210 + .../npm/node_modules/libnpmfund/package.json | 57 + .../npm/node_modules/libnpmhook/LICENSE.md | 16 + .../npm/node_modules/libnpmhook/README.md | 271 + .../npm/node_modules/libnpmhook/lib/index.js | 70 + .../npm/node_modules/libnpmhook/package.json | 50 + .../npm/node_modules/libnpmorg/LICENSE | 13 + .../npm/node_modules/libnpmorg/README.md | 149 + .../npm/node_modules/libnpmorg/lib/index.js | 64 + .../npm/node_modules/libnpmorg/package.json | 56 + .../npm/node_modules/libnpmpack/LICENSE | 13 + .../npm/node_modules/libnpmpack/README.md | 56 + .../npm/node_modules/libnpmpack/lib/index.js | 65 + .../npm/node_modules/libnpmpack/package.json | 51 + .../npm/node_modules/libnpmpublish/LICENSE | 13 + .../npm/node_modules/libnpmpublish/README.md | 105 + .../node_modules/libnpmpublish/lib/index.js | 4 + .../node_modules/libnpmpublish/lib/publish.js | 182 + .../libnpmpublish/lib/unpublish.js | 102 + .../node_modules/libnpmpublish/package.json | 57 + .../npm/node_modules/libnpmsearch/LICENSE | 13 + .../npm/node_modules/libnpmsearch/README.md | 173 + .../node_modules/libnpmsearch/lib/index.js | 71 + .../node_modules/libnpmsearch/package.json | 52 + .../npm/node_modules/libnpmteam/LICENSE | 13 + .../npm/node_modules/libnpmteam/README.md | 189 + .../npm/node_modules/libnpmteam/lib/index.js | 88 + .../npm/node_modules/libnpmteam/package.json | 46 + .../npm/node_modules/libnpmversion/LICENSE | 15 + .../npm/node_modules/libnpmversion/README.md | 159 + .../node_modules/libnpmversion/lib/commit.js | 17 + .../libnpmversion/lib/enforce-clean.js | 31 + .../node_modules/libnpmversion/lib/index.js | 41 + .../libnpmversion/lib/proc-log.js | 21 + .../libnpmversion/lib/read-json.js | 7 + .../libnpmversion/lib/retrieve-tag.js | 13 + .../npm/node_modules/libnpmversion/lib/tag.js | 30 + .../node_modules/libnpmversion/lib/version.js | 137 + .../libnpmversion/lib/write-json.js | 16 + .../node_modules/libnpmversion/package.json | 49 + .../npm/node_modules/lru-cache/LICENSE | 15 + .../npm/node_modules/lru-cache/index.js | 334 + .../npm/node_modules/lru-cache/package.json | 34 + .../node_modules/make-fetch-happen/LICENSE | 16 + .../make-fetch-happen/lib/agent.js | 203 + .../make-fetch-happen/lib/cache/entry.js | 494 + .../make-fetch-happen/lib/cache/errors.js | 11 + .../make-fetch-happen/lib/cache/index.js | 49 + .../make-fetch-happen/lib/cache/key.js | 17 + .../make-fetch-happen/lib/cache/policy.js | 161 + .../make-fetch-happen/lib/fetch.js | 118 + .../make-fetch-happen/lib/index.js | 40 + .../make-fetch-happen/lib/options.js | 48 + .../make-fetch-happen/lib/remote.js | 108 + .../node_modules/lru-cache/LICENSE | 15 + .../node_modules/lru-cache/index.js | 581 ++ .../node_modules/lru-cache/package.json | 34 + .../make-fetch-happen/package.json | 75 + .../npm/node_modules/minimatch/LICENSE | 15 + .../npm/node_modules/minimatch/minimatch.js | 923 ++ .../npm/node_modules/minimatch/package.json | 30 + .../npm/node_modules/minipass-collect/LICENSE | 15 + .../node_modules/minipass-collect/index.js | 71 + .../minipass-collect/package.json | 29 + .../npm/node_modules/minipass-fetch/LICENSE | 28 + .../npm/node_modules/minipass-fetch/index.js | 1 + .../minipass-fetch/lib/abort-error.js | 17 + .../node_modules/minipass-fetch/lib/blob.js | 97 + .../node_modules/minipass-fetch/lib/body.js | 334 + .../minipass-fetch/lib/fetch-error.js | 31 + .../minipass-fetch/lib/headers.js | 250 + .../node_modules/minipass-fetch/lib/index.js | 341 + .../minipass-fetch/lib/request.js | 263 + .../minipass-fetch/lib/response.js | 89 + .../node_modules/minipass-fetch/package.json | 53 + .../npm/node_modules/minipass-flush/LICENSE | 15 + .../npm/node_modules/minipass-flush/index.js | 39 + .../node_modules/minipass-flush/package.json | 39 + .../node_modules/minipass-json-stream/LICENSE | 27 + .../minipass-json-stream/index.js | 227 + .../minipass-json-stream/package.json | 39 + .../node_modules/minipass-pipeline/LICENSE | 15 + .../node_modules/minipass-pipeline/index.js | 128 + .../minipass-pipeline/package.json | 29 + .../npm/node_modules/minipass-sized/LICENSE | 15 + .../npm/node_modules/minipass-sized/index.js | 67 + .../minipass-sized/package-lock.json | 3464 +++++++ .../node_modules/minipass-sized/package.json | 39 + .../node_modules/minipass-sized/test/basic.js | 83 + .../npm/node_modules/minipass/LICENSE | 15 + .../npm/node_modules/minipass/index.js | 560 ++ .../npm/node_modules/minipass/package.json | 39 + .../npm/node_modules/minizlib/LICENSE | 26 + .../npm/node_modules/minizlib/constants.js | 115 + .../npm/node_modules/minizlib/index.js | 348 + .../npm/node_modules/minizlib/package.json | 42 + .../node_modules/mkdirp-infer-owner/LICENSE | 15 + .../node_modules/mkdirp-infer-owner/index.js | 26 + .../mkdirp-infer-owner/package.json | 36 + .../npm/node_modules/mkdirp/CHANGELOG.md | 15 + node_modules/npm/node_modules/mkdirp/LICENSE | 21 + .../npm/node_modules/mkdirp/bin/cmd.js | 68 + node_modules/npm/node_modules/mkdirp/index.js | 31 + .../npm/node_modules/mkdirp/lib/find-made.js | 29 + .../node_modules/mkdirp/lib/mkdirp-manual.js | 64 + .../node_modules/mkdirp/lib/mkdirp-native.js | 39 + .../npm/node_modules/mkdirp/lib/opts-arg.js | 23 + .../npm/node_modules/mkdirp/lib/path-arg.js | 29 + .../npm/node_modules/mkdirp/lib/use-native.js | 10 + .../npm/node_modules/mkdirp/package.json | 44 + .../npm/node_modules/mkdirp/readme.markdown | 266 + node_modules/npm/node_modules/ms/index.js | 162 + node_modules/npm/node_modules/ms/license.md | 21 + node_modules/npm/node_modules/ms/package.json | 38 + node_modules/npm/node_modules/ms/readme.md | 59 + .../npm/node_modules/mute-stream/LICENSE | 15 + .../npm/node_modules/mute-stream/mute.js | 145 + .../npm/node_modules/mute-stream/package.json | 29 + .../npm/node_modules/negotiator/HISTORY.md | 108 + .../npm/node_modules/negotiator/LICENSE | 24 + .../npm/node_modules/negotiator/index.js | 82 + .../node_modules/negotiator/lib/charset.js | 169 + .../node_modules/negotiator/lib/encoding.js | 184 + .../node_modules/negotiator/lib/language.js | 179 + .../node_modules/negotiator/lib/mediaType.js | 294 + .../npm/node_modules/negotiator/package.json | 42 + .../node-gyp/.github/ISSUE_TEMPLATE.md | 52 + .../node-gyp/.github/PULL_REQUEST_TEMPLATE.md | 17 + .../.github/workflows/release-please.yml | 56 + .../node-gyp/.github/workflows/tests.yml | 45 + .../.github/workflows/visual-studio.yml | 25 + .../npm/node_modules/node-gyp/CHANGELOG.md | 687 ++ .../npm/node_modules/node-gyp/CONTRIBUTING.md | 34 + .../npm/node_modules/node-gyp/LICENSE | 24 + .../npm/node_modules/node-gyp/README.md | 256 + .../npm/node_modules/node-gyp/addon.gypi | 185 + .../npm/node_modules/node-gyp/bin/node-gyp.js | 140 + .../node-gyp/docs/Common-issues.md | 14 + ...re-versions-of-node-cannot-be-installed.md | 94 + .../npm/node_modules/node-gyp/docs/Home.md | 7 + .../node-gyp/docs/Linking-to-OpenSSL.md | 86 + .../docs/Updating-npm-bundled-node-gyp.md | 45 + .../docs/binding.gyp-files-in-the-wild.md | 48 + .../npm/node_modules/node-gyp/gyp/.flake8 | 4 + .../gyp/.github/workflows/Python_tests.yml | 30 + .../gyp/.github/workflows/node-gyp.yml | 42 + .../gyp/.github/workflows/nodejs-windows.yml | 27 + .../gyp/.github/workflows/release-please.yml | 16 + .../npm/node_modules/node-gyp/gyp/AUTHORS | 16 + .../node_modules/node-gyp/gyp/CHANGELOG.md | 177 + .../node-gyp/gyp/CODE_OF_CONDUCT.md | 4 + .../node_modules/node-gyp/gyp/CONTRIBUTING.md | 32 + .../npm/node_modules/node-gyp/gyp/LICENSE | 28 + .../npm/node_modules/node-gyp/gyp/README.md | 7 + .../node-gyp/gyp/data/win/large-pdb-shim.cc | 12 + .../npm/node_modules/node-gyp/gyp/gyp | 8 + .../npm/node_modules/node-gyp/gyp/gyp.bat | 5 + .../npm/node_modules/node-gyp/gyp/gyp_main.py | 45 + .../node-gyp/gyp/pylib/gyp/MSVSNew.py | 367 + .../node-gyp/gyp/pylib/gyp/MSVSProject.py | 206 + .../node-gyp/gyp/pylib/gyp/MSVSSettings.py | 1270 +++ .../gyp/pylib/gyp/MSVSSettings_test.py | 1547 +++ .../node-gyp/gyp/pylib/gyp/MSVSToolFile.py | 59 + .../node-gyp/gyp/pylib/gyp/MSVSUserFile.py | 153 + .../node-gyp/gyp/pylib/gyp/MSVSUtil.py | 271 + .../node-gyp/gyp/pylib/gyp/MSVSVersion.py | 574 ++ .../node-gyp/gyp/pylib/gyp/__init__.py | 666 ++ .../node-gyp/gyp/pylib/gyp/common.py | 654 ++ .../node-gyp/gyp/pylib/gyp/common_test.py | 78 + .../node-gyp/gyp/pylib/gyp/easy_xml.py | 165 + .../node-gyp/gyp/pylib/gyp/easy_xml_test.py | 109 + .../node-gyp/gyp/pylib/gyp/flock_tool.py | 55 + .../gyp/pylib/gyp/generator/__init__.py | 0 .../gyp/pylib/gyp/generator/analyzer.py | 808 ++ .../gyp/pylib/gyp/generator/android.py | 1173 +++ .../node-gyp/gyp/pylib/gyp/generator/cmake.py | 1321 +++ .../gyp/generator/compile_commands_json.py | 120 + .../gyp/generator/dump_dependency_json.py | 103 + .../gyp/pylib/gyp/generator/eclipse.py | 464 + .../node-gyp/gyp/pylib/gyp/generator/gypd.py | 89 + .../node-gyp/gyp/pylib/gyp/generator/gypsh.py | 58 + .../node-gyp/gyp/pylib/gyp/generator/make.py | 2518 +++++ .../node-gyp/gyp/pylib/gyp/generator/msvs.py | 3978 ++++++++ .../gyp/pylib/gyp/generator/msvs_test.py | 44 + .../node-gyp/gyp/pylib/gyp/generator/ninja.py | 2936 ++++++ .../gyp/pylib/gyp/generator/ninja_test.py | 55 + .../node-gyp/gyp/pylib/gyp/generator/xcode.py | 1394 +++ .../gyp/pylib/gyp/generator/xcode_test.py | 25 + .../node-gyp/gyp/pylib/gyp/input.py | 3137 ++++++ .../node-gyp/gyp/pylib/gyp/input_test.py | 98 + .../node-gyp/gyp/pylib/gyp/mac_tool.py | 771 ++ .../node-gyp/gyp/pylib/gyp/msvs_emulation.py | 1271 +++ .../node-gyp/gyp/pylib/gyp/ninja_syntax.py | 174 + .../node-gyp/gyp/pylib/gyp/simple_copy.py | 61 + .../node-gyp/gyp/pylib/gyp/win_tool.py | 374 + .../node-gyp/gyp/pylib/gyp/xcode_emulation.py | 1939 ++++ .../node-gyp/gyp/pylib/gyp/xcode_ninja.py | 302 + .../node-gyp/gyp/pylib/gyp/xcodeproj_file.py | 3197 +++++++ .../node-gyp/gyp/pylib/gyp/xml_fix.py | 65 + .../node-gyp/gyp/requirements_dev.txt | 2 + .../npm/node_modules/node-gyp/gyp/setup.py | 42 + .../npm/node_modules/node-gyp/gyp/test_gyp.py | 260 + .../node_modules/node-gyp/gyp/tools/README | 15 + .../node-gyp/gyp/tools/Xcode/README | 5 + .../tools/Xcode/Specifications/gyp.pbfilespec | 27 + .../tools/Xcode/Specifications/gyp.xclangspec | 226 + .../node-gyp/gyp/tools/emacs/README | 12 + .../node-gyp/gyp/tools/emacs/gyp-tests.el | 63 + .../node-gyp/gyp/tools/emacs/gyp.el | 275 + .../gyp/tools/emacs/run-unit-tests.sh | 7 + .../gyp/tools/emacs/testdata/media.gyp | 1105 +++ .../tools/emacs/testdata/media.gyp.fontified | 1107 +++ .../node-gyp/gyp/tools/graphviz.py | 102 + .../node-gyp/gyp/tools/pretty_gyp.py | 156 + .../node-gyp/gyp/tools/pretty_sln.py | 181 + .../node-gyp/gyp/tools/pretty_vcproj.py | 339 + .../node-gyp/lib/Find-VisualStudio.cs | 250 + .../npm/node_modules/node-gyp/lib/build.js | 204 + .../npm/node_modules/node-gyp/lib/clean.js | 15 + .../node_modules/node-gyp/lib/configure.js | 294 + .../node-gyp/lib/create-config-gypi.js | 146 + .../node-gyp/lib/find-node-directory.js | 63 + .../node_modules/node-gyp/lib/find-python.js | 344 + .../node-gyp/lib/find-visualstudio.js | 446 + .../npm/node_modules/node-gyp/lib/install.js | 376 + .../npm/node_modules/node-gyp/lib/list.js | 27 + .../npm/node_modules/node-gyp/lib/node-gyp.js | 211 + .../node-gyp/lib/process-release.js | 147 + .../npm/node_modules/node-gyp/lib/rebuild.js | 13 + .../npm/node_modules/node-gyp/lib/remove.js | 46 + .../npm/node_modules/node-gyp/lib/util.js | 64 + .../node_modules/node-gyp/macOS_Catalina.md | 104 + .../node-gyp/macOS_Catalina_acid_test.sh | 21 + .../@tootallnate/once/dist/index.d.ts | 14 + .../@tootallnate/once/dist/index.js | 39 + .../@tootallnate/once/dist/index.js.map | 1 + .../@tootallnate/once/package.json | 45 + .../http-proxy-agent/dist/agent.d.ts | 32 + .../http-proxy-agent/dist/agent.js | 145 + .../http-proxy-agent/dist/agent.js.map | 1 + .../http-proxy-agent/dist/index.d.ts | 21 + .../http-proxy-agent/dist/index.js | 14 + .../http-proxy-agent/dist/index.js.map | 1 + .../http-proxy-agent/package.json | 57 + .../node_modules/make-fetch-happen/LICENSE | 16 + .../make-fetch-happen/lib/agent.js | 194 + .../make-fetch-happen/lib/cache/entry.js | 460 + .../make-fetch-happen/lib/cache/errors.js | 10 + .../make-fetch-happen/lib/cache/index.js | 45 + .../make-fetch-happen/lib/cache/key.js | 17 + .../make-fetch-happen/lib/cache/policy.js | 161 + .../make-fetch-happen/lib/fetch.js | 100 + .../make-fetch-happen/lib/index.js | 40 + .../make-fetch-happen/lib/options.js | 44 + .../make-fetch-happen/lib/remote.js | 102 + .../make-fetch-happen/package.json | 76 + .../npm/node_modules/node-gyp/package.json | 50 + .../node-gyp/src/win_delay_load_hook.cc | 39 + .../npm/node_modules/node-gyp/test/common.js | 3 + .../fixtures/VS_2017_BuildTools_minimal.txt | 1 + .../fixtures/VS_2017_Community_workload.txt | 1 + .../test/fixtures/VS_2017_Express.txt | 1 + .../test/fixtures/VS_2017_Unusable.txt | 1 + .../fixtures/VS_2019_BuildTools_minimal.txt | 1 + .../fixtures/VS_2019_Community_workload.txt | 1 + .../test/fixtures/VS_2019_Preview.txt | 1 + .../node-gyp/test/fixtures/ca-bundle.crt | 40 + .../node-gyp/test/fixtures/ca.crt | 21 + .../fixtures/nodedir/include/node/config.gypi | 6 + .../node-gyp/test/fixtures/server.crt | 21 + .../node-gyp/test/fixtures/server.key | 27 + .../node-gyp/test/fixtures/test-charmap.py | 31 + .../node-gyp/test/process-exec-sync.js | 140 + .../node-gyp/test/simple-proxy.js | 27 + .../node_modules/node-gyp/test/test-addon.js | 150 + .../node-gyp/test/test-configure-python.js | 82 + .../node-gyp/test/test-create-config-gypi.js | 70 + .../node-gyp/test/test-download.js | 207 + .../test/test-find-accessible-sync.js | 84 + .../node-gyp/test/test-find-node-directory.js | 119 + .../node-gyp/test/test-find-python.js | 226 + .../node-gyp/test/test-find-visualstudio.js | 676 ++ .../node-gyp/test/test-install.js | 46 + .../node-gyp/test/test-options.js | 31 + .../node-gyp/test/test-process-release.js | 434 + .../npm/node_modules/node-gyp/update-gyp.py | 46 + .../npm/node_modules/nopt/CHANGELOG.md | 58 + node_modules/npm/node_modules/nopt/LICENSE | 15 + node_modules/npm/node_modules/nopt/README.md | 213 + .../npm/node_modules/nopt/bin/nopt.js | 54 + .../npm/node_modules/nopt/lib/nopt.js | 441 + .../npm/node_modules/nopt/package.json | 34 + .../normalize-package-data/AUTHORS | 4 + .../normalize-package-data/LICENSE | 15 + .../lib/extract_description.js | 22 + .../normalize-package-data/lib/fixer.js | 474 + .../lib/make_warning.js | 22 + .../normalize-package-data/lib/normalize.js | 48 + .../normalize-package-data/lib/safe_format.js | 11 + .../normalize-package-data/lib/typos.json | 25 + .../lib/warning_messages.json | 30 + .../normalize-package-data/package.json | 41 + .../npm/node_modules/npm-audit-report/LICENSE | 16 + .../npm-audit-report/lib/colors.js | 24 + .../npm-audit-report/lib/exit-code.js | 14 + .../npm-audit-report/lib/index.js | 39 + .../npm-audit-report/lib/reporters/detail.js | 84 + .../npm-audit-report/lib/reporters/install.js | 75 + .../npm-audit-report/lib/reporters/json.js | 1 + .../npm-audit-report/lib/reporters/quiet.js | 1 + .../npm-audit-report/package.json | 52 + .../npm/node_modules/npm-bundled/LICENSE | 15 + .../npm/node_modules/npm-bundled/index.js | 251 + .../npm/node_modules/npm-bundled/package.json | 30 + .../node_modules/npm-install-checks/LICENSE | 27 + .../node_modules/npm-install-checks/index.js | 79 + .../npm-install-checks/package.json | 33 + .../npm-normalize-package-bin/LICENSE | 15 + .../npm-normalize-package-bin/index.js | 60 + .../package-lock.json | 3529 +++++++ .../npm-normalize-package-bin/package.json | 21 + .../npm-normalize-package-bin/test/array.js | 37 + .../npm-normalize-package-bin/test/nobin.js | 35 + .../npm-normalize-package-bin/test/object.js | 141 + .../npm-normalize-package-bin/test/string.js | 37 + .../npm/node_modules/npm-package-arg/LICENSE | 15 + .../npm/node_modules/npm-package-arg/npa.js | 348 + .../node_modules/npm-package-arg/package.json | 46 + .../npm/node_modules/npm-packlist/LICENSE | 15 + .../npm/node_modules/npm-packlist/README.md | 146 + .../node_modules/npm-packlist/bin/index.js | 25 + .../npm/node_modules/npm-packlist/index.js | 481 + .../node_modules/npm-packlist/package.json | 59 + .../node_modules/npm-pick-manifest/LICENSE.md | 16 + .../node_modules/npm-pick-manifest/index.js | 218 + .../npm-pick-manifest/package.json | 43 + .../npm/node_modules/npm-profile/LICENSE.md | 20 + .../npm/node_modules/npm-profile/lib/index.js | 275 + .../npm/node_modules/npm-profile/package.json | 45 + .../npm-registry-fetch/LICENSE.md | 20 + .../npm-registry-fetch/lib/auth.js | 114 + .../npm-registry-fetch/lib/check-response.js | 108 + .../npm-registry-fetch/lib/default-opts.js | 20 + .../npm-registry-fetch/lib/errors.js | 80 + .../npm-registry-fetch/lib/index.js | 241 + .../npm-registry-fetch/lib/silentlog.js | 14 + .../npm-registry-fetch/package.json | 60 + .../node_modules/npm-user-validate/LICENSE | 27 + .../npm-user-validate/npm-user-validate.js | 61 + .../npm-user-validate/package.json | 29 + .../npm/node_modules/npmlog/LICENSE.md | 20 + .../npm/node_modules/npmlog/lib/log.js | 404 + .../npm/node_modules/npmlog/package.json | 49 + node_modules/npm/node_modules/once/LICENSE | 15 + node_modules/npm/node_modules/once/once.js | 42 + .../npm/node_modules/once/package.json | 33 + .../npm/node_modules/opener/LICENSE.txt | 47 + .../npm/node_modules/opener/README.md | 54 + .../npm/node_modules/opener/bin/opener-bin.js | 10 + .../npm/node_modules/opener/lib/opener.js | 66 + .../npm/node_modules/opener/package.json | 20 + .../npm/node_modules/p-map/index.d.ts | 67 + node_modules/npm/node_modules/p-map/index.js | 81 + node_modules/npm/node_modules/p-map/license | 9 + .../npm/node_modules/p-map/package.json | 53 + node_modules/npm/node_modules/p-map/readme.md | 89 + node_modules/npm/node_modules/pacote/LICENSE | 15 + .../npm/node_modules/pacote/README.md | 271 + .../npm/node_modules/pacote/lib/bin.js | 149 + .../npm/node_modules/pacote/lib/dir.js | 95 + .../npm/node_modules/pacote/lib/fetcher.js | 509 + .../npm/node_modules/pacote/lib/file.js | 93 + .../npm/node_modules/pacote/lib/git.js | 304 + .../npm/node_modules/pacote/lib/index.js | 23 + .../npm/node_modules/pacote/lib/registry.js | 182 + .../npm/node_modules/pacote/lib/remote.js | 84 + .../pacote/lib/util/add-git-sha.js | 15 + .../node_modules/pacote/lib/util/cache-dir.js | 12 + .../pacote/lib/util/is-package-bin.js | 24 + .../npm/node_modules/pacote/lib/util/npm.js | 15 + .../node_modules/pacote/lib/util/proc-log.js | 21 + .../pacote/lib/util/tar-create-options.js | 30 + .../npm/node_modules/pacote/package.json | 60 + .../parse-conflict-json/LICENSE.md | 20 + .../parse-conflict-json/lib/index.js | 104 + .../parse-conflict-json/package.json | 44 + .../node_modules/path-is-absolute/index.js | 20 + .../npm/node_modules/path-is-absolute/license | 21 + .../path-is-absolute/package.json | 43 + .../node_modules/path-is-absolute/readme.md | 59 + .../npm/node_modules/proc-log/LICENSE | 15 + .../npm/node_modules/proc-log/index.js | 22 + .../npm/node_modules/proc-log/package.json | 28 + .../promise-all-reject-late/LICENSE | 15 + .../promise-all-reject-late/index.js | 27 + .../promise-all-reject-late/package-lock.json | 3447 +++++++ .../promise-all-reject-late/package.json | 22 + .../promise-all-reject-late/test/index.js | 88 + .../node_modules/promise-call-limit/LICENSE | 15 + .../node_modules/promise-call-limit/index.js | 43 + .../promise-call-limit/package.json | 29 + .../npm/node_modules/promise-inflight/LICENSE | 14 + .../node_modules/promise-inflight/inflight.js | 36 + .../promise-inflight/package.json | 24 + .../npm/node_modules/promise-retry/LICENSE | 19 + .../npm/node_modules/promise-retry/index.js | 52 + .../node_modules/promise-retry/package.json | 37 + .../node_modules/promise-retry/test/test.js | 263 + .../npm/node_modules/promzard/LICENSE | 15 + .../node_modules/promzard/example/buffer.js | 12 + .../node_modules/promzard/example/index.js | 11 + .../promzard/example/npm-init/init-input.js | 191 + .../promzard/example/npm-init/init.js | 37 + .../promzard/example/npm-init/package.json | 10 + .../promzard/example/substack-input.js | 61 + .../npm/node_modules/promzard/package.json | 20 + .../npm/node_modules/promzard/promzard.js | 238 + .../npm/node_modules/promzard/test/basic.js | 91 + .../npm/node_modules/promzard/test/buffer.js | 84 + .../node_modules/promzard/test/exports.input | 5 + .../npm/node_modules/promzard/test/exports.js | 48 + .../npm/node_modules/promzard/test/fn.input | 18 + .../npm/node_modules/promzard/test/fn.js | 56 + .../node_modules/promzard/test/simple.input | 8 + .../npm/node_modules/promzard/test/simple.js | 30 + .../node_modules/promzard/test/validate.input | 8 + .../node_modules/promzard/test/validate.js | 20 + .../node_modules/qrcode-terminal/.travis.yml | 3 + .../npm/node_modules/qrcode-terminal/LICENSE | 222 + .../node_modules/qrcode-terminal/README.md | 82 + .../qrcode-terminal/bin/qrcode-terminal.js | 101 + .../qrcode-terminal/example/basic.js | 2 + .../qrcode-terminal/example/basic.png | Bin 0 -> 46426 bytes .../qrcode-terminal/example/callback.js | 4 + .../qrcode-terminal/example/small-qrcode.js | 6 + .../node_modules/qrcode-terminal/lib/main.js | 100 + .../node_modules/qrcode-terminal/package.json | 37 + .../node_modules/qrcode-terminal/test/main.js | 63 + .../vendor/QRCode/QR8bitByte.js | 22 + .../vendor/QRCode/QRBitBuffer.js | 38 + .../vendor/QRCode/QRErrorCorrectLevel.js | 7 + .../vendor/QRCode/QRMaskPattern.js | 10 + .../qrcode-terminal/vendor/QRCode/QRMath.js | 44 + .../qrcode-terminal/vendor/QRCode/QRMode.js | 6 + .../vendor/QRCode/QRPolynomial.js | 66 + .../vendor/QRCode/QRRSBlock.js | 298 + .../qrcode-terminal/vendor/QRCode/QRUtil.js | 272 + .../qrcode-terminal/vendor/QRCode/index.js | 462 + .../npm/node_modules/read-cmd-shim/LICENSE | 14 + .../npm/node_modules/read-cmd-shim/index.js | 69 + .../node_modules/read-cmd-shim/package.json | 29 + .../read-package-json-fast/LICENSE | 15 + .../read-package-json-fast/index.js | 136 + .../read-package-json-fast/package.json | 34 + .../node_modules/read-package-json/LICENSE | 15 + .../read-package-json/package.json | 46 + .../read-package-json/read-json.js | 599 ++ node_modules/npm/node_modules/read/LICENSE | 15 + .../npm/node_modules/read/lib/read.js | 113 + .../npm/node_modules/read/package.json | 27 + .../readable-stream/CONTRIBUTING.md | 38 + .../readable-stream/GOVERNANCE.md | 136 + .../npm/node_modules/readable-stream/LICENSE | 47 + .../readable-stream/errors-browser.js | 127 + .../node_modules/readable-stream/errors.js | 116 + .../readable-stream/experimentalWarning.js | 17 + .../readable-stream/lib/_stream_duplex.js | 139 + .../lib/_stream_passthrough.js | 39 + .../readable-stream/lib/_stream_readable.js | 1124 +++ .../readable-stream/lib/_stream_transform.js | 201 + .../readable-stream/lib/_stream_writable.js | 697 ++ .../lib/internal/streams/async_iterator.js | 207 + .../lib/internal/streams/buffer_list.js | 210 + .../lib/internal/streams/destroy.js | 105 + .../lib/internal/streams/end-of-stream.js | 104 + .../lib/internal/streams/from-browser.js | 3 + .../lib/internal/streams/from.js | 64 + .../lib/internal/streams/pipeline.js | 97 + .../lib/internal/streams/state.js | 27 + .../lib/internal/streams/stream-browser.js | 1 + .../lib/internal/streams/stream.js | 1 + .../node_modules/readable-stream/package.json | 68 + .../readable-stream/readable-browser.js | 9 + .../node_modules/readable-stream/readable.js | 16 + .../readdir-scoped-modules/LICENSE | 15 + .../readdir-scoped-modules/package.json | 34 + .../readdir-scoped-modules/readdir.js | 121 + node_modules/npm/node_modules/retry/License | 21 + node_modules/npm/node_modules/retry/Makefile | 18 + .../npm/node_modules/retry/equation.gif | Bin 0 -> 1209 bytes .../npm/node_modules/retry/example/dns.js | 31 + .../npm/node_modules/retry/example/stop.js | 40 + node_modules/npm/node_modules/retry/index.js | 1 + .../npm/node_modules/retry/lib/retry.js | 100 + .../node_modules/retry/lib/retry_operation.js | 158 + .../npm/node_modules/retry/package.json | 32 + .../npm/node_modules/retry/test/common.js | 10 + .../retry/test/integration/test-forever.js | 24 + .../test/integration/test-retry-operation.js | 258 + .../retry/test/integration/test-retry-wrap.js | 101 + .../retry/test/integration/test-timeouts.js | 69 + .../npm/node_modules/rimraf/CHANGELOG.md | 65 + node_modules/npm/node_modules/rimraf/LICENSE | 15 + .../npm/node_modules/rimraf/README.md | 101 + node_modules/npm/node_modules/rimraf/bin.js | 68 + .../npm/node_modules/rimraf/package.json | 32 + .../npm/node_modules/rimraf/rimraf.js | 360 + .../npm/node_modules/safe-buffer/LICENSE | 21 + .../npm/node_modules/safe-buffer/index.d.ts | 187 + .../npm/node_modules/safe-buffer/index.js | 65 + .../npm/node_modules/safe-buffer/package.json | 51 + .../npm/node_modules/safer-buffer/LICENSE | 21 + .../safer-buffer/Porting-Buffer.md | 268 + .../npm/node_modules/safer-buffer/Readme.md | 156 + .../node_modules/safer-buffer/dangerous.js | 58 + .../node_modules/safer-buffer/package.json | 34 + .../npm/node_modules/safer-buffer/safer.js | 77 + .../npm/node_modules/safer-buffer/tests.js | 406 + .../npm/node_modules/semver/CHANGELOG.md | 111 + node_modules/npm/node_modules/semver/LICENSE | 15 + .../npm/node_modules/semver/README.md | 566 ++ .../npm/node_modules/semver/bin/semver.js | 173 + .../node_modules/semver/classes/comparator.js | 135 + .../npm/node_modules/semver/classes/index.js | 5 + .../npm/node_modules/semver/classes/range.js | 510 + .../npm/node_modules/semver/classes/semver.js | 287 + .../node_modules/semver/functions/clean.js | 6 + .../npm/node_modules/semver/functions/cmp.js | 48 + .../node_modules/semver/functions/coerce.js | 51 + .../semver/functions/compare-build.js | 7 + .../semver/functions/compare-loose.js | 3 + .../node_modules/semver/functions/compare.js | 5 + .../npm/node_modules/semver/functions/diff.js | 23 + .../npm/node_modules/semver/functions/eq.js | 3 + .../npm/node_modules/semver/functions/gt.js | 3 + .../npm/node_modules/semver/functions/gte.js | 3 + .../npm/node_modules/semver/functions/inc.js | 15 + .../npm/node_modules/semver/functions/lt.js | 3 + .../npm/node_modules/semver/functions/lte.js | 3 + .../node_modules/semver/functions/major.js | 3 + .../node_modules/semver/functions/minor.js | 3 + .../npm/node_modules/semver/functions/neq.js | 3 + .../node_modules/semver/functions/parse.js | 33 + .../node_modules/semver/functions/patch.js | 3 + .../semver/functions/prerelease.js | 6 + .../node_modules/semver/functions/rcompare.js | 3 + .../node_modules/semver/functions/rsort.js | 3 + .../semver/functions/satisfies.js | 10 + .../npm/node_modules/semver/functions/sort.js | 3 + .../node_modules/semver/functions/valid.js | 6 + node_modules/npm/node_modules/semver/index.js | 48 + .../node_modules/semver/internal/constants.js | 17 + .../npm/node_modules/semver/internal/debug.js | 9 + .../semver/internal/identifiers.js | 23 + .../semver/internal/parse-options.js | 11 + .../npm/node_modules/semver/internal/re.js | 182 + .../npm/node_modules/semver/package.json | 41 + .../npm/node_modules/semver/preload.js | 2 + .../npm/node_modules/semver/range.bnf | 16 + .../npm/node_modules/semver/ranges/gtr.js | 4 + .../node_modules/semver/ranges/intersects.js | 7 + .../npm/node_modules/semver/ranges/ltr.js | 4 + .../semver/ranges/max-satisfying.js | 25 + .../semver/ranges/min-satisfying.js | 24 + .../node_modules/semver/ranges/min-version.js | 60 + .../npm/node_modules/semver/ranges/outside.js | 80 + .../node_modules/semver/ranges/simplify.js | 44 + .../npm/node_modules/semver/ranges/subset.js | 222 + .../semver/ranges/to-comparators.js | 8 + .../npm/node_modules/semver/ranges/valid.js | 11 + .../npm/node_modules/set-blocking/LICENSE.txt | 14 + .../npm/node_modules/set-blocking/index.js | 7 + .../node_modules/set-blocking/package.json | 42 + .../npm/node_modules/signal-exit/LICENSE.txt | 16 + .../npm/node_modules/signal-exit/index.js | 200 + .../npm/node_modules/signal-exit/package.json | 38 + .../npm/node_modules/signal-exit/signals.js | 53 + .../npm/node_modules/smart-buffer/LICENSE | 20 + .../smart-buffer/build/smartbuffer.js | 1233 +++ .../smart-buffer/build/smartbuffer.js.map | 1 + .../node_modules/smart-buffer/build/utils.js | 108 + .../smart-buffer/build/utils.js.map | 1 + .../node_modules/smart-buffer/docs/ROADMAP.md | 0 .../node_modules/smart-buffer/package.json | 79 + .../smart-buffer/typings/smartbuffer.d.ts | 755 ++ .../smart-buffer/typings/utils.d.ts | 66 + .../socks-proxy-agent/dist/agent.d.ts | 22 + .../socks-proxy-agent/dist/agent.js | 181 + .../socks-proxy-agent/dist/agent.js.map | 1 + .../socks-proxy-agent/dist/index.d.ts | 21 + .../socks-proxy-agent/dist/index.js | 14 + .../socks-proxy-agent/dist/index.js.map | 1 + .../socks-proxy-agent/package.json | 64 + node_modules/npm/node_modules/socks/LICENSE | 20 + .../socks/build/client/socksclient.js | 788 ++ .../socks/build/client/socksclient.js.map | 1 + .../socks/build/common/constants.js | 114 + .../socks/build/common/constants.js.map | 1 + .../socks/build/common/helpers.js | 128 + .../socks/build/common/helpers.js.map | 1 + .../socks/build/common/receivebuffer.js | 43 + .../socks/build/common/receivebuffer.js.map | 1 + .../node_modules/socks/build/common/util.js | 26 + .../socks/build/common/util.js.map | 1 + .../npm/node_modules/socks/build/index.js | 14 + .../npm/node_modules/socks/build/index.js.map | 1 + .../node_modules/socks/docs/examples/index.md | 17 + .../examples/javascript/associateExample.md | 90 + .../docs/examples/javascript/bindExample.md | 83 + .../examples/javascript/connectExample.md | 258 + .../examples/typescript/associateExample.md | 93 + .../docs/examples/typescript/bindExample.md | 86 + .../examples/typescript/connectExample.md | 265 + .../npm/node_modules/socks/docs/index.md | 5 + .../socks/docs/migratingFromV1.md | 86 + .../npm/node_modules/socks/package.json | 85 + .../socks/typings/client/socksclient.d.ts | 160 + .../socks/typings/common/constants.d.ts | 150 + .../socks/typings/common/helpers.d.ts | 13 + .../socks/typings/common/receivebuffer.d.ts | 12 + .../socks/typings/common/util.d.ts | 17 + .../npm/node_modules/socks/typings/index.d.ts | 1 + .../npm/node_modules/spdx-correct/LICENSE | 202 + .../npm/node_modules/spdx-correct/index.js | 364 + .../node_modules/spdx-correct/package.json | 39 + .../node_modules/spdx-exceptions/index.json | 40 + .../node_modules/spdx-exceptions/package.json | 17 + .../spdx-expression-parse/AUTHORS | 4 + .../spdx-expression-parse/LICENSE | 22 + .../spdx-expression-parse/index.js | 8 + .../spdx-expression-parse/package.json | 39 + .../spdx-expression-parse/parse.js | 138 + .../spdx-expression-parse/scan.js | 131 + .../spdx-license-ids/deprecated.json | 26 + .../node_modules/spdx-license-ids/index.json | 450 + .../spdx-license-ids/package.json | 39 + node_modules/npm/node_modules/ssri/LICENSE.md | 16 + node_modules/npm/node_modules/ssri/index.js | 470 + .../npm/node_modules/ssri/package.json | 52 + .../npm/node_modules/string-width/index.js | 36 + .../npm/node_modules/string-width/license | 9 + .../node_modules/ansi-regex/index.js | 10 + .../node_modules/ansi-regex/license | 9 + .../node_modules/ansi-regex/package.json | 53 + .../node_modules/ansi-regex/readme.md | 46 + .../node_modules/strip-ansi/index.js | 4 + .../node_modules/strip-ansi/license | 9 + .../node_modules/strip-ansi/package.json | 52 + .../node_modules/strip-ansi/readme.md | 39 + .../node_modules/string-width/package.json | 55 + .../npm/node_modules/string-width/readme.md | 42 + .../npm/node_modules/string_decoder/LICENSE | 48 + .../string_decoder/lib/string_decoder.js | 296 + .../node_modules/string_decoder/package.json | 34 + .../node_modules/stringify-package/LICENSE | 13 + .../node_modules/stringify-package/index.js | 18 + .../stringify-package/package.json | 38 + .../npm/node_modules/strip-ansi/index.js | 6 + .../npm/node_modules/strip-ansi/license | 21 + .../npm/node_modules/strip-ansi/package.json | 57 + .../npm/node_modules/strip-ansi/readme.md | 33 + .../node_modules/supports-color/browser.js | 5 + .../npm/node_modules/supports-color/index.js | 135 + .../npm/node_modules/supports-color/license | 9 + .../node_modules/supports-color/package.json | 53 + .../npm/node_modules/supports-color/readme.md | 76 + node_modules/npm/node_modules/tar/LICENSE | 15 + node_modules/npm/node_modules/tar/index.js | 18 + .../npm/node_modules/tar/lib/create.js | 104 + .../npm/node_modules/tar/lib/extract.js | 107 + .../node_modules/tar/lib/get-write-flag.js | 20 + .../npm/node_modules/tar/lib/header.js | 288 + .../node_modules/tar/lib/high-level-opt.js | 29 + .../npm/node_modules/tar/lib/large-numbers.js | 99 + node_modules/npm/node_modules/tar/lib/list.js | 132 + .../npm/node_modules/tar/lib/mkdir.js | 213 + .../npm/node_modules/tar/lib/mode-fix.js | 23 + .../node_modules/tar/lib/normalize-unicode.js | 11 + .../tar/lib/normalize-windows-path.js | 8 + node_modules/npm/node_modules/tar/lib/pack.js | 397 + .../npm/node_modules/tar/lib/parse.js | 481 + .../node_modules/tar/lib/path-reservations.js | 148 + node_modules/npm/node_modules/tar/lib/pax.js | 143 + .../npm/node_modules/tar/lib/read-entry.js | 100 + .../npm/node_modules/tar/lib/replace.js | 223 + .../tar/lib/strip-absolute-path.js | 24 + .../tar/lib/strip-trailing-slashes.js | 13 + .../npm/node_modules/tar/lib/types.js | 44 + .../npm/node_modules/tar/lib/unpack.js | 877 ++ .../npm/node_modules/tar/lib/update.js | 36 + .../npm/node_modules/tar/lib/warn-mixin.js | 21 + .../npm/node_modules/tar/lib/winchars.js | 23 + .../npm/node_modules/tar/lib/write-entry.js | 525 + .../npm/node_modules/tar/package.json | 59 + .../npm/node_modules/text-table/LICENSE | 18 + .../node_modules/text-table/example/align.js | 8 + .../node_modules/text-table/example/center.js | 8 + .../text-table/example/dotalign.js | 9 + .../text-table/example/doubledot.js | 11 + .../node_modules/text-table/example/table.js | 6 + .../npm/node_modules/text-table/index.js | 86 + .../npm/node_modules/text-table/package.json | 44 + .../node_modules/text-table/readme.markdown | 134 + .../npm/node_modules/text-table/test/align.js | 18 + .../text-table/test/ansi-colors.js | 32 + .../node_modules/text-table/test/center.js | 18 + .../node_modules/text-table/test/dotalign.js | 20 + .../node_modules/text-table/test/doubledot.js | 24 + .../npm/node_modules/text-table/test/table.js | 14 + .../tiny-relative-date/LICENSE.md | 21 + .../tiny-relative-date/lib/factory.js | 100 + .../tiny-relative-date/lib/index.js | 18 + .../tiny-relative-date/package.json | 39 + .../tiny-relative-date/src/factory.js | 89 + .../tiny-relative-date/src/index.js | 4 + .../tiny-relative-date/translations/da.js | 31 + .../tiny-relative-date/translations/de.js | 31 + .../translations/en-short.js | 31 + .../tiny-relative-date/translations/en.js | 31 + .../tiny-relative-date/translations/es.js | 31 + .../npm/node_modules/treeverse/LICENSE | 15 + .../npm/node_modules/treeverse/index.js | 4 + .../npm/node_modules/treeverse/lib/breadth.js | 66 + .../treeverse/lib/depth-descent.js | 87 + .../npm/node_modules/treeverse/lib/depth.js | 74 + .../npm/node_modules/treeverse/package.json | 37 + .../node_modules/typedarray-to-buffer/LICENSE | 21 + .../typedarray-to-buffer/index.js | 18 + .../typedarray-to-buffer/package.json | 62 + .../npm/node_modules/unique-filename/LICENSE | 5 + .../coverage/__root__/index.html | 73 + .../coverage/__root__/index.js.html | 69 + .../unique-filename/coverage/base.css | 182 + .../unique-filename/coverage/index.html | 73 + .../unique-filename/coverage/prettify.css | 1 + .../unique-filename/coverage/prettify.js | 1 + .../coverage/sort-arrow-sprite.png | Bin 0 -> 209 bytes .../unique-filename/coverage/sorter.js | 156 + .../npm/node_modules/unique-filename/index.js | 8 + .../node_modules/unique-filename/package.json | 27 + .../unique-filename/test/index.js | 23 + .../npm/node_modules/unique-slug/LICENSE | 15 + .../npm/node_modules/unique-slug/index.js | 11 + .../npm/node_modules/unique-slug/package.json | 23 + .../node_modules/unique-slug/test/index.js | 13 + .../node_modules/util-deprecate/History.md | 16 + .../npm/node_modules/util-deprecate/LICENSE | 24 + .../node_modules/util-deprecate/browser.js | 67 + .../npm/node_modules/util-deprecate/node.js | 6 + .../node_modules/util-deprecate/package.json | 27 + .../validate-npm-package-license/LICENSE | 202 + .../validate-npm-package-license/index.js | 86 + .../validate-npm-package-license/package.json | 28 + .../validate-npm-package-name/LICENSE | 6 + .../validate-npm-package-name/index.js | 105 + .../validate-npm-package-name/package.json | 38 + .../validate-npm-package-name/test/index.js | 109 + .../npm/node_modules/walk-up-path/LICENSE | 15 + .../npm/node_modules/walk-up-path/index.js | 11 + .../node_modules/walk-up-path/package.json | 28 + node_modules/npm/node_modules/wcwidth/LICENSE | 30 + .../npm/node_modules/wcwidth/Readme.md | 33 + .../npm/node_modules/wcwidth/combining.js | 50 + .../npm/node_modules/wcwidth/docs/index.md | 65 + .../npm/node_modules/wcwidth/index.js | 99 + .../npm/node_modules/wcwidth/package.json | 42 + .../npm/node_modules/wcwidth/test/index.js | 64 + .../npm/node_modules/which/CHANGELOG.md | 166 + node_modules/npm/node_modules/which/LICENSE | 15 + node_modules/npm/node_modules/which/README.md | 54 + .../npm/node_modules/which/bin/node-which | 52 + .../npm/node_modules/which/package.json | 43 + node_modules/npm/node_modules/which/which.js | 125 + .../npm/node_modules/wide-align/LICENSE | 14 + .../npm/node_modules/wide-align/align.js | 65 + .../npm/node_modules/wide-align/package.json | 33 + node_modules/npm/node_modules/wrappy/LICENSE | 15 + .../npm/node_modules/wrappy/package.json | 29 + .../npm/node_modules/wrappy/wrappy.js | 33 + .../node_modules/write-file-atomic/LICENSE.md | 6 + .../write-file-atomic/lib/index.js | 268 + .../write-file-atomic/package.json | 54 + node_modules/npm/node_modules/yallist/LICENSE | 15 + .../npm/node_modules/yallist/iterator.js | 8 + .../npm/node_modules/yallist/package.json | 29 + .../npm/node_modules/yallist/yallist.js | 426 + node_modules/npm/package.json | 264 + node_modules/tr46/.npmignore | 4 + node_modules/tr46/index.js | 193 + node_modules/tr46/lib/.gitkeep | 0 node_modules/tr46/lib/mappingTable.json | 1 + node_modules/tr46/package.json | 31 + node_modules/ts-mixer/CHANGELOG.md | 91 + node_modules/ts-mixer/LICENSE | 21 + node_modules/ts-mixer/README.md | 272 + node_modules/ts-mixer/dist/cjs/decorator.js | 116 + node_modules/ts-mixer/dist/cjs/index.js | 12 + .../ts-mixer/dist/cjs/mixin-tracking.js | 40 + node_modules/ts-mixer/dist/cjs/mixins.js | 78 + node_modules/ts-mixer/dist/cjs/proxy.js | 82 + node_modules/ts-mixer/dist/cjs/settings.js | 9 + node_modules/ts-mixer/dist/cjs/types.js | 2 + node_modules/ts-mixer/dist/cjs/util.js | 85 + node_modules/ts-mixer/dist/esm/index.js | 367 + node_modules/ts-mixer/dist/esm/index.min.js | 1 + .../ts-mixer/dist/types/decorator.d.ts | 18 + node_modules/ts-mixer/dist/types/index.d.ts | 4 + .../ts-mixer/dist/types/mixin-tracking.d.ts | 4 + node_modules/ts-mixer/dist/types/mixins.d.ts | 16 + node_modules/ts-mixer/dist/types/proxy.d.ts | 16 + .../ts-mixer/dist/types/settings.d.ts | 7 + node_modules/ts-mixer/dist/types/types.d.ts | 13 + node_modules/ts-mixer/dist/types/util.d.ts | 27 + node_modules/ts-mixer/package.json | 63 + node_modules/tslib/CopyrightNotice.txt | 15 + node_modules/tslib/LICENSE.txt | 12 + node_modules/tslib/README.md | 164 + node_modules/tslib/modules/index.js | 53 + node_modules/tslib/modules/package.json | 3 + node_modules/tslib/package.json | 37 + node_modules/tslib/tslib.d.ts | 130 + node_modules/tslib/tslib.es6.html | 1 + node_modules/tslib/tslib.es6.js | 239 + node_modules/tslib/tslib.html | 1 + node_modules/tslib/tslib.js | 306 + node_modules/webidl-conversions/LICENSE.md | 12 + node_modules/webidl-conversions/README.md | 53 + node_modules/webidl-conversions/lib/index.js | 189 + node_modules/webidl-conversions/package.json | 23 + node_modules/whatwg-url/LICENSE.txt | 21 + node_modules/whatwg-url/README.md | 67 + node_modules/whatwg-url/lib/URL-impl.js | 200 + node_modules/whatwg-url/lib/URL.js | 196 + node_modules/whatwg-url/lib/public-api.js | 11 + .../whatwg-url/lib/url-state-machine.js | 1297 +++ node_modules/whatwg-url/lib/utils.js | 20 + node_modules/whatwg-url/package.json | 32 + node_modules/ws/LICENSE | 19 + node_modules/ws/README.md | 489 + node_modules/ws/browser.js | 8 + node_modules/ws/index.js | 13 + node_modules/ws/lib/buffer-util.js | 126 + node_modules/ws/lib/constants.js | 12 + node_modules/ws/lib/event-target.js | 266 + node_modules/ws/lib/extension.js | 203 + node_modules/ws/lib/limiter.js | 55 + node_modules/ws/lib/permessage-deflate.js | 511 + node_modules/ws/lib/receiver.js | 618 ++ node_modules/ws/lib/sender.js | 478 + node_modules/ws/lib/stream.js | 159 + node_modules/ws/lib/subprotocol.js | 62 + node_modules/ws/lib/validation.js | 124 + node_modules/ws/lib/websocket-server.js | 488 + node_modules/ws/lib/websocket.js | 1264 +++ node_modules/ws/package.json | 61 + node_modules/ws/wrapper.mjs | 8 + node_modules/zod/LICENSE | 21 + node_modules/zod/README.md | 1830 ++++ node_modules/zod/lib/ZodError.d.ts | 139 + node_modules/zod/lib/ZodError.d.ts.map | 1 + node_modules/zod/lib/ZodError.js | 301 + node_modules/zod/lib/ZodError.js.map | 1 + node_modules/zod/lib/benchmarks/index.d.ts | 2 + .../zod/lib/benchmarks/index.d.ts.map | 1 + node_modules/zod/lib/benchmarks/index.js | 59 + node_modules/zod/lib/benchmarks/index.js.map | 1 + node_modules/zod/lib/benchmarks/object.d.ts | 6 + .../zod/lib/benchmarks/object.d.ts.map | 1 + node_modules/zod/lib/benchmarks/object.js | 71 + node_modules/zod/lib/benchmarks/object.js.map | 1 + node_modules/zod/lib/benchmarks/string.d.ts | 6 + .../zod/lib/benchmarks/string.d.ts.map | 1 + node_modules/zod/lib/benchmarks/string.js | 45 + node_modules/zod/lib/benchmarks/string.js.map | 1 + node_modules/zod/lib/benchmarks/union.d.ts | 6 + .../zod/lib/benchmarks/union.d.ts.map | 1 + node_modules/zod/lib/benchmarks/union.js | 80 + node_modules/zod/lib/benchmarks/union.js.map | 1 + node_modules/zod/lib/external.d.ts | 4 + node_modules/zod/lib/external.d.ts.map | 1 + node_modules/zod/lib/external.js | 16 + node_modules/zod/lib/external.js.map | 1 + node_modules/zod/lib/helpers/errorUtil.d.ts | 10 + .../zod/lib/helpers/errorUtil.d.ts.map | 1 + node_modules/zod/lib/helpers/errorUtil.js | 13 + node_modules/zod/lib/helpers/errorUtil.js.map | 1 + node_modules/zod/lib/helpers/parseUtil.d.ts | 101 + .../zod/lib/helpers/parseUtil.d.ts.map | 1 + node_modules/zod/lib/helpers/parseUtil.js | 335 + node_modules/zod/lib/helpers/parseUtil.js.map | 1 + node_modules/zod/lib/helpers/partialUtil.d.ts | 9 + .../zod/lib/helpers/partialUtil.d.ts.map | 1 + node_modules/zod/lib/helpers/partialUtil.js | 3 + .../zod/lib/helpers/partialUtil.js.map | 1 + node_modules/zod/lib/helpers/util.d.ts | 19 + node_modules/zod/lib/helpers/util.d.ts.map | 1 + node_modules/zod/lib/helpers/util.js | 98 + node_modules/zod/lib/helpers/util.js.map | 1 + node_modules/zod/lib/index.d.ts | 4 + node_modules/zod/lib/index.d.ts.map | 1 + node_modules/zod/lib/index.js | 29 + node_modules/zod/lib/index.js.map | 1 + node_modules/zod/lib/index.mjs | 2 + node_modules/zod/lib/index.mjs.map | 1 + node_modules/zod/lib/types.d.ts | 661 ++ node_modules/zod/lib/types.d.ts.map | 1 + node_modules/zod/lib/types.js | 2599 +++++ node_modules/zod/lib/types.js.map | 1 + node_modules/zod/package.json | 105 + package-lock.json | 4442 +++++++++ package.json | 8 + 5201 files changed, 498916 insertions(+) create mode 120000 node_modules/.bin/npm create mode 120000 node_modules/.bin/npx create mode 100644 node_modules/.package-lock.json create mode 100644 node_modules/@discordjs/builders/LICENSE create mode 100644 node_modules/@discordjs/builders/README.md create mode 100644 node_modules/@discordjs/builders/dist/index.d.ts create mode 100644 node_modules/@discordjs/builders/dist/index.js create mode 100644 node_modules/@discordjs/builders/dist/index.js.map create mode 100644 node_modules/@discordjs/builders/dist/index.mjs create mode 100644 node_modules/@discordjs/builders/dist/index.mjs.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/LICENSE create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/README.md create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/common.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/common.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/common.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/common.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/globals.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/globals.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/globals.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/globals.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/globals.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/package.json create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/index.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/index.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/index.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/index.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/index.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/auditLog.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/auditLog.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/auditLog.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/auditLog.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/channel.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/channel.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/channel.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/channel.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/emoji.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/emoji.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/emoji.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/emoji.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/gateway.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/gateway.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/gateway.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/gateway.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/guild.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/guild.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/guild.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/guild.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/index.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/index.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/index.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/index.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/index.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/invite.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/invite.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/invite.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/invite.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/oauth2.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/oauth2.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/oauth2.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/oauth2.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/permissions.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/permissions.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/permissions.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/permissions.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/teams.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/teams.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/teams.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/teams.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/user.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/user.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/user.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/user.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/voice.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/voice.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/voice.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/voice.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/webhook.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/webhook.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/webhook.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v6/webhook.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/base.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/base.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/base.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/base.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/boolean.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/boolean.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/boolean.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/boolean.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/channel.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/channel.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/channel.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/channel.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/integer.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/integer.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/integer.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/integer.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/mentionable.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/mentionable.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/mentionable.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/mentionable.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/number.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/number.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/number.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/number.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/role.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/role.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/role.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/role.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/shared.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/shared.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/shared.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/shared.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/string.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/string.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/string.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/string.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommand.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommand.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommand.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommand.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommandGroup.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommandGroup.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/user.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/user.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/user.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/user.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/chatInput.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/chatInput.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/chatInput.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/chatInput.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/contextMenu.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/contextMenu.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/contextMenu.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/contextMenu.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/internals.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/internals.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/internals.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/internals.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/permissions.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/permissions.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/permissions.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/permissions.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/applicationCommands.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/applicationCommands.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/applicationCommands.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/applicationCommands.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/autocomplete.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/autocomplete.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/autocomplete.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/autocomplete.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/base.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/base.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/base.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/base.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/messageComponents.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/messageComponents.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/messageComponents.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/messageComponents.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/ping.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/ping.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/ping.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/ping.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/responses.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/responses.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/responses.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/_interactions/responses.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/application.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/application.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/application.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/application.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/auditLog.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/auditLog.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/auditLog.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/auditLog.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/channel.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/channel.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/channel.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/channel.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/emoji.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/emoji.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/emoji.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/emoji.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/gateway.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/gateway.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/gateway.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/gateway.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/guild.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/guild.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/guild.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/guild.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/guildScheduledEvent.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/guildScheduledEvent.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/guildScheduledEvent.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/guildScheduledEvent.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/index.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/index.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/index.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/index.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/index.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/interactions.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/interactions.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/interactions.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/interactions.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/invite.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/invite.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/invite.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/invite.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/oauth2.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/oauth2.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/oauth2.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/oauth2.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/permissions.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/permissions.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/permissions.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/permissions.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/stageInstance.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/stageInstance.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/stageInstance.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/stageInstance.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/sticker.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/sticker.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/sticker.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/sticker.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/teams.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/teams.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/teams.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/teams.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/template.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/template.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/template.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/template.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/user.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/user.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/user.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/user.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/voice.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/voice.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/voice.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/voice.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/webhook.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/webhook.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/webhook.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v8/webhook.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/base.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/base.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/base.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/base.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/ping.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/ping.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/ping.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/ping.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/responses.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/responses.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/responses.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/_interactions/responses.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/application.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/application.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/application.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/application.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/auditLog.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/auditLog.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/auditLog.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/auditLog.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/channel.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/channel.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/channel.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/channel.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/emoji.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/emoji.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/emoji.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/emoji.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/gateway.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/gateway.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/gateway.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/gateway.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/guild.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/guild.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/guild.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/guild.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/guildScheduledEvent.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/guildScheduledEvent.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/guildScheduledEvent.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/guildScheduledEvent.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/index.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/index.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/index.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/index.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/index.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/interactions.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/interactions.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/interactions.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/interactions.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/invite.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/invite.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/invite.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/invite.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/oauth2.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/oauth2.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/oauth2.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/oauth2.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/permissions.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/permissions.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/permissions.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/permissions.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/stageInstance.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/stageInstance.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/stageInstance.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/stageInstance.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/sticker.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/sticker.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/sticker.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/sticker.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/teams.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/teams.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/teams.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/teams.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/template.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/template.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/template.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/template.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/user.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/user.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/user.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/user.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/voice.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/voice.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/voice.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/voice.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/webhook.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/webhook.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/webhook.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/payloads/v9/webhook.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/common.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/common.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/common.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/common.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/index.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/index.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/index.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/index.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/index.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/auditLog.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/auditLog.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/auditLog.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/auditLog.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/channel.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/channel.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/channel.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/channel.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/emoji.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/emoji.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/emoji.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/emoji.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/gateway.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/gateway.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/gateway.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/gateway.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/guild.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/guild.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/guild.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/guild.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/index.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/index.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/index.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/index.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/index.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/invite.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/invite.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/invite.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/invite.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/oauth2.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/oauth2.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/oauth2.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/oauth2.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/user.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/user.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/user.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/user.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/voice.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/voice.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/voice.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/voice.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/webhook.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/webhook.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/webhook.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v6/webhook.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/auditLog.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/auditLog.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/auditLog.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/auditLog.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/channel.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/channel.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/channel.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/channel.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/emoji.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/emoji.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/emoji.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/emoji.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/gateway.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/gateway.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/gateway.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/gateway.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/guild.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/guild.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/guild.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/guild.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/guildScheduledEvent.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/guildScheduledEvent.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/guildScheduledEvent.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/guildScheduledEvent.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/index.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/index.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/index.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/index.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/index.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/interactions.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/interactions.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/interactions.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/interactions.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/invite.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/invite.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/invite.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/invite.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/oauth2.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/oauth2.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/oauth2.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/oauth2.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/stageInstance.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/stageInstance.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/stageInstance.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/stageInstance.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/sticker.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/sticker.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/sticker.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/sticker.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/template.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/template.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/template.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/template.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/user.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/user.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/user.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/user.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/voice.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/voice.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/voice.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/voice.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/webhook.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/webhook.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/webhook.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v8/webhook.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/auditLog.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/auditLog.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/auditLog.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/auditLog.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/channel.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/channel.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/channel.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/channel.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/emoji.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/emoji.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/emoji.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/emoji.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/gateway.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/gateway.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/gateway.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/gateway.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/guild.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/guild.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/guild.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/guild.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/guildScheduledEvent.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/guildScheduledEvent.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/guildScheduledEvent.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/guildScheduledEvent.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/index.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/index.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/index.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/index.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/index.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/interactions.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/interactions.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/interactions.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/interactions.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/invite.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/invite.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/invite.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/invite.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/oauth2.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/oauth2.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/oauth2.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/oauth2.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/stageInstance.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/stageInstance.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/stageInstance.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/stageInstance.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/sticker.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/sticker.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/sticker.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/sticker.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/template.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/template.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/template.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/template.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/user.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/user.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/user.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/user.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/voice.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/voice.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/voice.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/voice.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/webhook.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/webhook.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/webhook.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rest/v9/webhook.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rpc/index.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rpc/index.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rpc/index.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rpc/index.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rpc/index.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rpc/v8.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rpc/v8.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rpc/v8.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rpc/v8.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rpc/v8.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rpc/v9.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rpc/v9.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rpc/v9.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rpc/v9.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/rpc/v9.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/index.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/index.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/index.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/index.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/index.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/internals.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/internals.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/internals.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/internals.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/v8.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/v8.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/v8.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/v8.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/v8.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/v9.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/v9.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/v9.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/v9.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/utils/v9.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/v6.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/v6.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/v6.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/v6.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/v6.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/v8.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/v8.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/v8.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/v8.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/v8.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/v9.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/v9.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/v9.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/v9.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/v9.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/voice/index.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/voice/index.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/voice/index.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/voice/index.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/voice/index.mjs create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/voice/v4.d.ts create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/voice/v4.d.ts.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/voice/v4.js create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/voice/v4.js.map create mode 100644 node_modules/@discordjs/builders/node_modules/discord-api-types/voice/v4.mjs create mode 100644 node_modules/@discordjs/builders/package.json create mode 100644 node_modules/@discordjs/collection/LICENSE create mode 100644 node_modules/@discordjs/collection/README.md create mode 100644 node_modules/@discordjs/collection/dist/index.d.ts create mode 100644 node_modules/@discordjs/collection/dist/index.js create mode 100644 node_modules/@discordjs/collection/dist/index.js.map create mode 100644 node_modules/@discordjs/collection/dist/index.mjs create mode 100644 node_modules/@discordjs/collection/dist/index.mjs.map create mode 100644 node_modules/@discordjs/collection/package.json create mode 100644 node_modules/@discordjs/rest/CHANGELOG.md create mode 100644 node_modules/@discordjs/rest/LICENSE create mode 100644 node_modules/@discordjs/rest/README.md create mode 100644 node_modules/@discordjs/rest/dist/index.d.ts create mode 100644 node_modules/@discordjs/rest/dist/index.js create mode 100644 node_modules/@discordjs/rest/dist/index.js.map create mode 100644 node_modules/@discordjs/rest/dist/index.mjs create mode 100644 node_modules/@discordjs/rest/dist/index.mjs.map create mode 100644 node_modules/@discordjs/rest/dist/lib/CDN.d.ts create mode 100644 node_modules/@discordjs/rest/dist/lib/REST.d.ts create mode 100644 node_modules/@discordjs/rest/dist/lib/RequestManager.d.ts create mode 100644 node_modules/@discordjs/rest/dist/lib/errors/DiscordAPIError.d.ts create mode 100644 node_modules/@discordjs/rest/dist/lib/errors/HTTPError.d.ts create mode 100644 node_modules/@discordjs/rest/dist/lib/errors/RateLimitError.d.ts create mode 100644 node_modules/@discordjs/rest/dist/lib/handlers/IHandler.d.ts create mode 100644 node_modules/@discordjs/rest/dist/lib/handlers/SequentialHandler.d.ts create mode 100644 node_modules/@discordjs/rest/dist/lib/utils/constants.d.ts create mode 100644 node_modules/@discordjs/rest/dist/lib/utils/utils.d.ts create mode 100644 node_modules/@discordjs/rest/docs/README.md create mode 100644 node_modules/@discordjs/rest/docs/index.yml create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/LICENSE create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/README.md create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/common.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/common.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/common.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/common.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/index.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/index.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/index.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/index.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/index.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/v6.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/v6.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/v6.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/v6.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/v6.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/v8.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/v8.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/v8.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/v8.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/v8.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/v9.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/v9.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/v9.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/v9.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/gateway/v9.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/globals.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/globals.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/globals.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/globals.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/globals.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/package.json create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/index.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/index.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/index.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/index.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/index.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/auditLog.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/auditLog.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/auditLog.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/auditLog.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/channel.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/channel.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/channel.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/channel.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/emoji.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/emoji.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/emoji.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/emoji.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/gateway.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/gateway.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/gateway.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/gateway.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/guild.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/guild.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/guild.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/guild.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/index.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/index.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/index.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/index.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/index.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/invite.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/invite.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/invite.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/invite.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/oauth2.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/oauth2.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/oauth2.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/oauth2.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/permissions.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/permissions.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/permissions.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/permissions.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/teams.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/teams.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/teams.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/teams.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/user.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/user.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/user.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/user.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/voice.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/voice.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/voice.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/voice.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/webhook.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/webhook.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/webhook.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v6/webhook.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/base.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/base.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/base.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/base.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/boolean.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/boolean.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/boolean.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/boolean.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/channel.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/channel.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/channel.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/channel.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/integer.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/integer.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/integer.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/integer.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/mentionable.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/mentionable.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/mentionable.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/mentionable.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/number.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/number.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/number.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/number.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/role.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/role.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/role.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/role.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/shared.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/shared.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/shared.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/shared.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/string.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/string.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/string.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/string.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommand.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommand.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommand.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommand.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommandGroup.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommandGroup.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/user.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/user.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/user.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/user.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/chatInput.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/chatInput.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/chatInput.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/chatInput.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/contextMenu.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/contextMenu.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/contextMenu.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/contextMenu.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/internals.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/internals.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/internals.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/internals.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/permissions.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/permissions.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/permissions.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/permissions.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/applicationCommands.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/applicationCommands.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/applicationCommands.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/applicationCommands.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/autocomplete.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/autocomplete.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/autocomplete.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/autocomplete.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/base.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/base.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/base.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/base.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/messageComponents.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/messageComponents.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/messageComponents.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/messageComponents.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/ping.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/ping.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/ping.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/ping.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/responses.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/responses.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/responses.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/_interactions/responses.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/application.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/application.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/application.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/application.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/auditLog.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/auditLog.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/auditLog.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/auditLog.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/channel.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/channel.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/channel.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/channel.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/emoji.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/emoji.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/emoji.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/emoji.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/gateway.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/gateway.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/gateway.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/gateway.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/guild.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/guild.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/guild.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/guild.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/guildScheduledEvent.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/guildScheduledEvent.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/guildScheduledEvent.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/guildScheduledEvent.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/index.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/index.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/index.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/index.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/index.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/interactions.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/interactions.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/interactions.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/interactions.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/invite.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/invite.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/invite.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/invite.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/oauth2.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/oauth2.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/oauth2.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/oauth2.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/permissions.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/permissions.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/permissions.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/permissions.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/stageInstance.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/stageInstance.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/stageInstance.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/stageInstance.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/sticker.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/sticker.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/sticker.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/sticker.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/teams.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/teams.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/teams.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/teams.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/template.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/template.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/template.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/template.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/user.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/user.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/user.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/user.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/voice.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/voice.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/voice.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/voice.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/webhook.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/webhook.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/webhook.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v8/webhook.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/base.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/base.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/base.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/base.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/ping.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/ping.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/ping.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/ping.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/responses.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/responses.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/responses.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/_interactions/responses.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/application.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/application.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/application.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/application.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/auditLog.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/auditLog.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/auditLog.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/auditLog.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/channel.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/channel.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/channel.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/channel.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/emoji.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/emoji.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/emoji.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/emoji.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/gateway.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/gateway.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/gateway.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/gateway.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/guild.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/guild.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/guild.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/guild.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/guildScheduledEvent.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/guildScheduledEvent.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/guildScheduledEvent.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/guildScheduledEvent.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/index.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/index.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/index.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/index.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/index.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/interactions.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/interactions.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/interactions.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/interactions.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/invite.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/invite.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/invite.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/invite.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/oauth2.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/oauth2.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/oauth2.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/oauth2.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/permissions.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/permissions.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/permissions.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/permissions.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/stageInstance.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/stageInstance.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/stageInstance.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/stageInstance.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/sticker.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/sticker.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/sticker.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/sticker.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/teams.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/teams.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/teams.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/teams.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/template.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/template.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/template.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/template.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/user.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/user.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/user.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/user.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/voice.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/voice.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/voice.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/voice.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/webhook.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/webhook.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/webhook.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/payloads/v9/webhook.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/common.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/common.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/common.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/common.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/index.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/index.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/index.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/index.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/index.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/auditLog.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/auditLog.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/auditLog.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/auditLog.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/channel.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/channel.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/channel.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/channel.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/emoji.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/emoji.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/emoji.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/emoji.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/gateway.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/gateway.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/gateway.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/gateway.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/guild.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/guild.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/guild.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/guild.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/index.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/index.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/index.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/index.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/index.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/invite.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/invite.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/invite.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/invite.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/oauth2.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/oauth2.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/oauth2.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/oauth2.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/user.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/user.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/user.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/user.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/voice.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/voice.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/voice.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/voice.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/webhook.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/webhook.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/webhook.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v6/webhook.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/auditLog.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/auditLog.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/auditLog.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/auditLog.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/channel.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/channel.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/channel.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/channel.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/emoji.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/emoji.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/emoji.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/emoji.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/gateway.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/gateway.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/gateway.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/gateway.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/guild.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/guild.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/guild.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/guild.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/guildScheduledEvent.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/guildScheduledEvent.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/guildScheduledEvent.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/guildScheduledEvent.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/index.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/index.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/index.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/index.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/index.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/interactions.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/interactions.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/interactions.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/interactions.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/invite.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/invite.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/invite.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/invite.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/oauth2.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/oauth2.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/oauth2.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/oauth2.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/stageInstance.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/stageInstance.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/stageInstance.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/stageInstance.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/sticker.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/sticker.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/sticker.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/sticker.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/template.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/template.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/template.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/template.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/user.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/user.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/user.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/user.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/voice.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/voice.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/voice.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/voice.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/webhook.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/webhook.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/webhook.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v8/webhook.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/auditLog.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/auditLog.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/auditLog.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/auditLog.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/channel.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/channel.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/channel.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/channel.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/emoji.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/emoji.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/emoji.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/emoji.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/gateway.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/gateway.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/gateway.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/gateway.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/guild.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/guild.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/guild.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/guild.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/guildScheduledEvent.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/guildScheduledEvent.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/guildScheduledEvent.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/guildScheduledEvent.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/index.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/index.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/index.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/index.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/index.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/interactions.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/interactions.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/interactions.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/interactions.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/invite.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/invite.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/invite.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/invite.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/oauth2.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/oauth2.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/oauth2.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/oauth2.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/stageInstance.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/stageInstance.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/stageInstance.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/stageInstance.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/sticker.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/sticker.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/sticker.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/sticker.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/template.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/template.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/template.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/template.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/user.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/user.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/user.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/user.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/voice.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/voice.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/voice.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/voice.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/webhook.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/webhook.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/webhook.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rest/v9/webhook.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rpc/index.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rpc/index.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rpc/index.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rpc/index.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rpc/index.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rpc/v8.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rpc/v8.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rpc/v8.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rpc/v8.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rpc/v8.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rpc/v9.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rpc/v9.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rpc/v9.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rpc/v9.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/rpc/v9.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/index.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/index.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/index.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/index.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/index.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/internals.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/internals.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/internals.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/internals.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/v8.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/v8.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/v8.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/v8.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/v8.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/v9.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/v9.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/v9.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/v9.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/utils/v9.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/v6.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/v6.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/v6.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/v6.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/v6.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/v8.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/v8.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/v8.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/v8.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/v8.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/v9.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/v9.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/v9.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/v9.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/v9.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/voice/index.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/voice/index.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/voice/index.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/voice/index.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/voice/index.mjs create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/voice/v4.d.ts create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/voice/v4.d.ts.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/voice/v4.js create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/voice/v4.js.map create mode 100644 node_modules/@discordjs/rest/node_modules/discord-api-types/voice/v4.mjs create mode 100644 node_modules/@discordjs/rest/package.json create mode 100644 node_modules/@sapphire/async-queue/LICENSE.md create mode 100644 node_modules/@sapphire/async-queue/README.md create mode 100644 node_modules/@sapphire/async-queue/dist/index.d.ts create mode 100644 node_modules/@sapphire/async-queue/dist/index.global.js create mode 100644 node_modules/@sapphire/async-queue/dist/index.global.js.map create mode 100644 node_modules/@sapphire/async-queue/dist/index.js create mode 100644 node_modules/@sapphire/async-queue/dist/index.js.map create mode 100644 node_modules/@sapphire/async-queue/dist/index.mjs create mode 100644 node_modules/@sapphire/async-queue/dist/index.mjs.map create mode 100644 node_modules/@sapphire/async-queue/dist/lib/AsyncQueue.d.ts create mode 100644 node_modules/@sapphire/async-queue/package.json create mode 100644 node_modules/@sapphire/snowflake/LICENSE.md create mode 100644 node_modules/@sapphire/snowflake/README.md create mode 100644 node_modules/@sapphire/snowflake/dist/index.d.ts create mode 100644 node_modules/@sapphire/snowflake/dist/index.global.js create mode 100644 node_modules/@sapphire/snowflake/dist/index.global.js.map create mode 100644 node_modules/@sapphire/snowflake/dist/index.js create mode 100644 node_modules/@sapphire/snowflake/dist/index.js.map create mode 100644 node_modules/@sapphire/snowflake/dist/index.mjs create mode 100644 node_modules/@sapphire/snowflake/dist/index.mjs.map create mode 100644 node_modules/@sapphire/snowflake/dist/lib/DiscordSnowflake.d.ts create mode 100644 node_modules/@sapphire/snowflake/dist/lib/Snowflake.d.ts create mode 100644 node_modules/@sapphire/snowflake/dist/lib/TwitterSnowflake.d.ts create mode 100644 node_modules/@sapphire/snowflake/package.json create mode 100644 node_modules/@sindresorhus/is/dist/index.d.ts create mode 100644 node_modules/@sindresorhus/is/dist/index.js create mode 100644 node_modules/@sindresorhus/is/dist/types.d.ts create mode 100644 node_modules/@sindresorhus/is/dist/types.js create mode 100644 node_modules/@sindresorhus/is/license create mode 100644 node_modules/@sindresorhus/is/package.json create mode 100644 node_modules/@sindresorhus/is/readme.md create mode 100755 node_modules/@types/node-fetch/LICENSE create mode 100755 node_modules/@types/node-fetch/README.md create mode 100755 node_modules/@types/node-fetch/externals.d.ts create mode 100755 node_modules/@types/node-fetch/index.d.ts create mode 100644 node_modules/@types/node-fetch/node_modules/form-data/License create mode 100644 node_modules/@types/node-fetch/node_modules/form-data/README.md.bak create mode 100644 node_modules/@types/node-fetch/node_modules/form-data/Readme.md create mode 100644 node_modules/@types/node-fetch/node_modules/form-data/index.d.ts create mode 100644 node_modules/@types/node-fetch/node_modules/form-data/lib/browser.js create mode 100644 node_modules/@types/node-fetch/node_modules/form-data/lib/form_data.js create mode 100644 node_modules/@types/node-fetch/node_modules/form-data/lib/populate.js create mode 100644 node_modules/@types/node-fetch/node_modules/form-data/package.json create mode 100755 node_modules/@types/node-fetch/package.json create mode 100755 node_modules/@types/node/LICENSE create mode 100755 node_modules/@types/node/README.md create mode 100755 node_modules/@types/node/assert.d.ts create mode 100755 node_modules/@types/node/assert/strict.d.ts create mode 100755 node_modules/@types/node/async_hooks.d.ts create mode 100755 node_modules/@types/node/buffer.d.ts create mode 100755 node_modules/@types/node/child_process.d.ts create mode 100755 node_modules/@types/node/cluster.d.ts create mode 100755 node_modules/@types/node/console.d.ts create mode 100755 node_modules/@types/node/constants.d.ts create mode 100755 node_modules/@types/node/crypto.d.ts create mode 100755 node_modules/@types/node/dgram.d.ts create mode 100755 node_modules/@types/node/diagnostics_channel.d.ts create mode 100755 node_modules/@types/node/dns.d.ts create mode 100755 node_modules/@types/node/dns/promises.d.ts create mode 100755 node_modules/@types/node/domain.d.ts create mode 100755 node_modules/@types/node/events.d.ts create mode 100755 node_modules/@types/node/fs.d.ts create mode 100755 node_modules/@types/node/fs/promises.d.ts create mode 100755 node_modules/@types/node/globals.d.ts create mode 100755 node_modules/@types/node/globals.global.d.ts create mode 100755 node_modules/@types/node/http.d.ts create mode 100755 node_modules/@types/node/http2.d.ts create mode 100755 node_modules/@types/node/https.d.ts create mode 100755 node_modules/@types/node/index.d.ts create mode 100755 node_modules/@types/node/inspector.d.ts create mode 100755 node_modules/@types/node/module.d.ts create mode 100755 node_modules/@types/node/net.d.ts create mode 100755 node_modules/@types/node/os.d.ts create mode 100755 node_modules/@types/node/package.json create mode 100755 node_modules/@types/node/path.d.ts create mode 100755 node_modules/@types/node/perf_hooks.d.ts create mode 100755 node_modules/@types/node/process.d.ts create mode 100755 node_modules/@types/node/punycode.d.ts create mode 100755 node_modules/@types/node/querystring.d.ts create mode 100755 node_modules/@types/node/readline.d.ts create mode 100755 node_modules/@types/node/repl.d.ts create mode 100755 node_modules/@types/node/stream.d.ts create mode 100755 node_modules/@types/node/stream/consumers.d.ts create mode 100755 node_modules/@types/node/stream/promises.d.ts create mode 100755 node_modules/@types/node/stream/web.d.ts create mode 100755 node_modules/@types/node/string_decoder.d.ts create mode 100755 node_modules/@types/node/timers.d.ts create mode 100755 node_modules/@types/node/timers/promises.d.ts create mode 100755 node_modules/@types/node/tls.d.ts create mode 100755 node_modules/@types/node/trace_events.d.ts create mode 100755 node_modules/@types/node/tty.d.ts create mode 100755 node_modules/@types/node/url.d.ts create mode 100755 node_modules/@types/node/util.d.ts create mode 100755 node_modules/@types/node/v8.d.ts create mode 100755 node_modules/@types/node/vm.d.ts create mode 100755 node_modules/@types/node/wasi.d.ts create mode 100755 node_modules/@types/node/worker_threads.d.ts create mode 100755 node_modules/@types/node/zlib.d.ts create mode 100755 node_modules/@types/ws/LICENSE create mode 100755 node_modules/@types/ws/README.md create mode 100755 node_modules/@types/ws/index.d.mts create mode 100755 node_modules/@types/ws/index.d.ts create mode 100755 node_modules/@types/ws/package.json create mode 100644 node_modules/asynckit/LICENSE create mode 100644 node_modules/asynckit/README.md create mode 100644 node_modules/asynckit/bench.js create mode 100644 node_modules/asynckit/index.js create mode 100644 node_modules/asynckit/lib/abort.js create mode 100644 node_modules/asynckit/lib/async.js create mode 100644 node_modules/asynckit/lib/defer.js create mode 100644 node_modules/asynckit/lib/iterate.js create mode 100644 node_modules/asynckit/lib/readable_asynckit.js create mode 100644 node_modules/asynckit/lib/readable_parallel.js create mode 100644 node_modules/asynckit/lib/readable_serial.js create mode 100644 node_modules/asynckit/lib/readable_serial_ordered.js create mode 100644 node_modules/asynckit/lib/state.js create mode 100644 node_modules/asynckit/lib/streamify.js create mode 100644 node_modules/asynckit/lib/terminator.js create mode 100644 node_modules/asynckit/package.json create mode 100644 node_modules/asynckit/parallel.js create mode 100644 node_modules/asynckit/serial.js create mode 100644 node_modules/asynckit/serialOrdered.js create mode 100644 node_modules/asynckit/stream.js create mode 100644 node_modules/combined-stream/License create mode 100644 node_modules/combined-stream/Readme.md create mode 100644 node_modules/combined-stream/lib/combined_stream.js create mode 100644 node_modules/combined-stream/package.json create mode 100644 node_modules/combined-stream/yarn.lock create mode 100644 node_modules/delayed-stream/.npmignore create mode 100644 node_modules/delayed-stream/License create mode 100644 node_modules/delayed-stream/Makefile create mode 100644 node_modules/delayed-stream/Readme.md create mode 100644 node_modules/delayed-stream/lib/delayed_stream.js create mode 100644 node_modules/delayed-stream/package.json create mode 100644 node_modules/discord-api-types/LICENSE create mode 100644 node_modules/discord-api-types/README.md create mode 100644 node_modules/discord-api-types/gateway/common.d.ts create mode 100644 node_modules/discord-api-types/gateway/common.d.ts.map create mode 100644 node_modules/discord-api-types/gateway/common.js create mode 100644 node_modules/discord-api-types/gateway/common.js.map create mode 100644 node_modules/discord-api-types/gateway/index.d.ts create mode 100644 node_modules/discord-api-types/gateway/index.d.ts.map create mode 100644 node_modules/discord-api-types/gateway/index.js create mode 100644 node_modules/discord-api-types/gateway/index.js.map create mode 100644 node_modules/discord-api-types/gateway/index.mjs create mode 100644 node_modules/discord-api-types/gateway/v6.d.ts create mode 100644 node_modules/discord-api-types/gateway/v6.d.ts.map create mode 100644 node_modules/discord-api-types/gateway/v6.js create mode 100644 node_modules/discord-api-types/gateway/v6.js.map create mode 100644 node_modules/discord-api-types/gateway/v6.mjs create mode 100644 node_modules/discord-api-types/gateway/v8.d.ts create mode 100644 node_modules/discord-api-types/gateway/v8.d.ts.map create mode 100644 node_modules/discord-api-types/gateway/v8.js create mode 100644 node_modules/discord-api-types/gateway/v8.js.map create mode 100644 node_modules/discord-api-types/gateway/v8.mjs create mode 100644 node_modules/discord-api-types/gateway/v9.d.ts create mode 100644 node_modules/discord-api-types/gateway/v9.d.ts.map create mode 100644 node_modules/discord-api-types/gateway/v9.js create mode 100644 node_modules/discord-api-types/gateway/v9.js.map create mode 100644 node_modules/discord-api-types/gateway/v9.mjs create mode 100644 node_modules/discord-api-types/globals.d.ts create mode 100644 node_modules/discord-api-types/globals.d.ts.map create mode 100644 node_modules/discord-api-types/globals.js create mode 100644 node_modules/discord-api-types/globals.js.map create mode 100644 node_modules/discord-api-types/globals.mjs create mode 100644 node_modules/discord-api-types/package.json create mode 100644 node_modules/discord-api-types/payloads/index.d.ts create mode 100644 node_modules/discord-api-types/payloads/index.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/index.js create mode 100644 node_modules/discord-api-types/payloads/index.js.map create mode 100644 node_modules/discord-api-types/payloads/index.mjs create mode 100644 node_modules/discord-api-types/payloads/v6/auditLog.d.ts create mode 100644 node_modules/discord-api-types/payloads/v6/auditLog.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v6/auditLog.js create mode 100644 node_modules/discord-api-types/payloads/v6/auditLog.js.map create mode 100644 node_modules/discord-api-types/payloads/v6/channel.d.ts create mode 100644 node_modules/discord-api-types/payloads/v6/channel.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v6/channel.js create mode 100644 node_modules/discord-api-types/payloads/v6/channel.js.map create mode 100644 node_modules/discord-api-types/payloads/v6/emoji.d.ts create mode 100644 node_modules/discord-api-types/payloads/v6/emoji.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v6/emoji.js create mode 100644 node_modules/discord-api-types/payloads/v6/emoji.js.map create mode 100644 node_modules/discord-api-types/payloads/v6/gateway.d.ts create mode 100644 node_modules/discord-api-types/payloads/v6/gateway.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v6/gateway.js create mode 100644 node_modules/discord-api-types/payloads/v6/gateway.js.map create mode 100644 node_modules/discord-api-types/payloads/v6/guild.d.ts create mode 100644 node_modules/discord-api-types/payloads/v6/guild.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v6/guild.js create mode 100644 node_modules/discord-api-types/payloads/v6/guild.js.map create mode 100644 node_modules/discord-api-types/payloads/v6/index.d.ts create mode 100644 node_modules/discord-api-types/payloads/v6/index.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v6/index.js create mode 100644 node_modules/discord-api-types/payloads/v6/index.js.map create mode 100644 node_modules/discord-api-types/payloads/v6/index.mjs create mode 100644 node_modules/discord-api-types/payloads/v6/invite.d.ts create mode 100644 node_modules/discord-api-types/payloads/v6/invite.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v6/invite.js create mode 100644 node_modules/discord-api-types/payloads/v6/invite.js.map create mode 100644 node_modules/discord-api-types/payloads/v6/oauth2.d.ts create mode 100644 node_modules/discord-api-types/payloads/v6/oauth2.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v6/oauth2.js create mode 100644 node_modules/discord-api-types/payloads/v6/oauth2.js.map create mode 100644 node_modules/discord-api-types/payloads/v6/permissions.d.ts create mode 100644 node_modules/discord-api-types/payloads/v6/permissions.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v6/permissions.js create mode 100644 node_modules/discord-api-types/payloads/v6/permissions.js.map create mode 100644 node_modules/discord-api-types/payloads/v6/teams.d.ts create mode 100644 node_modules/discord-api-types/payloads/v6/teams.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v6/teams.js create mode 100644 node_modules/discord-api-types/payloads/v6/teams.js.map create mode 100644 node_modules/discord-api-types/payloads/v6/user.d.ts create mode 100644 node_modules/discord-api-types/payloads/v6/user.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v6/user.js create mode 100644 node_modules/discord-api-types/payloads/v6/user.js.map create mode 100644 node_modules/discord-api-types/payloads/v6/voice.d.ts create mode 100644 node_modules/discord-api-types/payloads/v6/voice.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v6/voice.js create mode 100644 node_modules/discord-api-types/payloads/v6/voice.js.map create mode 100644 node_modules/discord-api-types/payloads/v6/webhook.d.ts create mode 100644 node_modules/discord-api-types/payloads/v6/webhook.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v6/webhook.js create mode 100644 node_modules/discord-api-types/payloads/v6/webhook.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/attachment.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/attachment.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/attachment.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/attachment.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/base.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/base.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/base.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/base.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/boolean.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/boolean.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/boolean.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/boolean.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/channel.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/channel.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/channel.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/channel.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/integer.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/integer.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/integer.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/integer.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/mentionable.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/mentionable.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/mentionable.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/mentionable.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/number.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/number.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/number.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/number.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/role.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/role.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/role.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/role.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/shared.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/shared.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/shared.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/shared.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/string.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/string.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/string.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/string.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommand.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommand.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommand.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommand.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommandGroup.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommandGroup.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/user.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/user.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/user.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/user.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/chatInput.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/chatInput.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/chatInput.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/chatInput.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/contextMenu.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/contextMenu.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/contextMenu.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/contextMenu.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/internals.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/internals.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/internals.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/internals.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/permissions.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/permissions.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/permissions.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/permissions.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/applicationCommands.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/applicationCommands.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/applicationCommands.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/applicationCommands.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/autocomplete.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/autocomplete.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/autocomplete.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/autocomplete.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/base.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/base.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/base.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/base.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/messageComponents.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/messageComponents.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/messageComponents.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/messageComponents.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/modalSubmit.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/modalSubmit.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/modalSubmit.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/modalSubmit.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/ping.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/ping.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/ping.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/ping.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/responses.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/responses.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/responses.js create mode 100644 node_modules/discord-api-types/payloads/v8/_interactions/responses.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/application.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/application.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/application.js create mode 100644 node_modules/discord-api-types/payloads/v8/application.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/auditLog.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/auditLog.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/auditLog.js create mode 100644 node_modules/discord-api-types/payloads/v8/auditLog.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/channel.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/channel.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/channel.js create mode 100644 node_modules/discord-api-types/payloads/v8/channel.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/emoji.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/emoji.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/emoji.js create mode 100644 node_modules/discord-api-types/payloads/v8/emoji.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/gateway.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/gateway.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/gateway.js create mode 100644 node_modules/discord-api-types/payloads/v8/gateway.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/guild.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/guild.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/guild.js create mode 100644 node_modules/discord-api-types/payloads/v8/guild.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/guildScheduledEvent.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/guildScheduledEvent.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/guildScheduledEvent.js create mode 100644 node_modules/discord-api-types/payloads/v8/guildScheduledEvent.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/index.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/index.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/index.js create mode 100644 node_modules/discord-api-types/payloads/v8/index.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/index.mjs create mode 100644 node_modules/discord-api-types/payloads/v8/interactions.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/interactions.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/interactions.js create mode 100644 node_modules/discord-api-types/payloads/v8/interactions.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/invite.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/invite.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/invite.js create mode 100644 node_modules/discord-api-types/payloads/v8/invite.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/oauth2.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/oauth2.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/oauth2.js create mode 100644 node_modules/discord-api-types/payloads/v8/oauth2.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/permissions.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/permissions.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/permissions.js create mode 100644 node_modules/discord-api-types/payloads/v8/permissions.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/stageInstance.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/stageInstance.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/stageInstance.js create mode 100644 node_modules/discord-api-types/payloads/v8/stageInstance.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/sticker.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/sticker.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/sticker.js create mode 100644 node_modules/discord-api-types/payloads/v8/sticker.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/teams.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/teams.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/teams.js create mode 100644 node_modules/discord-api-types/payloads/v8/teams.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/template.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/template.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/template.js create mode 100644 node_modules/discord-api-types/payloads/v8/template.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/user.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/user.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/user.js create mode 100644 node_modules/discord-api-types/payloads/v8/user.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/voice.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/voice.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/voice.js create mode 100644 node_modules/discord-api-types/payloads/v8/voice.js.map create mode 100644 node_modules/discord-api-types/payloads/v8/webhook.d.ts create mode 100644 node_modules/discord-api-types/payloads/v8/webhook.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v8/webhook.js create mode 100644 node_modules/discord-api-types/payloads/v8/webhook.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/attachment.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/attachment.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/attachment.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/attachment.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/base.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/base.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/base.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/base.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/modalSubmit.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/modalSubmit.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/modalSubmit.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/modalSubmit.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/ping.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/ping.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/ping.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/ping.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/responses.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/responses.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/responses.js create mode 100644 node_modules/discord-api-types/payloads/v9/_interactions/responses.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/application.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/application.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/application.js create mode 100644 node_modules/discord-api-types/payloads/v9/application.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/auditLog.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/auditLog.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/auditLog.js create mode 100644 node_modules/discord-api-types/payloads/v9/auditLog.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/channel.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/channel.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/channel.js create mode 100644 node_modules/discord-api-types/payloads/v9/channel.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/emoji.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/emoji.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/emoji.js create mode 100644 node_modules/discord-api-types/payloads/v9/emoji.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/gateway.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/gateway.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/gateway.js create mode 100644 node_modules/discord-api-types/payloads/v9/gateway.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/guild.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/guild.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/guild.js create mode 100644 node_modules/discord-api-types/payloads/v9/guild.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/guildScheduledEvent.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/guildScheduledEvent.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/guildScheduledEvent.js create mode 100644 node_modules/discord-api-types/payloads/v9/guildScheduledEvent.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/index.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/index.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/index.js create mode 100644 node_modules/discord-api-types/payloads/v9/index.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/index.mjs create mode 100644 node_modules/discord-api-types/payloads/v9/interactions.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/interactions.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/interactions.js create mode 100644 node_modules/discord-api-types/payloads/v9/interactions.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/invite.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/invite.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/invite.js create mode 100644 node_modules/discord-api-types/payloads/v9/invite.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/oauth2.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/oauth2.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/oauth2.js create mode 100644 node_modules/discord-api-types/payloads/v9/oauth2.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/permissions.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/permissions.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/permissions.js create mode 100644 node_modules/discord-api-types/payloads/v9/permissions.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/stageInstance.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/stageInstance.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/stageInstance.js create mode 100644 node_modules/discord-api-types/payloads/v9/stageInstance.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/sticker.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/sticker.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/sticker.js create mode 100644 node_modules/discord-api-types/payloads/v9/sticker.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/teams.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/teams.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/teams.js create mode 100644 node_modules/discord-api-types/payloads/v9/teams.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/template.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/template.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/template.js create mode 100644 node_modules/discord-api-types/payloads/v9/template.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/user.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/user.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/user.js create mode 100644 node_modules/discord-api-types/payloads/v9/user.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/voice.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/voice.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/voice.js create mode 100644 node_modules/discord-api-types/payloads/v9/voice.js.map create mode 100644 node_modules/discord-api-types/payloads/v9/webhook.d.ts create mode 100644 node_modules/discord-api-types/payloads/v9/webhook.d.ts.map create mode 100644 node_modules/discord-api-types/payloads/v9/webhook.js create mode 100644 node_modules/discord-api-types/payloads/v9/webhook.js.map create mode 100644 node_modules/discord-api-types/rest/common.d.ts create mode 100644 node_modules/discord-api-types/rest/common.d.ts.map create mode 100644 node_modules/discord-api-types/rest/common.js create mode 100644 node_modules/discord-api-types/rest/common.js.map create mode 100644 node_modules/discord-api-types/rest/index.d.ts create mode 100644 node_modules/discord-api-types/rest/index.d.ts.map create mode 100644 node_modules/discord-api-types/rest/index.js create mode 100644 node_modules/discord-api-types/rest/index.js.map create mode 100644 node_modules/discord-api-types/rest/index.mjs create mode 100644 node_modules/discord-api-types/rest/v6/auditLog.d.ts create mode 100644 node_modules/discord-api-types/rest/v6/auditLog.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v6/auditLog.js create mode 100644 node_modules/discord-api-types/rest/v6/auditLog.js.map create mode 100644 node_modules/discord-api-types/rest/v6/channel.d.ts create mode 100644 node_modules/discord-api-types/rest/v6/channel.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v6/channel.js create mode 100644 node_modules/discord-api-types/rest/v6/channel.js.map create mode 100644 node_modules/discord-api-types/rest/v6/emoji.d.ts create mode 100644 node_modules/discord-api-types/rest/v6/emoji.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v6/emoji.js create mode 100644 node_modules/discord-api-types/rest/v6/emoji.js.map create mode 100644 node_modules/discord-api-types/rest/v6/gateway.d.ts create mode 100644 node_modules/discord-api-types/rest/v6/gateway.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v6/gateway.js create mode 100644 node_modules/discord-api-types/rest/v6/gateway.js.map create mode 100644 node_modules/discord-api-types/rest/v6/guild.d.ts create mode 100644 node_modules/discord-api-types/rest/v6/guild.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v6/guild.js create mode 100644 node_modules/discord-api-types/rest/v6/guild.js.map create mode 100644 node_modules/discord-api-types/rest/v6/index.d.ts create mode 100644 node_modules/discord-api-types/rest/v6/index.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v6/index.js create mode 100644 node_modules/discord-api-types/rest/v6/index.js.map create mode 100644 node_modules/discord-api-types/rest/v6/index.mjs create mode 100644 node_modules/discord-api-types/rest/v6/invite.d.ts create mode 100644 node_modules/discord-api-types/rest/v6/invite.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v6/invite.js create mode 100644 node_modules/discord-api-types/rest/v6/invite.js.map create mode 100644 node_modules/discord-api-types/rest/v6/oauth2.d.ts create mode 100644 node_modules/discord-api-types/rest/v6/oauth2.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v6/oauth2.js create mode 100644 node_modules/discord-api-types/rest/v6/oauth2.js.map create mode 100644 node_modules/discord-api-types/rest/v6/user.d.ts create mode 100644 node_modules/discord-api-types/rest/v6/user.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v6/user.js create mode 100644 node_modules/discord-api-types/rest/v6/user.js.map create mode 100644 node_modules/discord-api-types/rest/v6/voice.d.ts create mode 100644 node_modules/discord-api-types/rest/v6/voice.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v6/voice.js create mode 100644 node_modules/discord-api-types/rest/v6/voice.js.map create mode 100644 node_modules/discord-api-types/rest/v6/webhook.d.ts create mode 100644 node_modules/discord-api-types/rest/v6/webhook.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v6/webhook.js create mode 100644 node_modules/discord-api-types/rest/v6/webhook.js.map create mode 100644 node_modules/discord-api-types/rest/v8/auditLog.d.ts create mode 100644 node_modules/discord-api-types/rest/v8/auditLog.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v8/auditLog.js create mode 100644 node_modules/discord-api-types/rest/v8/auditLog.js.map create mode 100644 node_modules/discord-api-types/rest/v8/channel.d.ts create mode 100644 node_modules/discord-api-types/rest/v8/channel.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v8/channel.js create mode 100644 node_modules/discord-api-types/rest/v8/channel.js.map create mode 100644 node_modules/discord-api-types/rest/v8/emoji.d.ts create mode 100644 node_modules/discord-api-types/rest/v8/emoji.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v8/emoji.js create mode 100644 node_modules/discord-api-types/rest/v8/emoji.js.map create mode 100644 node_modules/discord-api-types/rest/v8/gateway.d.ts create mode 100644 node_modules/discord-api-types/rest/v8/gateway.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v8/gateway.js create mode 100644 node_modules/discord-api-types/rest/v8/gateway.js.map create mode 100644 node_modules/discord-api-types/rest/v8/guild.d.ts create mode 100644 node_modules/discord-api-types/rest/v8/guild.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v8/guild.js create mode 100644 node_modules/discord-api-types/rest/v8/guild.js.map create mode 100644 node_modules/discord-api-types/rest/v8/guildScheduledEvent.d.ts create mode 100644 node_modules/discord-api-types/rest/v8/guildScheduledEvent.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v8/guildScheduledEvent.js create mode 100644 node_modules/discord-api-types/rest/v8/guildScheduledEvent.js.map create mode 100644 node_modules/discord-api-types/rest/v8/index.d.ts create mode 100644 node_modules/discord-api-types/rest/v8/index.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v8/index.js create mode 100644 node_modules/discord-api-types/rest/v8/index.js.map create mode 100644 node_modules/discord-api-types/rest/v8/index.mjs create mode 100644 node_modules/discord-api-types/rest/v8/interactions.d.ts create mode 100644 node_modules/discord-api-types/rest/v8/interactions.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v8/interactions.js create mode 100644 node_modules/discord-api-types/rest/v8/interactions.js.map create mode 100644 node_modules/discord-api-types/rest/v8/invite.d.ts create mode 100644 node_modules/discord-api-types/rest/v8/invite.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v8/invite.js create mode 100644 node_modules/discord-api-types/rest/v8/invite.js.map create mode 100644 node_modules/discord-api-types/rest/v8/oauth2.d.ts create mode 100644 node_modules/discord-api-types/rest/v8/oauth2.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v8/oauth2.js create mode 100644 node_modules/discord-api-types/rest/v8/oauth2.js.map create mode 100644 node_modules/discord-api-types/rest/v8/stageInstance.d.ts create mode 100644 node_modules/discord-api-types/rest/v8/stageInstance.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v8/stageInstance.js create mode 100644 node_modules/discord-api-types/rest/v8/stageInstance.js.map create mode 100644 node_modules/discord-api-types/rest/v8/sticker.d.ts create mode 100644 node_modules/discord-api-types/rest/v8/sticker.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v8/sticker.js create mode 100644 node_modules/discord-api-types/rest/v8/sticker.js.map create mode 100644 node_modules/discord-api-types/rest/v8/template.d.ts create mode 100644 node_modules/discord-api-types/rest/v8/template.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v8/template.js create mode 100644 node_modules/discord-api-types/rest/v8/template.js.map create mode 100644 node_modules/discord-api-types/rest/v8/user.d.ts create mode 100644 node_modules/discord-api-types/rest/v8/user.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v8/user.js create mode 100644 node_modules/discord-api-types/rest/v8/user.js.map create mode 100644 node_modules/discord-api-types/rest/v8/voice.d.ts create mode 100644 node_modules/discord-api-types/rest/v8/voice.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v8/voice.js create mode 100644 node_modules/discord-api-types/rest/v8/voice.js.map create mode 100644 node_modules/discord-api-types/rest/v8/webhook.d.ts create mode 100644 node_modules/discord-api-types/rest/v8/webhook.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v8/webhook.js create mode 100644 node_modules/discord-api-types/rest/v8/webhook.js.map create mode 100644 node_modules/discord-api-types/rest/v9/auditLog.d.ts create mode 100644 node_modules/discord-api-types/rest/v9/auditLog.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v9/auditLog.js create mode 100644 node_modules/discord-api-types/rest/v9/auditLog.js.map create mode 100644 node_modules/discord-api-types/rest/v9/channel.d.ts create mode 100644 node_modules/discord-api-types/rest/v9/channel.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v9/channel.js create mode 100644 node_modules/discord-api-types/rest/v9/channel.js.map create mode 100644 node_modules/discord-api-types/rest/v9/emoji.d.ts create mode 100644 node_modules/discord-api-types/rest/v9/emoji.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v9/emoji.js create mode 100644 node_modules/discord-api-types/rest/v9/emoji.js.map create mode 100644 node_modules/discord-api-types/rest/v9/gateway.d.ts create mode 100644 node_modules/discord-api-types/rest/v9/gateway.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v9/gateway.js create mode 100644 node_modules/discord-api-types/rest/v9/gateway.js.map create mode 100644 node_modules/discord-api-types/rest/v9/guild.d.ts create mode 100644 node_modules/discord-api-types/rest/v9/guild.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v9/guild.js create mode 100644 node_modules/discord-api-types/rest/v9/guild.js.map create mode 100644 node_modules/discord-api-types/rest/v9/guildScheduledEvent.d.ts create mode 100644 node_modules/discord-api-types/rest/v9/guildScheduledEvent.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v9/guildScheduledEvent.js create mode 100644 node_modules/discord-api-types/rest/v9/guildScheduledEvent.js.map create mode 100644 node_modules/discord-api-types/rest/v9/index.d.ts create mode 100644 node_modules/discord-api-types/rest/v9/index.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v9/index.js create mode 100644 node_modules/discord-api-types/rest/v9/index.js.map create mode 100644 node_modules/discord-api-types/rest/v9/index.mjs create mode 100644 node_modules/discord-api-types/rest/v9/interactions.d.ts create mode 100644 node_modules/discord-api-types/rest/v9/interactions.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v9/interactions.js create mode 100644 node_modules/discord-api-types/rest/v9/interactions.js.map create mode 100644 node_modules/discord-api-types/rest/v9/invite.d.ts create mode 100644 node_modules/discord-api-types/rest/v9/invite.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v9/invite.js create mode 100644 node_modules/discord-api-types/rest/v9/invite.js.map create mode 100644 node_modules/discord-api-types/rest/v9/oauth2.d.ts create mode 100644 node_modules/discord-api-types/rest/v9/oauth2.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v9/oauth2.js create mode 100644 node_modules/discord-api-types/rest/v9/oauth2.js.map create mode 100644 node_modules/discord-api-types/rest/v9/stageInstance.d.ts create mode 100644 node_modules/discord-api-types/rest/v9/stageInstance.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v9/stageInstance.js create mode 100644 node_modules/discord-api-types/rest/v9/stageInstance.js.map create mode 100644 node_modules/discord-api-types/rest/v9/sticker.d.ts create mode 100644 node_modules/discord-api-types/rest/v9/sticker.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v9/sticker.js create mode 100644 node_modules/discord-api-types/rest/v9/sticker.js.map create mode 100644 node_modules/discord-api-types/rest/v9/template.d.ts create mode 100644 node_modules/discord-api-types/rest/v9/template.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v9/template.js create mode 100644 node_modules/discord-api-types/rest/v9/template.js.map create mode 100644 node_modules/discord-api-types/rest/v9/user.d.ts create mode 100644 node_modules/discord-api-types/rest/v9/user.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v9/user.js create mode 100644 node_modules/discord-api-types/rest/v9/user.js.map create mode 100644 node_modules/discord-api-types/rest/v9/voice.d.ts create mode 100644 node_modules/discord-api-types/rest/v9/voice.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v9/voice.js create mode 100644 node_modules/discord-api-types/rest/v9/voice.js.map create mode 100644 node_modules/discord-api-types/rest/v9/webhook.d.ts create mode 100644 node_modules/discord-api-types/rest/v9/webhook.d.ts.map create mode 100644 node_modules/discord-api-types/rest/v9/webhook.js create mode 100644 node_modules/discord-api-types/rest/v9/webhook.js.map create mode 100644 node_modules/discord-api-types/rpc/index.d.ts create mode 100644 node_modules/discord-api-types/rpc/index.d.ts.map create mode 100644 node_modules/discord-api-types/rpc/index.js create mode 100644 node_modules/discord-api-types/rpc/index.js.map create mode 100644 node_modules/discord-api-types/rpc/index.mjs create mode 100644 node_modules/discord-api-types/rpc/v8.d.ts create mode 100644 node_modules/discord-api-types/rpc/v8.d.ts.map create mode 100644 node_modules/discord-api-types/rpc/v8.js create mode 100644 node_modules/discord-api-types/rpc/v8.js.map create mode 100644 node_modules/discord-api-types/rpc/v8.mjs create mode 100644 node_modules/discord-api-types/rpc/v9.d.ts create mode 100644 node_modules/discord-api-types/rpc/v9.d.ts.map create mode 100644 node_modules/discord-api-types/rpc/v9.js create mode 100644 node_modules/discord-api-types/rpc/v9.js.map create mode 100644 node_modules/discord-api-types/rpc/v9.mjs create mode 100644 node_modules/discord-api-types/utils/index.d.ts create mode 100644 node_modules/discord-api-types/utils/index.d.ts.map create mode 100644 node_modules/discord-api-types/utils/index.js create mode 100644 node_modules/discord-api-types/utils/index.js.map create mode 100644 node_modules/discord-api-types/utils/index.mjs create mode 100644 node_modules/discord-api-types/utils/internals.d.ts create mode 100644 node_modules/discord-api-types/utils/internals.d.ts.map create mode 100644 node_modules/discord-api-types/utils/internals.js create mode 100644 node_modules/discord-api-types/utils/internals.js.map create mode 100644 node_modules/discord-api-types/utils/v8.d.ts create mode 100644 node_modules/discord-api-types/utils/v8.d.ts.map create mode 100644 node_modules/discord-api-types/utils/v8.js create mode 100644 node_modules/discord-api-types/utils/v8.js.map create mode 100644 node_modules/discord-api-types/utils/v8.mjs create mode 100644 node_modules/discord-api-types/utils/v9.d.ts create mode 100644 node_modules/discord-api-types/utils/v9.d.ts.map create mode 100644 node_modules/discord-api-types/utils/v9.js create mode 100644 node_modules/discord-api-types/utils/v9.js.map create mode 100644 node_modules/discord-api-types/utils/v9.mjs create mode 100644 node_modules/discord-api-types/v6.d.ts create mode 100644 node_modules/discord-api-types/v6.d.ts.map create mode 100644 node_modules/discord-api-types/v6.js create mode 100644 node_modules/discord-api-types/v6.js.map create mode 100644 node_modules/discord-api-types/v6.mjs create mode 100644 node_modules/discord-api-types/v8.d.ts create mode 100644 node_modules/discord-api-types/v8.d.ts.map create mode 100644 node_modules/discord-api-types/v8.js create mode 100644 node_modules/discord-api-types/v8.js.map create mode 100644 node_modules/discord-api-types/v8.mjs create mode 100644 node_modules/discord-api-types/v9.d.ts create mode 100644 node_modules/discord-api-types/v9.d.ts.map create mode 100644 node_modules/discord-api-types/v9.js create mode 100644 node_modules/discord-api-types/v9.js.map create mode 100644 node_modules/discord-api-types/v9.mjs create mode 100644 node_modules/discord-api-types/voice/index.d.ts create mode 100644 node_modules/discord-api-types/voice/index.d.ts.map create mode 100644 node_modules/discord-api-types/voice/index.js create mode 100644 node_modules/discord-api-types/voice/index.js.map create mode 100644 node_modules/discord-api-types/voice/index.mjs create mode 100644 node_modules/discord-api-types/voice/v4.d.ts create mode 100644 node_modules/discord-api-types/voice/v4.d.ts.map create mode 100644 node_modules/discord-api-types/voice/v4.js create mode 100644 node_modules/discord-api-types/voice/v4.js.map create mode 100644 node_modules/discord-api-types/voice/v4.mjs create mode 100644 node_modules/discord.js/LICENSE create mode 100644 node_modules/discord.js/README.md create mode 100644 node_modules/discord.js/node_modules/discord-api-types/LICENSE create mode 100644 node_modules/discord.js/node_modules/discord-api-types/README.md create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/common.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/common.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/common.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/common.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/index.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/index.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/index.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/index.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/index.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/v6.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/v6.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/v6.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/v6.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/v6.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/v8.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/v8.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/v8.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/v8.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/v8.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/v9.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/v9.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/v9.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/v9.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/gateway/v9.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/globals.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/globals.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/globals.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/globals.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/globals.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/package.json create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/index.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/index.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/index.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/index.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/index.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/auditLog.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/auditLog.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/auditLog.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/auditLog.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/channel.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/channel.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/channel.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/channel.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/emoji.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/emoji.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/emoji.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/emoji.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/gateway.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/gateway.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/gateway.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/gateway.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/guild.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/guild.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/guild.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/guild.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/index.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/index.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/index.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/index.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/index.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/invite.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/invite.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/invite.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/invite.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/oauth2.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/oauth2.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/oauth2.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/oauth2.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/permissions.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/permissions.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/permissions.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/permissions.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/teams.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/teams.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/teams.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/teams.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/user.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/user.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/user.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/user.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/voice.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/voice.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/voice.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/voice.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/webhook.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/webhook.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/webhook.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v6/webhook.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/base.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/base.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/base.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/base.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/boolean.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/boolean.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/boolean.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/boolean.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/channel.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/channel.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/channel.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/channel.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/integer.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/integer.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/integer.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/integer.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/mentionable.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/mentionable.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/mentionable.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/mentionable.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/number.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/number.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/number.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/number.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/role.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/role.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/role.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/role.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/shared.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/shared.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/shared.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/shared.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/string.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/string.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/string.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/string.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommand.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommand.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommand.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommand.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommandGroup.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/subcommandGroup.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/user.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/user.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/user.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/_chatInput/user.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/chatInput.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/chatInput.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/chatInput.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/chatInput.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/contextMenu.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/contextMenu.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/contextMenu.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/contextMenu.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/internals.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/internals.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/internals.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/internals.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/permissions.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/permissions.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/permissions.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/_applicationCommands/permissions.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/applicationCommands.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/applicationCommands.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/applicationCommands.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/applicationCommands.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/autocomplete.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/autocomplete.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/autocomplete.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/autocomplete.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/base.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/base.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/base.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/base.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/messageComponents.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/messageComponents.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/messageComponents.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/messageComponents.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/ping.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/ping.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/ping.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/ping.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/responses.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/responses.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/responses.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/_interactions/responses.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/application.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/application.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/application.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/application.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/auditLog.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/auditLog.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/auditLog.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/auditLog.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/channel.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/channel.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/channel.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/channel.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/emoji.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/emoji.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/emoji.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/emoji.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/gateway.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/gateway.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/gateway.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/gateway.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/guild.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/guild.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/guild.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/guild.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/guildScheduledEvent.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/guildScheduledEvent.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/guildScheduledEvent.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/guildScheduledEvent.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/index.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/index.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/index.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/index.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/index.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/interactions.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/interactions.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/interactions.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/interactions.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/invite.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/invite.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/invite.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/invite.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/oauth2.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/oauth2.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/oauth2.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/oauth2.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/permissions.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/permissions.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/permissions.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/permissions.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/stageInstance.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/stageInstance.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/stageInstance.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/stageInstance.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/sticker.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/sticker.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/sticker.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/sticker.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/teams.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/teams.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/teams.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/teams.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/template.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/template.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/template.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/template.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/user.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/user.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/user.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/user.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/voice.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/voice.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/voice.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/voice.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/webhook.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/webhook.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/webhook.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v8/webhook.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/base.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/base.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/base.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/base.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/ping.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/ping.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/ping.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/ping.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/responses.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/responses.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/responses.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/_interactions/responses.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/application.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/application.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/application.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/application.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/auditLog.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/auditLog.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/auditLog.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/auditLog.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/channel.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/channel.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/channel.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/channel.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/emoji.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/emoji.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/emoji.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/emoji.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/gateway.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/gateway.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/gateway.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/gateway.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/guild.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/guild.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/guild.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/guild.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/guildScheduledEvent.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/guildScheduledEvent.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/guildScheduledEvent.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/guildScheduledEvent.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/index.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/index.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/index.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/index.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/index.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/interactions.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/interactions.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/interactions.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/interactions.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/invite.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/invite.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/invite.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/invite.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/oauth2.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/oauth2.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/oauth2.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/oauth2.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/permissions.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/permissions.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/permissions.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/permissions.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/stageInstance.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/stageInstance.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/stageInstance.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/stageInstance.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/sticker.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/sticker.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/sticker.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/sticker.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/teams.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/teams.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/teams.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/teams.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/template.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/template.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/template.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/template.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/user.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/user.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/user.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/user.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/voice.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/voice.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/voice.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/voice.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/webhook.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/webhook.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/webhook.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/payloads/v9/webhook.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/common.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/common.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/common.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/common.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/index.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/index.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/index.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/index.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/index.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/auditLog.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/auditLog.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/auditLog.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/auditLog.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/channel.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/channel.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/channel.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/channel.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/emoji.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/emoji.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/emoji.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/emoji.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/gateway.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/gateway.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/gateway.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/gateway.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/guild.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/guild.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/guild.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/guild.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/index.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/index.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/index.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/index.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/index.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/invite.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/invite.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/invite.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/invite.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/oauth2.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/oauth2.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/oauth2.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/oauth2.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/user.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/user.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/user.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/user.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/voice.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/voice.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/voice.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/voice.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/webhook.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/webhook.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/webhook.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v6/webhook.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/auditLog.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/auditLog.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/auditLog.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/auditLog.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/channel.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/channel.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/channel.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/channel.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/emoji.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/emoji.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/emoji.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/emoji.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/gateway.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/gateway.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/gateway.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/gateway.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/guild.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/guild.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/guild.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/guild.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/guildScheduledEvent.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/guildScheduledEvent.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/guildScheduledEvent.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/guildScheduledEvent.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/index.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/index.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/index.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/index.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/index.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/interactions.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/interactions.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/interactions.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/interactions.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/invite.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/invite.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/invite.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/invite.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/oauth2.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/oauth2.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/oauth2.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/oauth2.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/stageInstance.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/stageInstance.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/stageInstance.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/stageInstance.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/sticker.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/sticker.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/sticker.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/sticker.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/template.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/template.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/template.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/template.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/user.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/user.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/user.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/user.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/voice.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/voice.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/voice.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/voice.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/webhook.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/webhook.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/webhook.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v8/webhook.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/auditLog.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/auditLog.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/auditLog.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/auditLog.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/channel.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/channel.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/channel.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/channel.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/emoji.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/emoji.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/emoji.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/emoji.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/gateway.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/gateway.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/gateway.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/gateway.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/guild.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/guild.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/guild.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/guild.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/guildScheduledEvent.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/guildScheduledEvent.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/guildScheduledEvent.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/guildScheduledEvent.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/index.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/index.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/index.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/index.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/index.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/interactions.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/interactions.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/interactions.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/interactions.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/invite.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/invite.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/invite.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/invite.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/oauth2.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/oauth2.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/oauth2.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/oauth2.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/stageInstance.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/stageInstance.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/stageInstance.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/stageInstance.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/sticker.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/sticker.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/sticker.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/sticker.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/template.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/template.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/template.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/template.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/user.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/user.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/user.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/user.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/voice.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/voice.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/voice.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/voice.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/webhook.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/webhook.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/webhook.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rest/v9/webhook.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rpc/index.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rpc/index.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rpc/index.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rpc/index.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rpc/index.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rpc/v8.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rpc/v8.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rpc/v8.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rpc/v8.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rpc/v8.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rpc/v9.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rpc/v9.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rpc/v9.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rpc/v9.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/rpc/v9.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/index.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/index.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/index.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/index.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/index.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/internals.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/internals.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/internals.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/internals.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/v8.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/v8.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/v8.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/v8.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/v8.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/v9.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/v9.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/v9.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/v9.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/utils/v9.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/v6.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/v6.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/v6.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/v6.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/v6.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/v8.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/v8.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/v8.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/v8.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/v8.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/v9.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/v9.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/v9.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/v9.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/v9.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/voice/index.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/voice/index.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/voice/index.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/voice/index.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/voice/index.mjs create mode 100644 node_modules/discord.js/node_modules/discord-api-types/voice/v4.d.ts create mode 100644 node_modules/discord.js/node_modules/discord-api-types/voice/v4.d.ts.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/voice/v4.js create mode 100644 node_modules/discord.js/node_modules/discord-api-types/voice/v4.js.map create mode 100644 node_modules/discord.js/node_modules/discord-api-types/voice/v4.mjs create mode 100644 node_modules/discord.js/package.json create mode 100644 node_modules/discord.js/src/WebSocket.js create mode 100644 node_modules/discord.js/src/client/BaseClient.js create mode 100644 node_modules/discord.js/src/client/Client.js create mode 100644 node_modules/discord.js/src/client/WebhookClient.js create mode 100644 node_modules/discord.js/src/client/actions/Action.js create mode 100644 node_modules/discord.js/src/client/actions/ActionsManager.js create mode 100644 node_modules/discord.js/src/client/actions/ChannelCreate.js create mode 100644 node_modules/discord.js/src/client/actions/ChannelDelete.js create mode 100644 node_modules/discord.js/src/client/actions/ChannelUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/GuildBanAdd.js create mode 100644 node_modules/discord.js/src/client/actions/GuildBanRemove.js create mode 100644 node_modules/discord.js/src/client/actions/GuildChannelsPositionUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/GuildDelete.js create mode 100644 node_modules/discord.js/src/client/actions/GuildEmojiCreate.js create mode 100644 node_modules/discord.js/src/client/actions/GuildEmojiDelete.js create mode 100644 node_modules/discord.js/src/client/actions/GuildEmojiUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/GuildEmojisUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/GuildIntegrationsUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/GuildMemberRemove.js create mode 100644 node_modules/discord.js/src/client/actions/GuildMemberUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/GuildRoleCreate.js create mode 100644 node_modules/discord.js/src/client/actions/GuildRoleDelete.js create mode 100644 node_modules/discord.js/src/client/actions/GuildRoleUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/GuildRolesPositionUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/GuildScheduledEventCreate.js create mode 100644 node_modules/discord.js/src/client/actions/GuildScheduledEventDelete.js create mode 100644 node_modules/discord.js/src/client/actions/GuildScheduledEventUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/GuildScheduledEventUserAdd.js create mode 100644 node_modules/discord.js/src/client/actions/GuildScheduledEventUserRemove.js create mode 100644 node_modules/discord.js/src/client/actions/GuildStickerCreate.js create mode 100644 node_modules/discord.js/src/client/actions/GuildStickerDelete.js create mode 100644 node_modules/discord.js/src/client/actions/GuildStickerUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/GuildStickersUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/GuildUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/InteractionCreate.js create mode 100644 node_modules/discord.js/src/client/actions/InviteCreate.js create mode 100644 node_modules/discord.js/src/client/actions/InviteDelete.js create mode 100644 node_modules/discord.js/src/client/actions/MessageCreate.js create mode 100644 node_modules/discord.js/src/client/actions/MessageDelete.js create mode 100644 node_modules/discord.js/src/client/actions/MessageDeleteBulk.js create mode 100644 node_modules/discord.js/src/client/actions/MessageReactionAdd.js create mode 100644 node_modules/discord.js/src/client/actions/MessageReactionRemove.js create mode 100644 node_modules/discord.js/src/client/actions/MessageReactionRemoveAll.js create mode 100644 node_modules/discord.js/src/client/actions/MessageReactionRemoveEmoji.js create mode 100644 node_modules/discord.js/src/client/actions/MessageUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/PresenceUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/StageInstanceCreate.js create mode 100644 node_modules/discord.js/src/client/actions/StageInstanceDelete.js create mode 100644 node_modules/discord.js/src/client/actions/StageInstanceUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/ThreadCreate.js create mode 100644 node_modules/discord.js/src/client/actions/ThreadDelete.js create mode 100644 node_modules/discord.js/src/client/actions/ThreadListSync.js create mode 100644 node_modules/discord.js/src/client/actions/ThreadMemberUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/ThreadMembersUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/TypingStart.js create mode 100644 node_modules/discord.js/src/client/actions/UserUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/VoiceStateUpdate.js create mode 100644 node_modules/discord.js/src/client/actions/WebhooksUpdate.js create mode 100644 node_modules/discord.js/src/client/voice/ClientVoiceManager.js create mode 100644 node_modules/discord.js/src/client/websocket/WebSocketManager.js create mode 100644 node_modules/discord.js/src/client/websocket/WebSocketShard.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/APPLICATION_COMMAND_CREATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/APPLICATION_COMMAND_DELETE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/APPLICATION_COMMAND_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/CHANNEL_CREATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/CHANNEL_DELETE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/CHANNEL_PINS_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/CHANNEL_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_BAN_ADD.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_BAN_REMOVE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_CREATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_DELETE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_EMOJIS_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_INTEGRATIONS_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_MEMBERS_CHUNK.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_MEMBER_ADD.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_MEMBER_REMOVE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_MEMBER_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_ROLE_CREATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_ROLE_DELETE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_ROLE_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_CREATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_DELETE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_ADD.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_REMOVE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_STICKERS_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/GUILD_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/INTERACTION_CREATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/INVITE_CREATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/INVITE_DELETE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/MESSAGE_CREATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/MESSAGE_DELETE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/MESSAGE_DELETE_BULK.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/MESSAGE_REACTION_ADD.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_ALL.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_EMOJI.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/MESSAGE_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/PRESENCE_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/READY.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/RESUMED.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/STAGE_INSTANCE_CREATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/STAGE_INSTANCE_DELETE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/STAGE_INSTANCE_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/THREAD_CREATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/THREAD_DELETE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/THREAD_LIST_SYNC.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/THREAD_MEMBERS_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/THREAD_MEMBER_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/THREAD_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/TYPING_START.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/USER_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/VOICE_SERVER_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/VOICE_STATE_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/WEBHOOKS_UPDATE.js create mode 100644 node_modules/discord.js/src/client/websocket/handlers/index.js create mode 100644 node_modules/discord.js/src/errors/DJSError.js create mode 100644 node_modules/discord.js/src/errors/Messages.js create mode 100644 node_modules/discord.js/src/errors/index.js create mode 100644 node_modules/discord.js/src/index.js create mode 100644 node_modules/discord.js/src/managers/ApplicationCommandManager.js create mode 100644 node_modules/discord.js/src/managers/ApplicationCommandPermissionsManager.js create mode 100644 node_modules/discord.js/src/managers/BaseGuildEmojiManager.js create mode 100644 node_modules/discord.js/src/managers/BaseManager.js create mode 100644 node_modules/discord.js/src/managers/CachedManager.js create mode 100644 node_modules/discord.js/src/managers/ChannelManager.js create mode 100644 node_modules/discord.js/src/managers/DataManager.js create mode 100644 node_modules/discord.js/src/managers/GuildApplicationCommandManager.js create mode 100644 node_modules/discord.js/src/managers/GuildBanManager.js create mode 100644 node_modules/discord.js/src/managers/GuildChannelManager.js create mode 100644 node_modules/discord.js/src/managers/GuildEmojiManager.js create mode 100644 node_modules/discord.js/src/managers/GuildEmojiRoleManager.js create mode 100644 node_modules/discord.js/src/managers/GuildInviteManager.js create mode 100644 node_modules/discord.js/src/managers/GuildManager.js create mode 100644 node_modules/discord.js/src/managers/GuildMemberManager.js create mode 100644 node_modules/discord.js/src/managers/GuildMemberRoleManager.js create mode 100644 node_modules/discord.js/src/managers/GuildScheduledEventManager.js create mode 100644 node_modules/discord.js/src/managers/GuildStickerManager.js create mode 100644 node_modules/discord.js/src/managers/MessageManager.js create mode 100644 node_modules/discord.js/src/managers/PermissionOverwriteManager.js create mode 100644 node_modules/discord.js/src/managers/PresenceManager.js create mode 100644 node_modules/discord.js/src/managers/ReactionManager.js create mode 100644 node_modules/discord.js/src/managers/ReactionUserManager.js create mode 100644 node_modules/discord.js/src/managers/RoleManager.js create mode 100644 node_modules/discord.js/src/managers/StageInstanceManager.js create mode 100644 node_modules/discord.js/src/managers/ThreadManager.js create mode 100644 node_modules/discord.js/src/managers/ThreadMemberManager.js create mode 100644 node_modules/discord.js/src/managers/UserManager.js create mode 100644 node_modules/discord.js/src/managers/VoiceStateManager.js create mode 100644 node_modules/discord.js/src/rest/APIRequest.js create mode 100644 node_modules/discord.js/src/rest/APIRouter.js create mode 100644 node_modules/discord.js/src/rest/DiscordAPIError.js create mode 100644 node_modules/discord.js/src/rest/HTTPError.js create mode 100644 node_modules/discord.js/src/rest/RESTManager.js create mode 100644 node_modules/discord.js/src/rest/RateLimitError.js create mode 100644 node_modules/discord.js/src/rest/RequestHandler.js create mode 100644 node_modules/discord.js/src/sharding/Shard.js create mode 100644 node_modules/discord.js/src/sharding/ShardClientUtil.js create mode 100644 node_modules/discord.js/src/sharding/ShardingManager.js create mode 100644 node_modules/discord.js/src/structures/AnonymousGuild.js create mode 100644 node_modules/discord.js/src/structures/ApplicationCommand.js create mode 100644 node_modules/discord.js/src/structures/AutocompleteInteraction.js create mode 100644 node_modules/discord.js/src/structures/Base.js create mode 100644 node_modules/discord.js/src/structures/BaseCommandInteraction.js create mode 100644 node_modules/discord.js/src/structures/BaseGuild.js create mode 100644 node_modules/discord.js/src/structures/BaseGuildEmoji.js create mode 100644 node_modules/discord.js/src/structures/BaseGuildTextChannel.js create mode 100644 node_modules/discord.js/src/structures/BaseGuildVoiceChannel.js create mode 100644 node_modules/discord.js/src/structures/BaseMessageComponent.js create mode 100644 node_modules/discord.js/src/structures/ButtonInteraction.js create mode 100644 node_modules/discord.js/src/structures/CategoryChannel.js create mode 100644 node_modules/discord.js/src/structures/Channel.js create mode 100644 node_modules/discord.js/src/structures/ClientApplication.js create mode 100644 node_modules/discord.js/src/structures/ClientPresence.js create mode 100644 node_modules/discord.js/src/structures/ClientUser.js create mode 100644 node_modules/discord.js/src/structures/CommandInteraction.js create mode 100644 node_modules/discord.js/src/structures/CommandInteractionOptionResolver.js create mode 100644 node_modules/discord.js/src/structures/ContextMenuInteraction.js create mode 100644 node_modules/discord.js/src/structures/DMChannel.js create mode 100644 node_modules/discord.js/src/structures/Emoji.js create mode 100644 node_modules/discord.js/src/structures/Guild.js create mode 100644 node_modules/discord.js/src/structures/GuildAuditLogs.js create mode 100644 node_modules/discord.js/src/structures/GuildBan.js create mode 100644 node_modules/discord.js/src/structures/GuildChannel.js create mode 100644 node_modules/discord.js/src/structures/GuildEmoji.js create mode 100644 node_modules/discord.js/src/structures/GuildMember.js create mode 100644 node_modules/discord.js/src/structures/GuildPreview.js create mode 100644 node_modules/discord.js/src/structures/GuildPreviewEmoji.js create mode 100644 node_modules/discord.js/src/structures/GuildScheduledEvent.js create mode 100644 node_modules/discord.js/src/structures/GuildTemplate.js create mode 100644 node_modules/discord.js/src/structures/Integration.js create mode 100644 node_modules/discord.js/src/structures/IntegrationApplication.js create mode 100644 node_modules/discord.js/src/structures/Interaction.js create mode 100644 node_modules/discord.js/src/structures/InteractionCollector.js create mode 100644 node_modules/discord.js/src/structures/InteractionWebhook.js create mode 100644 node_modules/discord.js/src/structures/Invite.js create mode 100644 node_modules/discord.js/src/structures/InviteGuild.js create mode 100644 node_modules/discord.js/src/structures/InviteStageInstance.js create mode 100644 node_modules/discord.js/src/structures/Message.js create mode 100644 node_modules/discord.js/src/structures/MessageActionRow.js create mode 100644 node_modules/discord.js/src/structures/MessageAttachment.js create mode 100644 node_modules/discord.js/src/structures/MessageButton.js create mode 100644 node_modules/discord.js/src/structures/MessageCollector.js create mode 100644 node_modules/discord.js/src/structures/MessageComponentInteraction.js create mode 100644 node_modules/discord.js/src/structures/MessageContextMenuInteraction.js create mode 100644 node_modules/discord.js/src/structures/MessageEmbed.js create mode 100644 node_modules/discord.js/src/structures/MessageMentions.js create mode 100644 node_modules/discord.js/src/structures/MessagePayload.js create mode 100644 node_modules/discord.js/src/structures/MessageReaction.js create mode 100644 node_modules/discord.js/src/structures/MessageSelectMenu.js create mode 100644 node_modules/discord.js/src/structures/NewsChannel.js create mode 100644 node_modules/discord.js/src/structures/OAuth2Guild.js create mode 100644 node_modules/discord.js/src/structures/PartialGroupDMChannel.js create mode 100644 node_modules/discord.js/src/structures/PermissionOverwrites.js create mode 100644 node_modules/discord.js/src/structures/Presence.js create mode 100644 node_modules/discord.js/src/structures/ReactionCollector.js create mode 100644 node_modules/discord.js/src/structures/ReactionEmoji.js create mode 100644 node_modules/discord.js/src/structures/Role.js create mode 100644 node_modules/discord.js/src/structures/SelectMenuInteraction.js create mode 100644 node_modules/discord.js/src/structures/StageChannel.js create mode 100644 node_modules/discord.js/src/structures/StageInstance.js create mode 100644 node_modules/discord.js/src/structures/Sticker.js create mode 100644 node_modules/discord.js/src/structures/StickerPack.js create mode 100644 node_modules/discord.js/src/structures/StoreChannel.js create mode 100644 node_modules/discord.js/src/structures/Team.js create mode 100644 node_modules/discord.js/src/structures/TeamMember.js create mode 100644 node_modules/discord.js/src/structures/TextChannel.js create mode 100644 node_modules/discord.js/src/structures/ThreadChannel.js create mode 100644 node_modules/discord.js/src/structures/ThreadMember.js create mode 100644 node_modules/discord.js/src/structures/Typing.js create mode 100644 node_modules/discord.js/src/structures/User.js create mode 100644 node_modules/discord.js/src/structures/UserContextMenuInteraction.js create mode 100644 node_modules/discord.js/src/structures/VoiceChannel.js create mode 100644 node_modules/discord.js/src/structures/VoiceRegion.js create mode 100644 node_modules/discord.js/src/structures/VoiceState.js create mode 100644 node_modules/discord.js/src/structures/Webhook.js create mode 100644 node_modules/discord.js/src/structures/WelcomeChannel.js create mode 100644 node_modules/discord.js/src/structures/WelcomeScreen.js create mode 100644 node_modules/discord.js/src/structures/Widget.js create mode 100644 node_modules/discord.js/src/structures/WidgetMember.js create mode 100644 node_modules/discord.js/src/structures/interfaces/Application.js create mode 100644 node_modules/discord.js/src/structures/interfaces/Collector.js create mode 100644 node_modules/discord.js/src/structures/interfaces/InteractionResponses.js create mode 100644 node_modules/discord.js/src/structures/interfaces/TextBasedChannel.js create mode 100644 node_modules/discord.js/src/util/ActivityFlags.js create mode 100644 node_modules/discord.js/src/util/ApplicationFlags.js create mode 100644 node_modules/discord.js/src/util/BitField.js create mode 100644 node_modules/discord.js/src/util/Constants.js create mode 100644 node_modules/discord.js/src/util/DataResolver.js create mode 100644 node_modules/discord.js/src/util/Formatters.js create mode 100644 node_modules/discord.js/src/util/Intents.js create mode 100644 node_modules/discord.js/src/util/LimitedCollection.js create mode 100644 node_modules/discord.js/src/util/MessageFlags.js create mode 100644 node_modules/discord.js/src/util/Options.js create mode 100644 node_modules/discord.js/src/util/Permissions.js create mode 100644 node_modules/discord.js/src/util/SnowflakeUtil.js create mode 100644 node_modules/discord.js/src/util/Sweepers.js create mode 100644 node_modules/discord.js/src/util/SystemChannelFlags.js create mode 100644 node_modules/discord.js/src/util/ThreadMemberFlags.js create mode 100644 node_modules/discord.js/src/util/UserFlags.js create mode 100644 node_modules/discord.js/src/util/Util.js create mode 100644 node_modules/discord.js/typings/enums.d.ts create mode 100644 node_modules/discord.js/typings/index.d.ts create mode 100644 node_modules/discord.js/typings/index.test-d.ts create mode 100644 node_modules/discord.js/typings/rawDataTypes.d.ts create mode 100644 node_modules/form-data/License create mode 100644 node_modules/form-data/README.md.bak create mode 100644 node_modules/form-data/Readme.md create mode 100644 node_modules/form-data/index.d.ts create mode 100644 node_modules/form-data/lib/browser.js create mode 100644 node_modules/form-data/lib/form_data.js create mode 100644 node_modules/form-data/lib/populate.js create mode 100644 node_modules/form-data/package.json create mode 100644 node_modules/mime-db/HISTORY.md create mode 100644 node_modules/mime-db/LICENSE create mode 100644 node_modules/mime-db/README.md create mode 100644 node_modules/mime-db/db.json create mode 100644 node_modules/mime-db/index.js create mode 100644 node_modules/mime-db/package.json create mode 100644 node_modules/mime-types/HISTORY.md create mode 100644 node_modules/mime-types/LICENSE create mode 100644 node_modules/mime-types/README.md create mode 100644 node_modules/mime-types/index.js create mode 100644 node_modules/mime-types/package.json create mode 100644 node_modules/node-fetch/LICENSE.md create mode 100644 node_modules/node-fetch/README.md create mode 100644 node_modules/node-fetch/browser.js create mode 100644 node_modules/node-fetch/lib/index.es.js create mode 100644 node_modules/node-fetch/lib/index.js create mode 100644 node_modules/node-fetch/lib/index.mjs create mode 100644 node_modules/node-fetch/package.json create mode 100644 node_modules/npm/LICENSE create mode 100644 node_modules/npm/README.md create mode 100755 node_modules/npm/bin/node-gyp-bin/node-gyp create mode 100755 node_modules/npm/bin/node-gyp-bin/node-gyp.cmd create mode 100755 node_modules/npm/bin/npm create mode 100755 node_modules/npm/bin/npm-cli.js create mode 100755 node_modules/npm/bin/npm.cmd create mode 100755 node_modules/npm/bin/npx create mode 100755 node_modules/npm/bin/npx-cli.js create mode 100755 node_modules/npm/bin/npx.cmd create mode 100644 node_modules/npm/docs/content/commands/npm-access.md create mode 100644 node_modules/npm/docs/content/commands/npm-adduser.md create mode 100644 node_modules/npm/docs/content/commands/npm-audit.md create mode 100644 node_modules/npm/docs/content/commands/npm-bin.md create mode 100644 node_modules/npm/docs/content/commands/npm-bugs.md create mode 100644 node_modules/npm/docs/content/commands/npm-cache.md create mode 100644 node_modules/npm/docs/content/commands/npm-ci.md create mode 100644 node_modules/npm/docs/content/commands/npm-completion.md create mode 100644 node_modules/npm/docs/content/commands/npm-config.md create mode 100644 node_modules/npm/docs/content/commands/npm-dedupe.md create mode 100644 node_modules/npm/docs/content/commands/npm-deprecate.md create mode 100644 node_modules/npm/docs/content/commands/npm-diff.md create mode 100644 node_modules/npm/docs/content/commands/npm-dist-tag.md create mode 100644 node_modules/npm/docs/content/commands/npm-docs.md create mode 100644 node_modules/npm/docs/content/commands/npm-doctor.md create mode 100644 node_modules/npm/docs/content/commands/npm-edit.md create mode 100644 node_modules/npm/docs/content/commands/npm-exec.md create mode 100644 node_modules/npm/docs/content/commands/npm-explain.md create mode 100644 node_modules/npm/docs/content/commands/npm-explore.md create mode 100644 node_modules/npm/docs/content/commands/npm-find-dupes.md create mode 100644 node_modules/npm/docs/content/commands/npm-fund.md create mode 100644 node_modules/npm/docs/content/commands/npm-help-search.md create mode 100644 node_modules/npm/docs/content/commands/npm-help.md create mode 100644 node_modules/npm/docs/content/commands/npm-hook.md create mode 100644 node_modules/npm/docs/content/commands/npm-init.md create mode 100644 node_modules/npm/docs/content/commands/npm-install-ci-test.md create mode 100644 node_modules/npm/docs/content/commands/npm-install-test.md create mode 100644 node_modules/npm/docs/content/commands/npm-install.md create mode 100644 node_modules/npm/docs/content/commands/npm-link.md create mode 100644 node_modules/npm/docs/content/commands/npm-logout.md create mode 100644 node_modules/npm/docs/content/commands/npm-ls.md create mode 100644 node_modules/npm/docs/content/commands/npm-org.md create mode 100644 node_modules/npm/docs/content/commands/npm-outdated.md create mode 100644 node_modules/npm/docs/content/commands/npm-owner.md create mode 100644 node_modules/npm/docs/content/commands/npm-pack.md create mode 100644 node_modules/npm/docs/content/commands/npm-ping.md create mode 100644 node_modules/npm/docs/content/commands/npm-pkg.md create mode 100644 node_modules/npm/docs/content/commands/npm-prefix.md create mode 100644 node_modules/npm/docs/content/commands/npm-profile.md create mode 100644 node_modules/npm/docs/content/commands/npm-prune.md create mode 100644 node_modules/npm/docs/content/commands/npm-publish.md create mode 100644 node_modules/npm/docs/content/commands/npm-rebuild.md create mode 100644 node_modules/npm/docs/content/commands/npm-repo.md create mode 100644 node_modules/npm/docs/content/commands/npm-restart.md create mode 100644 node_modules/npm/docs/content/commands/npm-root.md create mode 100644 node_modules/npm/docs/content/commands/npm-run-script.md create mode 100644 node_modules/npm/docs/content/commands/npm-search.md create mode 100644 node_modules/npm/docs/content/commands/npm-set-script.md create mode 100644 node_modules/npm/docs/content/commands/npm-shrinkwrap.md create mode 100644 node_modules/npm/docs/content/commands/npm-star.md create mode 100644 node_modules/npm/docs/content/commands/npm-stars.md create mode 100644 node_modules/npm/docs/content/commands/npm-start.md create mode 100644 node_modules/npm/docs/content/commands/npm-stop.md create mode 100644 node_modules/npm/docs/content/commands/npm-team.md create mode 100644 node_modules/npm/docs/content/commands/npm-test.md create mode 100644 node_modules/npm/docs/content/commands/npm-token.md create mode 100644 node_modules/npm/docs/content/commands/npm-uninstall.md create mode 100644 node_modules/npm/docs/content/commands/npm-unpublish.md create mode 100644 node_modules/npm/docs/content/commands/npm-unstar.md create mode 100644 node_modules/npm/docs/content/commands/npm-update.md create mode 100644 node_modules/npm/docs/content/commands/npm-version.md create mode 100644 node_modules/npm/docs/content/commands/npm-view.md create mode 100644 node_modules/npm/docs/content/commands/npm-whoami.md create mode 100644 node_modules/npm/docs/content/commands/npm.md create mode 100644 node_modules/npm/docs/content/commands/npx.md create mode 100644 node_modules/npm/docs/content/configuring-npm/folders.md create mode 100644 node_modules/npm/docs/content/configuring-npm/install.md create mode 100644 node_modules/npm/docs/content/configuring-npm/npm-shrinkwrap-json.md create mode 100644 node_modules/npm/docs/content/configuring-npm/npmrc.md create mode 100644 node_modules/npm/docs/content/configuring-npm/package-json.md create mode 100644 node_modules/npm/docs/content/configuring-npm/package-lock-json.md create mode 100644 node_modules/npm/docs/content/using-npm/config.md create mode 100644 node_modules/npm/docs/content/using-npm/developers.md create mode 100644 node_modules/npm/docs/content/using-npm/logging.md create mode 100644 node_modules/npm/docs/content/using-npm/orgs.md create mode 100644 node_modules/npm/docs/content/using-npm/registry.md create mode 100644 node_modules/npm/docs/content/using-npm/removal.md create mode 100644 node_modules/npm/docs/content/using-npm/scope.md create mode 100644 node_modules/npm/docs/content/using-npm/scripts.md create mode 100644 node_modules/npm/docs/content/using-npm/workspaces.md create mode 100644 node_modules/npm/docs/output/commands/npm-access.html create mode 100644 node_modules/npm/docs/output/commands/npm-adduser.html create mode 100644 node_modules/npm/docs/output/commands/npm-audit.html create mode 100644 node_modules/npm/docs/output/commands/npm-bin.html create mode 100644 node_modules/npm/docs/output/commands/npm-bugs.html create mode 100644 node_modules/npm/docs/output/commands/npm-cache.html create mode 100644 node_modules/npm/docs/output/commands/npm-ci.html create mode 100644 node_modules/npm/docs/output/commands/npm-completion.html create mode 100644 node_modules/npm/docs/output/commands/npm-config.html create mode 100644 node_modules/npm/docs/output/commands/npm-dedupe.html create mode 100644 node_modules/npm/docs/output/commands/npm-deprecate.html create mode 100644 node_modules/npm/docs/output/commands/npm-diff.html create mode 100644 node_modules/npm/docs/output/commands/npm-dist-tag.html create mode 100644 node_modules/npm/docs/output/commands/npm-docs.html create mode 100644 node_modules/npm/docs/output/commands/npm-doctor.html create mode 100644 node_modules/npm/docs/output/commands/npm-edit.html create mode 100644 node_modules/npm/docs/output/commands/npm-exec.html create mode 100644 node_modules/npm/docs/output/commands/npm-explain.html create mode 100644 node_modules/npm/docs/output/commands/npm-explore.html create mode 100644 node_modules/npm/docs/output/commands/npm-find-dupes.html create mode 100644 node_modules/npm/docs/output/commands/npm-fund.html create mode 100644 node_modules/npm/docs/output/commands/npm-help-search.html create mode 100644 node_modules/npm/docs/output/commands/npm-help.html create mode 100644 node_modules/npm/docs/output/commands/npm-hook.html create mode 100644 node_modules/npm/docs/output/commands/npm-init.html create mode 100644 node_modules/npm/docs/output/commands/npm-install-ci-test.html create mode 100644 node_modules/npm/docs/output/commands/npm-install-test.html create mode 100644 node_modules/npm/docs/output/commands/npm-install.html create mode 100644 node_modules/npm/docs/output/commands/npm-link.html create mode 100644 node_modules/npm/docs/output/commands/npm-logout.html create mode 100644 node_modules/npm/docs/output/commands/npm-ls.html create mode 100644 node_modules/npm/docs/output/commands/npm-org.html create mode 100644 node_modules/npm/docs/output/commands/npm-outdated.html create mode 100644 node_modules/npm/docs/output/commands/npm-owner.html create mode 100644 node_modules/npm/docs/output/commands/npm-pack.html create mode 100644 node_modules/npm/docs/output/commands/npm-ping.html create mode 100644 node_modules/npm/docs/output/commands/npm-pkg.html create mode 100644 node_modules/npm/docs/output/commands/npm-prefix.html create mode 100644 node_modules/npm/docs/output/commands/npm-profile.html create mode 100644 node_modules/npm/docs/output/commands/npm-prune.html create mode 100644 node_modules/npm/docs/output/commands/npm-publish.html create mode 100644 node_modules/npm/docs/output/commands/npm-rebuild.html create mode 100644 node_modules/npm/docs/output/commands/npm-repo.html create mode 100644 node_modules/npm/docs/output/commands/npm-restart.html create mode 100644 node_modules/npm/docs/output/commands/npm-root.html create mode 100644 node_modules/npm/docs/output/commands/npm-run-script.html create mode 100644 node_modules/npm/docs/output/commands/npm-search.html create mode 100644 node_modules/npm/docs/output/commands/npm-set-script.html create mode 100644 node_modules/npm/docs/output/commands/npm-shrinkwrap.html create mode 100644 node_modules/npm/docs/output/commands/npm-star.html create mode 100644 node_modules/npm/docs/output/commands/npm-stars.html create mode 100644 node_modules/npm/docs/output/commands/npm-start.html create mode 100644 node_modules/npm/docs/output/commands/npm-stop.html create mode 100644 node_modules/npm/docs/output/commands/npm-team.html create mode 100644 node_modules/npm/docs/output/commands/npm-test.html create mode 100644 node_modules/npm/docs/output/commands/npm-token.html create mode 100644 node_modules/npm/docs/output/commands/npm-uninstall.html create mode 100644 node_modules/npm/docs/output/commands/npm-unpublish.html create mode 100644 node_modules/npm/docs/output/commands/npm-unstar.html create mode 100644 node_modules/npm/docs/output/commands/npm-update.html create mode 100644 node_modules/npm/docs/output/commands/npm-version.html create mode 100644 node_modules/npm/docs/output/commands/npm-view.html create mode 100644 node_modules/npm/docs/output/commands/npm-whoami.html create mode 100644 node_modules/npm/docs/output/commands/npm.html create mode 100644 node_modules/npm/docs/output/commands/npx.html create mode 100644 node_modules/npm/docs/output/configuring-npm/folders.html create mode 100644 node_modules/npm/docs/output/configuring-npm/install.html create mode 100644 node_modules/npm/docs/output/configuring-npm/npm-shrinkwrap-json.html create mode 100644 node_modules/npm/docs/output/configuring-npm/npmrc.html create mode 100644 node_modules/npm/docs/output/configuring-npm/package-json.html create mode 100644 node_modules/npm/docs/output/configuring-npm/package-lock-json.html create mode 100644 node_modules/npm/docs/output/using-npm/config.html create mode 100644 node_modules/npm/docs/output/using-npm/developers.html create mode 100644 node_modules/npm/docs/output/using-npm/logging.html create mode 100644 node_modules/npm/docs/output/using-npm/orgs.html create mode 100644 node_modules/npm/docs/output/using-npm/registry.html create mode 100644 node_modules/npm/docs/output/using-npm/removal.html create mode 100644 node_modules/npm/docs/output/using-npm/scope.html create mode 100644 node_modules/npm/docs/output/using-npm/scripts.html create mode 100644 node_modules/npm/docs/output/using-npm/workspaces.html create mode 100644 node_modules/npm/index.js create mode 100644 node_modules/npm/lib/arborist-cmd.js create mode 100644 node_modules/npm/lib/auth/legacy.js create mode 100644 node_modules/npm/lib/auth/oauth.js create mode 100644 node_modules/npm/lib/auth/saml.js create mode 100644 node_modules/npm/lib/auth/sso.js create mode 100644 node_modules/npm/lib/base-command.js create mode 100644 node_modules/npm/lib/cli.js create mode 100644 node_modules/npm/lib/commands/access.js create mode 100644 node_modules/npm/lib/commands/adduser.js create mode 100644 node_modules/npm/lib/commands/audit.js create mode 100644 node_modules/npm/lib/commands/bin.js create mode 100644 node_modules/npm/lib/commands/birthday.js create mode 100644 node_modules/npm/lib/commands/bugs.js create mode 100644 node_modules/npm/lib/commands/cache.js create mode 100644 node_modules/npm/lib/commands/ci.js create mode 100644 node_modules/npm/lib/commands/completion.js create mode 100644 node_modules/npm/lib/commands/config.js create mode 100644 node_modules/npm/lib/commands/dedupe.js create mode 100644 node_modules/npm/lib/commands/deprecate.js create mode 100644 node_modules/npm/lib/commands/diff.js create mode 100644 node_modules/npm/lib/commands/dist-tag.js create mode 100644 node_modules/npm/lib/commands/docs.js create mode 100644 node_modules/npm/lib/commands/doctor.js create mode 100644 node_modules/npm/lib/commands/edit.js create mode 100644 node_modules/npm/lib/commands/exec.js create mode 100644 node_modules/npm/lib/commands/explain.js create mode 100644 node_modules/npm/lib/commands/explore.js create mode 100644 node_modules/npm/lib/commands/find-dupes.js create mode 100644 node_modules/npm/lib/commands/fund.js create mode 100644 node_modules/npm/lib/commands/get.js create mode 100644 node_modules/npm/lib/commands/help-search.js create mode 100644 node_modules/npm/lib/commands/help.js create mode 100644 node_modules/npm/lib/commands/hook.js create mode 100644 node_modules/npm/lib/commands/init.js create mode 100644 node_modules/npm/lib/commands/install-ci-test.js create mode 100644 node_modules/npm/lib/commands/install-test.js create mode 100644 node_modules/npm/lib/commands/install.js create mode 100644 node_modules/npm/lib/commands/link.js create mode 100644 node_modules/npm/lib/commands/ll.js create mode 100644 node_modules/npm/lib/commands/logout.js create mode 100644 node_modules/npm/lib/commands/ls.js create mode 100644 node_modules/npm/lib/commands/org.js create mode 100644 node_modules/npm/lib/commands/outdated.js create mode 100644 node_modules/npm/lib/commands/owner.js create mode 100644 node_modules/npm/lib/commands/pack.js create mode 100644 node_modules/npm/lib/commands/ping.js create mode 100644 node_modules/npm/lib/commands/pkg.js create mode 100644 node_modules/npm/lib/commands/prefix.js create mode 100644 node_modules/npm/lib/commands/profile.js create mode 100644 node_modules/npm/lib/commands/prune.js create mode 100644 node_modules/npm/lib/commands/publish.js create mode 100644 node_modules/npm/lib/commands/rebuild.js create mode 100644 node_modules/npm/lib/commands/repo.js create mode 100644 node_modules/npm/lib/commands/restart.js create mode 100644 node_modules/npm/lib/commands/root.js create mode 100644 node_modules/npm/lib/commands/run-script.js create mode 100644 node_modules/npm/lib/commands/search.js create mode 100644 node_modules/npm/lib/commands/set-script.js create mode 100644 node_modules/npm/lib/commands/set.js create mode 100644 node_modules/npm/lib/commands/shrinkwrap.js create mode 100644 node_modules/npm/lib/commands/star.js create mode 100644 node_modules/npm/lib/commands/stars.js create mode 100644 node_modules/npm/lib/commands/start.js create mode 100644 node_modules/npm/lib/commands/stop.js create mode 100644 node_modules/npm/lib/commands/team.js create mode 100644 node_modules/npm/lib/commands/test.js create mode 100644 node_modules/npm/lib/commands/token.js create mode 100644 node_modules/npm/lib/commands/uninstall.js create mode 100644 node_modules/npm/lib/commands/unpublish.js create mode 100644 node_modules/npm/lib/commands/unstar.js create mode 100644 node_modules/npm/lib/commands/update.js create mode 100644 node_modules/npm/lib/commands/version.js create mode 100644 node_modules/npm/lib/commands/view.js create mode 100644 node_modules/npm/lib/commands/whoami.js create mode 100644 node_modules/npm/lib/exec/get-workspace-location-msg.js create mode 100644 node_modules/npm/lib/lifecycle-cmd.js create mode 100644 node_modules/npm/lib/npm.js create mode 100644 node_modules/npm/lib/search/format-package-stream.js create mode 100644 node_modules/npm/lib/search/package-filter.js create mode 100644 node_modules/npm/lib/utils/ansi-trim.js create mode 100644 node_modules/npm/lib/utils/audit-error.js create mode 100644 node_modules/npm/lib/utils/cmd-list.js create mode 100755 node_modules/npm/lib/utils/completion.sh create mode 100644 node_modules/npm/lib/utils/completion/installed-deep.js create mode 100644 node_modules/npm/lib/utils/completion/installed-shallow.js create mode 100644 node_modules/npm/lib/utils/config/definition.js create mode 100644 node_modules/npm/lib/utils/config/definitions.js create mode 100644 node_modules/npm/lib/utils/config/describe-all.js create mode 100644 node_modules/npm/lib/utils/config/flatten.js create mode 100644 node_modules/npm/lib/utils/config/index.js create mode 100644 node_modules/npm/lib/utils/deref-command.js create mode 100644 node_modules/npm/lib/utils/did-you-mean.js create mode 100644 node_modules/npm/lib/utils/display.js create mode 100644 node_modules/npm/lib/utils/error-message.js create mode 100644 node_modules/npm/lib/utils/exit-handler.js create mode 100644 node_modules/npm/lib/utils/explain-dep.js create mode 100644 node_modules/npm/lib/utils/explain-eresolve.js create mode 100644 node_modules/npm/lib/utils/file-exists.js create mode 100644 node_modules/npm/lib/utils/format-bytes.js create mode 100644 node_modules/npm/lib/utils/get-identity.js create mode 100644 node_modules/npm/lib/utils/hosted-git-info-from-manifest.js create mode 100644 node_modules/npm/lib/utils/is-windows-bash.js create mode 100644 node_modules/npm/lib/utils/is-windows-shell.js create mode 100644 node_modules/npm/lib/utils/is-windows.js create mode 100644 node_modules/npm/lib/utils/log-file.js create mode 100644 node_modules/npm/lib/utils/log-shim.js create mode 100644 node_modules/npm/lib/utils/npm-usage.js create mode 100644 node_modules/npm/lib/utils/open-url.js create mode 100644 node_modules/npm/lib/utils/otplease.js create mode 100644 node_modules/npm/lib/utils/path.js create mode 100644 node_modules/npm/lib/utils/ping.js create mode 100644 node_modules/npm/lib/utils/pulse-till-done.js create mode 100644 node_modules/npm/lib/utils/queryable.js create mode 100644 node_modules/npm/lib/utils/read-package-name.js create mode 100644 node_modules/npm/lib/utils/read-user-info.js create mode 100644 node_modules/npm/lib/utils/reify-finish.js create mode 100644 node_modules/npm/lib/utils/reify-output.js create mode 100644 node_modules/npm/lib/utils/replace-info.js create mode 100644 node_modules/npm/lib/utils/split-package-names.js create mode 100644 node_modules/npm/lib/utils/tar.js create mode 100644 node_modules/npm/lib/utils/timers.js create mode 100644 node_modules/npm/lib/utils/unsupported.js create mode 100644 node_modules/npm/lib/utils/update-notifier.js create mode 100644 node_modules/npm/lib/utils/usage.js create mode 100644 node_modules/npm/lib/utils/validate-lockfile.js create mode 100644 node_modules/npm/lib/utils/with-chown-sync.js create mode 100644 node_modules/npm/lib/workspaces/get-workspaces.js create mode 100644 node_modules/npm/man/man1/npm-access.1 create mode 100644 node_modules/npm/man/man1/npm-adduser.1 create mode 100644 node_modules/npm/man/man1/npm-audit.1 create mode 100644 node_modules/npm/man/man1/npm-bin.1 create mode 100644 node_modules/npm/man/man1/npm-bugs.1 create mode 100644 node_modules/npm/man/man1/npm-cache.1 create mode 100644 node_modules/npm/man/man1/npm-ci.1 create mode 100644 node_modules/npm/man/man1/npm-completion.1 create mode 100644 node_modules/npm/man/man1/npm-config.1 create mode 100644 node_modules/npm/man/man1/npm-dedupe.1 create mode 100644 node_modules/npm/man/man1/npm-deprecate.1 create mode 100644 node_modules/npm/man/man1/npm-diff.1 create mode 100644 node_modules/npm/man/man1/npm-dist-tag.1 create mode 100644 node_modules/npm/man/man1/npm-docs.1 create mode 100644 node_modules/npm/man/man1/npm-doctor.1 create mode 100644 node_modules/npm/man/man1/npm-edit.1 create mode 100644 node_modules/npm/man/man1/npm-exec.1 create mode 100644 node_modules/npm/man/man1/npm-explain.1 create mode 100644 node_modules/npm/man/man1/npm-explore.1 create mode 100644 node_modules/npm/man/man1/npm-find-dupes.1 create mode 100644 node_modules/npm/man/man1/npm-fund.1 create mode 100644 node_modules/npm/man/man1/npm-help-search.1 create mode 100644 node_modules/npm/man/man1/npm-help.1 create mode 100644 node_modules/npm/man/man1/npm-hook.1 create mode 100644 node_modules/npm/man/man1/npm-init.1 create mode 100644 node_modules/npm/man/man1/npm-install-ci-test.1 create mode 100644 node_modules/npm/man/man1/npm-install-test.1 create mode 100644 node_modules/npm/man/man1/npm-install.1 create mode 100644 node_modules/npm/man/man1/npm-link.1 create mode 100644 node_modules/npm/man/man1/npm-logout.1 create mode 100644 node_modules/npm/man/man1/npm-ls.1 create mode 100644 node_modules/npm/man/man1/npm-org.1 create mode 100644 node_modules/npm/man/man1/npm-outdated.1 create mode 100644 node_modules/npm/man/man1/npm-owner.1 create mode 100644 node_modules/npm/man/man1/npm-pack.1 create mode 100644 node_modules/npm/man/man1/npm-ping.1 create mode 100644 node_modules/npm/man/man1/npm-pkg.1 create mode 100644 node_modules/npm/man/man1/npm-prefix.1 create mode 100644 node_modules/npm/man/man1/npm-profile.1 create mode 100644 node_modules/npm/man/man1/npm-prune.1 create mode 100644 node_modules/npm/man/man1/npm-publish.1 create mode 100644 node_modules/npm/man/man1/npm-rebuild.1 create mode 100644 node_modules/npm/man/man1/npm-repo.1 create mode 100644 node_modules/npm/man/man1/npm-restart.1 create mode 100644 node_modules/npm/man/man1/npm-root.1 create mode 100644 node_modules/npm/man/man1/npm-run-script.1 create mode 100644 node_modules/npm/man/man1/npm-search.1 create mode 100644 node_modules/npm/man/man1/npm-set-script.1 create mode 100644 node_modules/npm/man/man1/npm-shrinkwrap.1 create mode 100644 node_modules/npm/man/man1/npm-star.1 create mode 100644 node_modules/npm/man/man1/npm-stars.1 create mode 100644 node_modules/npm/man/man1/npm-start.1 create mode 100644 node_modules/npm/man/man1/npm-stop.1 create mode 100644 node_modules/npm/man/man1/npm-team.1 create mode 100644 node_modules/npm/man/man1/npm-test.1 create mode 100644 node_modules/npm/man/man1/npm-token.1 create mode 100644 node_modules/npm/man/man1/npm-uninstall.1 create mode 100644 node_modules/npm/man/man1/npm-unpublish.1 create mode 100644 node_modules/npm/man/man1/npm-unstar.1 create mode 100644 node_modules/npm/man/man1/npm-update.1 create mode 100644 node_modules/npm/man/man1/npm-version.1 create mode 100644 node_modules/npm/man/man1/npm-view.1 create mode 100644 node_modules/npm/man/man1/npm-whoami.1 create mode 100644 node_modules/npm/man/man1/npm.1 create mode 100644 node_modules/npm/man/man1/npx.1 create mode 100644 node_modules/npm/man/man5/folders.5 create mode 100644 node_modules/npm/man/man5/install.5 create mode 100644 node_modules/npm/man/man5/npm-shrinkwrap-json.5 create mode 100644 node_modules/npm/man/man5/npmrc.5 create mode 100644 node_modules/npm/man/man5/package-json.5 create mode 100644 node_modules/npm/man/man5/package-lock-json.5 create mode 100644 node_modules/npm/man/man7/config.7 create mode 100644 node_modules/npm/man/man7/developers.7 create mode 100644 node_modules/npm/man/man7/logging.7 create mode 100644 node_modules/npm/man/man7/orgs.7 create mode 100644 node_modules/npm/man/man7/registry.7 create mode 100644 node_modules/npm/man/man7/removal.7 create mode 100644 node_modules/npm/man/man7/scope.7 create mode 100644 node_modules/npm/man/man7/scripts.7 create mode 100644 node_modules/npm/man/man7/workspaces.7 create mode 120000 node_modules/npm/node_modules/.bin/arborist create mode 120000 node_modules/npm/node_modules/.bin/color-support create mode 120000 node_modules/npm/node_modules/.bin/installed-package-contents create mode 120000 node_modules/npm/node_modules/.bin/mkdirp create mode 120000 node_modules/npm/node_modules/.bin/node-gyp create mode 120000 node_modules/npm/node_modules/.bin/node-which create mode 120000 node_modules/npm/node_modules/.bin/nopt create mode 120000 node_modules/npm/node_modules/.bin/npm-packlist create mode 120000 node_modules/npm/node_modules/.bin/opener create mode 120000 node_modules/npm/node_modules/.bin/pacote create mode 120000 node_modules/npm/node_modules/.bin/qrcode-terminal create mode 120000 node_modules/npm/node_modules/.bin/rimraf create mode 120000 node_modules/npm/node_modules/.bin/semver create mode 100644 node_modules/npm/node_modules/@gar/promisify/index.js create mode 100644 node_modules/npm/node_modules/@gar/promisify/package.json create mode 100644 node_modules/npm/node_modules/@isaacs/string-locale-compare/LICENSE create mode 100644 node_modules/npm/node_modules/@isaacs/string-locale-compare/index.js create mode 100644 node_modules/npm/node_modules/@isaacs/string-locale-compare/package.json create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/LICENSE.md create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/README.md create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/bin/actual.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/bin/audit.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/bin/funding.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/bin/ideal.js create mode 100755 node_modules/npm/node_modules/@npmcli/arborist/bin/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/bin/lib/logging.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/bin/lib/options.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/bin/lib/print-tree.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/bin/lib/timers.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/bin/license.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/bin/prune.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/bin/reify.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/bin/shrinkwrap.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/bin/virtual.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/add-rm-pkg-deps.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/audit.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/deduper.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/load-virtual.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/load-workspaces.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/pruner.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/rebuild.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/audit-report.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/calc-dep-flags.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/can-place-dep.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/case-insensitive-map.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/consistent-resolve.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/debug.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/deepest-nesting-target.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/dep-valid.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/diff.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/edge.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/from-path.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/gather-dep-set.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/get-workspace-nodes.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/inventory.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/link.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/node.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/optional-set.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/override-set.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/peer-entry-sets.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/place-dep.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/printable.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/realpath.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/relpath.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/reset-dep-flags.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/retire-path.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/shrinkwrap.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/signal-handling.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/signals.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/spec-from-lock.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/tracker.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/tree-check.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/version-from-tgz.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/vuln.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/lib/yarn-lock.js create mode 100644 node_modules/npm/node_modules/@npmcli/arborist/package.json create mode 100644 node_modules/npm/node_modules/@npmcli/ci-detect/LICENSE create mode 100644 node_modules/npm/node_modules/@npmcli/ci-detect/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/ci-detect/package.json create mode 100644 node_modules/npm/node_modules/@npmcli/config/LICENSE create mode 100644 node_modules/npm/node_modules/@npmcli/config/lib/env-replace.js create mode 100644 node_modules/npm/node_modules/@npmcli/config/lib/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/config/lib/nerf-dart.js create mode 100644 node_modules/npm/node_modules/@npmcli/config/lib/parse-field.js create mode 100644 node_modules/npm/node_modules/@npmcli/config/lib/proc-log.js create mode 100644 node_modules/npm/node_modules/@npmcli/config/lib/set-envs.js create mode 100644 node_modules/npm/node_modules/@npmcli/config/lib/type-defs.js create mode 100644 node_modules/npm/node_modules/@npmcli/config/lib/type-description.js create mode 100644 node_modules/npm/node_modules/@npmcli/config/lib/umask.js create mode 100644 node_modules/npm/node_modules/@npmcli/config/package.json create mode 100644 node_modules/npm/node_modules/@npmcli/disparity-colors/LICENSE create mode 100644 node_modules/npm/node_modules/@npmcli/disparity-colors/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/disparity-colors/package.json create mode 100644 node_modules/npm/node_modules/@npmcli/fs/LICENSE.md create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/common/file-url-to-path/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/common/file-url-to-path/polyfill.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/common/get-options.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/common/node.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/common/owner.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/copy-file.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/cp/LICENSE create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/cp/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/cp/polyfill.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/errors.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/fs.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/mkdir/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/mkdir/polyfill.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/mkdtemp.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/rm/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/rm/polyfill.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/with-temp-dir.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/lib/write-file.js create mode 100644 node_modules/npm/node_modules/@npmcli/fs/package.json create mode 100644 node_modules/npm/node_modules/@npmcli/git/LICENSE create mode 100644 node_modules/npm/node_modules/@npmcli/git/lib/clone.js create mode 100644 node_modules/npm/node_modules/@npmcli/git/lib/errors.js create mode 100644 node_modules/npm/node_modules/@npmcli/git/lib/find.js create mode 100644 node_modules/npm/node_modules/@npmcli/git/lib/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/git/lib/is-clean.js create mode 100644 node_modules/npm/node_modules/@npmcli/git/lib/is.js create mode 100644 node_modules/npm/node_modules/@npmcli/git/lib/lines-to-revs.js create mode 100644 node_modules/npm/node_modules/@npmcli/git/lib/make-error.js create mode 100644 node_modules/npm/node_modules/@npmcli/git/lib/opts.js create mode 100644 node_modules/npm/node_modules/@npmcli/git/lib/proc-log.js create mode 100644 node_modules/npm/node_modules/@npmcli/git/lib/revs.js create mode 100644 node_modules/npm/node_modules/@npmcli/git/lib/spawn.js create mode 100644 node_modules/npm/node_modules/@npmcli/git/lib/utils.js create mode 100644 node_modules/npm/node_modules/@npmcli/git/lib/which.js create mode 100644 node_modules/npm/node_modules/@npmcli/git/package.json create mode 100644 node_modules/npm/node_modules/@npmcli/installed-package-contents/LICENSE create mode 100644 node_modules/npm/node_modules/@npmcli/installed-package-contents/README.md create mode 100755 node_modules/npm/node_modules/@npmcli/installed-package-contents/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/installed-package-contents/package.json create mode 100644 node_modules/npm/node_modules/@npmcli/map-workspaces/LICENSE.md create mode 100644 node_modules/npm/node_modules/@npmcli/map-workspaces/lib/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/map-workspaces/package.json create mode 100644 node_modules/npm/node_modules/@npmcli/metavuln-calculator/LICENSE create mode 100644 node_modules/npm/node_modules/@npmcli/metavuln-calculator/lib/advisory.js create mode 100644 node_modules/npm/node_modules/@npmcli/metavuln-calculator/lib/get-dep-spec.js create mode 100644 node_modules/npm/node_modules/@npmcli/metavuln-calculator/lib/hash.js create mode 100644 node_modules/npm/node_modules/@npmcli/metavuln-calculator/lib/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/metavuln-calculator/package.json create mode 100644 node_modules/npm/node_modules/@npmcli/move-file/LICENSE.md create mode 100644 node_modules/npm/node_modules/@npmcli/move-file/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/move-file/package.json create mode 100644 node_modules/npm/node_modules/@npmcli/name-from-folder/LICENSE create mode 100644 node_modules/npm/node_modules/@npmcli/name-from-folder/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/name-from-folder/package.json create mode 100644 node_modules/npm/node_modules/@npmcli/node-gyp/lib/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/node-gyp/package.json create mode 100644 node_modules/npm/node_modules/@npmcli/package-json/LICENSE create mode 100644 node_modules/npm/node_modules/@npmcli/package-json/lib/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/package-json/lib/update-dependencies.js create mode 100644 node_modules/npm/node_modules/@npmcli/package-json/lib/update-scripts.js create mode 100644 node_modules/npm/node_modules/@npmcli/package-json/lib/update-workspaces.js create mode 100644 node_modules/npm/node_modules/@npmcli/package-json/package.json create mode 100644 node_modules/npm/node_modules/@npmcli/promise-spawn/LICENSE create mode 100644 node_modules/npm/node_modules/@npmcli/promise-spawn/index.js create mode 100644 node_modules/npm/node_modules/@npmcli/promise-spawn/package.json create mode 100644 node_modules/npm/node_modules/@npmcli/run-script/LICENSE create mode 100644 node_modules/npm/node_modules/@npmcli/run-script/lib/is-server-package.js create mode 100644 node_modules/npm/node_modules/@npmcli/run-script/lib/is-windows.js create mode 100644 node_modules/npm/node_modules/@npmcli/run-script/lib/make-spawn-args.js create mode 100755 node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp create mode 100755 node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp.cmd create mode 100644 node_modules/npm/node_modules/@npmcli/run-script/lib/package-envs.js create mode 100644 node_modules/npm/node_modules/@npmcli/run-script/lib/run-script-pkg.js create mode 100644 node_modules/npm/node_modules/@npmcli/run-script/lib/run-script.js create mode 100644 node_modules/npm/node_modules/@npmcli/run-script/lib/set-path.js create mode 100644 node_modules/npm/node_modules/@npmcli/run-script/lib/signal-manager.js create mode 100644 node_modules/npm/node_modules/@npmcli/run-script/lib/validate-options.js create mode 100644 node_modules/npm/node_modules/@npmcli/run-script/package.json create mode 100644 node_modules/npm/node_modules/@tootallnate/once/LICENSE create mode 100644 node_modules/npm/node_modules/@tootallnate/once/dist/index.d.ts create mode 100644 node_modules/npm/node_modules/@tootallnate/once/dist/index.js create mode 100644 node_modules/npm/node_modules/@tootallnate/once/dist/index.js.map create mode 100644 node_modules/npm/node_modules/@tootallnate/once/dist/overloaded-parameters.d.ts create mode 100644 node_modules/npm/node_modules/@tootallnate/once/dist/overloaded-parameters.js create mode 100644 node_modules/npm/node_modules/@tootallnate/once/dist/overloaded-parameters.js.map create mode 100644 node_modules/npm/node_modules/@tootallnate/once/dist/types.d.ts create mode 100644 node_modules/npm/node_modules/@tootallnate/once/dist/types.js create mode 100644 node_modules/npm/node_modules/@tootallnate/once/dist/types.js.map create mode 100644 node_modules/npm/node_modules/@tootallnate/once/package.json create mode 100644 node_modules/npm/node_modules/abbrev/LICENSE create mode 100644 node_modules/npm/node_modules/abbrev/abbrev.js create mode 100644 node_modules/npm/node_modules/abbrev/package.json create mode 100644 node_modules/npm/node_modules/agent-base/dist/src/index.d.ts create mode 100644 node_modules/npm/node_modules/agent-base/dist/src/index.js create mode 100644 node_modules/npm/node_modules/agent-base/dist/src/index.js.map create mode 100644 node_modules/npm/node_modules/agent-base/dist/src/promisify.d.ts create mode 100644 node_modules/npm/node_modules/agent-base/dist/src/promisify.js create mode 100644 node_modules/npm/node_modules/agent-base/dist/src/promisify.js.map create mode 100644 node_modules/npm/node_modules/agent-base/package.json create mode 100644 node_modules/npm/node_modules/agent-base/src/index.ts create mode 100644 node_modules/npm/node_modules/agent-base/src/promisify.ts create mode 100644 node_modules/npm/node_modules/agentkeepalive/History.md create mode 100644 node_modules/npm/node_modules/agentkeepalive/LICENSE create mode 100644 node_modules/npm/node_modules/agentkeepalive/browser.js create mode 100644 node_modules/npm/node_modules/agentkeepalive/index.d.ts create mode 100644 node_modules/npm/node_modules/agentkeepalive/index.js create mode 100644 node_modules/npm/node_modules/agentkeepalive/lib/agent.js create mode 100644 node_modules/npm/node_modules/agentkeepalive/lib/constants.js create mode 100644 node_modules/npm/node_modules/agentkeepalive/lib/https_agent.js create mode 100644 node_modules/npm/node_modules/agentkeepalive/package.json create mode 100644 node_modules/npm/node_modules/aggregate-error/index.d.ts create mode 100644 node_modules/npm/node_modules/aggregate-error/index.js create mode 100644 node_modules/npm/node_modules/aggregate-error/license create mode 100644 node_modules/npm/node_modules/aggregate-error/package.json create mode 100644 node_modules/npm/node_modules/aggregate-error/readme.md create mode 100644 node_modules/npm/node_modules/ansi-regex/index.js create mode 100644 node_modules/npm/node_modules/ansi-regex/license create mode 100644 node_modules/npm/node_modules/ansi-regex/package.json create mode 100644 node_modules/npm/node_modules/ansi-regex/readme.md create mode 100644 node_modules/npm/node_modules/ansi-styles/index.d.ts create mode 100644 node_modules/npm/node_modules/ansi-styles/index.js create mode 100644 node_modules/npm/node_modules/ansi-styles/license create mode 100644 node_modules/npm/node_modules/ansi-styles/package.json create mode 100644 node_modules/npm/node_modules/ansi-styles/readme.md create mode 100644 node_modules/npm/node_modules/ansicolors/LICENSE create mode 100644 node_modules/npm/node_modules/ansicolors/ansicolors.js create mode 100644 node_modules/npm/node_modules/ansicolors/package.json create mode 100644 node_modules/npm/node_modules/ansicolors/test/ansicolors.js create mode 100644 node_modules/npm/node_modules/ansistyles/LICENSE create mode 100644 node_modules/npm/node_modules/ansistyles/ansistyles.js create mode 100644 node_modules/npm/node_modules/ansistyles/package.json create mode 100644 node_modules/npm/node_modules/ansistyles/test/ansistyles.js create mode 100644 node_modules/npm/node_modules/aproba/LICENSE create mode 100644 node_modules/npm/node_modules/aproba/index.js create mode 100644 node_modules/npm/node_modules/aproba/package.json create mode 100644 node_modules/npm/node_modules/archy/LICENSE create mode 100644 node_modules/npm/node_modules/archy/examples/beep.js create mode 100644 node_modules/npm/node_modules/archy/examples/multi_line.js create mode 100644 node_modules/npm/node_modules/archy/index.js create mode 100644 node_modules/npm/node_modules/archy/package.json create mode 100644 node_modules/npm/node_modules/archy/test/beep.js create mode 100644 node_modules/npm/node_modules/archy/test/multi_line.js create mode 100644 node_modules/npm/node_modules/archy/test/non_unicode.js create mode 100644 node_modules/npm/node_modules/are-we-there-yet/LICENSE.md create mode 100644 node_modules/npm/node_modules/are-we-there-yet/lib/index.js create mode 100644 node_modules/npm/node_modules/are-we-there-yet/lib/tracker-base.js create mode 100644 node_modules/npm/node_modules/are-we-there-yet/lib/tracker-group.js create mode 100644 node_modules/npm/node_modules/are-we-there-yet/lib/tracker-stream.js create mode 100644 node_modules/npm/node_modules/are-we-there-yet/lib/tracker.js create mode 100644 node_modules/npm/node_modules/are-we-there-yet/package.json create mode 100644 node_modules/npm/node_modules/asap/CHANGES.md create mode 100644 node_modules/npm/node_modules/asap/LICENSE.md create mode 100644 node_modules/npm/node_modules/asap/asap.js create mode 100644 node_modules/npm/node_modules/asap/browser-asap.js create mode 100644 node_modules/npm/node_modules/asap/browser-raw.js create mode 100644 node_modules/npm/node_modules/asap/package.json create mode 100644 node_modules/npm/node_modules/asap/raw.js create mode 100644 node_modules/npm/node_modules/balanced-match/LICENSE.md create mode 100644 node_modules/npm/node_modules/balanced-match/index.js create mode 100644 node_modules/npm/node_modules/balanced-match/package.json create mode 100644 node_modules/npm/node_modules/bin-links/LICENSE create mode 100644 node_modules/npm/node_modules/bin-links/lib/bin-target.js create mode 100644 node_modules/npm/node_modules/bin-links/lib/check-bin.js create mode 100644 node_modules/npm/node_modules/bin-links/lib/check-bins.js create mode 100644 node_modules/npm/node_modules/bin-links/lib/fix-bin.js create mode 100644 node_modules/npm/node_modules/bin-links/lib/get-node-modules.js create mode 100644 node_modules/npm/node_modules/bin-links/lib/get-paths.js create mode 100644 node_modules/npm/node_modules/bin-links/lib/get-prefix.js create mode 100644 node_modules/npm/node_modules/bin-links/lib/index.js create mode 100644 node_modules/npm/node_modules/bin-links/lib/is-windows.js create mode 100644 node_modules/npm/node_modules/bin-links/lib/link-bin.js create mode 100644 node_modules/npm/node_modules/bin-links/lib/link-bins.js create mode 100644 node_modules/npm/node_modules/bin-links/lib/link-gently.js create mode 100644 node_modules/npm/node_modules/bin-links/lib/link-mans.js create mode 100644 node_modules/npm/node_modules/bin-links/lib/man-target.js create mode 100644 node_modules/npm/node_modules/bin-links/lib/shim-bin.js create mode 100644 node_modules/npm/node_modules/bin-links/package.json create mode 100644 node_modules/npm/node_modules/binary-extensions/binary-extensions.json create mode 100644 node_modules/npm/node_modules/binary-extensions/binary-extensions.json.d.ts create mode 100644 node_modules/npm/node_modules/binary-extensions/index.d.ts create mode 100644 node_modules/npm/node_modules/binary-extensions/index.js create mode 100644 node_modules/npm/node_modules/binary-extensions/license create mode 100644 node_modules/npm/node_modules/binary-extensions/package.json create mode 100644 node_modules/npm/node_modules/binary-extensions/readme.md create mode 100644 node_modules/npm/node_modules/brace-expansion/LICENSE create mode 100644 node_modules/npm/node_modules/brace-expansion/index.js create mode 100644 node_modules/npm/node_modules/brace-expansion/package.json create mode 100644 node_modules/npm/node_modules/builtins/History.md create mode 100644 node_modules/npm/node_modules/builtins/License create mode 100644 node_modules/npm/node_modules/builtins/Readme.md create mode 100644 node_modules/npm/node_modules/builtins/builtins.json create mode 100644 node_modules/npm/node_modules/builtins/package.json create mode 100644 node_modules/npm/node_modules/builtins/test.js create mode 100644 node_modules/npm/node_modules/cacache/LICENSE.md create mode 100644 node_modules/npm/node_modules/cacache/get.js create mode 100644 node_modules/npm/node_modules/cacache/index.js create mode 100644 node_modules/npm/node_modules/cacache/lib/content/path.js create mode 100644 node_modules/npm/node_modules/cacache/lib/content/read.js create mode 100644 node_modules/npm/node_modules/cacache/lib/content/rm.js create mode 100644 node_modules/npm/node_modules/cacache/lib/content/write.js create mode 100644 node_modules/npm/node_modules/cacache/lib/entry-index.js create mode 100644 node_modules/npm/node_modules/cacache/lib/memoization.js create mode 100644 node_modules/npm/node_modules/cacache/lib/util/disposer.js create mode 100644 node_modules/npm/node_modules/cacache/lib/util/fix-owner.js create mode 100644 node_modules/npm/node_modules/cacache/lib/util/hash-to-segments.js create mode 100644 node_modules/npm/node_modules/cacache/lib/util/move-file.js create mode 100644 node_modules/npm/node_modules/cacache/lib/util/tmp.js create mode 100644 node_modules/npm/node_modules/cacache/lib/verify.js create mode 100644 node_modules/npm/node_modules/cacache/ls.js create mode 100644 node_modules/npm/node_modules/cacache/package.json create mode 100644 node_modules/npm/node_modules/cacache/put.js create mode 100644 node_modules/npm/node_modules/cacache/rm.js create mode 100644 node_modules/npm/node_modules/cacache/verify.js create mode 100644 node_modules/npm/node_modules/chalk/index.d.ts create mode 100644 node_modules/npm/node_modules/chalk/license create mode 100644 node_modules/npm/node_modules/chalk/package.json create mode 100644 node_modules/npm/node_modules/chalk/readme.md create mode 100644 node_modules/npm/node_modules/chalk/source/index.js create mode 100644 node_modules/npm/node_modules/chalk/source/templates.js create mode 100644 node_modules/npm/node_modules/chalk/source/util.js create mode 100644 node_modules/npm/node_modules/chownr/LICENSE create mode 100644 node_modules/npm/node_modules/chownr/chownr.js create mode 100644 node_modules/npm/node_modules/chownr/package.json create mode 100644 node_modules/npm/node_modules/cidr-regex/LICENSE create mode 100644 node_modules/npm/node_modules/cidr-regex/index.d.ts create mode 100644 node_modules/npm/node_modules/cidr-regex/index.js create mode 100644 node_modules/npm/node_modules/cidr-regex/package.json create mode 100644 node_modules/npm/node_modules/clean-stack/index.d.ts create mode 100644 node_modules/npm/node_modules/clean-stack/index.js create mode 100644 node_modules/npm/node_modules/clean-stack/license create mode 100644 node_modules/npm/node_modules/clean-stack/package.json create mode 100644 node_modules/npm/node_modules/clean-stack/readme.md create mode 100644 node_modules/npm/node_modules/cli-columns/LICENSE create mode 100644 node_modules/npm/node_modules/cli-columns/color.js create mode 100644 node_modules/npm/node_modules/cli-columns/index.js create mode 100644 node_modules/npm/node_modules/cli-columns/node_modules/ansi-regex/index.d.ts create mode 100644 node_modules/npm/node_modules/cli-columns/node_modules/ansi-regex/index.js create mode 100644 node_modules/npm/node_modules/cli-columns/node_modules/ansi-regex/license create mode 100644 node_modules/npm/node_modules/cli-columns/node_modules/ansi-regex/package.json create mode 100644 node_modules/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/index.d.ts create mode 100644 node_modules/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/index.js create mode 100644 node_modules/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/license create mode 100644 node_modules/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/package.json create mode 100644 node_modules/npm/node_modules/cli-columns/node_modules/string-width/index.d.ts create mode 100644 node_modules/npm/node_modules/cli-columns/node_modules/string-width/index.js create mode 100644 node_modules/npm/node_modules/cli-columns/node_modules/string-width/license create mode 100644 node_modules/npm/node_modules/cli-columns/node_modules/string-width/package.json create mode 100644 node_modules/npm/node_modules/cli-columns/node_modules/strip-ansi/index.d.ts create mode 100644 node_modules/npm/node_modules/cli-columns/node_modules/strip-ansi/index.js create mode 100644 node_modules/npm/node_modules/cli-columns/node_modules/strip-ansi/license create mode 100644 node_modules/npm/node_modules/cli-columns/node_modules/strip-ansi/package.json create mode 100644 node_modules/npm/node_modules/cli-columns/package.json create mode 100644 node_modules/npm/node_modules/cli-columns/test.js create mode 100644 node_modules/npm/node_modules/cli-table3/LICENSE create mode 100644 node_modules/npm/node_modules/cli-table3/index.d.ts create mode 100644 node_modules/npm/node_modules/cli-table3/index.js create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/ansi-regex/index.d.ts create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/ansi-regex/index.js create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/ansi-regex/license create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/ansi-regex/package.json create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/ansi-regex/readme.md create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/index.d.ts create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/index.js create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/license create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/package.json create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/readme.md create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/string-width/index.d.ts create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/string-width/index.js create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/string-width/license create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/string-width/package.json create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/string-width/readme.md create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/strip-ansi/index.d.ts create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/strip-ansi/index.js create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/strip-ansi/license create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/strip-ansi/package.json create mode 100644 node_modules/npm/node_modules/cli-table3/node_modules/strip-ansi/readme.md create mode 100644 node_modules/npm/node_modules/cli-table3/package.json create mode 100644 node_modules/npm/node_modules/cli-table3/src/cell.js create mode 100644 node_modules/npm/node_modules/cli-table3/src/layout-manager.js create mode 100644 node_modules/npm/node_modules/cli-table3/src/table.js create mode 100644 node_modules/npm/node_modules/cli-table3/src/utils.js create mode 100644 node_modules/npm/node_modules/clone/LICENSE create mode 100644 node_modules/npm/node_modules/clone/clone.iml create mode 100644 node_modules/npm/node_modules/clone/clone.js create mode 100644 node_modules/npm/node_modules/clone/package.json create mode 100644 node_modules/npm/node_modules/cmd-shim/LICENSE create mode 100644 node_modules/npm/node_modules/cmd-shim/index.js create mode 100644 node_modules/npm/node_modules/cmd-shim/lib/to-batch-syntax.js create mode 100644 node_modules/npm/node_modules/cmd-shim/package.json create mode 100644 node_modules/npm/node_modules/color-convert/LICENSE create mode 100644 node_modules/npm/node_modules/color-convert/conversions.js create mode 100644 node_modules/npm/node_modules/color-convert/index.js create mode 100644 node_modules/npm/node_modules/color-convert/package.json create mode 100644 node_modules/npm/node_modules/color-convert/route.js create mode 100644 node_modules/npm/node_modules/color-name/LICENSE create mode 100644 node_modules/npm/node_modules/color-name/index.js create mode 100644 node_modules/npm/node_modules/color-name/package.json create mode 100644 node_modules/npm/node_modules/color-support/LICENSE create mode 100644 node_modules/npm/node_modules/color-support/README.md create mode 100755 node_modules/npm/node_modules/color-support/bin.js create mode 100644 node_modules/npm/node_modules/color-support/browser.js create mode 100644 node_modules/npm/node_modules/color-support/index.js create mode 100644 node_modules/npm/node_modules/color-support/package.json create mode 100644 node_modules/npm/node_modules/colors/LICENSE create mode 100644 node_modules/npm/node_modules/colors/examples/normal-usage.js create mode 100644 node_modules/npm/node_modules/colors/examples/safe-string.js create mode 100644 node_modules/npm/node_modules/colors/index.d.ts create mode 100644 node_modules/npm/node_modules/colors/lib/colors.js create mode 100644 node_modules/npm/node_modules/colors/lib/custom/trap.js create mode 100644 node_modules/npm/node_modules/colors/lib/custom/zalgo.js create mode 100644 node_modules/npm/node_modules/colors/lib/extendStringPrototype.js create mode 100644 node_modules/npm/node_modules/colors/lib/index.js create mode 100644 node_modules/npm/node_modules/colors/lib/maps/america.js create mode 100644 node_modules/npm/node_modules/colors/lib/maps/rainbow.js create mode 100644 node_modules/npm/node_modules/colors/lib/maps/random.js create mode 100644 node_modules/npm/node_modules/colors/lib/maps/zebra.js create mode 100644 node_modules/npm/node_modules/colors/lib/styles.js create mode 100644 node_modules/npm/node_modules/colors/lib/system/has-flag.js create mode 100644 node_modules/npm/node_modules/colors/lib/system/supports-colors.js create mode 100644 node_modules/npm/node_modules/colors/package.json create mode 100644 node_modules/npm/node_modules/colors/safe.d.ts create mode 100644 node_modules/npm/node_modules/colors/safe.js create mode 100644 node_modules/npm/node_modules/colors/themes/generic-logging.js create mode 100644 node_modules/npm/node_modules/columnify/LICENSE create mode 100644 node_modules/npm/node_modules/columnify/Makefile create mode 100644 node_modules/npm/node_modules/columnify/Readme.md create mode 100644 node_modules/npm/node_modules/columnify/columnify.js create mode 100644 node_modules/npm/node_modules/columnify/index.js create mode 100644 node_modules/npm/node_modules/columnify/package.json create mode 100644 node_modules/npm/node_modules/columnify/utils.js create mode 100644 node_modules/npm/node_modules/columnify/width.js create mode 100644 node_modules/npm/node_modules/common-ancestor-path/LICENSE create mode 100644 node_modules/npm/node_modules/common-ancestor-path/index.js create mode 100644 node_modules/npm/node_modules/common-ancestor-path/package.json create mode 100644 node_modules/npm/node_modules/concat-map/LICENSE create mode 100644 node_modules/npm/node_modules/concat-map/example/map.js create mode 100644 node_modules/npm/node_modules/concat-map/index.js create mode 100644 node_modules/npm/node_modules/concat-map/package.json create mode 100644 node_modules/npm/node_modules/concat-map/test/map.js create mode 100644 node_modules/npm/node_modules/console-control-strings/LICENSE create mode 100644 node_modules/npm/node_modules/console-control-strings/index.js create mode 100644 node_modules/npm/node_modules/console-control-strings/package.json create mode 100644 node_modules/npm/node_modules/debug/LICENSE create mode 100644 node_modules/npm/node_modules/debug/node_modules/ms/index.js create mode 100644 node_modules/npm/node_modules/debug/node_modules/ms/license.md create mode 100644 node_modules/npm/node_modules/debug/node_modules/ms/package.json create mode 100644 node_modules/npm/node_modules/debug/node_modules/ms/readme.md create mode 100644 node_modules/npm/node_modules/debug/package.json create mode 100644 node_modules/npm/node_modules/debug/src/browser.js create mode 100644 node_modules/npm/node_modules/debug/src/common.js create mode 100644 node_modules/npm/node_modules/debug/src/index.js create mode 100644 node_modules/npm/node_modules/debug/src/node.js create mode 100644 node_modules/npm/node_modules/debuglog/LICENSE create mode 100644 node_modules/npm/node_modules/debuglog/debuglog.js create mode 100644 node_modules/npm/node_modules/debuglog/package.json create mode 100644 node_modules/npm/node_modules/defaults/LICENSE create mode 100644 node_modules/npm/node_modules/defaults/index.js create mode 100644 node_modules/npm/node_modules/defaults/package.json create mode 100644 node_modules/npm/node_modules/defaults/test.js create mode 100644 node_modules/npm/node_modules/delegates/History.md create mode 100644 node_modules/npm/node_modules/delegates/License create mode 100644 node_modules/npm/node_modules/delegates/Makefile create mode 100644 node_modules/npm/node_modules/delegates/Readme.md create mode 100644 node_modules/npm/node_modules/delegates/index.js create mode 100644 node_modules/npm/node_modules/delegates/package.json create mode 100644 node_modules/npm/node_modules/delegates/test/index.js create mode 100644 node_modules/npm/node_modules/depd/History.md create mode 100644 node_modules/npm/node_modules/depd/LICENSE create mode 100644 node_modules/npm/node_modules/depd/Readme.md create mode 100644 node_modules/npm/node_modules/depd/index.js create mode 100644 node_modules/npm/node_modules/depd/lib/browser/index.js create mode 100644 node_modules/npm/node_modules/depd/lib/compat/callsite-tostring.js create mode 100644 node_modules/npm/node_modules/depd/lib/compat/event-listener-count.js create mode 100644 node_modules/npm/node_modules/depd/lib/compat/index.js create mode 100644 node_modules/npm/node_modules/depd/package.json create mode 100644 node_modules/npm/node_modules/dezalgo/LICENSE create mode 100644 node_modules/npm/node_modules/dezalgo/dezalgo.js create mode 100644 node_modules/npm/node_modules/dezalgo/package.json create mode 100644 node_modules/npm/node_modules/dezalgo/test/basic.js create mode 100644 node_modules/npm/node_modules/diff/CONTRIBUTING.md create mode 100644 node_modules/npm/node_modules/diff/LICENSE create mode 100644 node_modules/npm/node_modules/diff/dist/diff.js create mode 100644 node_modules/npm/node_modules/diff/lib/convert/dmp.js create mode 100644 node_modules/npm/node_modules/diff/lib/convert/xml.js create mode 100644 node_modules/npm/node_modules/diff/lib/diff/array.js create mode 100644 node_modules/npm/node_modules/diff/lib/diff/base.js create mode 100644 node_modules/npm/node_modules/diff/lib/diff/character.js create mode 100644 node_modules/npm/node_modules/diff/lib/diff/css.js create mode 100644 node_modules/npm/node_modules/diff/lib/diff/json.js create mode 100644 node_modules/npm/node_modules/diff/lib/diff/line.js create mode 100644 node_modules/npm/node_modules/diff/lib/diff/sentence.js create mode 100644 node_modules/npm/node_modules/diff/lib/diff/word.js create mode 100644 node_modules/npm/node_modules/diff/lib/index.es6.js create mode 100644 node_modules/npm/node_modules/diff/lib/index.js create mode 100644 node_modules/npm/node_modules/diff/lib/index.mjs create mode 100644 node_modules/npm/node_modules/diff/lib/patch/apply.js create mode 100644 node_modules/npm/node_modules/diff/lib/patch/create.js create mode 100644 node_modules/npm/node_modules/diff/lib/patch/merge.js create mode 100644 node_modules/npm/node_modules/diff/lib/patch/parse.js create mode 100644 node_modules/npm/node_modules/diff/lib/util/array.js create mode 100644 node_modules/npm/node_modules/diff/lib/util/distance-iterator.js create mode 100644 node_modules/npm/node_modules/diff/lib/util/params.js create mode 100644 node_modules/npm/node_modules/diff/package.json create mode 100644 node_modules/npm/node_modules/diff/release-notes.md create mode 100644 node_modules/npm/node_modules/diff/runtime.js create mode 100644 node_modules/npm/node_modules/emoji-regex/LICENSE-MIT.txt create mode 100644 node_modules/npm/node_modules/emoji-regex/es2015/index.js create mode 100644 node_modules/npm/node_modules/emoji-regex/es2015/text.js create mode 100644 node_modules/npm/node_modules/emoji-regex/index.d.ts create mode 100644 node_modules/npm/node_modules/emoji-regex/index.js create mode 100644 node_modules/npm/node_modules/emoji-regex/package.json create mode 100644 node_modules/npm/node_modules/emoji-regex/text.js create mode 100644 node_modules/npm/node_modules/encoding/LICENSE create mode 100644 node_modules/npm/node_modules/encoding/lib/encoding.js create mode 100644 node_modules/npm/node_modules/encoding/package.json create mode 100644 node_modules/npm/node_modules/encoding/test/test.js create mode 100644 node_modules/npm/node_modules/env-paths/index.d.ts create mode 100644 node_modules/npm/node_modules/env-paths/index.js create mode 100644 node_modules/npm/node_modules/env-paths/license create mode 100644 node_modules/npm/node_modules/env-paths/package.json create mode 100644 node_modules/npm/node_modules/env-paths/readme.md create mode 100644 node_modules/npm/node_modules/err-code/bower.json create mode 100644 node_modules/npm/node_modules/err-code/index.js create mode 100644 node_modules/npm/node_modules/err-code/index.umd.js create mode 100644 node_modules/npm/node_modules/err-code/package.json create mode 100644 node_modules/npm/node_modules/err-code/test/test.js create mode 100644 node_modules/npm/node_modules/fastest-levenshtein/LICENSE.md create mode 100644 node_modules/npm/node_modules/fastest-levenshtein/index.d.ts create mode 100644 node_modules/npm/node_modules/fastest-levenshtein/index.js create mode 100644 node_modules/npm/node_modules/fastest-levenshtein/package.json create mode 100644 node_modules/npm/node_modules/fastest-levenshtein/test.js create mode 100644 node_modules/npm/node_modules/fs-minipass/LICENSE create mode 100644 node_modules/npm/node_modules/fs-minipass/index.js create mode 100644 node_modules/npm/node_modules/fs-minipass/package.json create mode 100644 node_modules/npm/node_modules/fs.realpath/LICENSE create mode 100644 node_modules/npm/node_modules/fs.realpath/index.js create mode 100644 node_modules/npm/node_modules/fs.realpath/old.js create mode 100644 node_modules/npm/node_modules/fs.realpath/package.json create mode 100644 node_modules/npm/node_modules/function-bind/LICENSE create mode 100644 node_modules/npm/node_modules/function-bind/implementation.js create mode 100644 node_modules/npm/node_modules/function-bind/index.js create mode 100644 node_modules/npm/node_modules/function-bind/package.json create mode 100644 node_modules/npm/node_modules/function-bind/test/index.js create mode 100644 node_modules/npm/node_modules/gauge/LICENSE.md create mode 100644 node_modules/npm/node_modules/gauge/lib/base-theme.js create mode 100644 node_modules/npm/node_modules/gauge/lib/demo.js create mode 100644 node_modules/npm/node_modules/gauge/lib/error.js create mode 100644 node_modules/npm/node_modules/gauge/lib/has-color.js create mode 100644 node_modules/npm/node_modules/gauge/lib/index.js create mode 100644 node_modules/npm/node_modules/gauge/lib/plumbing.js create mode 100644 node_modules/npm/node_modules/gauge/lib/process.js create mode 100644 node_modules/npm/node_modules/gauge/lib/progress-bar.js create mode 100644 node_modules/npm/node_modules/gauge/lib/render-template.js create mode 100644 node_modules/npm/node_modules/gauge/lib/set-immediate.js create mode 100644 node_modules/npm/node_modules/gauge/lib/set-interval.js create mode 100644 node_modules/npm/node_modules/gauge/lib/spin.js create mode 100644 node_modules/npm/node_modules/gauge/lib/template-item.js create mode 100644 node_modules/npm/node_modules/gauge/lib/theme-set.js create mode 100644 node_modules/npm/node_modules/gauge/lib/themes.js create mode 100644 node_modules/npm/node_modules/gauge/lib/wide-truncate.js create mode 100644 node_modules/npm/node_modules/gauge/node_modules/ansi-regex/index.d.ts create mode 100644 node_modules/npm/node_modules/gauge/node_modules/ansi-regex/index.js create mode 100644 node_modules/npm/node_modules/gauge/node_modules/ansi-regex/license create mode 100644 node_modules/npm/node_modules/gauge/node_modules/ansi-regex/package.json create mode 100644 node_modules/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/index.d.ts create mode 100644 node_modules/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/index.js create mode 100644 node_modules/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/license create mode 100644 node_modules/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/package.json create mode 100644 node_modules/npm/node_modules/gauge/node_modules/string-width/index.d.ts create mode 100644 node_modules/npm/node_modules/gauge/node_modules/string-width/index.js create mode 100644 node_modules/npm/node_modules/gauge/node_modules/string-width/license create mode 100644 node_modules/npm/node_modules/gauge/node_modules/string-width/package.json create mode 100644 node_modules/npm/node_modules/gauge/node_modules/strip-ansi/index.d.ts create mode 100644 node_modules/npm/node_modules/gauge/node_modules/strip-ansi/index.js create mode 100644 node_modules/npm/node_modules/gauge/node_modules/strip-ansi/license create mode 100644 node_modules/npm/node_modules/gauge/node_modules/strip-ansi/package.json create mode 100644 node_modules/npm/node_modules/gauge/package.json create mode 100644 node_modules/npm/node_modules/glob/LICENSE create mode 100644 node_modules/npm/node_modules/glob/common.js create mode 100644 node_modules/npm/node_modules/glob/glob.js create mode 100644 node_modules/npm/node_modules/glob/package.json create mode 100644 node_modules/npm/node_modules/glob/sync.js create mode 100644 node_modules/npm/node_modules/graceful-fs/LICENSE create mode 100644 node_modules/npm/node_modules/graceful-fs/clone.js create mode 100644 node_modules/npm/node_modules/graceful-fs/graceful-fs.js create mode 100644 node_modules/npm/node_modules/graceful-fs/legacy-streams.js create mode 100644 node_modules/npm/node_modules/graceful-fs/package.json create mode 100644 node_modules/npm/node_modules/graceful-fs/polyfills.js create mode 100644 node_modules/npm/node_modules/has-flag/index.d.ts create mode 100644 node_modules/npm/node_modules/has-flag/index.js create mode 100644 node_modules/npm/node_modules/has-flag/license create mode 100644 node_modules/npm/node_modules/has-flag/package.json create mode 100644 node_modules/npm/node_modules/has-flag/readme.md create mode 100644 node_modules/npm/node_modules/has-unicode/LICENSE create mode 100644 node_modules/npm/node_modules/has-unicode/index.js create mode 100644 node_modules/npm/node_modules/has-unicode/package.json create mode 100644 node_modules/npm/node_modules/has/LICENSE-MIT create mode 100644 node_modules/npm/node_modules/has/package.json create mode 100644 node_modules/npm/node_modules/has/src/index.js create mode 100644 node_modules/npm/node_modules/has/test/index.js create mode 100644 node_modules/npm/node_modules/hosted-git-info/LICENSE create mode 100644 node_modules/npm/node_modules/hosted-git-info/git-host-info.js create mode 100644 node_modules/npm/node_modules/hosted-git-info/git-host.js create mode 100644 node_modules/npm/node_modules/hosted-git-info/index.js create mode 100644 node_modules/npm/node_modules/hosted-git-info/package.json create mode 100644 node_modules/npm/node_modules/http-cache-semantics/LICENSE create mode 100644 node_modules/npm/node_modules/http-cache-semantics/index.js create mode 100644 node_modules/npm/node_modules/http-cache-semantics/package.json create mode 100644 node_modules/npm/node_modules/http-proxy-agent/dist/agent.d.ts create mode 100644 node_modules/npm/node_modules/http-proxy-agent/dist/agent.js create mode 100644 node_modules/npm/node_modules/http-proxy-agent/dist/agent.js.map create mode 100644 node_modules/npm/node_modules/http-proxy-agent/dist/index.d.ts create mode 100644 node_modules/npm/node_modules/http-proxy-agent/dist/index.js create mode 100644 node_modules/npm/node_modules/http-proxy-agent/dist/index.js.map create mode 100644 node_modules/npm/node_modules/http-proxy-agent/package.json create mode 100644 node_modules/npm/node_modules/https-proxy-agent/dist/agent.d.ts create mode 100644 node_modules/npm/node_modules/https-proxy-agent/dist/agent.js create mode 100644 node_modules/npm/node_modules/https-proxy-agent/dist/agent.js.map create mode 100644 node_modules/npm/node_modules/https-proxy-agent/dist/index.d.ts create mode 100644 node_modules/npm/node_modules/https-proxy-agent/dist/index.js create mode 100644 node_modules/npm/node_modules/https-proxy-agent/dist/index.js.map create mode 100644 node_modules/npm/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts create mode 100644 node_modules/npm/node_modules/https-proxy-agent/dist/parse-proxy-response.js create mode 100644 node_modules/npm/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map create mode 100644 node_modules/npm/node_modules/https-proxy-agent/package.json create mode 100644 node_modules/npm/node_modules/humanize-ms/History.md create mode 100644 node_modules/npm/node_modules/humanize-ms/LICENSE create mode 100644 node_modules/npm/node_modules/humanize-ms/index.js create mode 100644 node_modules/npm/node_modules/humanize-ms/package.json create mode 100644 node_modules/npm/node_modules/iconv-lite/Changelog.md create mode 100644 node_modules/npm/node_modules/iconv-lite/LICENSE create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/dbcs-codec.js create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/dbcs-data.js create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/index.js create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/internal.js create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/sbcs-codec.js create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/sbcs-data-generated.js create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/sbcs-data.js create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/tables/big5-added.json create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/tables/cp936.json create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/tables/cp949.json create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/tables/cp950.json create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/tables/eucjp.json create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/tables/gbk-added.json create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/tables/shiftjis.json create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/utf16.js create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/utf32.js create mode 100644 node_modules/npm/node_modules/iconv-lite/encodings/utf7.js create mode 100644 node_modules/npm/node_modules/iconv-lite/lib/bom-handling.js create mode 100644 node_modules/npm/node_modules/iconv-lite/lib/index.d.ts create mode 100644 node_modules/npm/node_modules/iconv-lite/lib/index.js create mode 100644 node_modules/npm/node_modules/iconv-lite/lib/streams.js create mode 100644 node_modules/npm/node_modules/iconv-lite/package.json create mode 100644 node_modules/npm/node_modules/ignore-walk/LICENSE create mode 100644 node_modules/npm/node_modules/ignore-walk/index.js create mode 100644 node_modules/npm/node_modules/ignore-walk/package.json create mode 100644 node_modules/npm/node_modules/imurmurhash/imurmurhash.js create mode 100644 node_modules/npm/node_modules/imurmurhash/imurmurhash.min.js create mode 100644 node_modules/npm/node_modules/imurmurhash/package.json create mode 100644 node_modules/npm/node_modules/indent-string/index.d.ts create mode 100644 node_modules/npm/node_modules/indent-string/index.js create mode 100644 node_modules/npm/node_modules/indent-string/license create mode 100644 node_modules/npm/node_modules/indent-string/package.json create mode 100644 node_modules/npm/node_modules/indent-string/readme.md create mode 100644 node_modules/npm/node_modules/infer-owner/LICENSE create mode 100644 node_modules/npm/node_modules/infer-owner/index.js create mode 100644 node_modules/npm/node_modules/infer-owner/package.json create mode 100644 node_modules/npm/node_modules/inflight/LICENSE create mode 100644 node_modules/npm/node_modules/inflight/inflight.js create mode 100644 node_modules/npm/node_modules/inflight/package.json create mode 100644 node_modules/npm/node_modules/inherits/LICENSE create mode 100644 node_modules/npm/node_modules/inherits/inherits.js create mode 100644 node_modules/npm/node_modules/inherits/inherits_browser.js create mode 100644 node_modules/npm/node_modules/inherits/package.json create mode 100644 node_modules/npm/node_modules/ini/LICENSE create mode 100644 node_modules/npm/node_modules/ini/ini.js create mode 100644 node_modules/npm/node_modules/ini/package.json create mode 100644 node_modules/npm/node_modules/init-package-json/LICENSE.md create mode 100644 node_modules/npm/node_modules/init-package-json/lib/default-input.js create mode 100644 node_modules/npm/node_modules/init-package-json/lib/init-package-json.js create mode 100644 node_modules/npm/node_modules/init-package-json/package.json create mode 100644 node_modules/npm/node_modules/ip-regex/index.d.ts create mode 100644 node_modules/npm/node_modules/ip-regex/index.js create mode 100644 node_modules/npm/node_modules/ip-regex/license create mode 100644 node_modules/npm/node_modules/ip-regex/package.json create mode 100644 node_modules/npm/node_modules/ip-regex/readme.md create mode 100644 node_modules/npm/node_modules/ip/lib/ip.js create mode 100644 node_modules/npm/node_modules/ip/package.json create mode 100644 node_modules/npm/node_modules/ip/test/api-test.js create mode 100644 node_modules/npm/node_modules/is-cidr/LICENSE create mode 100644 node_modules/npm/node_modules/is-cidr/index.d.ts create mode 100644 node_modules/npm/node_modules/is-cidr/index.js create mode 100644 node_modules/npm/node_modules/is-cidr/package.json create mode 100644 node_modules/npm/node_modules/is-core-module/LICENSE create mode 100644 node_modules/npm/node_modules/is-core-module/core.json create mode 100644 node_modules/npm/node_modules/is-core-module/index.js create mode 100644 node_modules/npm/node_modules/is-core-module/package.json create mode 100644 node_modules/npm/node_modules/is-core-module/test/index.js create mode 100644 node_modules/npm/node_modules/is-fullwidth-code-point/index.js create mode 100644 node_modules/npm/node_modules/is-fullwidth-code-point/license create mode 100644 node_modules/npm/node_modules/is-fullwidth-code-point/package.json create mode 100644 node_modules/npm/node_modules/is-fullwidth-code-point/readme.md create mode 100644 node_modules/npm/node_modules/is-lambda/LICENSE create mode 100644 node_modules/npm/node_modules/is-lambda/index.js create mode 100644 node_modules/npm/node_modules/is-lambda/package.json create mode 100644 node_modules/npm/node_modules/is-lambda/test.js create mode 100644 node_modules/npm/node_modules/is-typedarray/LICENSE.md create mode 100644 node_modules/npm/node_modules/is-typedarray/index.js create mode 100644 node_modules/npm/node_modules/is-typedarray/package.json create mode 100644 node_modules/npm/node_modules/is-typedarray/test.js create mode 100644 node_modules/npm/node_modules/isexe/LICENSE create mode 100644 node_modules/npm/node_modules/isexe/index.js create mode 100644 node_modules/npm/node_modules/isexe/mode.js create mode 100644 node_modules/npm/node_modules/isexe/package.json create mode 100644 node_modules/npm/node_modules/isexe/test/basic.js create mode 100644 node_modules/npm/node_modules/isexe/windows.js create mode 100644 node_modules/npm/node_modules/json-parse-even-better-errors/LICENSE.md create mode 100644 node_modules/npm/node_modules/json-parse-even-better-errors/index.js create mode 100644 node_modules/npm/node_modules/json-parse-even-better-errors/package.json create mode 100644 node_modules/npm/node_modules/json-stringify-nice/LICENSE create mode 100644 node_modules/npm/node_modules/json-stringify-nice/index.js create mode 100644 node_modules/npm/node_modules/json-stringify-nice/package.json create mode 100644 node_modules/npm/node_modules/jsonparse/LICENSE create mode 100644 node_modules/npm/node_modules/jsonparse/bench.js create mode 100644 node_modules/npm/node_modules/jsonparse/examples/twitterfeed.js create mode 100644 node_modules/npm/node_modules/jsonparse/jsonparse.js create mode 100644 node_modules/npm/node_modules/jsonparse/package.json create mode 100644 node_modules/npm/node_modules/jsonparse/samplejson/basic.json create mode 100644 node_modules/npm/node_modules/jsonparse/samplejson/basic2.json create mode 100644 node_modules/npm/node_modules/jsonparse/test/big-token.js create mode 100644 node_modules/npm/node_modules/jsonparse/test/boundary.js create mode 100644 node_modules/npm/node_modules/jsonparse/test/offset.js create mode 100644 node_modules/npm/node_modules/jsonparse/test/primitives.js create mode 100644 node_modules/npm/node_modules/jsonparse/test/surrogate.js create mode 100644 node_modules/npm/node_modules/jsonparse/test/unvalid.js create mode 100644 node_modules/npm/node_modules/jsonparse/test/utf8.js create mode 100644 node_modules/npm/node_modules/just-diff-apply/LICENSE create mode 100644 node_modules/npm/node_modules/just-diff-apply/index.js create mode 100644 node_modules/npm/node_modules/just-diff-apply/index.mjs create mode 100644 node_modules/npm/node_modules/just-diff-apply/package.json create mode 100644 node_modules/npm/node_modules/just-diff-apply/rollup.config.js create mode 100644 node_modules/npm/node_modules/just-diff/LICENSE create mode 100644 node_modules/npm/node_modules/just-diff/index.d.ts create mode 100644 node_modules/npm/node_modules/just-diff/index.js create mode 100644 node_modules/npm/node_modules/just-diff/index.mjs create mode 100644 node_modules/npm/node_modules/just-diff/index.tests.ts create mode 100644 node_modules/npm/node_modules/just-diff/package.json create mode 100644 node_modules/npm/node_modules/just-diff/rollup.config.js create mode 100644 node_modules/npm/node_modules/libnpmaccess/LICENSE create mode 100644 node_modules/npm/node_modules/libnpmaccess/README.md create mode 100644 node_modules/npm/node_modules/libnpmaccess/lib/index.js create mode 100644 node_modules/npm/node_modules/libnpmaccess/package.json create mode 100644 node_modules/npm/node_modules/libnpmdiff/LICENSE create mode 100644 node_modules/npm/node_modules/libnpmdiff/README.md create mode 100644 node_modules/npm/node_modules/libnpmdiff/lib/format-diff.js create mode 100644 node_modules/npm/node_modules/libnpmdiff/lib/index.js create mode 100644 node_modules/npm/node_modules/libnpmdiff/lib/should-print-patch.js create mode 100644 node_modules/npm/node_modules/libnpmdiff/lib/tarball.js create mode 100644 node_modules/npm/node_modules/libnpmdiff/lib/untar.js create mode 100644 node_modules/npm/node_modules/libnpmdiff/package.json create mode 100644 node_modules/npm/node_modules/libnpmexec/LICENSE create mode 100644 node_modules/npm/node_modules/libnpmexec/README.md create mode 100644 node_modules/npm/node_modules/libnpmexec/lib/cache-install-dir.js create mode 100644 node_modules/npm/node_modules/libnpmexec/lib/file-exists.js create mode 100644 node_modules/npm/node_modules/libnpmexec/lib/get-bin-from-manifest.js create mode 100644 node_modules/npm/node_modules/libnpmexec/lib/index.js create mode 100644 node_modules/npm/node_modules/libnpmexec/lib/is-windows.js create mode 100644 node_modules/npm/node_modules/libnpmexec/lib/manifest-missing.js create mode 100644 node_modules/npm/node_modules/libnpmexec/lib/no-tty.js create mode 100644 node_modules/npm/node_modules/libnpmexec/lib/run-script.js create mode 100644 node_modules/npm/node_modules/libnpmexec/package.json create mode 100644 node_modules/npm/node_modules/libnpmfund/LICENSE create mode 100644 node_modules/npm/node_modules/libnpmfund/README.md create mode 100644 node_modules/npm/node_modules/libnpmfund/lib/index.js create mode 100644 node_modules/npm/node_modules/libnpmfund/package.json create mode 100644 node_modules/npm/node_modules/libnpmhook/LICENSE.md create mode 100644 node_modules/npm/node_modules/libnpmhook/README.md create mode 100644 node_modules/npm/node_modules/libnpmhook/lib/index.js create mode 100644 node_modules/npm/node_modules/libnpmhook/package.json create mode 100644 node_modules/npm/node_modules/libnpmorg/LICENSE create mode 100644 node_modules/npm/node_modules/libnpmorg/README.md create mode 100644 node_modules/npm/node_modules/libnpmorg/lib/index.js create mode 100644 node_modules/npm/node_modules/libnpmorg/package.json create mode 100644 node_modules/npm/node_modules/libnpmpack/LICENSE create mode 100644 node_modules/npm/node_modules/libnpmpack/README.md create mode 100644 node_modules/npm/node_modules/libnpmpack/lib/index.js create mode 100644 node_modules/npm/node_modules/libnpmpack/package.json create mode 100644 node_modules/npm/node_modules/libnpmpublish/LICENSE create mode 100644 node_modules/npm/node_modules/libnpmpublish/README.md create mode 100644 node_modules/npm/node_modules/libnpmpublish/lib/index.js create mode 100644 node_modules/npm/node_modules/libnpmpublish/lib/publish.js create mode 100644 node_modules/npm/node_modules/libnpmpublish/lib/unpublish.js create mode 100644 node_modules/npm/node_modules/libnpmpublish/package.json create mode 100644 node_modules/npm/node_modules/libnpmsearch/LICENSE create mode 100644 node_modules/npm/node_modules/libnpmsearch/README.md create mode 100644 node_modules/npm/node_modules/libnpmsearch/lib/index.js create mode 100644 node_modules/npm/node_modules/libnpmsearch/package.json create mode 100644 node_modules/npm/node_modules/libnpmteam/LICENSE create mode 100644 node_modules/npm/node_modules/libnpmteam/README.md create mode 100644 node_modules/npm/node_modules/libnpmteam/lib/index.js create mode 100644 node_modules/npm/node_modules/libnpmteam/package.json create mode 100644 node_modules/npm/node_modules/libnpmversion/LICENSE create mode 100644 node_modules/npm/node_modules/libnpmversion/README.md create mode 100644 node_modules/npm/node_modules/libnpmversion/lib/commit.js create mode 100644 node_modules/npm/node_modules/libnpmversion/lib/enforce-clean.js create mode 100644 node_modules/npm/node_modules/libnpmversion/lib/index.js create mode 100644 node_modules/npm/node_modules/libnpmversion/lib/proc-log.js create mode 100644 node_modules/npm/node_modules/libnpmversion/lib/read-json.js create mode 100644 node_modules/npm/node_modules/libnpmversion/lib/retrieve-tag.js create mode 100644 node_modules/npm/node_modules/libnpmversion/lib/tag.js create mode 100644 node_modules/npm/node_modules/libnpmversion/lib/version.js create mode 100644 node_modules/npm/node_modules/libnpmversion/lib/write-json.js create mode 100644 node_modules/npm/node_modules/libnpmversion/package.json create mode 100644 node_modules/npm/node_modules/lru-cache/LICENSE create mode 100644 node_modules/npm/node_modules/lru-cache/index.js create mode 100644 node_modules/npm/node_modules/lru-cache/package.json create mode 100644 node_modules/npm/node_modules/make-fetch-happen/LICENSE create mode 100644 node_modules/npm/node_modules/make-fetch-happen/lib/agent.js create mode 100644 node_modules/npm/node_modules/make-fetch-happen/lib/cache/entry.js create mode 100644 node_modules/npm/node_modules/make-fetch-happen/lib/cache/errors.js create mode 100644 node_modules/npm/node_modules/make-fetch-happen/lib/cache/index.js create mode 100644 node_modules/npm/node_modules/make-fetch-happen/lib/cache/key.js create mode 100644 node_modules/npm/node_modules/make-fetch-happen/lib/cache/policy.js create mode 100644 node_modules/npm/node_modules/make-fetch-happen/lib/fetch.js create mode 100644 node_modules/npm/node_modules/make-fetch-happen/lib/index.js create mode 100644 node_modules/npm/node_modules/make-fetch-happen/lib/options.js create mode 100644 node_modules/npm/node_modules/make-fetch-happen/lib/remote.js create mode 100644 node_modules/npm/node_modules/make-fetch-happen/node_modules/lru-cache/LICENSE create mode 100644 node_modules/npm/node_modules/make-fetch-happen/node_modules/lru-cache/index.js create mode 100644 node_modules/npm/node_modules/make-fetch-happen/node_modules/lru-cache/package.json create mode 100644 node_modules/npm/node_modules/make-fetch-happen/package.json create mode 100644 node_modules/npm/node_modules/minimatch/LICENSE create mode 100644 node_modules/npm/node_modules/minimatch/minimatch.js create mode 100644 node_modules/npm/node_modules/minimatch/package.json create mode 100644 node_modules/npm/node_modules/minipass-collect/LICENSE create mode 100644 node_modules/npm/node_modules/minipass-collect/index.js create mode 100644 node_modules/npm/node_modules/minipass-collect/package.json create mode 100644 node_modules/npm/node_modules/minipass-fetch/LICENSE create mode 100644 node_modules/npm/node_modules/minipass-fetch/index.js create mode 100644 node_modules/npm/node_modules/minipass-fetch/lib/abort-error.js create mode 100644 node_modules/npm/node_modules/minipass-fetch/lib/blob.js create mode 100644 node_modules/npm/node_modules/minipass-fetch/lib/body.js create mode 100644 node_modules/npm/node_modules/minipass-fetch/lib/fetch-error.js create mode 100644 node_modules/npm/node_modules/minipass-fetch/lib/headers.js create mode 100644 node_modules/npm/node_modules/minipass-fetch/lib/index.js create mode 100644 node_modules/npm/node_modules/minipass-fetch/lib/request.js create mode 100644 node_modules/npm/node_modules/minipass-fetch/lib/response.js create mode 100644 node_modules/npm/node_modules/minipass-fetch/package.json create mode 100644 node_modules/npm/node_modules/minipass-flush/LICENSE create mode 100644 node_modules/npm/node_modules/minipass-flush/index.js create mode 100644 node_modules/npm/node_modules/minipass-flush/package.json create mode 100644 node_modules/npm/node_modules/minipass-json-stream/LICENSE create mode 100644 node_modules/npm/node_modules/minipass-json-stream/index.js create mode 100644 node_modules/npm/node_modules/minipass-json-stream/package.json create mode 100644 node_modules/npm/node_modules/minipass-pipeline/LICENSE create mode 100644 node_modules/npm/node_modules/minipass-pipeline/index.js create mode 100644 node_modules/npm/node_modules/minipass-pipeline/package.json create mode 100644 node_modules/npm/node_modules/minipass-sized/LICENSE create mode 100644 node_modules/npm/node_modules/minipass-sized/index.js create mode 100644 node_modules/npm/node_modules/minipass-sized/package-lock.json create mode 100644 node_modules/npm/node_modules/minipass-sized/package.json create mode 100644 node_modules/npm/node_modules/minipass-sized/test/basic.js create mode 100644 node_modules/npm/node_modules/minipass/LICENSE create mode 100644 node_modules/npm/node_modules/minipass/index.js create mode 100644 node_modules/npm/node_modules/minipass/package.json create mode 100644 node_modules/npm/node_modules/minizlib/LICENSE create mode 100644 node_modules/npm/node_modules/minizlib/constants.js create mode 100644 node_modules/npm/node_modules/minizlib/index.js create mode 100644 node_modules/npm/node_modules/minizlib/package.json create mode 100644 node_modules/npm/node_modules/mkdirp-infer-owner/LICENSE create mode 100644 node_modules/npm/node_modules/mkdirp-infer-owner/index.js create mode 100644 node_modules/npm/node_modules/mkdirp-infer-owner/package.json create mode 100644 node_modules/npm/node_modules/mkdirp/CHANGELOG.md create mode 100644 node_modules/npm/node_modules/mkdirp/LICENSE create mode 100755 node_modules/npm/node_modules/mkdirp/bin/cmd.js create mode 100644 node_modules/npm/node_modules/mkdirp/index.js create mode 100644 node_modules/npm/node_modules/mkdirp/lib/find-made.js create mode 100644 node_modules/npm/node_modules/mkdirp/lib/mkdirp-manual.js create mode 100644 node_modules/npm/node_modules/mkdirp/lib/mkdirp-native.js create mode 100644 node_modules/npm/node_modules/mkdirp/lib/opts-arg.js create mode 100644 node_modules/npm/node_modules/mkdirp/lib/path-arg.js create mode 100644 node_modules/npm/node_modules/mkdirp/lib/use-native.js create mode 100644 node_modules/npm/node_modules/mkdirp/package.json create mode 100644 node_modules/npm/node_modules/mkdirp/readme.markdown create mode 100644 node_modules/npm/node_modules/ms/index.js create mode 100644 node_modules/npm/node_modules/ms/license.md create mode 100644 node_modules/npm/node_modules/ms/package.json create mode 100644 node_modules/npm/node_modules/ms/readme.md create mode 100644 node_modules/npm/node_modules/mute-stream/LICENSE create mode 100644 node_modules/npm/node_modules/mute-stream/mute.js create mode 100644 node_modules/npm/node_modules/mute-stream/package.json create mode 100644 node_modules/npm/node_modules/negotiator/HISTORY.md create mode 100644 node_modules/npm/node_modules/negotiator/LICENSE create mode 100644 node_modules/npm/node_modules/negotiator/index.js create mode 100644 node_modules/npm/node_modules/negotiator/lib/charset.js create mode 100644 node_modules/npm/node_modules/negotiator/lib/encoding.js create mode 100644 node_modules/npm/node_modules/negotiator/lib/language.js create mode 100644 node_modules/npm/node_modules/negotiator/lib/mediaType.js create mode 100644 node_modules/npm/node_modules/negotiator/package.json create mode 100644 node_modules/npm/node_modules/node-gyp/.github/ISSUE_TEMPLATE.md create mode 100644 node_modules/npm/node_modules/node-gyp/.github/PULL_REQUEST_TEMPLATE.md create mode 100644 node_modules/npm/node_modules/node-gyp/.github/workflows/release-please.yml create mode 100644 node_modules/npm/node_modules/node-gyp/.github/workflows/tests.yml create mode 100644 node_modules/npm/node_modules/node-gyp/.github/workflows/visual-studio.yml create mode 100644 node_modules/npm/node_modules/node-gyp/CHANGELOG.md create mode 100644 node_modules/npm/node_modules/node-gyp/CONTRIBUTING.md create mode 100644 node_modules/npm/node_modules/node-gyp/LICENSE create mode 100644 node_modules/npm/node_modules/node-gyp/README.md create mode 100644 node_modules/npm/node_modules/node-gyp/addon.gypi create mode 100755 node_modules/npm/node_modules/node-gyp/bin/node-gyp.js create mode 100644 node_modules/npm/node_modules/node-gyp/docs/Common-issues.md create mode 100644 node_modules/npm/node_modules/node-gyp/docs/Error-pre-versions-of-node-cannot-be-installed.md create mode 100644 node_modules/npm/node_modules/node-gyp/docs/Home.md create mode 100644 node_modules/npm/node_modules/node-gyp/docs/Linking-to-OpenSSL.md create mode 100644 node_modules/npm/node_modules/node-gyp/docs/Updating-npm-bundled-node-gyp.md create mode 100644 node_modules/npm/node_modules/node-gyp/docs/binding.gyp-files-in-the-wild.md create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/.flake8 create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/.github/workflows/Python_tests.yml create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/.github/workflows/node-gyp.yml create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/.github/workflows/nodejs-windows.yml create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/.github/workflows/release-please.yml create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/AUTHORS create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/CHANGELOG.md create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/CODE_OF_CONDUCT.md create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/CONTRIBUTING.md create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/LICENSE create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/README.md create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/gyp create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/gyp.bat create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input_test.py create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/requirements_dev.txt create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/setup.py create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/test_gyp.py create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/tools/README create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/tools/Xcode/README create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/tools/Xcode/Specifications/gyp.pbfilespec create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/tools/Xcode/Specifications/gyp.xclangspec create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/README create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/gyp-tests.el create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/gyp.el create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/run-unit-tests.sh create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp create mode 100644 node_modules/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp.fontified create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/tools/graphviz.py create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/tools/pretty_gyp.py create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/tools/pretty_sln.py create mode 100755 node_modules/npm/node_modules/node-gyp/gyp/tools/pretty_vcproj.py create mode 100644 node_modules/npm/node_modules/node-gyp/lib/Find-VisualStudio.cs create mode 100644 node_modules/npm/node_modules/node-gyp/lib/build.js create mode 100644 node_modules/npm/node_modules/node-gyp/lib/clean.js create mode 100644 node_modules/npm/node_modules/node-gyp/lib/configure.js create mode 100644 node_modules/npm/node_modules/node-gyp/lib/create-config-gypi.js create mode 100644 node_modules/npm/node_modules/node-gyp/lib/find-node-directory.js create mode 100644 node_modules/npm/node_modules/node-gyp/lib/find-python.js create mode 100644 node_modules/npm/node_modules/node-gyp/lib/find-visualstudio.js create mode 100644 node_modules/npm/node_modules/node-gyp/lib/install.js create mode 100644 node_modules/npm/node_modules/node-gyp/lib/list.js create mode 100644 node_modules/npm/node_modules/node-gyp/lib/node-gyp.js create mode 100644 node_modules/npm/node_modules/node-gyp/lib/process-release.js create mode 100644 node_modules/npm/node_modules/node-gyp/lib/rebuild.js create mode 100644 node_modules/npm/node_modules/node-gyp/lib/remove.js create mode 100644 node_modules/npm/node_modules/node-gyp/lib/util.js create mode 100644 node_modules/npm/node_modules/node-gyp/macOS_Catalina.md create mode 100644 node_modules/npm/node_modules/node-gyp/macOS_Catalina_acid_test.sh create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/@tootallnate/once/dist/index.d.ts create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/@tootallnate/once/dist/index.js create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/@tootallnate/once/dist/index.js.map create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/@tootallnate/once/package.json create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/http-proxy-agent/dist/agent.d.ts create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/http-proxy-agent/dist/agent.js create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/http-proxy-agent/dist/agent.js.map create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/http-proxy-agent/dist/index.d.ts create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/http-proxy-agent/dist/index.js create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/http-proxy-agent/dist/index.js.map create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/http-proxy-agent/package.json create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen/LICENSE create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen/lib/agent.js create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen/lib/cache/entry.js create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen/lib/cache/errors.js create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen/lib/cache/index.js create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen/lib/cache/key.js create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen/lib/cache/policy.js create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen/lib/fetch.js create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen/lib/index.js create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen/lib/options.js create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen/lib/remote.js create mode 100644 node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen/package.json create mode 100644 node_modules/npm/node_modules/node-gyp/package.json create mode 100644 node_modules/npm/node_modules/node-gyp/src/win_delay_load_hook.cc create mode 100644 node_modules/npm/node_modules/node-gyp/test/common.js create mode 100644 node_modules/npm/node_modules/node-gyp/test/fixtures/VS_2017_BuildTools_minimal.txt create mode 100644 node_modules/npm/node_modules/node-gyp/test/fixtures/VS_2017_Community_workload.txt create mode 100644 node_modules/npm/node_modules/node-gyp/test/fixtures/VS_2017_Express.txt create mode 100644 node_modules/npm/node_modules/node-gyp/test/fixtures/VS_2017_Unusable.txt create mode 100644 node_modules/npm/node_modules/node-gyp/test/fixtures/VS_2019_BuildTools_minimal.txt create mode 100644 node_modules/npm/node_modules/node-gyp/test/fixtures/VS_2019_Community_workload.txt create mode 100644 node_modules/npm/node_modules/node-gyp/test/fixtures/VS_2019_Preview.txt create mode 100644 node_modules/npm/node_modules/node-gyp/test/fixtures/ca-bundle.crt create mode 100644 node_modules/npm/node_modules/node-gyp/test/fixtures/ca.crt create mode 100644 node_modules/npm/node_modules/node-gyp/test/fixtures/nodedir/include/node/config.gypi create mode 100644 node_modules/npm/node_modules/node-gyp/test/fixtures/server.crt create mode 100644 node_modules/npm/node_modules/node-gyp/test/fixtures/server.key create mode 100644 node_modules/npm/node_modules/node-gyp/test/fixtures/test-charmap.py create mode 100644 node_modules/npm/node_modules/node-gyp/test/process-exec-sync.js create mode 100644 node_modules/npm/node_modules/node-gyp/test/simple-proxy.js create mode 100644 node_modules/npm/node_modules/node-gyp/test/test-addon.js create mode 100644 node_modules/npm/node_modules/node-gyp/test/test-configure-python.js create mode 100644 node_modules/npm/node_modules/node-gyp/test/test-create-config-gypi.js create mode 100644 node_modules/npm/node_modules/node-gyp/test/test-download.js create mode 100644 node_modules/npm/node_modules/node-gyp/test/test-find-accessible-sync.js create mode 100644 node_modules/npm/node_modules/node-gyp/test/test-find-node-directory.js create mode 100644 node_modules/npm/node_modules/node-gyp/test/test-find-python.js create mode 100644 node_modules/npm/node_modules/node-gyp/test/test-find-visualstudio.js create mode 100644 node_modules/npm/node_modules/node-gyp/test/test-install.js create mode 100644 node_modules/npm/node_modules/node-gyp/test/test-options.js create mode 100644 node_modules/npm/node_modules/node-gyp/test/test-process-release.js create mode 100755 node_modules/npm/node_modules/node-gyp/update-gyp.py create mode 100644 node_modules/npm/node_modules/nopt/CHANGELOG.md create mode 100644 node_modules/npm/node_modules/nopt/LICENSE create mode 100644 node_modules/npm/node_modules/nopt/README.md create mode 100755 node_modules/npm/node_modules/nopt/bin/nopt.js create mode 100644 node_modules/npm/node_modules/nopt/lib/nopt.js create mode 100644 node_modules/npm/node_modules/nopt/package.json create mode 100644 node_modules/npm/node_modules/normalize-package-data/AUTHORS create mode 100644 node_modules/npm/node_modules/normalize-package-data/LICENSE create mode 100644 node_modules/npm/node_modules/normalize-package-data/lib/extract_description.js create mode 100644 node_modules/npm/node_modules/normalize-package-data/lib/fixer.js create mode 100644 node_modules/npm/node_modules/normalize-package-data/lib/make_warning.js create mode 100644 node_modules/npm/node_modules/normalize-package-data/lib/normalize.js create mode 100644 node_modules/npm/node_modules/normalize-package-data/lib/safe_format.js create mode 100644 node_modules/npm/node_modules/normalize-package-data/lib/typos.json create mode 100644 node_modules/npm/node_modules/normalize-package-data/lib/warning_messages.json create mode 100644 node_modules/npm/node_modules/normalize-package-data/package.json create mode 100644 node_modules/npm/node_modules/npm-audit-report/LICENSE create mode 100644 node_modules/npm/node_modules/npm-audit-report/lib/colors.js create mode 100644 node_modules/npm/node_modules/npm-audit-report/lib/exit-code.js create mode 100644 node_modules/npm/node_modules/npm-audit-report/lib/index.js create mode 100644 node_modules/npm/node_modules/npm-audit-report/lib/reporters/detail.js create mode 100644 node_modules/npm/node_modules/npm-audit-report/lib/reporters/install.js create mode 100644 node_modules/npm/node_modules/npm-audit-report/lib/reporters/json.js create mode 100644 node_modules/npm/node_modules/npm-audit-report/lib/reporters/quiet.js create mode 100644 node_modules/npm/node_modules/npm-audit-report/package.json create mode 100644 node_modules/npm/node_modules/npm-bundled/LICENSE create mode 100644 node_modules/npm/node_modules/npm-bundled/index.js create mode 100644 node_modules/npm/node_modules/npm-bundled/package.json create mode 100644 node_modules/npm/node_modules/npm-install-checks/LICENSE create mode 100644 node_modules/npm/node_modules/npm-install-checks/index.js create mode 100644 node_modules/npm/node_modules/npm-install-checks/package.json create mode 100644 node_modules/npm/node_modules/npm-normalize-package-bin/LICENSE create mode 100644 node_modules/npm/node_modules/npm-normalize-package-bin/index.js create mode 100644 node_modules/npm/node_modules/npm-normalize-package-bin/package-lock.json create mode 100644 node_modules/npm/node_modules/npm-normalize-package-bin/package.json create mode 100644 node_modules/npm/node_modules/npm-normalize-package-bin/test/array.js create mode 100644 node_modules/npm/node_modules/npm-normalize-package-bin/test/nobin.js create mode 100644 node_modules/npm/node_modules/npm-normalize-package-bin/test/object.js create mode 100644 node_modules/npm/node_modules/npm-normalize-package-bin/test/string.js create mode 100644 node_modules/npm/node_modules/npm-package-arg/LICENSE create mode 100644 node_modules/npm/node_modules/npm-package-arg/npa.js create mode 100644 node_modules/npm/node_modules/npm-package-arg/package.json create mode 100644 node_modules/npm/node_modules/npm-packlist/LICENSE create mode 100644 node_modules/npm/node_modules/npm-packlist/README.md create mode 100755 node_modules/npm/node_modules/npm-packlist/bin/index.js create mode 100644 node_modules/npm/node_modules/npm-packlist/index.js create mode 100644 node_modules/npm/node_modules/npm-packlist/package.json create mode 100644 node_modules/npm/node_modules/npm-pick-manifest/LICENSE.md create mode 100644 node_modules/npm/node_modules/npm-pick-manifest/index.js create mode 100644 node_modules/npm/node_modules/npm-pick-manifest/package.json create mode 100644 node_modules/npm/node_modules/npm-profile/LICENSE.md create mode 100644 node_modules/npm/node_modules/npm-profile/lib/index.js create mode 100644 node_modules/npm/node_modules/npm-profile/package.json create mode 100644 node_modules/npm/node_modules/npm-registry-fetch/LICENSE.md create mode 100644 node_modules/npm/node_modules/npm-registry-fetch/lib/auth.js create mode 100644 node_modules/npm/node_modules/npm-registry-fetch/lib/check-response.js create mode 100644 node_modules/npm/node_modules/npm-registry-fetch/lib/default-opts.js create mode 100644 node_modules/npm/node_modules/npm-registry-fetch/lib/errors.js create mode 100644 node_modules/npm/node_modules/npm-registry-fetch/lib/index.js create mode 100644 node_modules/npm/node_modules/npm-registry-fetch/lib/silentlog.js create mode 100644 node_modules/npm/node_modules/npm-registry-fetch/package.json create mode 100644 node_modules/npm/node_modules/npm-user-validate/LICENSE create mode 100644 node_modules/npm/node_modules/npm-user-validate/npm-user-validate.js create mode 100644 node_modules/npm/node_modules/npm-user-validate/package.json create mode 100644 node_modules/npm/node_modules/npmlog/LICENSE.md create mode 100644 node_modules/npm/node_modules/npmlog/lib/log.js create mode 100644 node_modules/npm/node_modules/npmlog/package.json create mode 100644 node_modules/npm/node_modules/once/LICENSE create mode 100644 node_modules/npm/node_modules/once/once.js create mode 100644 node_modules/npm/node_modules/once/package.json create mode 100644 node_modules/npm/node_modules/opener/LICENSE.txt create mode 100644 node_modules/npm/node_modules/opener/README.md create mode 100755 node_modules/npm/node_modules/opener/bin/opener-bin.js create mode 100644 node_modules/npm/node_modules/opener/lib/opener.js create mode 100644 node_modules/npm/node_modules/opener/package.json create mode 100644 node_modules/npm/node_modules/p-map/index.d.ts create mode 100644 node_modules/npm/node_modules/p-map/index.js create mode 100644 node_modules/npm/node_modules/p-map/license create mode 100644 node_modules/npm/node_modules/p-map/package.json create mode 100644 node_modules/npm/node_modules/p-map/readme.md create mode 100644 node_modules/npm/node_modules/pacote/LICENSE create mode 100644 node_modules/npm/node_modules/pacote/README.md create mode 100755 node_modules/npm/node_modules/pacote/lib/bin.js create mode 100644 node_modules/npm/node_modules/pacote/lib/dir.js create mode 100644 node_modules/npm/node_modules/pacote/lib/fetcher.js create mode 100644 node_modules/npm/node_modules/pacote/lib/file.js create mode 100644 node_modules/npm/node_modules/pacote/lib/git.js create mode 100644 node_modules/npm/node_modules/pacote/lib/index.js create mode 100644 node_modules/npm/node_modules/pacote/lib/registry.js create mode 100644 node_modules/npm/node_modules/pacote/lib/remote.js create mode 100644 node_modules/npm/node_modules/pacote/lib/util/add-git-sha.js create mode 100644 node_modules/npm/node_modules/pacote/lib/util/cache-dir.js create mode 100644 node_modules/npm/node_modules/pacote/lib/util/is-package-bin.js create mode 100644 node_modules/npm/node_modules/pacote/lib/util/npm.js create mode 100644 node_modules/npm/node_modules/pacote/lib/util/proc-log.js create mode 100644 node_modules/npm/node_modules/pacote/lib/util/tar-create-options.js create mode 100644 node_modules/npm/node_modules/pacote/package.json create mode 100644 node_modules/npm/node_modules/parse-conflict-json/LICENSE.md create mode 100644 node_modules/npm/node_modules/parse-conflict-json/lib/index.js create mode 100644 node_modules/npm/node_modules/parse-conflict-json/package.json create mode 100644 node_modules/npm/node_modules/path-is-absolute/index.js create mode 100644 node_modules/npm/node_modules/path-is-absolute/license create mode 100644 node_modules/npm/node_modules/path-is-absolute/package.json create mode 100644 node_modules/npm/node_modules/path-is-absolute/readme.md create mode 100644 node_modules/npm/node_modules/proc-log/LICENSE create mode 100644 node_modules/npm/node_modules/proc-log/index.js create mode 100644 node_modules/npm/node_modules/proc-log/package.json create mode 100644 node_modules/npm/node_modules/promise-all-reject-late/LICENSE create mode 100644 node_modules/npm/node_modules/promise-all-reject-late/index.js create mode 100644 node_modules/npm/node_modules/promise-all-reject-late/package-lock.json create mode 100644 node_modules/npm/node_modules/promise-all-reject-late/package.json create mode 100644 node_modules/npm/node_modules/promise-all-reject-late/test/index.js create mode 100644 node_modules/npm/node_modules/promise-call-limit/LICENSE create mode 100644 node_modules/npm/node_modules/promise-call-limit/index.js create mode 100644 node_modules/npm/node_modules/promise-call-limit/package.json create mode 100644 node_modules/npm/node_modules/promise-inflight/LICENSE create mode 100644 node_modules/npm/node_modules/promise-inflight/inflight.js create mode 100644 node_modules/npm/node_modules/promise-inflight/package.json create mode 100644 node_modules/npm/node_modules/promise-retry/LICENSE create mode 100644 node_modules/npm/node_modules/promise-retry/index.js create mode 100644 node_modules/npm/node_modules/promise-retry/package.json create mode 100644 node_modules/npm/node_modules/promise-retry/test/test.js create mode 100644 node_modules/npm/node_modules/promzard/LICENSE create mode 100644 node_modules/npm/node_modules/promzard/example/buffer.js create mode 100644 node_modules/npm/node_modules/promzard/example/index.js create mode 100644 node_modules/npm/node_modules/promzard/example/npm-init/init-input.js create mode 100644 node_modules/npm/node_modules/promzard/example/npm-init/init.js create mode 100644 node_modules/npm/node_modules/promzard/example/npm-init/package.json create mode 100644 node_modules/npm/node_modules/promzard/example/substack-input.js create mode 100644 node_modules/npm/node_modules/promzard/package.json create mode 100644 node_modules/npm/node_modules/promzard/promzard.js create mode 100644 node_modules/npm/node_modules/promzard/test/basic.js create mode 100644 node_modules/npm/node_modules/promzard/test/buffer.js create mode 100644 node_modules/npm/node_modules/promzard/test/exports.input create mode 100644 node_modules/npm/node_modules/promzard/test/exports.js create mode 100644 node_modules/npm/node_modules/promzard/test/fn.input create mode 100644 node_modules/npm/node_modules/promzard/test/fn.js create mode 100644 node_modules/npm/node_modules/promzard/test/simple.input create mode 100644 node_modules/npm/node_modules/promzard/test/simple.js create mode 100644 node_modules/npm/node_modules/promzard/test/validate.input create mode 100644 node_modules/npm/node_modules/promzard/test/validate.js create mode 100644 node_modules/npm/node_modules/qrcode-terminal/.travis.yml create mode 100644 node_modules/npm/node_modules/qrcode-terminal/LICENSE create mode 100644 node_modules/npm/node_modules/qrcode-terminal/README.md create mode 100755 node_modules/npm/node_modules/qrcode-terminal/bin/qrcode-terminal.js create mode 100644 node_modules/npm/node_modules/qrcode-terminal/example/basic.js create mode 100644 node_modules/npm/node_modules/qrcode-terminal/example/basic.png create mode 100644 node_modules/npm/node_modules/qrcode-terminal/example/callback.js create mode 100644 node_modules/npm/node_modules/qrcode-terminal/example/small-qrcode.js create mode 100644 node_modules/npm/node_modules/qrcode-terminal/lib/main.js create mode 100644 node_modules/npm/node_modules/qrcode-terminal/package.json create mode 100644 node_modules/npm/node_modules/qrcode-terminal/test/main.js create mode 100644 node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QR8bitByte.js create mode 100644 node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QRBitBuffer.js create mode 100644 node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js create mode 100644 node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QRMaskPattern.js create mode 100644 node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QRMath.js create mode 100644 node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QRMode.js create mode 100644 node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QRPolynomial.js create mode 100644 node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QRRSBlock.js create mode 100644 node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/QRUtil.js create mode 100644 node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/index.js create mode 100644 node_modules/npm/node_modules/read-cmd-shim/LICENSE create mode 100644 node_modules/npm/node_modules/read-cmd-shim/index.js create mode 100644 node_modules/npm/node_modules/read-cmd-shim/package.json create mode 100644 node_modules/npm/node_modules/read-package-json-fast/LICENSE create mode 100644 node_modules/npm/node_modules/read-package-json-fast/index.js create mode 100644 node_modules/npm/node_modules/read-package-json-fast/package.json create mode 100644 node_modules/npm/node_modules/read-package-json/LICENSE create mode 100644 node_modules/npm/node_modules/read-package-json/package.json create mode 100644 node_modules/npm/node_modules/read-package-json/read-json.js create mode 100644 node_modules/npm/node_modules/read/LICENSE create mode 100644 node_modules/npm/node_modules/read/lib/read.js create mode 100644 node_modules/npm/node_modules/read/package.json create mode 100644 node_modules/npm/node_modules/readable-stream/CONTRIBUTING.md create mode 100644 node_modules/npm/node_modules/readable-stream/GOVERNANCE.md create mode 100644 node_modules/npm/node_modules/readable-stream/LICENSE create mode 100644 node_modules/npm/node_modules/readable-stream/errors-browser.js create mode 100644 node_modules/npm/node_modules/readable-stream/errors.js create mode 100644 node_modules/npm/node_modules/readable-stream/experimentalWarning.js create mode 100644 node_modules/npm/node_modules/readable-stream/lib/_stream_duplex.js create mode 100644 node_modules/npm/node_modules/readable-stream/lib/_stream_passthrough.js create mode 100644 node_modules/npm/node_modules/readable-stream/lib/_stream_readable.js create mode 100644 node_modules/npm/node_modules/readable-stream/lib/_stream_transform.js create mode 100644 node_modules/npm/node_modules/readable-stream/lib/_stream_writable.js create mode 100644 node_modules/npm/node_modules/readable-stream/lib/internal/streams/async_iterator.js create mode 100644 node_modules/npm/node_modules/readable-stream/lib/internal/streams/buffer_list.js create mode 100644 node_modules/npm/node_modules/readable-stream/lib/internal/streams/destroy.js create mode 100644 node_modules/npm/node_modules/readable-stream/lib/internal/streams/end-of-stream.js create mode 100644 node_modules/npm/node_modules/readable-stream/lib/internal/streams/from-browser.js create mode 100644 node_modules/npm/node_modules/readable-stream/lib/internal/streams/from.js create mode 100644 node_modules/npm/node_modules/readable-stream/lib/internal/streams/pipeline.js create mode 100644 node_modules/npm/node_modules/readable-stream/lib/internal/streams/state.js create mode 100644 node_modules/npm/node_modules/readable-stream/lib/internal/streams/stream-browser.js create mode 100644 node_modules/npm/node_modules/readable-stream/lib/internal/streams/stream.js create mode 100644 node_modules/npm/node_modules/readable-stream/package.json create mode 100644 node_modules/npm/node_modules/readable-stream/readable-browser.js create mode 100644 node_modules/npm/node_modules/readable-stream/readable.js create mode 100644 node_modules/npm/node_modules/readdir-scoped-modules/LICENSE create mode 100644 node_modules/npm/node_modules/readdir-scoped-modules/package.json create mode 100644 node_modules/npm/node_modules/readdir-scoped-modules/readdir.js create mode 100644 node_modules/npm/node_modules/retry/License create mode 100644 node_modules/npm/node_modules/retry/Makefile create mode 100644 node_modules/npm/node_modules/retry/equation.gif create mode 100644 node_modules/npm/node_modules/retry/example/dns.js create mode 100644 node_modules/npm/node_modules/retry/example/stop.js create mode 100644 node_modules/npm/node_modules/retry/index.js create mode 100644 node_modules/npm/node_modules/retry/lib/retry.js create mode 100644 node_modules/npm/node_modules/retry/lib/retry_operation.js create mode 100644 node_modules/npm/node_modules/retry/package.json create mode 100644 node_modules/npm/node_modules/retry/test/common.js create mode 100644 node_modules/npm/node_modules/retry/test/integration/test-forever.js create mode 100644 node_modules/npm/node_modules/retry/test/integration/test-retry-operation.js create mode 100644 node_modules/npm/node_modules/retry/test/integration/test-retry-wrap.js create mode 100644 node_modules/npm/node_modules/retry/test/integration/test-timeouts.js create mode 100644 node_modules/npm/node_modules/rimraf/CHANGELOG.md create mode 100644 node_modules/npm/node_modules/rimraf/LICENSE create mode 100644 node_modules/npm/node_modules/rimraf/README.md create mode 100755 node_modules/npm/node_modules/rimraf/bin.js create mode 100644 node_modules/npm/node_modules/rimraf/package.json create mode 100644 node_modules/npm/node_modules/rimraf/rimraf.js create mode 100644 node_modules/npm/node_modules/safe-buffer/LICENSE create mode 100644 node_modules/npm/node_modules/safe-buffer/index.d.ts create mode 100644 node_modules/npm/node_modules/safe-buffer/index.js create mode 100644 node_modules/npm/node_modules/safe-buffer/package.json create mode 100644 node_modules/npm/node_modules/safer-buffer/LICENSE create mode 100644 node_modules/npm/node_modules/safer-buffer/Porting-Buffer.md create mode 100644 node_modules/npm/node_modules/safer-buffer/Readme.md create mode 100644 node_modules/npm/node_modules/safer-buffer/dangerous.js create mode 100644 node_modules/npm/node_modules/safer-buffer/package.json create mode 100644 node_modules/npm/node_modules/safer-buffer/safer.js create mode 100644 node_modules/npm/node_modules/safer-buffer/tests.js create mode 100644 node_modules/npm/node_modules/semver/CHANGELOG.md create mode 100644 node_modules/npm/node_modules/semver/LICENSE create mode 100644 node_modules/npm/node_modules/semver/README.md create mode 100755 node_modules/npm/node_modules/semver/bin/semver.js create mode 100644 node_modules/npm/node_modules/semver/classes/comparator.js create mode 100644 node_modules/npm/node_modules/semver/classes/index.js create mode 100644 node_modules/npm/node_modules/semver/classes/range.js create mode 100644 node_modules/npm/node_modules/semver/classes/semver.js create mode 100644 node_modules/npm/node_modules/semver/functions/clean.js create mode 100644 node_modules/npm/node_modules/semver/functions/cmp.js create mode 100644 node_modules/npm/node_modules/semver/functions/coerce.js create mode 100644 node_modules/npm/node_modules/semver/functions/compare-build.js create mode 100644 node_modules/npm/node_modules/semver/functions/compare-loose.js create mode 100644 node_modules/npm/node_modules/semver/functions/compare.js create mode 100644 node_modules/npm/node_modules/semver/functions/diff.js create mode 100644 node_modules/npm/node_modules/semver/functions/eq.js create mode 100644 node_modules/npm/node_modules/semver/functions/gt.js create mode 100644 node_modules/npm/node_modules/semver/functions/gte.js create mode 100644 node_modules/npm/node_modules/semver/functions/inc.js create mode 100644 node_modules/npm/node_modules/semver/functions/lt.js create mode 100644 node_modules/npm/node_modules/semver/functions/lte.js create mode 100644 node_modules/npm/node_modules/semver/functions/major.js create mode 100644 node_modules/npm/node_modules/semver/functions/minor.js create mode 100644 node_modules/npm/node_modules/semver/functions/neq.js create mode 100644 node_modules/npm/node_modules/semver/functions/parse.js create mode 100644 node_modules/npm/node_modules/semver/functions/patch.js create mode 100644 node_modules/npm/node_modules/semver/functions/prerelease.js create mode 100644 node_modules/npm/node_modules/semver/functions/rcompare.js create mode 100644 node_modules/npm/node_modules/semver/functions/rsort.js create mode 100644 node_modules/npm/node_modules/semver/functions/satisfies.js create mode 100644 node_modules/npm/node_modules/semver/functions/sort.js create mode 100644 node_modules/npm/node_modules/semver/functions/valid.js create mode 100644 node_modules/npm/node_modules/semver/index.js create mode 100644 node_modules/npm/node_modules/semver/internal/constants.js create mode 100644 node_modules/npm/node_modules/semver/internal/debug.js create mode 100644 node_modules/npm/node_modules/semver/internal/identifiers.js create mode 100644 node_modules/npm/node_modules/semver/internal/parse-options.js create mode 100644 node_modules/npm/node_modules/semver/internal/re.js create mode 100644 node_modules/npm/node_modules/semver/package.json create mode 100644 node_modules/npm/node_modules/semver/preload.js create mode 100644 node_modules/npm/node_modules/semver/range.bnf create mode 100644 node_modules/npm/node_modules/semver/ranges/gtr.js create mode 100644 node_modules/npm/node_modules/semver/ranges/intersects.js create mode 100644 node_modules/npm/node_modules/semver/ranges/ltr.js create mode 100644 node_modules/npm/node_modules/semver/ranges/max-satisfying.js create mode 100644 node_modules/npm/node_modules/semver/ranges/min-satisfying.js create mode 100644 node_modules/npm/node_modules/semver/ranges/min-version.js create mode 100644 node_modules/npm/node_modules/semver/ranges/outside.js create mode 100644 node_modules/npm/node_modules/semver/ranges/simplify.js create mode 100644 node_modules/npm/node_modules/semver/ranges/subset.js create mode 100644 node_modules/npm/node_modules/semver/ranges/to-comparators.js create mode 100644 node_modules/npm/node_modules/semver/ranges/valid.js create mode 100644 node_modules/npm/node_modules/set-blocking/LICENSE.txt create mode 100644 node_modules/npm/node_modules/set-blocking/index.js create mode 100644 node_modules/npm/node_modules/set-blocking/package.json create mode 100644 node_modules/npm/node_modules/signal-exit/LICENSE.txt create mode 100644 node_modules/npm/node_modules/signal-exit/index.js create mode 100644 node_modules/npm/node_modules/signal-exit/package.json create mode 100644 node_modules/npm/node_modules/signal-exit/signals.js create mode 100644 node_modules/npm/node_modules/smart-buffer/LICENSE create mode 100644 node_modules/npm/node_modules/smart-buffer/build/smartbuffer.js create mode 100644 node_modules/npm/node_modules/smart-buffer/build/smartbuffer.js.map create mode 100644 node_modules/npm/node_modules/smart-buffer/build/utils.js create mode 100644 node_modules/npm/node_modules/smart-buffer/build/utils.js.map create mode 100644 node_modules/npm/node_modules/smart-buffer/docs/ROADMAP.md create mode 100644 node_modules/npm/node_modules/smart-buffer/package.json create mode 100644 node_modules/npm/node_modules/smart-buffer/typings/smartbuffer.d.ts create mode 100644 node_modules/npm/node_modules/smart-buffer/typings/utils.d.ts create mode 100644 node_modules/npm/node_modules/socks-proxy-agent/dist/agent.d.ts create mode 100644 node_modules/npm/node_modules/socks-proxy-agent/dist/agent.js create mode 100644 node_modules/npm/node_modules/socks-proxy-agent/dist/agent.js.map create mode 100644 node_modules/npm/node_modules/socks-proxy-agent/dist/index.d.ts create mode 100644 node_modules/npm/node_modules/socks-proxy-agent/dist/index.js create mode 100644 node_modules/npm/node_modules/socks-proxy-agent/dist/index.js.map create mode 100644 node_modules/npm/node_modules/socks-proxy-agent/package.json create mode 100644 node_modules/npm/node_modules/socks/LICENSE create mode 100644 node_modules/npm/node_modules/socks/build/client/socksclient.js create mode 100644 node_modules/npm/node_modules/socks/build/client/socksclient.js.map create mode 100644 node_modules/npm/node_modules/socks/build/common/constants.js create mode 100644 node_modules/npm/node_modules/socks/build/common/constants.js.map create mode 100644 node_modules/npm/node_modules/socks/build/common/helpers.js create mode 100644 node_modules/npm/node_modules/socks/build/common/helpers.js.map create mode 100644 node_modules/npm/node_modules/socks/build/common/receivebuffer.js create mode 100644 node_modules/npm/node_modules/socks/build/common/receivebuffer.js.map create mode 100644 node_modules/npm/node_modules/socks/build/common/util.js create mode 100644 node_modules/npm/node_modules/socks/build/common/util.js.map create mode 100644 node_modules/npm/node_modules/socks/build/index.js create mode 100644 node_modules/npm/node_modules/socks/build/index.js.map create mode 100644 node_modules/npm/node_modules/socks/docs/examples/index.md create mode 100644 node_modules/npm/node_modules/socks/docs/examples/javascript/associateExample.md create mode 100644 node_modules/npm/node_modules/socks/docs/examples/javascript/bindExample.md create mode 100644 node_modules/npm/node_modules/socks/docs/examples/javascript/connectExample.md create mode 100644 node_modules/npm/node_modules/socks/docs/examples/typescript/associateExample.md create mode 100644 node_modules/npm/node_modules/socks/docs/examples/typescript/bindExample.md create mode 100644 node_modules/npm/node_modules/socks/docs/examples/typescript/connectExample.md create mode 100644 node_modules/npm/node_modules/socks/docs/index.md create mode 100644 node_modules/npm/node_modules/socks/docs/migratingFromV1.md create mode 100644 node_modules/npm/node_modules/socks/package.json create mode 100644 node_modules/npm/node_modules/socks/typings/client/socksclient.d.ts create mode 100644 node_modules/npm/node_modules/socks/typings/common/constants.d.ts create mode 100644 node_modules/npm/node_modules/socks/typings/common/helpers.d.ts create mode 100644 node_modules/npm/node_modules/socks/typings/common/receivebuffer.d.ts create mode 100644 node_modules/npm/node_modules/socks/typings/common/util.d.ts create mode 100644 node_modules/npm/node_modules/socks/typings/index.d.ts create mode 100644 node_modules/npm/node_modules/spdx-correct/LICENSE create mode 100644 node_modules/npm/node_modules/spdx-correct/index.js create mode 100644 node_modules/npm/node_modules/spdx-correct/package.json create mode 100644 node_modules/npm/node_modules/spdx-exceptions/index.json create mode 100644 node_modules/npm/node_modules/spdx-exceptions/package.json create mode 100644 node_modules/npm/node_modules/spdx-expression-parse/AUTHORS create mode 100644 node_modules/npm/node_modules/spdx-expression-parse/LICENSE create mode 100644 node_modules/npm/node_modules/spdx-expression-parse/index.js create mode 100644 node_modules/npm/node_modules/spdx-expression-parse/package.json create mode 100644 node_modules/npm/node_modules/spdx-expression-parse/parse.js create mode 100644 node_modules/npm/node_modules/spdx-expression-parse/scan.js create mode 100644 node_modules/npm/node_modules/spdx-license-ids/deprecated.json create mode 100644 node_modules/npm/node_modules/spdx-license-ids/index.json create mode 100644 node_modules/npm/node_modules/spdx-license-ids/package.json create mode 100644 node_modules/npm/node_modules/ssri/LICENSE.md create mode 100644 node_modules/npm/node_modules/ssri/index.js create mode 100644 node_modules/npm/node_modules/ssri/package.json create mode 100644 node_modules/npm/node_modules/string-width/index.js create mode 100644 node_modules/npm/node_modules/string-width/license create mode 100644 node_modules/npm/node_modules/string-width/node_modules/ansi-regex/index.js create mode 100644 node_modules/npm/node_modules/string-width/node_modules/ansi-regex/license create mode 100644 node_modules/npm/node_modules/string-width/node_modules/ansi-regex/package.json create mode 100644 node_modules/npm/node_modules/string-width/node_modules/ansi-regex/readme.md create mode 100644 node_modules/npm/node_modules/string-width/node_modules/strip-ansi/index.js create mode 100644 node_modules/npm/node_modules/string-width/node_modules/strip-ansi/license create mode 100644 node_modules/npm/node_modules/string-width/node_modules/strip-ansi/package.json create mode 100644 node_modules/npm/node_modules/string-width/node_modules/strip-ansi/readme.md create mode 100644 node_modules/npm/node_modules/string-width/package.json create mode 100644 node_modules/npm/node_modules/string-width/readme.md create mode 100644 node_modules/npm/node_modules/string_decoder/LICENSE create mode 100644 node_modules/npm/node_modules/string_decoder/lib/string_decoder.js create mode 100644 node_modules/npm/node_modules/string_decoder/package.json create mode 100644 node_modules/npm/node_modules/stringify-package/LICENSE create mode 100644 node_modules/npm/node_modules/stringify-package/index.js create mode 100644 node_modules/npm/node_modules/stringify-package/package.json create mode 100644 node_modules/npm/node_modules/strip-ansi/index.js create mode 100644 node_modules/npm/node_modules/strip-ansi/license create mode 100644 node_modules/npm/node_modules/strip-ansi/package.json create mode 100644 node_modules/npm/node_modules/strip-ansi/readme.md create mode 100644 node_modules/npm/node_modules/supports-color/browser.js create mode 100644 node_modules/npm/node_modules/supports-color/index.js create mode 100644 node_modules/npm/node_modules/supports-color/license create mode 100644 node_modules/npm/node_modules/supports-color/package.json create mode 100644 node_modules/npm/node_modules/supports-color/readme.md create mode 100644 node_modules/npm/node_modules/tar/LICENSE create mode 100644 node_modules/npm/node_modules/tar/index.js create mode 100644 node_modules/npm/node_modules/tar/lib/create.js create mode 100644 node_modules/npm/node_modules/tar/lib/extract.js create mode 100644 node_modules/npm/node_modules/tar/lib/get-write-flag.js create mode 100644 node_modules/npm/node_modules/tar/lib/header.js create mode 100644 node_modules/npm/node_modules/tar/lib/high-level-opt.js create mode 100644 node_modules/npm/node_modules/tar/lib/large-numbers.js create mode 100644 node_modules/npm/node_modules/tar/lib/list.js create mode 100644 node_modules/npm/node_modules/tar/lib/mkdir.js create mode 100644 node_modules/npm/node_modules/tar/lib/mode-fix.js create mode 100644 node_modules/npm/node_modules/tar/lib/normalize-unicode.js create mode 100644 node_modules/npm/node_modules/tar/lib/normalize-windows-path.js create mode 100644 node_modules/npm/node_modules/tar/lib/pack.js create mode 100644 node_modules/npm/node_modules/tar/lib/parse.js create mode 100644 node_modules/npm/node_modules/tar/lib/path-reservations.js create mode 100644 node_modules/npm/node_modules/tar/lib/pax.js create mode 100644 node_modules/npm/node_modules/tar/lib/read-entry.js create mode 100644 node_modules/npm/node_modules/tar/lib/replace.js create mode 100644 node_modules/npm/node_modules/tar/lib/strip-absolute-path.js create mode 100644 node_modules/npm/node_modules/tar/lib/strip-trailing-slashes.js create mode 100644 node_modules/npm/node_modules/tar/lib/types.js create mode 100644 node_modules/npm/node_modules/tar/lib/unpack.js create mode 100644 node_modules/npm/node_modules/tar/lib/update.js create mode 100644 node_modules/npm/node_modules/tar/lib/warn-mixin.js create mode 100644 node_modules/npm/node_modules/tar/lib/winchars.js create mode 100644 node_modules/npm/node_modules/tar/lib/write-entry.js create mode 100644 node_modules/npm/node_modules/tar/package.json create mode 100644 node_modules/npm/node_modules/text-table/LICENSE create mode 100644 node_modules/npm/node_modules/text-table/example/align.js create mode 100644 node_modules/npm/node_modules/text-table/example/center.js create mode 100644 node_modules/npm/node_modules/text-table/example/dotalign.js create mode 100644 node_modules/npm/node_modules/text-table/example/doubledot.js create mode 100644 node_modules/npm/node_modules/text-table/example/table.js create mode 100644 node_modules/npm/node_modules/text-table/index.js create mode 100644 node_modules/npm/node_modules/text-table/package.json create mode 100644 node_modules/npm/node_modules/text-table/readme.markdown create mode 100644 node_modules/npm/node_modules/text-table/test/align.js create mode 100644 node_modules/npm/node_modules/text-table/test/ansi-colors.js create mode 100644 node_modules/npm/node_modules/text-table/test/center.js create mode 100644 node_modules/npm/node_modules/text-table/test/dotalign.js create mode 100644 node_modules/npm/node_modules/text-table/test/doubledot.js create mode 100644 node_modules/npm/node_modules/text-table/test/table.js create mode 100644 node_modules/npm/node_modules/tiny-relative-date/LICENSE.md create mode 100644 node_modules/npm/node_modules/tiny-relative-date/lib/factory.js create mode 100644 node_modules/npm/node_modules/tiny-relative-date/lib/index.js create mode 100644 node_modules/npm/node_modules/tiny-relative-date/package.json create mode 100644 node_modules/npm/node_modules/tiny-relative-date/src/factory.js create mode 100644 node_modules/npm/node_modules/tiny-relative-date/src/index.js create mode 100644 node_modules/npm/node_modules/tiny-relative-date/translations/da.js create mode 100644 node_modules/npm/node_modules/tiny-relative-date/translations/de.js create mode 100644 node_modules/npm/node_modules/tiny-relative-date/translations/en-short.js create mode 100644 node_modules/npm/node_modules/tiny-relative-date/translations/en.js create mode 100644 node_modules/npm/node_modules/tiny-relative-date/translations/es.js create mode 100644 node_modules/npm/node_modules/treeverse/LICENSE create mode 100644 node_modules/npm/node_modules/treeverse/index.js create mode 100644 node_modules/npm/node_modules/treeverse/lib/breadth.js create mode 100644 node_modules/npm/node_modules/treeverse/lib/depth-descent.js create mode 100644 node_modules/npm/node_modules/treeverse/lib/depth.js create mode 100644 node_modules/npm/node_modules/treeverse/package.json create mode 100644 node_modules/npm/node_modules/typedarray-to-buffer/LICENSE create mode 100644 node_modules/npm/node_modules/typedarray-to-buffer/index.js create mode 100644 node_modules/npm/node_modules/typedarray-to-buffer/package.json create mode 100644 node_modules/npm/node_modules/unique-filename/LICENSE create mode 100644 node_modules/npm/node_modules/unique-filename/coverage/__root__/index.html create mode 100644 node_modules/npm/node_modules/unique-filename/coverage/__root__/index.js.html create mode 100644 node_modules/npm/node_modules/unique-filename/coverage/base.css create mode 100644 node_modules/npm/node_modules/unique-filename/coverage/index.html create mode 100644 node_modules/npm/node_modules/unique-filename/coverage/prettify.css create mode 100644 node_modules/npm/node_modules/unique-filename/coverage/prettify.js create mode 100644 node_modules/npm/node_modules/unique-filename/coverage/sort-arrow-sprite.png create mode 100644 node_modules/npm/node_modules/unique-filename/coverage/sorter.js create mode 100644 node_modules/npm/node_modules/unique-filename/index.js create mode 100644 node_modules/npm/node_modules/unique-filename/package.json create mode 100644 node_modules/npm/node_modules/unique-filename/test/index.js create mode 100644 node_modules/npm/node_modules/unique-slug/LICENSE create mode 100644 node_modules/npm/node_modules/unique-slug/index.js create mode 100644 node_modules/npm/node_modules/unique-slug/package.json create mode 100644 node_modules/npm/node_modules/unique-slug/test/index.js create mode 100644 node_modules/npm/node_modules/util-deprecate/History.md create mode 100644 node_modules/npm/node_modules/util-deprecate/LICENSE create mode 100644 node_modules/npm/node_modules/util-deprecate/browser.js create mode 100644 node_modules/npm/node_modules/util-deprecate/node.js create mode 100644 node_modules/npm/node_modules/util-deprecate/package.json create mode 100644 node_modules/npm/node_modules/validate-npm-package-license/LICENSE create mode 100644 node_modules/npm/node_modules/validate-npm-package-license/index.js create mode 100644 node_modules/npm/node_modules/validate-npm-package-license/package.json create mode 100644 node_modules/npm/node_modules/validate-npm-package-name/LICENSE create mode 100644 node_modules/npm/node_modules/validate-npm-package-name/index.js create mode 100644 node_modules/npm/node_modules/validate-npm-package-name/package.json create mode 100644 node_modules/npm/node_modules/validate-npm-package-name/test/index.js create mode 100644 node_modules/npm/node_modules/walk-up-path/LICENSE create mode 100644 node_modules/npm/node_modules/walk-up-path/index.js create mode 100644 node_modules/npm/node_modules/walk-up-path/package.json create mode 100644 node_modules/npm/node_modules/wcwidth/LICENSE create mode 100644 node_modules/npm/node_modules/wcwidth/Readme.md create mode 100644 node_modules/npm/node_modules/wcwidth/combining.js create mode 100644 node_modules/npm/node_modules/wcwidth/docs/index.md create mode 100644 node_modules/npm/node_modules/wcwidth/index.js create mode 100644 node_modules/npm/node_modules/wcwidth/package.json create mode 100644 node_modules/npm/node_modules/wcwidth/test/index.js create mode 100644 node_modules/npm/node_modules/which/CHANGELOG.md create mode 100644 node_modules/npm/node_modules/which/LICENSE create mode 100644 node_modules/npm/node_modules/which/README.md create mode 100755 node_modules/npm/node_modules/which/bin/node-which create mode 100644 node_modules/npm/node_modules/which/package.json create mode 100644 node_modules/npm/node_modules/which/which.js create mode 100755 node_modules/npm/node_modules/wide-align/LICENSE create mode 100755 node_modules/npm/node_modules/wide-align/align.js create mode 100755 node_modules/npm/node_modules/wide-align/package.json create mode 100644 node_modules/npm/node_modules/wrappy/LICENSE create mode 100644 node_modules/npm/node_modules/wrappy/package.json create mode 100644 node_modules/npm/node_modules/wrappy/wrappy.js create mode 100644 node_modules/npm/node_modules/write-file-atomic/LICENSE.md create mode 100644 node_modules/npm/node_modules/write-file-atomic/lib/index.js create mode 100644 node_modules/npm/node_modules/write-file-atomic/package.json create mode 100644 node_modules/npm/node_modules/yallist/LICENSE create mode 100644 node_modules/npm/node_modules/yallist/iterator.js create mode 100644 node_modules/npm/node_modules/yallist/package.json create mode 100644 node_modules/npm/node_modules/yallist/yallist.js create mode 100644 node_modules/npm/package.json create mode 100644 node_modules/tr46/.npmignore create mode 100644 node_modules/tr46/index.js create mode 100644 node_modules/tr46/lib/.gitkeep create mode 100644 node_modules/tr46/lib/mappingTable.json create mode 100644 node_modules/tr46/package.json create mode 100644 node_modules/ts-mixer/CHANGELOG.md create mode 100644 node_modules/ts-mixer/LICENSE create mode 100644 node_modules/ts-mixer/README.md create mode 100644 node_modules/ts-mixer/dist/cjs/decorator.js create mode 100644 node_modules/ts-mixer/dist/cjs/index.js create mode 100644 node_modules/ts-mixer/dist/cjs/mixin-tracking.js create mode 100644 node_modules/ts-mixer/dist/cjs/mixins.js create mode 100644 node_modules/ts-mixer/dist/cjs/proxy.js create mode 100644 node_modules/ts-mixer/dist/cjs/settings.js create mode 100644 node_modules/ts-mixer/dist/cjs/types.js create mode 100644 node_modules/ts-mixer/dist/cjs/util.js create mode 100644 node_modules/ts-mixer/dist/esm/index.js create mode 100644 node_modules/ts-mixer/dist/esm/index.min.js create mode 100644 node_modules/ts-mixer/dist/types/decorator.d.ts create mode 100644 node_modules/ts-mixer/dist/types/index.d.ts create mode 100644 node_modules/ts-mixer/dist/types/mixin-tracking.d.ts create mode 100644 node_modules/ts-mixer/dist/types/mixins.d.ts create mode 100644 node_modules/ts-mixer/dist/types/proxy.d.ts create mode 100644 node_modules/ts-mixer/dist/types/settings.d.ts create mode 100644 node_modules/ts-mixer/dist/types/types.d.ts create mode 100644 node_modules/ts-mixer/dist/types/util.d.ts create mode 100644 node_modules/ts-mixer/package.json create mode 100644 node_modules/tslib/CopyrightNotice.txt create mode 100644 node_modules/tslib/LICENSE.txt create mode 100644 node_modules/tslib/README.md create mode 100644 node_modules/tslib/modules/index.js create mode 100644 node_modules/tslib/modules/package.json create mode 100644 node_modules/tslib/package.json create mode 100644 node_modules/tslib/tslib.d.ts create mode 100644 node_modules/tslib/tslib.es6.html create mode 100644 node_modules/tslib/tslib.es6.js create mode 100644 node_modules/tslib/tslib.html create mode 100644 node_modules/tslib/tslib.js create mode 100644 node_modules/webidl-conversions/LICENSE.md create mode 100644 node_modules/webidl-conversions/README.md create mode 100644 node_modules/webidl-conversions/lib/index.js create mode 100644 node_modules/webidl-conversions/package.json create mode 100644 node_modules/whatwg-url/LICENSE.txt create mode 100644 node_modules/whatwg-url/README.md create mode 100644 node_modules/whatwg-url/lib/URL-impl.js create mode 100644 node_modules/whatwg-url/lib/URL.js create mode 100644 node_modules/whatwg-url/lib/public-api.js create mode 100644 node_modules/whatwg-url/lib/url-state-machine.js create mode 100644 node_modules/whatwg-url/lib/utils.js create mode 100644 node_modules/whatwg-url/package.json create mode 100644 node_modules/ws/LICENSE create mode 100644 node_modules/ws/README.md create mode 100644 node_modules/ws/browser.js create mode 100644 node_modules/ws/index.js create mode 100644 node_modules/ws/lib/buffer-util.js create mode 100644 node_modules/ws/lib/constants.js create mode 100644 node_modules/ws/lib/event-target.js create mode 100644 node_modules/ws/lib/extension.js create mode 100644 node_modules/ws/lib/limiter.js create mode 100644 node_modules/ws/lib/permessage-deflate.js create mode 100644 node_modules/ws/lib/receiver.js create mode 100644 node_modules/ws/lib/sender.js create mode 100644 node_modules/ws/lib/stream.js create mode 100644 node_modules/ws/lib/subprotocol.js create mode 100644 node_modules/ws/lib/validation.js create mode 100644 node_modules/ws/lib/websocket-server.js create mode 100644 node_modules/ws/lib/websocket.js create mode 100644 node_modules/ws/package.json create mode 100644 node_modules/ws/wrapper.mjs create mode 100644 node_modules/zod/LICENSE create mode 100644 node_modules/zod/README.md create mode 100644 node_modules/zod/lib/ZodError.d.ts create mode 100644 node_modules/zod/lib/ZodError.d.ts.map create mode 100644 node_modules/zod/lib/ZodError.js create mode 100644 node_modules/zod/lib/ZodError.js.map create mode 100644 node_modules/zod/lib/benchmarks/index.d.ts create mode 100644 node_modules/zod/lib/benchmarks/index.d.ts.map create mode 100644 node_modules/zod/lib/benchmarks/index.js create mode 100644 node_modules/zod/lib/benchmarks/index.js.map create mode 100644 node_modules/zod/lib/benchmarks/object.d.ts create mode 100644 node_modules/zod/lib/benchmarks/object.d.ts.map create mode 100644 node_modules/zod/lib/benchmarks/object.js create mode 100644 node_modules/zod/lib/benchmarks/object.js.map create mode 100644 node_modules/zod/lib/benchmarks/string.d.ts create mode 100644 node_modules/zod/lib/benchmarks/string.d.ts.map create mode 100644 node_modules/zod/lib/benchmarks/string.js create mode 100644 node_modules/zod/lib/benchmarks/string.js.map create mode 100644 node_modules/zod/lib/benchmarks/union.d.ts create mode 100644 node_modules/zod/lib/benchmarks/union.d.ts.map create mode 100644 node_modules/zod/lib/benchmarks/union.js create mode 100644 node_modules/zod/lib/benchmarks/union.js.map create mode 100644 node_modules/zod/lib/external.d.ts create mode 100644 node_modules/zod/lib/external.d.ts.map create mode 100644 node_modules/zod/lib/external.js create mode 100644 node_modules/zod/lib/external.js.map create mode 100644 node_modules/zod/lib/helpers/errorUtil.d.ts create mode 100644 node_modules/zod/lib/helpers/errorUtil.d.ts.map create mode 100644 node_modules/zod/lib/helpers/errorUtil.js create mode 100644 node_modules/zod/lib/helpers/errorUtil.js.map create mode 100644 node_modules/zod/lib/helpers/parseUtil.d.ts create mode 100644 node_modules/zod/lib/helpers/parseUtil.d.ts.map create mode 100644 node_modules/zod/lib/helpers/parseUtil.js create mode 100644 node_modules/zod/lib/helpers/parseUtil.js.map create mode 100644 node_modules/zod/lib/helpers/partialUtil.d.ts create mode 100644 node_modules/zod/lib/helpers/partialUtil.d.ts.map create mode 100644 node_modules/zod/lib/helpers/partialUtil.js create mode 100644 node_modules/zod/lib/helpers/partialUtil.js.map create mode 100644 node_modules/zod/lib/helpers/util.d.ts create mode 100644 node_modules/zod/lib/helpers/util.d.ts.map create mode 100644 node_modules/zod/lib/helpers/util.js create mode 100644 node_modules/zod/lib/helpers/util.js.map create mode 100644 node_modules/zod/lib/index.d.ts create mode 100644 node_modules/zod/lib/index.d.ts.map create mode 100644 node_modules/zod/lib/index.js create mode 100644 node_modules/zod/lib/index.js.map create mode 100644 node_modules/zod/lib/index.mjs create mode 100644 node_modules/zod/lib/index.mjs.map create mode 100644 node_modules/zod/lib/types.d.ts create mode 100644 node_modules/zod/lib/types.d.ts.map create mode 100644 node_modules/zod/lib/types.js create mode 100644 node_modules/zod/lib/types.js.map create mode 100644 node_modules/zod/package.json create mode 100644 package-lock.json create mode 100644 package.json diff --git a/bot.js b/bot.js index e69de29..b02b31a 100644 --- a/bot.js +++ b/bot.js @@ -0,0 +1,44 @@ +const { REST } = require('@discordjs/rest'); +const { Routes } = require('discord-api-types/v9'); + +const TOKEN = process.env.TOKEN; +const GUILD = "42ctf"; + +const commands = [{ + name: 'connect', + description: 'connect to discord' +}]; + +const rest = new REST({ version: '9' }).setToken(TOKEN); + +(async () => { + try { + console.log('Started refreshing application (/) commands.'); + + await rest.put( + Routes.applicationGuildCommands(CLIENT_ID, GUILD_ID), + { body: commands }, + ); + + console.log('Successfully reloaded application (/) commands.'); + } catch (error) { + console.error(error); + } +})(); + +const { Client, Intents } = require('discord.js'); +const client = new Client({ intents: [Intents.FLAGS.GUILDS] }); + +client.on('ready', () => { + console.log(`Logged in as ${client.user.tag}!`); +}); + +client.on('interactionCreate', async interaction => { + if (!interaction.isCommand()) return; + + if (interaction.commandName === 'connect') { + await interaction.reply('OK!'); + } +}); + +client.login('token'); diff --git a/node_modules/.bin/npm b/node_modules/.bin/npm new file mode 120000 index 0000000..e804334 --- /dev/null +++ b/node_modules/.bin/npm @@ -0,0 +1 @@ +../npm/bin/npm-cli.js \ No newline at end of file diff --git a/node_modules/.bin/npx b/node_modules/.bin/npx new file mode 120000 index 0000000..6040b47 --- /dev/null +++ b/node_modules/.bin/npx @@ -0,0 +1 @@ +../npm/bin/npx-cli.js \ No newline at end of file diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json new file mode 100644 index 0000000..90c5093 --- /dev/null +++ b/node_modules/.package-lock.json @@ -0,0 +1,2637 @@ +{ + "name": "42ctfbot", + "lockfileVersion": 2, + "requires": true, + "packages": { + "node_modules/@discordjs/builders": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.11.0.tgz", + "integrity": "sha512-ZTB8yJdJKrKlq44dpWkNUrAtEJEq0gqpb7ASdv4vmq6/mZal5kOv312hQ56I/vxwMre+VIkoHquNUAfnTbiYtg==", + "dependencies": { + "@sindresorhus/is": "^4.2.0", + "discord-api-types": "^0.26.0", + "ts-mixer": "^6.0.0", + "tslib": "^2.3.1", + "zod": "^3.11.6" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@discordjs/builders/node_modules/discord-api-types": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.26.1.tgz", + "integrity": "sha512-T5PdMQ+Y1MEECYMV5wmyi9VEYPagEDEi4S0amgsszpWY0VB9JJ/hEvM6BgLhbdnKky4gfmZEXtEEtojN8ZKJQQ==", + "deprecated": "No longer supported. Install the latest release!", + "engines": { + "node": ">=12" + } + }, + "node_modules/@discordjs/collection": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.4.0.tgz", + "integrity": "sha512-zmjq+l/rV35kE6zRrwe8BHqV78JvIh2ybJeZavBi5NySjWXqN3hmmAKg7kYMMXSeiWtSsMoZ/+MQi0DiQWy2lw==", + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@discordjs/rest": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-0.3.0.tgz", + "integrity": "sha512-F9aeP3odlAlllM1ciBZLdd+adiAyBj4VaZBejj4UMj4afE2wfCkNTGvYYiRxrXUE9fN7e/BuDP2ePl0tVA2m7Q==", + "dependencies": { + "@discordjs/collection": "^0.4.0", + "@sapphire/async-queue": "^1.1.9", + "@sapphire/snowflake": "^3.0.1", + "discord-api-types": "^0.26.1", + "form-data": "^4.0.0", + "node-fetch": "^2.6.5", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/@discordjs/rest/node_modules/discord-api-types": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.26.1.tgz", + "integrity": "sha512-T5PdMQ+Y1MEECYMV5wmyi9VEYPagEDEi4S0amgsszpWY0VB9JJ/hEvM6BgLhbdnKky4gfmZEXtEEtojN8ZKJQQ==", + "deprecated": "No longer supported. Install the latest release!", + "engines": { + "node": ">=12" + } + }, + "node_modules/@sapphire/async-queue": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.2.0.tgz", + "integrity": "sha512-O5ND5Ljpef86X5oy8zXorQ754TMjWALcPSAgPBu4+76HLtDTrNoDyzU2uGE2G4A8Wv51u0MXHzGQ0WZ4GMtpIw==", + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@sapphire/snowflake": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-3.1.0.tgz", + "integrity": "sha512-K+OiqXSx4clIaXcoaghrCV56zsm3bZZ5SBpgJkgvAKegFFdETMntHviUfypjt8xVleIuDaNyQA4APOIl3BMcxg==", + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@sindresorhus/is": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.4.0.tgz", + "integrity": "sha512-QppPM/8l3Mawvh4rn9CNEYIU9bxpXUCRMaX9yUpvBk1nMKusLKpfXGDEKExKaPhLzcn3lzil7pR6rnJ11HgeRQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@types/node": { + "version": "17.0.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.18.tgz", + "integrity": "sha512-eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA==" + }, + "node_modules/@types/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==", + "dependencies": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, + "node_modules/@types/node-fetch/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/ws": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz", + "integrity": "sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/discord-api-types": { + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.27.1.tgz", + "integrity": "sha512-NhOrRs3TDx/p/e7+VCzcvtVz/Wkqa/olS82HJb2aM/oI0CLcnB+lJMXWa8wjn57XviFBcMMR0poqUMXx0IqTkQ==" + }, + "node_modules/discord.js": { + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.6.0.tgz", + "integrity": "sha512-tXNR8zgsEPxPBvGk3AQjJ9ljIIC6/LOPjzKwpwz8Y1Q2X66Vi3ZqFgRHYwnHKC0jC0F+l4LzxlhmOJsBZDNg9g==", + "dependencies": { + "@discordjs/builders": "^0.11.0", + "@discordjs/collection": "^0.4.0", + "@sapphire/async-queue": "^1.1.9", + "@types/node-fetch": "^2.5.12", + "@types/ws": "^8.2.2", + "discord-api-types": "^0.26.0", + "form-data": "^4.0.0", + "node-fetch": "^2.6.1", + "ws": "^8.4.0" + }, + "engines": { + "node": ">=16.6.0", + "npm": ">=7.0.0" + } + }, + "node_modules/discord.js/node_modules/discord-api-types": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.26.1.tgz", + "integrity": "sha512-T5PdMQ+Y1MEECYMV5wmyi9VEYPagEDEi4S0amgsszpWY0VB9JJ/hEvM6BgLhbdnKky4gfmZEXtEEtojN8ZKJQQ==", + "deprecated": "No longer supported. Install the latest release!", + "engines": { + "node": ">=12" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "dependencies": { + "mime-db": "1.51.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/npm": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-8.5.0.tgz", + "integrity": "sha512-L0yvQ8xkkM78YSZfO634auG0n4SleCa536n1rJ2uYJn6rzqyXnm6DpS2eQIq2g6b2JsA2XdZO41wkZWpsHNCAQ==", + "bundleDependencies": [ + "@isaacs/string-locale-compare", + "@npmcli/arborist", + "@npmcli/ci-detect", + "@npmcli/config", + "@npmcli/map-workspaces", + "@npmcli/package-json", + "@npmcli/run-script", + "abbrev", + "ansicolors", + "ansistyles", + "archy", + "cacache", + "chalk", + "chownr", + "cli-columns", + "cli-table3", + "columnify", + "fastest-levenshtein", + "glob", + "graceful-fs", + "hosted-git-info", + "ini", + "init-package-json", + "is-cidr", + "json-parse-even-better-errors", + "libnpmaccess", + "libnpmdiff", + "libnpmexec", + "libnpmfund", + "libnpmhook", + "libnpmorg", + "libnpmpack", + "libnpmpublish", + "libnpmsearch", + "libnpmteam", + "libnpmversion", + "make-fetch-happen", + "minipass", + "minipass-pipeline", + "mkdirp", + "mkdirp-infer-owner", + "ms", + "node-gyp", + "nopt", + "npm-audit-report", + "npm-install-checks", + "npm-package-arg", + "npm-pick-manifest", + "npm-profile", + "npm-registry-fetch", + "npm-user-validate", + "npmlog", + "opener", + "pacote", + "parse-conflict-json", + "proc-log", + "qrcode-terminal", + "read", + "read-package-json", + "read-package-json-fast", + "readdir-scoped-modules", + "rimraf", + "semver", + "ssri", + "tar", + "text-table", + "tiny-relative-date", + "treeverse", + "validate-npm-package-name", + "which", + "write-file-atomic" + ], + "dependencies": { + "@isaacs/string-locale-compare": "*", + "@npmcli/arborist": "*", + "@npmcli/ci-detect": "*", + "@npmcli/config": "*", + "@npmcli/map-workspaces": "*", + "@npmcli/package-json": "*", + "@npmcli/run-script": "*", + "abbrev": "*", + "ansicolors": "*", + "ansistyles": "*", + "archy": "*", + "cacache": "*", + "chalk": "*", + "chownr": "*", + "cli-columns": "*", + "cli-table3": "*", + "columnify": "*", + "fastest-levenshtein": "*", + "glob": "*", + "graceful-fs": "*", + "hosted-git-info": "*", + "ini": "*", + "init-package-json": "*", + "is-cidr": "*", + "json-parse-even-better-errors": "*", + "libnpmaccess": "*", + "libnpmdiff": "*", + "libnpmexec": "*", + "libnpmfund": "*", + "libnpmhook": "*", + "libnpmorg": "*", + "libnpmpack": "*", + "libnpmpublish": "*", + "libnpmsearch": "*", + "libnpmteam": "*", + "libnpmversion": "*", + "make-fetch-happen": "*", + "minipass": "*", + "minipass-pipeline": "*", + "mkdirp": "*", + "mkdirp-infer-owner": "*", + "ms": "*", + "node-gyp": "*", + "nopt": "*", + "npm-audit-report": "*", + "npm-install-checks": "*", + "npm-package-arg": "*", + "npm-pick-manifest": "*", + "npm-profile": "*", + "npm-registry-fetch": "*", + "npm-user-validate": "*", + "npmlog": "*", + "opener": "*", + "pacote": "*", + "parse-conflict-json": "*", + "proc-log": "*", + "qrcode-terminal": "*", + "read": "*", + "read-package-json": "*", + "read-package-json-fast": "*", + "readdir-scoped-modules": "*", + "rimraf": "*", + "semver": "*", + "ssri": "*", + "tar": "*", + "text-table": "*", + "tiny-relative-date": "*", + "treeverse": "*", + "validate-npm-package-name": "*", + "which": "*", + "write-file-atomic": "*" + }, + "bin": { + "npm": "bin/npm-cli.js", + "npx": "bin/npx-cli.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/@gar/promisify": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/@isaacs/string-locale-compare": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/arborist": { + "version": "4.3.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/map-workspaces": "^2.0.0", + "@npmcli/metavuln-calculator": "^2.0.0", + "@npmcli/move-file": "^1.1.0", + "@npmcli/name-from-folder": "^1.0.1", + "@npmcli/node-gyp": "^1.0.3", + "@npmcli/package-json": "^1.0.1", + "@npmcli/run-script": "^2.0.0", + "bin-links": "^3.0.0", + "cacache": "^15.0.3", + "common-ancestor-path": "^1.0.1", + "json-parse-even-better-errors": "^2.3.1", + "json-stringify-nice": "^1.1.4", + "mkdirp": "^1.0.4", + "mkdirp-infer-owner": "^2.0.0", + "npm-install-checks": "^4.0.0", + "npm-package-arg": "^8.1.5", + "npm-pick-manifest": "^6.1.0", + "npm-registry-fetch": "^12.0.1", + "pacote": "^12.0.2", + "parse-conflict-json": "^2.0.1", + "proc-log": "^1.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^1.0.1", + "read-package-json-fast": "^2.0.2", + "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "ssri": "^8.0.1", + "treeverse": "^1.0.4", + "walk-up-path": "^1.0.0" + }, + "bin": { + "arborist": "bin/index.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/@npmcli/ci-detect": { + "version": "1.4.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/config": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/map-workspaces": "^2.0.0", + "ini": "^2.0.0", + "mkdirp-infer-owner": "^2.0.0", + "nopt": "^5.0.0", + "read-package-json-fast": "^2.0.3", + "semver": "^7.3.4", + "walk-up-path": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/@npmcli/disparity-colors": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "ansi-styles": "^4.3.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/@npmcli/fs": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/@npmcli/git": { + "version": "2.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^1.3.2", + "lru-cache": "^6.0.0", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^6.1.1", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" + } + }, + "node_modules/npm/node_modules/@npmcli/installed-package-contents": { + "version": "1.0.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "installed-package-contents": "index.js" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/@npmcli/map-workspaces": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/name-from-folder": "^1.0.1", + "glob": "^7.1.6", + "minimatch": "^3.0.4", + "read-package-json-fast": "^2.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "cacache": "^15.0.5", + "json-parse-even-better-errors": "^2.3.1", + "pacote": "^12.0.0", + "semver": "^7.3.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/@npmcli/move-file": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/@npmcli/name-from-folder": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/node-gyp": { + "version": "1.0.3", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/package-json": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.1" + } + }, + "node_modules/npm/node_modules/@npmcli/promise-spawn": { + "version": "1.3.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "infer-owner": "^1.0.4" + } + }, + "node_modules/npm/node_modules/@npmcli/run-script": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^1.0.2", + "@npmcli/promise-spawn": "^1.3.2", + "node-gyp": "^8.2.0", + "read-package-json-fast": "^2.0.1" + } + }, + "node_modules/npm/node_modules/@tootallnate/once": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/abbrev": { + "version": "1.1.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/agent-base": { + "version": "6.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/npm/node_modules/agentkeepalive": { + "version": "4.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/npm/node_modules/aggregate-error": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/ansi-regex": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/ansi-styles": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm/node_modules/ansicolors": { + "version": "0.3.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/ansistyles": { + "version": "0.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/aproba": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/archy": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/are-we-there-yet": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/asap": { + "version": "2.0.6", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/bin-links": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "cmd-shim": "^4.0.1", + "mkdirp-infer-owner": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0", + "read-cmd-shim": "^2.0.0", + "rimraf": "^3.0.0", + "write-file-atomic": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/binary-extensions": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/npm/node_modules/builtins": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/cacache": { + "version": "15.3.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/chalk": { + "version": "4.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/npm/node_modules/chownr": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/cidr-regex": { + "version": "3.1.1", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "ip-regex": "^4.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/clean-stack": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/cli-columns": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/cli-columns/node_modules/ansi-regex": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cli-columns/node_modules/string-width": { + "version": "4.2.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cli-columns/node_modules/strip-ansi": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cli-table3": { + "version": "0.6.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "colors": "1.4.0" + } + }, + "node_modules/npm/node_modules/cli-table3/node_modules/ansi-regex": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cli-table3/node_modules/string-width": { + "version": "4.2.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cli-table3/node_modules/strip-ansi": { + "version": "6.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/clone": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/cmd-shim": { + "version": "4.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "mkdirp-infer-owner": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/color-convert": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/npm/node_modules/color-name": { + "version": "1.1.4", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/color-support": { + "version": "1.1.3", + "inBundle": true, + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/npm/node_modules/colors": { + "version": "1.4.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/npm/node_modules/columnify": { + "version": "1.5.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "strip-ansi": "^3.0.0", + "wcwidth": "^1.0.0" + } + }, + "node_modules/npm/node_modules/common-ancestor-path": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/concat-map": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/console-control-strings": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/debug": { + "version": "4.3.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/npm/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/debuglog": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/defaults": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/npm/node_modules/delegates": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/depd": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/dezalgo": { + "version": "1.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/diff": { + "version": "5.0.0", + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/npm/node_modules/emoji-regex": { + "version": "8.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/encoding": { + "version": "0.1.13", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/npm/node_modules/env-paths": { + "version": "2.2.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/err-code": { + "version": "2.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fastest-levenshtein": { + "version": "1.0.12", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fs-minipass": { + "version": "2.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/fs.realpath": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/function-bind": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/gauge": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "ansi-regex": "^5.0.1", + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/gauge/node_modules/ansi-regex": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/gauge/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/gauge/node_modules/string-width": { + "version": "4.2.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/gauge/node_modules/strip-ansi": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/glob": { + "version": "7.2.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/graceful-fs": { + "version": "4.2.9", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/has": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/npm/node_modules/has-flag": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/has-unicode": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/hosted-git-info": { + "version": "4.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/http-cache-semantics": { + "version": "4.1.0", + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/http-proxy-agent": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/https-proxy-agent": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/humanize-ms": { + "version": "1.2.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/npm/node_modules/iconv-lite": { + "version": "0.6.3", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/ignore-walk": { + "version": "4.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/imurmurhash": { + "version": "0.1.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/npm/node_modules/indent-string": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/infer-owner": { + "version": "1.0.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/inflight": { + "version": "1.0.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/inherits": { + "version": "2.0.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/ini": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/init-package-json": { + "version": "2.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^8.1.5", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "^4.1.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/ip": { + "version": "1.1.5", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/ip-regex": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/is-cidr": { + "version": "4.0.2", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "cidr-regex": "^3.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/is-core-module": { + "version": "2.8.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/npm/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/is-lambda": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/is-typedarray": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/isexe": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/json-stringify-nice": { + "version": "1.1.4", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/jsonparse": { + "version": "1.3.1", + "engines": [ + "node >= 0.2.0" + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff-apply": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/libnpmaccess": { + "version": "5.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "minipass": "^3.1.1", + "npm-package-arg": "^8.1.2", + "npm-registry-fetch": "^12.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmdiff": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/disparity-colors": "^1.0.1", + "@npmcli/installed-package-contents": "^1.0.7", + "binary-extensions": "^2.2.0", + "diff": "^5.0.0", + "minimatch": "^3.0.4", + "npm-package-arg": "^8.1.4", + "pacote": "^12.0.0", + "tar": "^6.1.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmexec": { + "version": "3.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^4.0.0", + "@npmcli/ci-detect": "^1.3.0", + "@npmcli/run-script": "^2.0.0", + "chalk": "^4.1.0", + "mkdirp-infer-owner": "^2.0.0", + "npm-package-arg": "^8.1.2", + "pacote": "^12.0.0", + "proc-log": "^1.0.0", + "read": "^1.0.7", + "read-package-json-fast": "^2.0.2", + "walk-up-path": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmfund": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmhook": { + "version": "7.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^12.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmorg": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^12.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmpack": { + "version": "3.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/run-script": "^2.0.0", + "npm-package-arg": "^8.1.0", + "pacote": "^12.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmpublish": { + "version": "5.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "normalize-package-data": "^3.0.2", + "npm-package-arg": "^8.1.2", + "npm-registry-fetch": "^12.0.1", + "semver": "^7.1.3", + "ssri": "^8.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmsearch": { + "version": "4.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^12.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmteam": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^12.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmversion": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^2.0.7", + "@npmcli/run-script": "^2.0.0", + "json-parse-even-better-errors": "^2.3.1", + "semver": "^7.3.5", + "stringify-package": "^1.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/lru-cache": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/make-fetch-happen": { + "version": "10.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "agentkeepalive": "^4.2.0", + "cacache": "^15.3.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.3.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.4.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.1.1", + "ssri": "^8.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "7.3.1", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/npm/node_modules/minimatch": { + "version": "3.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/minipass": { + "version": "3.1.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-collect": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minipass-fetch": { + "version": "1.4.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/npm/node_modules/minipass-flush": { + "version": "1.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minipass-json-stream": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/npm/node_modules/minipass-pipeline": { + "version": "1.2.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-sized": { + "version": "1.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minizlib": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/mkdirp": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/mkdirp-infer-owner": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "infer-owner": "^1.0.4", + "mkdirp": "^1.0.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/ms": { + "version": "2.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/mute-stream": { + "version": "0.0.8", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/negotiator": { + "version": "0.6.3", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/node-gyp": { + "version": "8.4.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/@tootallnate/once": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/http-proxy-agent": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen": { + "version": "9.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/nopt": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/normalize-package-data": { + "version": "3.0.3", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/npm-audit-report": { + "version": "2.1.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "chalk": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/npm-bundled": { + "version": "1.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm/node_modules/npm-install-checks": { + "version": "4.0.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/npm-package-arg": { + "version": "8.1.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/npm-packlist": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.6", + "ignore-walk": "^4.0.1", + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "npm-packlist": "bin/index.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/npm-pick-manifest": { + "version": "6.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" + } + }, + "node_modules/npm/node_modules/npm-profile": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^12.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/npm-registry-fetch": { + "version": "12.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "make-fetch-happen": "^10.0.1", + "minipass": "^3.1.6", + "minipass-fetch": "^1.4.1", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^8.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/npm-user-validate": { + "version": "1.0.1", + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/npmlog": { + "version": "6.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.0", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/once": { + "version": "1.4.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/opener": { + "version": "1.5.2", + "inBundle": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/npm/node_modules/p-map": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/pacote": { + "version": "12.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^2.1.0", + "@npmcli/installed-package-contents": "^1.0.6", + "@npmcli/promise-spawn": "^1.2.0", + "@npmcli/run-script": "^2.0.0", + "cacache": "^15.0.5", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.3", + "mkdirp": "^1.0.3", + "npm-package-arg": "^8.0.1", + "npm-packlist": "^3.0.0", + "npm-pick-manifest": "^6.0.0", + "npm-registry-fetch": "^12.0.0", + "promise-retry": "^2.0.1", + "read-package-json-fast": "^2.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.1.0" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/parse-conflict-json": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.1", + "just-diff": "^5.0.1", + "just-diff-apply": "^4.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/path-is-absolute": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/proc-log": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/promise-all-reject-late": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-call-limit": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-inflight": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/promise-retry": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/promzard": { + "version": "0.3.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "read": "1" + } + }, + "node_modules/npm/node_modules/qrcode-terminal": { + "version": "0.12.0", + "inBundle": true, + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/npm/node_modules/read": { + "version": "1.0.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "mute-stream": "~0.0.4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/read-cmd-shim": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/read-package-json": { + "version": "4.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.1", + "json-parse-even-better-errors": "^2.3.0", + "normalize-package-data": "^3.0.0", + "npm-normalize-package-bin": "^1.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/read-package-json-fast": { + "version": "2.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/readable-stream": { + "version": "3.6.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/readdir-scoped-modules": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "node_modules/npm/node_modules/retry": { + "version": "0.12.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/rimraf": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/safer-buffer": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/npm/node_modules/semver": { + "version": "7.3.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/set-blocking": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/signal-exit": { + "version": "3.0.6", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/smart-buffer": { + "version": "4.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks": { + "version": "2.6.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ip": "^1.1.5", + "smart-buffer": "^4.1.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks-proxy-agent": { + "version": "6.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/spdx-correct": { + "version": "3.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-exceptions": { + "version": "2.3.0", + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/npm/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-license-ids": { + "version": "3.0.11", + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/npm/node_modules/ssri": { + "version": "8.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/string_decoder": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/npm/node_modules/string-width": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/stringify-package": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/strip-ansi": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/supports-color": { + "version": "7.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/tar": { + "version": "6.1.11", + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/text-table": { + "version": "0.2.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tiny-relative-date": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/treeverse": { + "version": "1.0.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/typedarray-to-buffer": { + "version": "4.0.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/unique-filename": { + "version": "1.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/npm/node_modules/unique-slug": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/npm/node_modules/util-deprecate": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/validate-npm-package-license": { + "version": "3.0.4", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/npm/node_modules/validate-npm-package-name": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "builtins": "^1.0.3" + } + }, + "node_modules/npm/node_modules/walk-up-path": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/wcwidth": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/npm/node_modules/which": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/wide-align": { + "version": "1.1.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/npm/node_modules/wrappy": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/write-file-atomic": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/yallist": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "node_modules/ts-mixer": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.0.tgz", + "integrity": "sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ==" + }, + "node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/ws": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/zod": { + "version": "3.11.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.11.6.tgz", + "integrity": "sha512-daZ80A81I3/9lIydI44motWe6n59kRBfNzTuS2bfzVh1nAXi667TOTWWtatxyG+fwgNUiagSj/CWZwRRbevJIg==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + } + } +} diff --git a/node_modules/@discordjs/builders/LICENSE b/node_modules/@discordjs/builders/LICENSE new file mode 100644 index 0000000..cbe9c65 --- /dev/null +++ b/node_modules/@discordjs/builders/LICENSE @@ -0,0 +1,191 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + Copyright 2021 Noel Buechler + Copyright 2021 Vlad Frangu + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/node_modules/@discordjs/builders/README.md b/node_modules/@discordjs/builders/README.md new file mode 100644 index 0000000..f78d442 --- /dev/null +++ b/node_modules/@discordjs/builders/README.md @@ -0,0 +1,53 @@ +
+
+

+ discord.js +

+
+

+ Discord server + npm version + npm downloads + Build status + Code coverage +

+
+ +## Installation + +**Node.js 16.6.0 or newer is required.** + +```sh-session +npm install @discordjs/builders +yarn add @discordjs/builders +pnpm add @discordjs/builders +``` + +## Examples + +Here are some examples for the builders and utilities you can find in this package: + +- [Slash Command Builders](./docs/examples/Slash%20Command%20Builders.md) + +## Links + +- [Website](https://discord.js.org/) ([source](https://github.com/discordjs/website)) +- [Documentation](https://discord.js.org/#/docs/builders) +- [Guide](https://discordjs.guide/) ([source](https://github.com/discordjs/guide)) + See also the [Update Guide](https://discordjs.guide/additional-info/changes-in-v13.html), including updated and removed items in the library. +- [discord.js Discord server](https://discord.gg/djs) +- [Discord API Discord server](https://discord.gg/discord-api) +- [GitHub](https://github.com/discordjs/builders) +- [npm](https://www.npmjs.com/package/@discordjs/builders) +- [Related libraries](https://discord.com/developers/docs/topics/community-resources#libraries) + +## Contributing + +Before creating an issue, please ensure that it hasn't already been reported/suggested, and double-check the +[documentation](https://discord.js.org/#/docs/builders). +See [the contribution guide](https://github.com/discordjs/builders/blob/main/.github/CONTRIBUTING.md) if you'd like to submit a PR. + +## Help + +If you don't understand something in the documentation, you are experiencing problems, or you just need a gentle +nudge in the right direction, please don't hesitate to join our official [discord.js Server](https://discord.gg/djs). diff --git a/node_modules/@discordjs/builders/dist/index.d.ts b/node_modules/@discordjs/builders/dist/index.d.ts new file mode 100644 index 0000000..a979649 --- /dev/null +++ b/node_modules/@discordjs/builders/dist/index.d.ts @@ -0,0 +1,844 @@ +import { APIEmbedField, APIEmbed, APIEmbedThumbnail, APIEmbedImage, APIEmbedVideo, APIEmbedAuthor, APIEmbedProvider, APIEmbedFooter, ApplicationCommandOptionType, APIApplicationCommandBasicOption, APIApplicationCommandBooleanOption, ChannelType, APIApplicationCommandChannelOption, APIApplicationCommandOptionChoice, APIApplicationCommandIntegerOption, APIApplicationCommandMentionableOption, APIApplicationCommandNumberOption, APIApplicationCommandRoleOption, APIApplicationCommandStringOption, APIApplicationCommandUserOption, APIApplicationCommandSubcommandGroupOption, APIApplicationCommandSubcommandOption, RESTPostAPIApplicationCommandsJSONBody, APIApplicationCommandOption, ApplicationCommandType } from 'discord-api-types/v9'; +import { z } from 'zod'; +import { Snowflake } from 'discord-api-types/globals'; +import { URL } from 'url'; + +declare const fieldNamePredicate: z.ZodString; +declare const fieldValuePredicate: z.ZodString; +declare const fieldInlinePredicate: z.ZodOptional; +declare const embedFieldPredicate: z.ZodObject<{ + name: z.ZodString; + value: z.ZodString; + inline: z.ZodOptional; +}, "strip", z.ZodTypeAny, { + inline?: boolean | undefined; + name: string; + value: string; +}, { + inline?: boolean | undefined; + name: string; + value: string; +}>; +declare const embedFieldsArrayPredicate: z.ZodArray; +}, "strip", z.ZodTypeAny, { + inline?: boolean | undefined; + name: string; + value: string; +}, { + inline?: boolean | undefined; + name: string; + value: string; +}>, "many">; +declare const fieldLengthPredicate: z.ZodNumber; +declare function validateFieldLength(fields: APIEmbedField[], amountAdding: number): void; +declare const authorNamePredicate: z.ZodNullable; +declare const urlPredicate: z.ZodNullable>; +declare const colorPredicate: z.ZodNullable; +declare const descriptionPredicate: z.ZodNullable; +declare const footerTextPredicate: z.ZodNullable; +declare const timestampPredicate: z.ZodNullable>; +declare const titlePredicate: z.ZodNullable; + +declare const Assertions$2_fieldNamePredicate: typeof fieldNamePredicate; +declare const Assertions$2_fieldValuePredicate: typeof fieldValuePredicate; +declare const Assertions$2_fieldInlinePredicate: typeof fieldInlinePredicate; +declare const Assertions$2_embedFieldPredicate: typeof embedFieldPredicate; +declare const Assertions$2_embedFieldsArrayPredicate: typeof embedFieldsArrayPredicate; +declare const Assertions$2_fieldLengthPredicate: typeof fieldLengthPredicate; +declare const Assertions$2_validateFieldLength: typeof validateFieldLength; +declare const Assertions$2_authorNamePredicate: typeof authorNamePredicate; +declare const Assertions$2_urlPredicate: typeof urlPredicate; +declare const Assertions$2_colorPredicate: typeof colorPredicate; +declare const Assertions$2_descriptionPredicate: typeof descriptionPredicate; +declare const Assertions$2_footerTextPredicate: typeof footerTextPredicate; +declare const Assertions$2_timestampPredicate: typeof timestampPredicate; +declare const Assertions$2_titlePredicate: typeof titlePredicate; +declare namespace Assertions$2 { + export { + Assertions$2_fieldNamePredicate as fieldNamePredicate, + Assertions$2_fieldValuePredicate as fieldValuePredicate, + Assertions$2_fieldInlinePredicate as fieldInlinePredicate, + Assertions$2_embedFieldPredicate as embedFieldPredicate, + Assertions$2_embedFieldsArrayPredicate as embedFieldsArrayPredicate, + Assertions$2_fieldLengthPredicate as fieldLengthPredicate, + Assertions$2_validateFieldLength as validateFieldLength, + Assertions$2_authorNamePredicate as authorNamePredicate, + Assertions$2_urlPredicate as urlPredicate, + Assertions$2_colorPredicate as colorPredicate, + Assertions$2_descriptionPredicate as descriptionPredicate, + Assertions$2_footerTextPredicate as footerTextPredicate, + Assertions$2_timestampPredicate as timestampPredicate, + Assertions$2_titlePredicate as titlePredicate, + }; +} + +interface AuthorOptions { + name: string; + url?: string; + iconURL?: string; +} +interface FooterOptions { + text: string; + iconURL?: string; +} +/** + * Represents an embed in a message (image/video preview, rich embed, etc.) + */ +declare class Embed implements APIEmbed { + /** + * An array of fields of this embed + */ + fields: APIEmbedField[]; + /** + * The embed title + */ + title?: string; + /** + * The embed description + */ + description?: string; + /** + * The embed url + */ + url?: string; + /** + * The embed color + */ + color?: number; + /** + * The timestamp of the embed in the ISO format + */ + timestamp?: string; + /** + * The embed thumbnail data + */ + thumbnail?: APIEmbedThumbnail; + /** + * The embed image data + */ + image?: APIEmbedImage; + /** + * Received video data + */ + video?: APIEmbedVideo; + /** + * The embed author data + */ + author?: APIEmbedAuthor; + /** + * Received data about the embed provider + */ + provider?: APIEmbedProvider; + /** + * The embed footer data + */ + footer?: APIEmbedFooter; + constructor(data?: APIEmbed); + /** + * The accumulated length for the embed title, description, fields, footer text, and author name + */ + get length(): number; + /** + * Adds a field to the embed (max 25) + * + * @param field The field to add. + */ + addField(field: APIEmbedField): this; + /** + * Adds fields to the embed (max 25) + * + * @param fields The fields to add + */ + addFields(...fields: APIEmbedField[]): this; + /** + * Removes, replaces, or inserts fields in the embed (max 25) + * + * @param index The index to start at + * @param deleteCount The number of fields to remove + * @param fields The replacing field objects + */ + spliceFields(index: number, deleteCount: number, ...fields: APIEmbedField[]): this; + /** + * Sets the author of this embed + * + * @param options The options for the author + */ + setAuthor(options: AuthorOptions | null): this; + /** + * Sets the color of this embed + * + * @param color The color of the embed + */ + setColor(color: number | null): this; + /** + * Sets the description of this embed + * + * @param description The description + */ + setDescription(description: string | null): this; + /** + * Sets the footer of this embed + * + * @param options The options for the footer + */ + setFooter(options: FooterOptions | null): this; + /** + * Sets the image of this embed + * + * @param url The URL of the image + */ + setImage(url: string | null): this; + /** + * Sets the thumbnail of this embed + * + * @param url The URL of the thumbnail + */ + setThumbnail(url: string | null): this; + /** + * Sets the timestamp of this embed + * + * @param timestamp The timestamp or date + */ + setTimestamp(timestamp?: number | Date | null): this; + /** + * Sets the title of this embed + * + * @param title The title + */ + setTitle(title: string | null): this; + /** + * Sets the URL of this embed + * + * @param url The URL + */ + setURL(url: string | null): this; + /** + * Transforms the embed to a plain object + */ + toJSON(): APIEmbed; + /** + * Normalizes field input and resolves strings + * + * @param fields Fields to normalize + */ + static normalizeFields(...fields: APIEmbedField[]): APIEmbedField[]; +} + +/** + * Wraps the content inside a codeblock with no language + * + * @param content The content to wrap + */ +declare function codeBlock(content: C): `\`\`\`\n${C}\`\`\``; +/** + * Wraps the content inside a codeblock with the specified language + * + * @param language The language for the codeblock + * @param content The content to wrap + */ +declare function codeBlock(language: L, content: C): `\`\`\`${L}\n${C}\`\`\``; +/** + * Wraps the content inside \`backticks\`, which formats it as inline code + * + * @param content The content to wrap + */ +declare function inlineCode(content: C): `\`${C}\``; +/** + * Formats the content into italic text + * + * @param content The content to wrap + */ +declare function italic(content: C): `_${C}_`; +/** + * Formats the content into bold text + * + * @param content The content to wrap + */ +declare function bold(content: C): `**${C}**`; +/** + * Formats the content into underscored text + * + * @param content The content to wrap + */ +declare function underscore(content: C): `__${C}__`; +/** + * Formats the content into strike-through text + * + * @param content The content to wrap + */ +declare function strikethrough(content: C): `~~${C}~~`; +/** + * Formats the content into a quote. This needs to be at the start of the line for Discord to format it + * + * @param content The content to wrap + */ +declare function quote(content: C): `> ${C}`; +/** + * Formats the content into a block quote. This needs to be at the start of the line for Discord to format it + * + * @param content The content to wrap + */ +declare function blockQuote(content: C): `>>> ${C}`; +/** + * Wraps the URL into `<>`, which stops it from embedding + * + * @param url The URL to wrap + */ +declare function hideLinkEmbed(url: C): `<${C}>`; +/** + * Wraps the URL into `<>`, which stops it from embedding + * + * @param url The URL to wrap + */ +declare function hideLinkEmbed(url: URL): `<${string}>`; +/** + * Formats the content and the URL into a masked URL + * + * @param content The content to display + * @param url The URL the content links to + */ +declare function hyperlink(content: C, url: URL): `[${C}](${string})`; +/** + * Formats the content and the URL into a masked URL + * + * @param content The content to display + * @param url The URL the content links to + */ +declare function hyperlink(content: C, url: U): `[${C}](${U})`; +/** + * Formats the content and the URL into a masked URL + * + * @param content The content to display + * @param url The URL the content links to + * @param title The title shown when hovering on the masked link + */ +declare function hyperlink(content: C, url: URL, title: T): `[${C}](${string} "${T}")`; +/** + * Formats the content and the URL into a masked URL + * + * @param content The content to display + * @param url The URL the content links to + * @param title The title shown when hovering on the masked link + */ +declare function hyperlink(content: C, url: U, title: T): `[${C}](${U} "${T}")`; +/** + * Wraps the content inside spoiler (hidden text) + * + * @param content The content to wrap + */ +declare function spoiler(content: C): `||${C}||`; +/** + * Formats a user ID into a user mention + * + * @param userId The user ID to format + */ +declare function userMention(userId: C): `<@${C}>`; +/** + * Formats a user ID into a member-nickname mention + * + * @param memberId The user ID to format + */ +declare function memberNicknameMention(memberId: C): `<@!${C}>`; +/** + * Formats a channel ID into a channel mention + * + * @param channelId The channel ID to format + */ +declare function channelMention(channelId: C): `<#${C}>`; +/** + * Formats a role ID into a role mention + * + * @param roleId The role ID to format + */ +declare function roleMention(roleId: C): `<@&${C}>`; +/** + * Formats an emoji ID into a fully qualified emoji identifier + * + * @param emojiId The emoji ID to format + */ +declare function formatEmoji(emojiId: C, animated?: false): `<:_:${C}>`; +/** + * Formats an emoji ID into a fully qualified emoji identifier + * + * @param emojiId The emoji ID to format + * @param animated Whether the emoji is animated or not. Defaults to `false` + */ +declare function formatEmoji(emojiId: C, animated?: true): ``; +/** + * Formats a date into a short date-time string + * + * @param date The date to format, defaults to the current time + */ +declare function time(date?: Date): ``; +/** + * Formats a date given a format style + * + * @param date The date to format + * @param style The style to use + */ +declare function time(date: Date, style: S): ``; +/** + * Formats the given timestamp into a short date-time string + * + * @param seconds The time to format, represents an UNIX timestamp in seconds + */ +declare function time(seconds: C): ``; +/** + * Formats the given timestamp into a short date-time string + * + * @param seconds The time to format, represents an UNIX timestamp in seconds + * @param style The style to use + */ +declare function time(seconds: C, style: S): ``; +/** + * The [message formatting timestamp styles](https://discord.com/developers/docs/reference#message-formatting-timestamp-styles) supported by Discord + */ +declare const TimestampStyles: { + /** + * Short time format, consisting of hours and minutes, e.g. 16:20 + */ + readonly ShortTime: "t"; + /** + * Long time format, consisting of hours, minutes, and seconds, e.g. 16:20:30 + */ + readonly LongTime: "T"; + /** + * Short date format, consisting of day, month, and year, e.g. 20/04/2021 + */ + readonly ShortDate: "d"; + /** + * Long date format, consisting of day, month, and year, e.g. 20 April 2021 + */ + readonly LongDate: "D"; + /** + * Short date-time format, consisting of short date and short time formats, e.g. 20 April 2021 16:20 + */ + readonly ShortDateTime: "f"; + /** + * Long date-time format, consisting of long date and short time formats, e.g. Tuesday, 20 April 2021 16:20 + */ + readonly LongDateTime: "F"; + /** + * Relative time format, consisting of a relative duration format, e.g. 2 months ago + */ + readonly RelativeTime: "R"; +}; +/** + * The possible values, see {@link TimestampStyles} for more information + */ +declare type TimestampStylesString = typeof TimestampStyles[keyof typeof TimestampStyles]; +/** + * An enum with all the available faces from Discord's native slash commands + */ +declare enum Faces { + /** + * ¯\\_(ツ)\\_/¯ + */ + Shrug = "\u00AF\\_(\u30C4)\\_/\u00AF", + /** + * (╯°□°)╯︵ ┻━┻ + */ + Tableflip = "(\u256F\u00B0\u25A1\u00B0\uFF09\u256F\uFE35 \u253B\u2501\u253B", + /** + * ┬─┬ ノ( ゜-゜ノ) + */ + Unflip = "\u252C\u2500\u252C \u30CE( \u309C-\u309C\u30CE)" +} + +declare class SharedNameAndDescription { + readonly name: string; + readonly description: string; + /** + * Sets the name + * + * @param name The name + */ + setName(name: string): this; + /** + * Sets the description + * + * @param description The description + */ + setDescription(description: string): this; +} + +declare abstract class ApplicationCommandOptionBase extends SharedNameAndDescription { + abstract readonly type: ApplicationCommandOptionType; + readonly required = false; + /** + * Marks the option as required + * + * @param required If this option should be required + */ + setRequired(required: boolean): this; + abstract toJSON(): APIApplicationCommandBasicOption; + protected runRequiredValidations(): void; +} + +declare class SlashCommandBooleanOption extends ApplicationCommandOptionBase { + readonly type: ApplicationCommandOptionType.Boolean; + toJSON(): APIApplicationCommandBooleanOption; +} + +declare const allowedChannelTypes: readonly [ChannelType.GuildText, ChannelType.GuildVoice, ChannelType.GuildCategory, ChannelType.GuildNews, ChannelType.GuildStore, ChannelType.GuildNewsThread, ChannelType.GuildPublicThread, ChannelType.GuildPrivateThread, ChannelType.GuildStageVoice]; +declare type ApplicationCommandOptionAllowedChannelTypes = typeof allowedChannelTypes[number]; +declare class ApplicationCommandOptionChannelTypesMixin { + readonly channel_types?: ApplicationCommandOptionAllowedChannelTypes[]; + /** + * Adds a channel type to this option + * + * @param channelType The type of channel to allow + */ + addChannelType(channelType: ApplicationCommandOptionAllowedChannelTypes): this; + /** + * Adds channel types to this option + * + * @param channelTypes The channel types to add + */ + addChannelTypes(channelTypes: ApplicationCommandOptionAllowedChannelTypes[]): this; +} + +declare class SlashCommandChannelOption extends ApplicationCommandOptionBase { + readonly type: ApplicationCommandOptionType.Channel; + toJSON(): APIApplicationCommandChannelOption; +} +interface SlashCommandChannelOption extends ApplicationCommandOptionChannelTypesMixin { +} + +declare abstract class ApplicationCommandNumericOptionMinMaxValueMixin { + protected readonly maxValue?: number; + protected readonly minValue?: number; + /** + * Sets the maximum number value of this option + * @param max The maximum value this option can be + */ + abstract setMaxValue(max: number): this; + /** + * Sets the minimum number value of this option + * @param min The minimum value this option can be + */ + abstract setMinValue(min: number): this; +} + +declare class ApplicationCommandOptionWithChoicesAndAutocompleteMixin { + readonly choices?: APIApplicationCommandOptionChoice[]; + readonly autocomplete?: boolean; + readonly type: ApplicationCommandOptionType; + /** + * Adds a choice for this option + * + * @param name The name of the choice + * @param value The value of the choice + */ + addChoice(name: string, value: T): Omit; + /** + * Adds multiple choices for this option + * + * @param choices The choices to add + */ + addChoices(choices: [name: string, value: T][]): Omit; + setChoices(choices: Input): Input extends [] ? this & Pick, 'setAutocomplete'> : Omit; + /** + * Marks the option as autocompletable + * @param autocomplete If this option should be autocompletable + */ + setAutocomplete(autocomplete: U): U extends true ? Omit : this & Pick, 'addChoice' | 'addChoices'>; +} + +declare class SlashCommandIntegerOption extends ApplicationCommandOptionBase implements ApplicationCommandNumericOptionMinMaxValueMixin { + readonly type: ApplicationCommandOptionType.Integer; + setMaxValue(max: number): this; + setMinValue(min: number): this; + toJSON(): APIApplicationCommandIntegerOption; +} +interface SlashCommandIntegerOption extends ApplicationCommandNumericOptionMinMaxValueMixin, ApplicationCommandOptionWithChoicesAndAutocompleteMixin { +} + +declare class SlashCommandMentionableOption extends ApplicationCommandOptionBase { + readonly type: ApplicationCommandOptionType.Mentionable; + toJSON(): APIApplicationCommandMentionableOption; +} + +declare class SlashCommandNumberOption extends ApplicationCommandOptionBase implements ApplicationCommandNumericOptionMinMaxValueMixin { + readonly type: ApplicationCommandOptionType.Number; + setMaxValue(max: number): this; + setMinValue(min: number): this; + toJSON(): APIApplicationCommandNumberOption; +} +interface SlashCommandNumberOption extends ApplicationCommandNumericOptionMinMaxValueMixin, ApplicationCommandOptionWithChoicesAndAutocompleteMixin { +} + +declare class SlashCommandRoleOption extends ApplicationCommandOptionBase { + readonly type: ApplicationCommandOptionType.Role; + toJSON(): APIApplicationCommandRoleOption; +} + +declare class SlashCommandStringOption extends ApplicationCommandOptionBase { + readonly type: ApplicationCommandOptionType.String; + toJSON(): APIApplicationCommandStringOption; +} +interface SlashCommandStringOption extends ApplicationCommandOptionWithChoicesAndAutocompleteMixin { +} + +declare class SlashCommandUserOption extends ApplicationCommandOptionBase { + readonly type: ApplicationCommandOptionType.User; + toJSON(): APIApplicationCommandUserOption; +} + +declare class SharedSlashCommandOptions { + readonly options: ToAPIApplicationCommandOptions[]; + /** + * Adds a boolean option + * + * @param input A function that returns an option builder, or an already built builder + */ + addBooleanOption(input: SlashCommandBooleanOption | ((builder: SlashCommandBooleanOption) => SlashCommandBooleanOption)): ShouldOmitSubcommandFunctions extends true ? Omit : this; + /** + * Adds a user option + * + * @param input A function that returns an option builder, or an already built builder + */ + addUserOption(input: SlashCommandUserOption | ((builder: SlashCommandUserOption) => SlashCommandUserOption)): ShouldOmitSubcommandFunctions extends true ? Omit : this; + /** + * Adds a channel option + * + * @param input A function that returns an option builder, or an already built builder + */ + addChannelOption(input: SlashCommandChannelOption | ((builder: SlashCommandChannelOption) => SlashCommandChannelOption)): ShouldOmitSubcommandFunctions extends true ? Omit : this; + /** + * Adds a role option + * + * @param input A function that returns an option builder, or an already built builder + */ + addRoleOption(input: SlashCommandRoleOption | ((builder: SlashCommandRoleOption) => SlashCommandRoleOption)): ShouldOmitSubcommandFunctions extends true ? Omit : this; + /** + * Adds a mentionable option + * + * @param input A function that returns an option builder, or an already built builder + */ + addMentionableOption(input: SlashCommandMentionableOption | ((builder: SlashCommandMentionableOption) => SlashCommandMentionableOption)): ShouldOmitSubcommandFunctions extends true ? Omit : this; + /** + * Adds a string option + * + * @param input A function that returns an option builder, or an already built builder + */ + addStringOption(input: SlashCommandStringOption | Omit | Omit | ((builder: SlashCommandStringOption) => SlashCommandStringOption | Omit | Omit)): ShouldOmitSubcommandFunctions extends true ? Omit : this; + /** + * Adds an integer option + * + * @param input A function that returns an option builder, or an already built builder + */ + addIntegerOption(input: SlashCommandIntegerOption | Omit | Omit | ((builder: SlashCommandIntegerOption) => SlashCommandIntegerOption | Omit | Omit)): ShouldOmitSubcommandFunctions extends true ? Omit : this; + /** + * Adds a number option + * + * @param input A function that returns an option builder, or an already built builder + */ + addNumberOption(input: SlashCommandNumberOption | Omit | Omit | ((builder: SlashCommandNumberOption) => SlashCommandNumberOption | Omit | Omit)): ShouldOmitSubcommandFunctions extends true ? Omit : this; + private _sharedAddOptionMethod; +} + +/** + * Represents a folder for subcommands + * + * For more information, go to https://discord.com/developers/docs/interactions/slash-commands#subcommands-and-subcommand-groups + */ +declare class SlashCommandSubcommandGroupBuilder implements ToAPIApplicationCommandOptions { + /** + * The name of this subcommand group + */ + readonly name: string; + /** + * The description of this subcommand group + */ + readonly description: string; + /** + * The subcommands part of this subcommand group + */ + readonly options: SlashCommandSubcommandBuilder[]; + /** + * Adds a new subcommand to this group + * + * @param input A function that returns a subcommand builder, or an already built builder + */ + addSubcommand(input: SlashCommandSubcommandBuilder | ((subcommandGroup: SlashCommandSubcommandBuilder) => SlashCommandSubcommandBuilder)): this; + toJSON(): APIApplicationCommandSubcommandGroupOption; +} +interface SlashCommandSubcommandGroupBuilder extends SharedNameAndDescription { +} +/** + * Represents a subcommand + * + * For more information, go to https://discord.com/developers/docs/interactions/slash-commands#subcommands-and-subcommand-groups + */ +declare class SlashCommandSubcommandBuilder implements ToAPIApplicationCommandOptions { + /** + * The name of this subcommand + */ + readonly name: string; + /** + * The description of this subcommand + */ + readonly description: string; + /** + * The options of this subcommand + */ + readonly options: ApplicationCommandOptionBase[]; + toJSON(): APIApplicationCommandSubcommandOption; +} +interface SlashCommandSubcommandBuilder extends SharedNameAndDescription, SharedSlashCommandOptions { +} + +declare class SlashCommandBuilder { + /** + * The name of this slash command + */ + readonly name: string; + /** + * The description of this slash command + */ + readonly description: string; + /** + * The options of this slash command + */ + readonly options: ToAPIApplicationCommandOptions[]; + /** + * Whether the command is enabled by default when the app is added to a guild + * + * @default true + */ + readonly defaultPermission: boolean | undefined; + /** + * Returns the final data that should be sent to Discord. + * + * **Note:** Calling this function will validate required properties based on their conditions. + */ + toJSON(): RESTPostAPIApplicationCommandsJSONBody; + /** + * Sets whether the command is enabled by default when the application is added to a guild. + * + * **Note**: If set to `false`, you will have to later `PUT` the permissions for this command. + * + * @param value Whether or not to enable this command by default + * + * @see https://discord.com/developers/docs/interactions/application-commands#permissions + */ + setDefaultPermission(value: boolean): this; + /** + * Adds a new subcommand group to this command + * + * @param input A function that returns a subcommand group builder, or an already built builder + */ + addSubcommandGroup(input: SlashCommandSubcommandGroupBuilder | ((subcommandGroup: SlashCommandSubcommandGroupBuilder) => SlashCommandSubcommandGroupBuilder)): SlashCommandSubcommandsOnlyBuilder; + /** + * Adds a new subcommand to this command + * + * @param input A function that returns a subcommand builder, or an already built builder + */ + addSubcommand(input: SlashCommandSubcommandBuilder | ((subcommandGroup: SlashCommandSubcommandBuilder) => SlashCommandSubcommandBuilder)): SlashCommandSubcommandsOnlyBuilder; +} +interface SlashCommandBuilder extends SharedNameAndDescription, SharedSlashCommandOptions { +} +interface SlashCommandSubcommandsOnlyBuilder extends SharedNameAndDescription, Pick { +} +interface SlashCommandOptionsOnlyBuilder extends SharedNameAndDescription, SharedSlashCommandOptions, Pick { +} +interface ToAPIApplicationCommandOptions { + toJSON(): APIApplicationCommandOption; +} + +declare function validateRequiredParameters$1(name: string, description: string, options: ToAPIApplicationCommandOptions[]): void; +declare function validateName$1(name: unknown): asserts name is string; +declare function validateDescription(description: unknown): asserts description is string; +declare function validateDefaultPermission$1(value: unknown): asserts value is boolean; +declare function validateRequired(required: unknown): asserts required is boolean; +declare function validateMaxOptionsLength(options: unknown): asserts options is ToAPIApplicationCommandOptions[]; +declare function validateMaxChoicesLength(choices: APIApplicationCommandOptionChoice[]): void; +declare function assertReturnOfBuilder(input: unknown, ExpectedInstanceOf: new () => T): asserts input is T; + +declare const Assertions$1_validateDescription: typeof validateDescription; +declare const Assertions$1_validateRequired: typeof validateRequired; +declare const Assertions$1_validateMaxOptionsLength: typeof validateMaxOptionsLength; +declare const Assertions$1_validateMaxChoicesLength: typeof validateMaxChoicesLength; +declare const Assertions$1_assertReturnOfBuilder: typeof assertReturnOfBuilder; +declare namespace Assertions$1 { + export { + validateRequiredParameters$1 as validateRequiredParameters, + validateName$1 as validateName, + Assertions$1_validateDescription as validateDescription, + validateDefaultPermission$1 as validateDefaultPermission, + Assertions$1_validateRequired as validateRequired, + Assertions$1_validateMaxOptionsLength as validateMaxOptionsLength, + Assertions$1_validateMaxChoicesLength as validateMaxChoicesLength, + Assertions$1_assertReturnOfBuilder as assertReturnOfBuilder, + }; +} + +declare class ContextMenuCommandBuilder { + /** + * The name of this context menu command + */ + readonly name: string; + /** + * The type of this context menu command + */ + readonly type: ContextMenuCommandType; + /** + * Whether the command is enabled by default when the app is added to a guild + * + * @default true + */ + readonly defaultPermission: boolean | undefined; + /** + * Sets the name + * + * @param name The name + */ + setName(name: string): this; + /** + * Sets the type + * + * @param type The type + */ + setType(type: ContextMenuCommandType): this; + /** + * Sets whether the command is enabled by default when the application is added to a guild. + * + * **Note**: If set to `false`, you will have to later `PUT` the permissions for this command. + * + * @param value Whether or not to enable this command by default + * + * @see https://discord.com/developers/docs/interactions/application-commands#permissions + */ + setDefaultPermission(value: boolean): this; + /** + * Returns the final data that should be sent to Discord. + * + * **Note:** Calling this function will validate required properties based on their conditions. + */ + toJSON(): RESTPostAPIApplicationCommandsJSONBody; +} +declare type ContextMenuCommandType = ApplicationCommandType.User | ApplicationCommandType.Message; + +declare function validateRequiredParameters(name: string, type: number): void; +declare function validateName(name: unknown): asserts name is string; +declare function validateType(type: unknown): asserts type is ContextMenuCommandType; +declare function validateDefaultPermission(value: unknown): asserts value is boolean; + +declare const Assertions_validateRequiredParameters: typeof validateRequiredParameters; +declare const Assertions_validateName: typeof validateName; +declare const Assertions_validateType: typeof validateType; +declare const Assertions_validateDefaultPermission: typeof validateDefaultPermission; +declare namespace Assertions { + export { + Assertions_validateRequiredParameters as validateRequiredParameters, + Assertions_validateName as validateName, + Assertions_validateType as validateType, + Assertions_validateDefaultPermission as validateDefaultPermission, + }; +} + +export { AuthorOptions, Assertions as ContextMenuCommandAssertions, ContextMenuCommandBuilder, ContextMenuCommandType, Embed, Assertions$2 as EmbedAssertions, Faces, FooterOptions, Assertions$1 as SlashCommandAssertions, SlashCommandBooleanOption, SlashCommandBuilder, SlashCommandChannelOption, SlashCommandIntegerOption, SlashCommandMentionableOption, SlashCommandNumberOption, SlashCommandOptionsOnlyBuilder, SlashCommandRoleOption, SlashCommandStringOption, SlashCommandSubcommandBuilder, SlashCommandSubcommandGroupBuilder, SlashCommandSubcommandsOnlyBuilder, SlashCommandUserOption, TimestampStyles, TimestampStylesString, ToAPIApplicationCommandOptions, blockQuote, bold, channelMention, codeBlock, formatEmoji, hideLinkEmbed, hyperlink, inlineCode, italic, memberNicknameMention, quote, roleMention, spoiler, strikethrough, time, underscore, userMention }; diff --git a/node_modules/@discordjs/builders/dist/index.js b/node_modules/@discordjs/builders/dist/index.js new file mode 100644 index 0000000..e80bb03 --- /dev/null +++ b/node_modules/@discordjs/builders/dist/index.js @@ -0,0 +1,4 @@ +var Ge=Object.create;var O=Object.defineProperty;var he=Object.getOwnPropertyDescriptor;var qe=Object.getOwnPropertyNames;var ze=Object.getPrototypeOf,We=Object.prototype.hasOwnProperty;var je=(t,e,i)=>e in t?O(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var Ce=t=>O(t,"__esModule",{value:!0});var w=(t,e)=>{for(var i in e)O(t,i,{get:e[i],enumerable:!0})},fe=(t,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of qe(e))!We.call(t,r)&&(i||r!=="default")&&O(t,r,{get:()=>e[r],enumerable:!(o=he(e,r))||o.enumerable});return t},Ze=(t,e)=>fe(Ce(O(t!=null?Ge(ze(t)):{},"default",!e&&t&&t.__esModule?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t),Ke=(t=>(e,i)=>t&&t.get(e)||(i=fe(Ce({}),e,1),t&&t.set(e,i),i))(typeof WeakMap!="undefined"?new WeakMap:0),p=(t,e,i,o)=>{for(var r=o>1?void 0:o?he(e,i):e,A=t.length-1,R;A>=0;A--)(R=t[A])&&(r=(o?R(e,i,r):R(r))||r);return o&&r&&O(e,i,r),r};var n=(t,e,i)=>(je(t,typeof e!="symbol"?e+"":e,i),i);var yt={};w(yt,{ContextMenuCommandAssertions:()=>ue,ContextMenuCommandBuilder:()=>Je,Embed:()=>M,EmbedAssertions:()=>ie,Faces:()=>Ae,SlashCommandAssertions:()=>re,SlashCommandBooleanOption:()=>J,SlashCommandBuilder:()=>j,SlashCommandChannelOption:()=>y,SlashCommandIntegerOption:()=>P,SlashCommandMentionableOption:()=>q,SlashCommandNumberOption:()=>T,SlashCommandRoleOption:()=>z,SlashCommandStringOption:()=>I,SlashCommandSubcommandBuilder:()=>c,SlashCommandSubcommandGroupBuilder:()=>x,SlashCommandUserOption:()=>W,TimestampStyles:()=>ut,blockQuote:()=>nt,bold:()=>Ye,channelMention:()=>mt,codeBlock:()=>Qe,formatEmoji:()=>dt,hideLinkEmbed:()=>ot,hyperlink:()=>rt,inlineCode:()=>He,italic:()=>Xe,memberNicknameMention:()=>pt,quote:()=>it,roleMention:()=>lt,spoiler:()=>at,strikethrough:()=>tt,time:()=>ct,underscore:()=>et,userMention:()=>st});var ie={};w(ie,{authorNamePredicate:()=>Q,colorPredicate:()=>H,descriptionPredicate:()=>X,embedFieldPredicate:()=>be,embedFieldsArrayPredicate:()=>_,fieldInlinePredicate:()=>k,fieldLengthPredicate:()=>xe,fieldNamePredicate:()=>S,fieldValuePredicate:()=>E,footerTextPredicate:()=>Y,timestampPredicate:()=>ee,titlePredicate:()=>te,urlPredicate:()=>u,validateFieldLength:()=>L});var m=require("zod"),S=m.z.string().min(1).max(256),E=m.z.string().min(1).max(1024),k=m.z.boolean().optional(),be=m.z.object({name:S,value:E,inline:k}),_=be.array(),xe=m.z.number().lte(25);function L(t,e){xe.parse(t.length+e)}var Q=S.nullable(),u=m.z.string().url().nullish(),H=m.z.number().gte(0).lte(16777215).nullable(),X=m.z.string().min(1).max(4096).nullable(),Y=m.z.string().min(1).max(2048).nullable(),ee=m.z.union([m.z.number(),m.z.date()]).nullable(),te=S.nullable();var M=class{constructor(e={}){n(this,"fields");n(this,"title");n(this,"description");n(this,"url");n(this,"color");n(this,"timestamp");n(this,"thumbnail");n(this,"image");n(this,"video");n(this,"author");n(this,"provider");n(this,"footer");this.title=e.title,this.description=e.description,this.url=e.url,this.color=e.color,this.thumbnail=e.thumbnail,this.image=e.image,this.video=e.video,this.author=e.author,this.provider=e.provider,this.footer=e.footer,this.fields=e.fields??[],e.timestamp&&(this.timestamp=new Date(e.timestamp).toISOString())}get length(){return(this.title?.length??0)+(this.description?.length??0)+this.fields.reduce((e,i)=>e+i.name.length+i.value.length,0)+(this.footer?.text.length??0)+(this.author?.name.length??0)}addField(e){return this.addFields(e)}addFields(...e){return _.parse(e),L(this.fields,e.length),this.fields.push(...M.normalizeFields(...e)),this}spliceFields(e,i,...o){return _.parse(o),L(this.fields,o.length-i),this.fields.splice(e,i,...M.normalizeFields(...o)),this}setAuthor(e){if(e===null)return this.author=void 0,this;let{name:i,iconURL:o,url:r}=e;return Q.parse(i),u.parse(o),u.parse(r),this.author={name:i,url:r,icon_url:o},this}setColor(e){return H.parse(e),this.color=e??void 0,this}setDescription(e){return X.parse(e),this.description=e??void 0,this}setFooter(e){if(e===null)return this.footer=void 0,this;let{text:i,iconURL:o}=e;return Y.parse(i),u.parse(o),this.footer={text:i,icon_url:o},this}setImage(e){return u.parse(e),this.image=e?{url:e}:void 0,this}setThumbnail(e){return u.parse(e),this.thumbnail=e?{url:e}:void 0,this}setTimestamp(e=Date.now()){return ee.parse(e),this.timestamp=e?new Date(e).toISOString():void 0,this}setTitle(e){return te.parse(e),this.title=e??void 0,this}setURL(e){return u.parse(e),this.url=e??void 0,this}toJSON(){return{...this}}static normalizeFields(...e){return e.flat(1/0).map(i=>(S.parse(i.name),E.parse(i.value),k.parse(i.inline),{name:i.name,value:i.value,inline:i.inline??void 0}))}};function Qe(t,e){return typeof e=="undefined"?`\`\`\` +${t}\`\`\``:`\`\`\`${t} +${e}\`\`\``}function He(t){return`\`${t}\``}function Xe(t){return`_${t}_`}function Ye(t){return`**${t}**`}function et(t){return`__${t}__`}function tt(t){return`~~${t}~~`}function it(t){return`> ${t}`}function nt(t){return`>>> ${t}`}function ot(t){return`<${t}>`}function rt(t,e,i){return i?`[${t}](${e} "${i}")`:`[${t}](${e})`}function at(t){return`||${t}||`}function st(t){return`<@${t}>`}function pt(t){return`<@!${t}>`}function mt(t){return`<#${t}>`}function lt(t){return`<@&${t}>`}function dt(t,e=!1){return`<${e?"a":""}:_:${t}>`}function ct(t,e){return typeof t!="number"&&(t=Math.floor((t?.getTime()??Date.now())/1e3)),typeof e=="string"?``:``}var ut={ShortTime:"t",LongTime:"T",ShortDate:"d",LongDate:"D",ShortDateTime:"f",LongDateTime:"F",RelativeTime:"R"},Ae=(o=>(o.Shrug="\xAF\\_(\u30C4)\\_/\xAF",o.Tableflip="(\u256F\xB0\u25A1\xB0\uFF09\u256F\uFE35 \u253B\u2501\u253B",o.Unflip="\u252C\u2500\u252C \u30CE( \u309C-\u309C\u30CE)",o))(Ae||{});var re={};w(re,{assertReturnOfBuilder:()=>C,validateDefaultPermission:()=>ne,validateDescription:()=>D,validateMaxChoicesLength:()=>oe,validateMaxOptionsLength:()=>d,validateName:()=>U,validateRequired:()=>F,validateRequiredParameters:()=>h});var V=Ze(require("@sindresorhus/is")),v=require("zod");function h(t,e,i){U(t),D(e),d(i)}var ht=v.z.string().min(1).max(32).regex(/^[\P{Lu}\p{N}_-]+$/u);function U(t){ht.parse(t)}var Ct=v.z.string().min(1).max(100);function D(t){Ct.parse(t)}var Oe=v.z.boolean();function ne(t){Oe.parse(t)}function F(t){Oe.parse(t)}var Se=v.z.unknown().array().max(25);function d(t){Se.parse(t)}function oe(t){Se.parse(t)}function C(t,e){let i=e.name;if(V.default.nullOrUndefined(t))throw new TypeError(`Expected to receive a ${i} builder, got ${t===null?"null":"undefined"} instead.`);if(V.default.primitive(t))throw new TypeError(`Expected to receive a ${i} builder, got a primitive (${typeof t}) instead.`);if(!(t instanceof e)){let o=t,r=V.default.function_(t)?t.name:o.constructor.name,A=Reflect.get(o,Symbol.toStringTag),R=A?`${r} [${A}]`:r;throw new TypeError(`Expected to receive a ${i} builder, got ${R} instead.`)}}var Fe=require("ts-mixer");var ye=require("discord-api-types/v9");var f=class{constructor(){n(this,"name");n(this,"description")}setName(e){return U(e),Reflect.set(this,"name",e),this}setDescription(e){return D(e),Reflect.set(this,"description",e),this}};var s=class extends f{constructor(){super(...arguments);n(this,"required",!1)}setRequired(e){return F(e),Reflect.set(this,"required",e),this}runRequiredValidations(){h(this.name,this.description,[]),F(this.required)}};var J=class extends s{constructor(){super(...arguments);n(this,"type",ye.ApplicationCommandOptionType.Boolean)}toJSON(){return this.runRequiredValidations(),{...this}}};var ge=require("discord-api-types/v9"),Pe=require("ts-mixer");var l=require("discord-api-types/v9"),ae=require("zod"),ft=[l.ChannelType.GuildText,l.ChannelType.GuildVoice,l.ChannelType.GuildCategory,l.ChannelType.GuildNews,l.ChannelType.GuildStore,l.ChannelType.GuildNewsThread,l.ChannelType.GuildPublicThread,l.ChannelType.GuildPrivateThread,l.ChannelType.GuildStageVoice],bt=ae.z.union(ft.map(t=>ae.z.literal(t))),se=class{constructor(){n(this,"channel_types")}addChannelType(e){return this.channel_types===void 0&&Reflect.set(this,"channel_types",[]),bt.parse(e),this.channel_types.push(e),this}addChannelTypes(e){return e.forEach(i=>this.addChannelType(i)),this}};var y=class extends s{constructor(){super(...arguments);n(this,"type",ge.ApplicationCommandOptionType.Channel)}toJSON(){return this.runRequiredValidations(),{...this}}};y=p([(0,Pe.mix)(se)],y);var Re=require("discord-api-types/v9"),Me=require("ts-mixer"),ve=require("zod");var N=class{constructor(){n(this,"maxValue");n(this,"minValue")}};var Te=require("discord-api-types/v9"),g=require("zod");var G=g.z.string().min(1).max(100),Ie=g.z.number().gt(-1/0).lt(1/0),$e=g.z.tuple([G,g.z.union([G,Ie])]).array(),xt=g.z.boolean(),b=class{constructor(){n(this,"choices");n(this,"autocomplete");n(this,"type")}addChoice(e,i){if(this.autocomplete)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return this.choices===void 0&&Reflect.set(this,"choices",[]),oe(this.choices),G.parse(e),this.type===Te.ApplicationCommandOptionType.String?G.parse(i):Ie.parse(i),this.choices.push({name:e,value:i}),this}addChoices(e){if(this.autocomplete)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");$e.parse(e);for(let[i,o]of e)this.addChoice(i,o);return this}setChoices(e){if(e.length>0&&this.autocomplete)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");$e.parse(e),Reflect.set(this,"choices",[]);for(let[i,o]of e)this.addChoice(i,o);return this}setAutocomplete(e){if(xt.parse(e),e&&Array.isArray(this.choices)&&this.choices.length>0)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return Reflect.set(this,"autocomplete",e),this}};var Ne=ve.z.number().int().nonnegative(),P=class extends s{constructor(){super(...arguments);n(this,"type",Re.ApplicationCommandOptionType.Integer)}setMaxValue(e){return Ne.parse(e),Reflect.set(this,"maxValue",e),this}setMinValue(e){return Ne.parse(e),Reflect.set(this,"minValue",e),this}toJSON(){if(this.runRequiredValidations(),this.autocomplete&&Array.isArray(this.choices)&&this.choices.length>0)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return{...this}}};P=p([(0,Me.mix)(N,b)],P);var Be=require("discord-api-types/v9");var q=class extends s{constructor(){super(...arguments);n(this,"type",Be.ApplicationCommandOptionType.Mentionable)}toJSON(){return this.runRequiredValidations(),{...this}}};var we=require("discord-api-types/v9"),Ee=require("ts-mixer"),ke=require("zod");var _e=ke.z.number().nonnegative(),T=class extends s{constructor(){super(...arguments);n(this,"type",we.ApplicationCommandOptionType.Number)}setMaxValue(e){return _e.parse(e),Reflect.set(this,"maxValue",e),this}setMinValue(e){return _e.parse(e),Reflect.set(this,"minValue",e),this}toJSON(){if(this.runRequiredValidations(),this.autocomplete&&Array.isArray(this.choices)&&this.choices.length>0)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return{...this}}};T=p([(0,Ee.mix)(N,b)],T);var Le=require("discord-api-types/v9");var z=class extends s{constructor(){super(...arguments);n(this,"type",Le.ApplicationCommandOptionType.Role)}toJSON(){return this.runRequiredValidations(),{...this}}};var Ve=require("discord-api-types/v9"),Ue=require("ts-mixer");var I=class extends s{constructor(){super(...arguments);n(this,"type",Ve.ApplicationCommandOptionType.String)}toJSON(){if(this.runRequiredValidations(),this.autocomplete&&Array.isArray(this.choices)&&this.choices.length>0)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return{...this}}};I=p([(0,Ue.mix)(b)],I);var De=require("discord-api-types/v9");var W=class extends s{constructor(){super(...arguments);n(this,"type",De.ApplicationCommandOptionType.User)}toJSON(){return this.runRequiredValidations(),{...this}}};var B=class{constructor(){n(this,"options")}addBooleanOption(e){return this._sharedAddOptionMethod(e,J)}addUserOption(e){return this._sharedAddOptionMethod(e,W)}addChannelOption(e){return this._sharedAddOptionMethod(e,y)}addRoleOption(e){return this._sharedAddOptionMethod(e,z)}addMentionableOption(e){return this._sharedAddOptionMethod(e,q)}addStringOption(e){return this._sharedAddOptionMethod(e,I)}addIntegerOption(e){return this._sharedAddOptionMethod(e,P)}addNumberOption(e){return this._sharedAddOptionMethod(e,T)}_sharedAddOptionMethod(e,i){let{options:o}=this;d(o);let r=typeof e=="function"?e(new i):e;return C(r,i),o.push(r),this}};var pe=require("discord-api-types/v9"),me=require("ts-mixer");var x=class{constructor(){n(this,"name");n(this,"description");n(this,"options",[])}addSubcommand(e){let{options:i}=this;d(i);let o=typeof e=="function"?e(new c):e;return C(o,c),i.push(o),this}toJSON(){return h(this.name,this.description,this.options),{type:pe.ApplicationCommandOptionType.SubcommandGroup,name:this.name,description:this.description,options:this.options.map(e=>e.toJSON())}}};x=p([(0,me.mix)(f)],x);var c=class{constructor(){n(this,"name");n(this,"description");n(this,"options",[])}toJSON(){return h(this.name,this.description,this.options),{type:pe.ApplicationCommandOptionType.Subcommand,name:this.name,description:this.description,options:this.options.map(e=>e.toJSON())}}};c=p([(0,me.mix)(f,B)],c);var j=class{constructor(){n(this,"name");n(this,"description");n(this,"options",[]);n(this,"defaultPermission")}toJSON(){return h(this.name,this.description,this.options),{name:this.name,description:this.description,options:this.options.map(e=>e.toJSON()),default_permission:this.defaultPermission}}setDefaultPermission(e){return ne(e),Reflect.set(this,"defaultPermission",e),this}addSubcommandGroup(e){let{options:i}=this;d(i);let o=typeof e=="function"?e(new x):e;return C(o,x),i.push(o),this}addSubcommand(e){let{options:i}=this;d(i);let o=typeof e=="function"?e(new c):e;return C(o,c),i.push(o),this}};j=p([(0,Fe.mix)(B,f)],j);var ue={};w(ue,{validateDefaultPermission:()=>ce,validateName:()=>Z,validateRequiredParameters:()=>de,validateType:()=>K});var $=require("zod"),le=require("discord-api-types/v9");function de(t,e){Z(t),K(e)}var At=$.z.string().min(1).max(32).regex(/^( *[\p{L}\p{N}_-]+ *)+$/u);function Z(t){At.parse(t)}var Ot=$.z.union([$.z.literal(le.ApplicationCommandType.User),$.z.literal(le.ApplicationCommandType.Message)]);function K(t){Ot.parse(t)}var St=$.z.boolean();function ce(t){St.parse(t)}var Je=class{constructor(){n(this,"name");n(this,"type");n(this,"defaultPermission")}setName(e){return Z(e),Reflect.set(this,"name",e),this}setType(e){return K(e),Reflect.set(this,"type",e),this}setDefaultPermission(e){return ce(e),Reflect.set(this,"defaultPermission",e),this}toJSON(){return de(this.name,this.type),{name:this.name,type:this.type,default_permission:this.defaultPermission}}};module.exports=Ke(yt);0&&(module.exports={ContextMenuCommandAssertions,ContextMenuCommandBuilder,Embed,EmbedAssertions,Faces,SlashCommandAssertions,SlashCommandBooleanOption,SlashCommandBuilder,SlashCommandChannelOption,SlashCommandIntegerOption,SlashCommandMentionableOption,SlashCommandNumberOption,SlashCommandRoleOption,SlashCommandStringOption,SlashCommandSubcommandBuilder,SlashCommandSubcommandGroupBuilder,SlashCommandUserOption,TimestampStyles,blockQuote,bold,channelMention,codeBlock,formatEmoji,hideLinkEmbed,hyperlink,inlineCode,italic,memberNicknameMention,quote,roleMention,spoiler,strikethrough,time,underscore,userMention}); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@discordjs/builders/dist/index.js.map b/node_modules/@discordjs/builders/dist/index.js.map new file mode 100644 index 0000000..72c1248 --- /dev/null +++ b/node_modules/@discordjs/builders/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/index.ts","../src/messages/embed/Assertions.ts","../src/messages/embed/Embed.ts","../src/messages/formatters.ts","../src/interactions/slashCommands/Assertions.ts","../src/interactions/slashCommands/SlashCommandBuilder.ts","../src/interactions/slashCommands/options/boolean.ts","../src/interactions/slashCommands/mixins/NameAndDescription.ts","../src/interactions/slashCommands/mixins/ApplicationCommandOptionBase.ts","../src/interactions/slashCommands/options/channel.ts","../src/interactions/slashCommands/mixins/ApplicationCommandOptionChannelTypesMixin.ts","../src/interactions/slashCommands/options/integer.ts","../src/interactions/slashCommands/mixins/ApplicationCommandNumericOptionMinMaxValueMixin.ts","../src/interactions/slashCommands/mixins/ApplicationCommandOptionWithChoicesAndAutocompleteMixin.ts","../src/interactions/slashCommands/options/mentionable.ts","../src/interactions/slashCommands/options/number.ts","../src/interactions/slashCommands/options/role.ts","../src/interactions/slashCommands/options/string.ts","../src/interactions/slashCommands/options/user.ts","../src/interactions/slashCommands/mixins/SharedSlashCommandOptions.ts","../src/interactions/slashCommands/SlashCommandSubcommands.ts","../src/interactions/contextMenuCommands/Assertions.ts","../src/interactions/contextMenuCommands/ContextMenuCommandBuilder.ts"],"sourcesContent":["export * as EmbedAssertions from './messages/embed/Assertions';\nexport * from './messages/embed/Embed';\nexport * from './messages/formatters';\n\nexport * as SlashCommandAssertions from './interactions/slashCommands/Assertions';\nexport * from './interactions/slashCommands/SlashCommandBuilder';\nexport * from './interactions/slashCommands/SlashCommandSubcommands';\nexport * from './interactions/slashCommands/options/boolean';\nexport * from './interactions/slashCommands/options/channel';\nexport * from './interactions/slashCommands/options/integer';\nexport * from './interactions/slashCommands/options/mentionable';\nexport * from './interactions/slashCommands/options/number';\nexport * from './interactions/slashCommands/options/role';\nexport * from './interactions/slashCommands/options/string';\nexport * from './interactions/slashCommands/options/user';\n\nexport * as ContextMenuCommandAssertions from './interactions/contextMenuCommands/Assertions';\nexport * from './interactions/contextMenuCommands/ContextMenuCommandBuilder';\n","import type { APIEmbedField } from 'discord-api-types/v9';\nimport { z } from 'zod';\n\nexport const fieldNamePredicate = z.string().min(1).max(256);\n\nexport const fieldValuePredicate = z.string().min(1).max(1024);\n\nexport const fieldInlinePredicate = z.boolean().optional();\n\nexport const embedFieldPredicate = z.object({\n\tname: fieldNamePredicate,\n\tvalue: fieldValuePredicate,\n\tinline: fieldInlinePredicate,\n});\n\nexport const embedFieldsArrayPredicate = embedFieldPredicate.array();\n\nexport const fieldLengthPredicate = z.number().lte(25);\n\nexport function validateFieldLength(fields: APIEmbedField[], amountAdding: number): void {\n\tfieldLengthPredicate.parse(fields.length + amountAdding);\n}\n\nexport const authorNamePredicate = fieldNamePredicate.nullable();\n\nexport const urlPredicate = z.string().url().nullish();\n\nexport const colorPredicate = z.number().gte(0).lte(0xffffff).nullable();\n\nexport const descriptionPredicate = z.string().min(1).max(4096).nullable();\n\nexport const footerTextPredicate = z.string().min(1).max(2048).nullable();\n\nexport const timestampPredicate = z.union([z.number(), z.date()]).nullable();\n\nexport const titlePredicate = fieldNamePredicate.nullable();\n","import type {\n\tAPIEmbed,\n\tAPIEmbedAuthor,\n\tAPIEmbedField,\n\tAPIEmbedFooter,\n\tAPIEmbedImage,\n\tAPIEmbedProvider,\n\tAPIEmbedThumbnail,\n\tAPIEmbedVideo,\n} from 'discord-api-types/v9';\nimport {\n\tauthorNamePredicate,\n\tcolorPredicate,\n\tdescriptionPredicate,\n\tembedFieldsArrayPredicate,\n\tfieldInlinePredicate,\n\tfieldNamePredicate,\n\tfieldValuePredicate,\n\tfooterTextPredicate,\n\ttimestampPredicate,\n\ttitlePredicate,\n\turlPredicate,\n\tvalidateFieldLength,\n} from './Assertions';\n\nexport interface AuthorOptions {\n\tname: string;\n\turl?: string;\n\ticonURL?: string;\n}\n\nexport interface FooterOptions {\n\ttext: string;\n\ticonURL?: string;\n}\n\n/**\n * Represents an embed in a message (image/video preview, rich embed, etc.)\n */\nexport class Embed implements APIEmbed {\n\t/**\n\t * An array of fields of this embed\n\t */\n\tpublic fields: APIEmbedField[];\n\n\t/**\n\t * The embed title\n\t */\n\tpublic title?: string;\n\n\t/**\n\t * The embed description\n\t */\n\tpublic description?: string;\n\n\t/**\n\t * The embed url\n\t */\n\tpublic url?: string;\n\n\t/**\n\t * The embed color\n\t */\n\tpublic color?: number;\n\n\t/**\n\t * The timestamp of the embed in the ISO format\n\t */\n\tpublic timestamp?: string;\n\n\t/**\n\t * The embed thumbnail data\n\t */\n\tpublic thumbnail?: APIEmbedThumbnail;\n\n\t/**\n\t * The embed image data\n\t */\n\tpublic image?: APIEmbedImage;\n\n\t/**\n\t * Received video data\n\t */\n\tpublic video?: APIEmbedVideo;\n\n\t/**\n\t * The embed author data\n\t */\n\tpublic author?: APIEmbedAuthor;\n\n\t/**\n\t * Received data about the embed provider\n\t */\n\tpublic provider?: APIEmbedProvider;\n\n\t/**\n\t * The embed footer data\n\t */\n\tpublic footer?: APIEmbedFooter;\n\n\tpublic constructor(data: APIEmbed = {}) {\n\t\tthis.title = data.title;\n\t\tthis.description = data.description;\n\t\tthis.url = data.url;\n\t\tthis.color = data.color;\n\t\tthis.thumbnail = data.thumbnail;\n\t\tthis.image = data.image;\n\t\tthis.video = data.video;\n\t\tthis.author = data.author;\n\t\tthis.provider = data.provider;\n\t\tthis.footer = data.footer;\n\t\tthis.fields = data.fields ?? [];\n\n\t\tif (data.timestamp) this.timestamp = new Date(data.timestamp).toISOString();\n\t}\n\n\t/**\n\t * The accumulated length for the embed title, description, fields, footer text, and author name\n\t */\n\tpublic get length(): number {\n\t\treturn (\n\t\t\t(this.title?.length ?? 0) +\n\t\t\t(this.description?.length ?? 0) +\n\t\t\tthis.fields.reduce((prev, curr) => prev + curr.name.length + curr.value.length, 0) +\n\t\t\t(this.footer?.text.length ?? 0) +\n\t\t\t(this.author?.name.length ?? 0)\n\t\t);\n\t}\n\n\t/**\n\t * Adds a field to the embed (max 25)\n\t *\n\t * @param field The field to add.\n\t */\n\tpublic addField(field: APIEmbedField): this {\n\t\treturn this.addFields(field);\n\t}\n\n\t/**\n\t * Adds fields to the embed (max 25)\n\t *\n\t * @param fields The fields to add\n\t */\n\tpublic addFields(...fields: APIEmbedField[]): this {\n\t\t// Data assertions\n\t\tembedFieldsArrayPredicate.parse(fields);\n\n\t\t// Ensure adding these fields won't exceed the 25 field limit\n\t\tvalidateFieldLength(this.fields, fields.length);\n\n\t\tthis.fields.push(...Embed.normalizeFields(...fields));\n\t\treturn this;\n\t}\n\n\t/**\n\t * Removes, replaces, or inserts fields in the embed (max 25)\n\t *\n\t * @param index The index to start at\n\t * @param deleteCount The number of fields to remove\n\t * @param fields The replacing field objects\n\t */\n\tpublic spliceFields(index: number, deleteCount: number, ...fields: APIEmbedField[]): this {\n\t\t// Data assertions\n\t\tembedFieldsArrayPredicate.parse(fields);\n\n\t\t// Ensure adding these fields won't exceed the 25 field limit\n\t\tvalidateFieldLength(this.fields, fields.length - deleteCount);\n\n\t\tthis.fields.splice(index, deleteCount, ...Embed.normalizeFields(...fields));\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the author of this embed\n\t *\n\t * @param options The options for the author\n\t */\n\tpublic setAuthor(options: AuthorOptions | null): this {\n\t\tif (options === null) {\n\t\t\tthis.author = undefined;\n\t\t\treturn this;\n\t\t}\n\n\t\tconst { name, iconURL, url } = options;\n\t\t// Data assertions\n\t\tauthorNamePredicate.parse(name);\n\t\turlPredicate.parse(iconURL);\n\t\turlPredicate.parse(url);\n\n\t\tthis.author = { name, url, icon_url: iconURL };\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the color of this embed\n\t *\n\t * @param color The color of the embed\n\t */\n\tpublic setColor(color: number | null): this {\n\t\t// Data assertions\n\t\tcolorPredicate.parse(color);\n\n\t\tthis.color = color ?? undefined;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the description of this embed\n\t *\n\t * @param description The description\n\t */\n\tpublic setDescription(description: string | null): this {\n\t\t// Data assertions\n\t\tdescriptionPredicate.parse(description);\n\n\t\tthis.description = description ?? undefined;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the footer of this embed\n\t *\n\t * @param options The options for the footer\n\t */\n\tpublic setFooter(options: FooterOptions | null): this {\n\t\tif (options === null) {\n\t\t\tthis.footer = undefined;\n\t\t\treturn this;\n\t\t}\n\n\t\tconst { text, iconURL } = options;\n\t\t// Data assertions\n\t\tfooterTextPredicate.parse(text);\n\t\turlPredicate.parse(iconURL);\n\n\t\tthis.footer = { text, icon_url: iconURL };\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the image of this embed\n\t *\n\t * @param url The URL of the image\n\t */\n\tpublic setImage(url: string | null): this {\n\t\t// Data assertions\n\t\turlPredicate.parse(url);\n\n\t\tthis.image = url ? { url } : undefined;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the thumbnail of this embed\n\t *\n\t * @param url The URL of the thumbnail\n\t */\n\tpublic setThumbnail(url: string | null): this {\n\t\t// Data assertions\n\t\turlPredicate.parse(url);\n\n\t\tthis.thumbnail = url ? { url } : undefined;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the timestamp of this embed\n\t *\n\t * @param timestamp The timestamp or date\n\t */\n\tpublic setTimestamp(timestamp: number | Date | null = Date.now()): this {\n\t\t// Data assertions\n\t\ttimestampPredicate.parse(timestamp);\n\n\t\tthis.timestamp = timestamp ? new Date(timestamp).toISOString() : undefined;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the title of this embed\n\t *\n\t * @param title The title\n\t */\n\tpublic setTitle(title: string | null): this {\n\t\t// Data assertions\n\t\ttitlePredicate.parse(title);\n\n\t\tthis.title = title ?? undefined;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the URL of this embed\n\t *\n\t * @param url The URL\n\t */\n\tpublic setURL(url: string | null): this {\n\t\t// Data assertions\n\t\turlPredicate.parse(url);\n\n\t\tthis.url = url ?? undefined;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Transforms the embed to a plain object\n\t */\n\tpublic toJSON(): APIEmbed {\n\t\treturn { ...this };\n\t}\n\n\t/**\n\t * Normalizes field input and resolves strings\n\t *\n\t * @param fields Fields to normalize\n\t */\n\tpublic static normalizeFields(...fields: APIEmbedField[]): APIEmbedField[] {\n\t\treturn fields.flat(Infinity).map((field) => {\n\t\t\tfieldNamePredicate.parse(field.name);\n\t\t\tfieldValuePredicate.parse(field.value);\n\t\t\tfieldInlinePredicate.parse(field.inline);\n\n\t\t\treturn { name: field.name, value: field.value, inline: field.inline ?? undefined };\n\t\t});\n\t}\n}\n","import type { Snowflake } from 'discord-api-types/globals';\nimport type { URL } from 'url';\n\n/**\n * Wraps the content inside a codeblock with no language\n *\n * @param content The content to wrap\n */\nexport function codeBlock(content: C): `\\`\\`\\`\\n${C}\\`\\`\\``;\n\n/**\n * Wraps the content inside a codeblock with the specified language\n *\n * @param language The language for the codeblock\n * @param content The content to wrap\n */\nexport function codeBlock(language: L, content: C): `\\`\\`\\`${L}\\n${C}\\`\\`\\``;\nexport function codeBlock(language: string, content?: string): string {\n\treturn typeof content === 'undefined' ? `\\`\\`\\`\\n${language}\\`\\`\\`` : `\\`\\`\\`${language}\\n${content}\\`\\`\\``;\n}\n\n/**\n * Wraps the content inside \\`backticks\\`, which formats it as inline code\n *\n * @param content The content to wrap\n */\nexport function inlineCode(content: C): `\\`${C}\\`` {\n\treturn `\\`${content}\\``;\n}\n\n/**\n * Formats the content into italic text\n *\n * @param content The content to wrap\n */\nexport function italic(content: C): `_${C}_` {\n\treturn `_${content}_`;\n}\n\n/**\n * Formats the content into bold text\n *\n * @param content The content to wrap\n */\nexport function bold(content: C): `**${C}**` {\n\treturn `**${content}**`;\n}\n\n/**\n * Formats the content into underscored text\n *\n * @param content The content to wrap\n */\nexport function underscore(content: C): `__${C}__` {\n\treturn `__${content}__`;\n}\n\n/**\n * Formats the content into strike-through text\n *\n * @param content The content to wrap\n */\nexport function strikethrough(content: C): `~~${C}~~` {\n\treturn `~~${content}~~`;\n}\n\n/**\n * Formats the content into a quote. This needs to be at the start of the line for Discord to format it\n *\n * @param content The content to wrap\n */\nexport function quote(content: C): `> ${C}` {\n\treturn `> ${content}`;\n}\n\n/**\n * Formats the content into a block quote. This needs to be at the start of the line for Discord to format it\n *\n * @param content The content to wrap\n */\nexport function blockQuote(content: C): `>>> ${C}` {\n\treturn `>>> ${content}`;\n}\n\n/**\n * Wraps the URL into `<>`, which stops it from embedding\n *\n * @param url The URL to wrap\n */\nexport function hideLinkEmbed(url: C): `<${C}>`;\n\n/**\n * Wraps the URL into `<>`, which stops it from embedding\n *\n * @param url The URL to wrap\n */\nexport function hideLinkEmbed(url: URL): `<${string}>`;\nexport function hideLinkEmbed(url: string | URL) {\n\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\treturn `<${url}>`;\n}\n\n/**\n * Formats the content and the URL into a masked URL\n *\n * @param content The content to display\n * @param url The URL the content links to\n */\nexport function hyperlink(content: C, url: URL): `[${C}](${string})`;\n\n/**\n * Formats the content and the URL into a masked URL\n *\n * @param content The content to display\n * @param url The URL the content links to\n */\nexport function hyperlink(content: C, url: U): `[${C}](${U})`;\n\n/**\n * Formats the content and the URL into a masked URL\n *\n * @param content The content to display\n * @param url The URL the content links to\n * @param title The title shown when hovering on the masked link\n */\nexport function hyperlink(\n\tcontent: C,\n\turl: URL,\n\ttitle: T,\n): `[${C}](${string} \"${T}\")`;\n\n/**\n * Formats the content and the URL into a masked URL\n *\n * @param content The content to display\n * @param url The URL the content links to\n * @param title The title shown when hovering on the masked link\n */\nexport function hyperlink(\n\tcontent: C,\n\turl: U,\n\ttitle: T,\n): `[${C}](${U} \"${T}\")`;\nexport function hyperlink(content: string, url: string | URL, title?: string) {\n\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\treturn title ? `[${content}](${url} \"${title}\")` : `[${content}](${url})`;\n}\n\n/**\n * Wraps the content inside spoiler (hidden text)\n *\n * @param content The content to wrap\n */\nexport function spoiler(content: C): `||${C}||` {\n\treturn `||${content}||`;\n}\n\n/**\n * Formats a user ID into a user mention\n *\n * @param userId The user ID to format\n */\nexport function userMention(userId: C): `<@${C}>` {\n\treturn `<@${userId}>`;\n}\n\n/**\n * Formats a user ID into a member-nickname mention\n *\n * @param memberId The user ID to format\n */\nexport function memberNicknameMention(memberId: C): `<@!${C}>` {\n\treturn `<@!${memberId}>`;\n}\n\n/**\n * Formats a channel ID into a channel mention\n *\n * @param channelId The channel ID to format\n */\nexport function channelMention(channelId: C): `<#${C}>` {\n\treturn `<#${channelId}>`;\n}\n\n/**\n * Formats a role ID into a role mention\n *\n * @param roleId The role ID to format\n */\nexport function roleMention(roleId: C): `<@&${C}>` {\n\treturn `<@&${roleId}>`;\n}\n\n/**\n * Formats an emoji ID into a fully qualified emoji identifier\n *\n * @param emojiId The emoji ID to format\n */\nexport function formatEmoji(emojiId: C, animated?: false): `<:_:${C}>`;\n\n/**\n * Formats an emoji ID into a fully qualified emoji identifier\n *\n * @param emojiId The emoji ID to format\n * @param animated Whether the emoji is animated or not. Defaults to `false`\n */\nexport function formatEmoji(emojiId: C, animated?: true): ``;\n\n/**\n * Formats an emoji ID into a fully qualified emoji identifier\n *\n * @param emojiId The emoji ID to format\n * @param animated Whether the emoji is animated or not. Defaults to `false`\n */\nexport function formatEmoji(emojiId: C, animated = false): `` | `<:_:${C}>` {\n\treturn `<${animated ? 'a' : ''}:_:${emojiId}>`;\n}\n\n/**\n * Formats a date into a short date-time string\n *\n * @param date The date to format, defaults to the current time\n */\nexport function time(date?: Date): ``;\n\n/**\n * Formats a date given a format style\n *\n * @param date The date to format\n * @param style The style to use\n */\nexport function time(date: Date, style: S): ``;\n\n/**\n * Formats the given timestamp into a short date-time string\n *\n * @param seconds The time to format, represents an UNIX timestamp in seconds\n */\nexport function time(seconds: C): ``;\n\n/**\n * Formats the given timestamp into a short date-time string\n *\n * @param seconds The time to format, represents an UNIX timestamp in seconds\n * @param style The style to use\n */\nexport function time(seconds: C, style: S): ``;\nexport function time(timeOrSeconds?: number | Date, style?: TimestampStylesString): string {\n\tif (typeof timeOrSeconds !== 'number') {\n\t\ttimeOrSeconds = Math.floor((timeOrSeconds?.getTime() ?? Date.now()) / 1000);\n\t}\n\n\treturn typeof style === 'string' ? `` : ``;\n}\n\n/**\n * The [message formatting timestamp styles](https://discord.com/developers/docs/reference#message-formatting-timestamp-styles) supported by Discord\n */\nexport const TimestampStyles = {\n\t/**\n\t * Short time format, consisting of hours and minutes, e.g. 16:20\n\t */\n\tShortTime: 't',\n\n\t/**\n\t * Long time format, consisting of hours, minutes, and seconds, e.g. 16:20:30\n\t */\n\tLongTime: 'T',\n\n\t/**\n\t * Short date format, consisting of day, month, and year, e.g. 20/04/2021\n\t */\n\tShortDate: 'd',\n\n\t/**\n\t * Long date format, consisting of day, month, and year, e.g. 20 April 2021\n\t */\n\tLongDate: 'D',\n\n\t/**\n\t * Short date-time format, consisting of short date and short time formats, e.g. 20 April 2021 16:20\n\t */\n\tShortDateTime: 'f',\n\n\t/**\n\t * Long date-time format, consisting of long date and short time formats, e.g. Tuesday, 20 April 2021 16:20\n\t */\n\tLongDateTime: 'F',\n\n\t/**\n\t * Relative time format, consisting of a relative duration format, e.g. 2 months ago\n\t */\n\tRelativeTime: 'R',\n} as const;\n\n/**\n * The possible values, see {@link TimestampStyles} for more information\n */\nexport type TimestampStylesString = typeof TimestampStyles[keyof typeof TimestampStyles];\n\n/**\n * An enum with all the available faces from Discord's native slash commands\n */\nexport enum Faces {\n\t/**\n\t * ¯\\\\_(ツ)\\\\_/¯\n\t */\n\tShrug = '¯\\\\_(ツ)\\\\_/¯',\n\n\t/**\n\t * (╯°□°)╯︵ ┻━┻\n\t */\n\tTableflip = '(╯°□°)╯︵ ┻━┻',\n\n\t/**\n\t * ┬─┬ ノ( ゜-゜ノ)\n\t */\n\tUnflip = '┬─┬ ノ( ゜-゜ノ)',\n}\n","import is from '@sindresorhus/is';\nimport type { APIApplicationCommandOptionChoice } from 'discord-api-types/v9';\nimport { z } from 'zod';\nimport type { ApplicationCommandOptionBase } from './mixins/ApplicationCommandOptionBase';\nimport type { ToAPIApplicationCommandOptions } from './SlashCommandBuilder';\nimport type { SlashCommandSubcommandBuilder, SlashCommandSubcommandGroupBuilder } from './SlashCommandSubcommands';\n\nexport function validateRequiredParameters(\n\tname: string,\n\tdescription: string,\n\toptions: ToAPIApplicationCommandOptions[],\n) {\n\t// Assert name matches all conditions\n\tvalidateName(name);\n\n\t// Assert description conditions\n\tvalidateDescription(description);\n\n\t// Assert options conditions\n\tvalidateMaxOptionsLength(options);\n}\n\nconst namePredicate = z\n\t.string()\n\t.min(1)\n\t.max(32)\n\t.regex(/^[\\P{Lu}\\p{N}_-]+$/u);\n\nexport function validateName(name: unknown): asserts name is string {\n\tnamePredicate.parse(name);\n}\n\nconst descriptionPredicate = z.string().min(1).max(100);\n\nexport function validateDescription(description: unknown): asserts description is string {\n\tdescriptionPredicate.parse(description);\n}\n\nconst booleanPredicate = z.boolean();\n\nexport function validateDefaultPermission(value: unknown): asserts value is boolean {\n\tbooleanPredicate.parse(value);\n}\n\nexport function validateRequired(required: unknown): asserts required is boolean {\n\tbooleanPredicate.parse(required);\n}\n\nconst maxArrayLengthPredicate = z.unknown().array().max(25);\n\nexport function validateMaxOptionsLength(options: unknown): asserts options is ToAPIApplicationCommandOptions[] {\n\tmaxArrayLengthPredicate.parse(options);\n}\n\nexport function validateMaxChoicesLength(choices: APIApplicationCommandOptionChoice[]) {\n\tmaxArrayLengthPredicate.parse(choices);\n}\n\nexport function assertReturnOfBuilder<\n\tT extends ApplicationCommandOptionBase | SlashCommandSubcommandBuilder | SlashCommandSubcommandGroupBuilder,\n>(input: unknown, ExpectedInstanceOf: new () => T): asserts input is T {\n\tconst instanceName = ExpectedInstanceOf.name;\n\n\tif (is.nullOrUndefined(input)) {\n\t\tthrow new TypeError(\n\t\t\t`Expected to receive a ${instanceName} builder, got ${input === null ? 'null' : 'undefined'} instead.`,\n\t\t);\n\t}\n\n\tif (is.primitive(input)) {\n\t\tthrow new TypeError(`Expected to receive a ${instanceName} builder, got a primitive (${typeof input}) instead.`);\n\t}\n\n\tif (!(input instanceof ExpectedInstanceOf)) {\n\t\tconst casted = input as Record;\n\n\t\tconst constructorName = is.function_(input) ? input.name : casted.constructor.name;\n\t\tconst stringTag = Reflect.get(casted, Symbol.toStringTag) as string | undefined;\n\n\t\tconst fullResultName = stringTag ? `${constructorName} [${stringTag}]` : constructorName;\n\n\t\tthrow new TypeError(`Expected to receive a ${instanceName} builder, got ${fullResultName} instead.`);\n\t}\n}\n","import type { APIApplicationCommandOption, RESTPostAPIApplicationCommandsJSONBody } from 'discord-api-types/v9';\nimport { mix } from 'ts-mixer';\nimport {\n\tassertReturnOfBuilder,\n\tvalidateDefaultPermission,\n\tvalidateMaxOptionsLength,\n\tvalidateRequiredParameters,\n} from './Assertions';\nimport { SharedSlashCommandOptions } from './mixins/SharedSlashCommandOptions';\nimport { SharedNameAndDescription } from './mixins/NameAndDescription';\nimport { SlashCommandSubcommandBuilder, SlashCommandSubcommandGroupBuilder } from './SlashCommandSubcommands';\n\n@mix(SharedSlashCommandOptions, SharedNameAndDescription)\nexport class SlashCommandBuilder {\n\t/**\n\t * The name of this slash command\n\t */\n\tpublic readonly name: string = undefined!;\n\n\t/**\n\t * The description of this slash command\n\t */\n\tpublic readonly description: string = undefined!;\n\n\t/**\n\t * The options of this slash command\n\t */\n\tpublic readonly options: ToAPIApplicationCommandOptions[] = [];\n\n\t/**\n\t * Whether the command is enabled by default when the app is added to a guild\n\t *\n\t * @default true\n\t */\n\tpublic readonly defaultPermission: boolean | undefined = undefined;\n\n\t/**\n\t * Returns the final data that should be sent to Discord.\n\t *\n\t * **Note:** Calling this function will validate required properties based on their conditions.\n\t */\n\tpublic toJSON(): RESTPostAPIApplicationCommandsJSONBody {\n\t\tvalidateRequiredParameters(this.name, this.description, this.options);\n\n\t\treturn {\n\t\t\tname: this.name,\n\t\t\tdescription: this.description,\n\t\t\toptions: this.options.map((option) => option.toJSON()),\n\t\t\tdefault_permission: this.defaultPermission,\n\t\t};\n\t}\n\n\t/**\n\t * Sets whether the command is enabled by default when the application is added to a guild.\n\t *\n\t * **Note**: If set to `false`, you will have to later `PUT` the permissions for this command.\n\t *\n\t * @param value Whether or not to enable this command by default\n\t *\n\t * @see https://discord.com/developers/docs/interactions/application-commands#permissions\n\t */\n\tpublic setDefaultPermission(value: boolean) {\n\t\t// Assert the value matches the conditions\n\t\tvalidateDefaultPermission(value);\n\n\t\tReflect.set(this, 'defaultPermission', value);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds a new subcommand group to this command\n\t *\n\t * @param input A function that returns a subcommand group builder, or an already built builder\n\t */\n\tpublic addSubcommandGroup(\n\t\tinput:\n\t\t\t| SlashCommandSubcommandGroupBuilder\n\t\t\t| ((subcommandGroup: SlashCommandSubcommandGroupBuilder) => SlashCommandSubcommandGroupBuilder),\n\t): SlashCommandSubcommandsOnlyBuilder {\n\t\tconst { options } = this;\n\n\t\t// First, assert options conditions - we cannot have more than 25 options\n\t\tvalidateMaxOptionsLength(options);\n\n\t\t// Get the final result\n\t\tconst result = typeof input === 'function' ? input(new SlashCommandSubcommandGroupBuilder()) : input;\n\n\t\tassertReturnOfBuilder(result, SlashCommandSubcommandGroupBuilder);\n\n\t\t// Push it\n\t\toptions.push(result);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds a new subcommand to this command\n\t *\n\t * @param input A function that returns a subcommand builder, or an already built builder\n\t */\n\tpublic addSubcommand(\n\t\tinput:\n\t\t\t| SlashCommandSubcommandBuilder\n\t\t\t| ((subcommandGroup: SlashCommandSubcommandBuilder) => SlashCommandSubcommandBuilder),\n\t): SlashCommandSubcommandsOnlyBuilder {\n\t\tconst { options } = this;\n\n\t\t// First, assert options conditions - we cannot have more than 25 options\n\t\tvalidateMaxOptionsLength(options);\n\n\t\t// Get the final result\n\t\tconst result = typeof input === 'function' ? input(new SlashCommandSubcommandBuilder()) : input;\n\n\t\tassertReturnOfBuilder(result, SlashCommandSubcommandBuilder);\n\n\t\t// Push it\n\t\toptions.push(result);\n\n\t\treturn this;\n\t}\n}\n\nexport interface SlashCommandBuilder extends SharedNameAndDescription, SharedSlashCommandOptions {}\n\nexport interface SlashCommandSubcommandsOnlyBuilder\n\textends SharedNameAndDescription,\n\t\tPick {}\n\nexport interface SlashCommandOptionsOnlyBuilder\n\textends SharedNameAndDescription,\n\t\tSharedSlashCommandOptions,\n\t\tPick {}\n\nexport interface ToAPIApplicationCommandOptions {\n\ttoJSON(): APIApplicationCommandOption;\n}\n","import { APIApplicationCommandBooleanOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';\n\nexport class SlashCommandBooleanOption extends ApplicationCommandOptionBase {\n\tpublic readonly type = ApplicationCommandOptionType.Boolean as const;\n\n\tpublic toJSON(): APIApplicationCommandBooleanOption {\n\t\tthis.runRequiredValidations();\n\n\t\treturn { ...this };\n\t}\n}\n","import { validateDescription, validateName } from '../Assertions';\n\nexport class SharedNameAndDescription {\n\tpublic readonly name!: string;\n\tpublic readonly description!: string;\n\n\t/**\n\t * Sets the name\n\t *\n\t * @param name The name\n\t */\n\tpublic setName(name: string) {\n\t\t// Assert the name matches the conditions\n\t\tvalidateName(name);\n\n\t\tReflect.set(this, 'name', name);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the description\n\t *\n\t * @param description The description\n\t */\n\tpublic setDescription(description: string) {\n\t\t// Assert the description matches the conditions\n\t\tvalidateDescription(description);\n\n\t\tReflect.set(this, 'description', description);\n\n\t\treturn this;\n\t}\n}\n","import type { APIApplicationCommandBasicOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { validateRequiredParameters, validateRequired } from '../Assertions';\nimport { SharedNameAndDescription } from './NameAndDescription';\n\nexport abstract class ApplicationCommandOptionBase extends SharedNameAndDescription {\n\tpublic abstract readonly type: ApplicationCommandOptionType;\n\n\tpublic readonly required = false;\n\n\t/**\n\t * Marks the option as required\n\t *\n\t * @param required If this option should be required\n\t */\n\tpublic setRequired(required: boolean) {\n\t\t// Assert that you actually passed a boolean\n\t\tvalidateRequired(required);\n\n\t\tReflect.set(this, 'required', required);\n\n\t\treturn this;\n\t}\n\n\tpublic abstract toJSON(): APIApplicationCommandBasicOption;\n\n\tprotected runRequiredValidations() {\n\t\tvalidateRequiredParameters(this.name, this.description, []);\n\n\t\t// Assert that you actually passed a boolean\n\t\tvalidateRequired(this.required);\n\t}\n}\n","import { APIApplicationCommandChannelOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { mix } from 'ts-mixer';\nimport { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';\nimport { ApplicationCommandOptionChannelTypesMixin } from '../mixins/ApplicationCommandOptionChannelTypesMixin';\n\n@mix(ApplicationCommandOptionChannelTypesMixin)\nexport class SlashCommandChannelOption extends ApplicationCommandOptionBase {\n\tpublic override readonly type = ApplicationCommandOptionType.Channel as const;\n\n\tpublic toJSON(): APIApplicationCommandChannelOption {\n\t\tthis.runRequiredValidations();\n\n\t\treturn { ...this };\n\t}\n}\n\nexport interface SlashCommandChannelOption extends ApplicationCommandOptionChannelTypesMixin {}\n","import { ChannelType } from 'discord-api-types/v9';\nimport { z, ZodLiteral } from 'zod';\n\n// Only allow valid channel types to be used. (This can't be dynamic because const enums are erased at runtime)\nconst allowedChannelTypes = [\n\tChannelType.GuildText,\n\tChannelType.GuildVoice,\n\tChannelType.GuildCategory,\n\tChannelType.GuildNews,\n\tChannelType.GuildStore,\n\tChannelType.GuildNewsThread,\n\tChannelType.GuildPublicThread,\n\tChannelType.GuildPrivateThread,\n\tChannelType.GuildStageVoice,\n] as const;\n\nexport type ApplicationCommandOptionAllowedChannelTypes = typeof allowedChannelTypes[number];\n\nconst channelTypePredicate = z.union(\n\tallowedChannelTypes.map((type) => z.literal(type)) as [\n\t\tZodLiteral,\n\t\tZodLiteral,\n\t\t...ZodLiteral[]\n\t],\n);\n\nexport class ApplicationCommandOptionChannelTypesMixin {\n\tpublic readonly channel_types?: ApplicationCommandOptionAllowedChannelTypes[];\n\n\t/**\n\t * Adds a channel type to this option\n\t *\n\t * @param channelType The type of channel to allow\n\t */\n\tpublic addChannelType(channelType: ApplicationCommandOptionAllowedChannelTypes) {\n\t\tif (this.channel_types === undefined) {\n\t\t\tReflect.set(this, 'channel_types', []);\n\t\t}\n\n\t\tchannelTypePredicate.parse(channelType);\n\t\tthis.channel_types!.push(channelType);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds channel types to this option\n\t *\n\t * @param channelTypes The channel types to add\n\t */\n\tpublic addChannelTypes(channelTypes: ApplicationCommandOptionAllowedChannelTypes[]) {\n\t\tchannelTypes.forEach((channelType) => this.addChannelType(channelType));\n\t\treturn this;\n\t}\n}\n","import { APIApplicationCommandIntegerOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { mix } from 'ts-mixer';\nimport { z } from 'zod';\nimport { ApplicationCommandNumericOptionMinMaxValueMixin } from '../mixins/ApplicationCommandNumericOptionMinMaxValueMixin';\nimport { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';\nimport { ApplicationCommandOptionWithChoicesAndAutocompleteMixin } from '../mixins/ApplicationCommandOptionWithChoicesAndAutocompleteMixin';\n\nconst numberValidator = z.number().int().nonnegative();\n\n@mix(ApplicationCommandNumericOptionMinMaxValueMixin, ApplicationCommandOptionWithChoicesAndAutocompleteMixin)\nexport class SlashCommandIntegerOption\n\textends ApplicationCommandOptionBase\n\timplements ApplicationCommandNumericOptionMinMaxValueMixin\n{\n\tpublic readonly type = ApplicationCommandOptionType.Integer as const;\n\n\tpublic setMaxValue(max: number): this {\n\t\tnumberValidator.parse(max);\n\n\t\tReflect.set(this, 'maxValue', max);\n\n\t\treturn this;\n\t}\n\n\tpublic setMinValue(min: number): this {\n\t\tnumberValidator.parse(min);\n\n\t\tReflect.set(this, 'minValue', min);\n\n\t\treturn this;\n\t}\n\n\tpublic toJSON(): APIApplicationCommandIntegerOption {\n\t\tthis.runRequiredValidations();\n\n\t\tif (this.autocomplete && Array.isArray(this.choices) && this.choices.length > 0) {\n\t\t\tthrow new RangeError('Autocomplete and choices are mutually exclusive to each other.');\n\t\t}\n\n\t\treturn { ...this };\n\t}\n}\n\nexport interface SlashCommandIntegerOption\n\textends ApplicationCommandNumericOptionMinMaxValueMixin,\n\t\tApplicationCommandOptionWithChoicesAndAutocompleteMixin {}\n","export abstract class ApplicationCommandNumericOptionMinMaxValueMixin {\n\tprotected readonly maxValue?: number;\n\tprotected readonly minValue?: number;\n\n\t/**\n\t * Sets the maximum number value of this option\n\t * @param max The maximum value this option can be\n\t */\n\tpublic abstract setMaxValue(max: number): this;\n\n\t/**\n\t * Sets the minimum number value of this option\n\t * @param min The minimum value this option can be\n\t */\n\tpublic abstract setMinValue(min: number): this;\n}\n","import { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { z } from 'zod';\nimport { validateMaxChoicesLength } from '../Assertions';\n\nconst stringPredicate = z.string().min(1).max(100);\nconst numberPredicate = z.number().gt(-Infinity).lt(Infinity);\nconst choicesPredicate = z.tuple([stringPredicate, z.union([stringPredicate, numberPredicate])]).array();\nconst booleanPredicate = z.boolean();\n\nexport class ApplicationCommandOptionWithChoicesAndAutocompleteMixin {\n\tpublic readonly choices?: APIApplicationCommandOptionChoice[];\n\tpublic readonly autocomplete?: boolean;\n\n\t// Since this is present and this is a mixin, this is needed\n\tpublic readonly type!: ApplicationCommandOptionType;\n\n\t/**\n\t * Adds a choice for this option\n\t *\n\t * @param name The name of the choice\n\t * @param value The value of the choice\n\t */\n\tpublic addChoice(name: string, value: T): Omit {\n\t\tif (this.autocomplete) {\n\t\t\tthrow new RangeError('Autocomplete and choices are mutually exclusive to each other.');\n\t\t}\n\n\t\tif (this.choices === undefined) {\n\t\t\tReflect.set(this, 'choices', []);\n\t\t}\n\n\t\tvalidateMaxChoicesLength(this.choices!);\n\n\t\t// Validate name\n\t\tstringPredicate.parse(name);\n\n\t\t// Validate the value\n\t\tif (this.type === ApplicationCommandOptionType.String) {\n\t\t\tstringPredicate.parse(value);\n\t\t} else {\n\t\t\tnumberPredicate.parse(value);\n\t\t}\n\n\t\tthis.choices!.push({ name, value });\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds multiple choices for this option\n\t *\n\t * @param choices The choices to add\n\t */\n\tpublic addChoices(choices: [name: string, value: T][]): Omit {\n\t\tif (this.autocomplete) {\n\t\t\tthrow new RangeError('Autocomplete and choices are mutually exclusive to each other.');\n\t\t}\n\n\t\tchoicesPredicate.parse(choices);\n\n\t\tfor (const [label, value] of choices) this.addChoice(label, value);\n\t\treturn this;\n\t}\n\n\tpublic setChoices(\n\t\tchoices: Input,\n\t): Input extends []\n\t\t? this & Pick, 'setAutocomplete'>\n\t\t: Omit {\n\t\tif (choices.length > 0 && this.autocomplete) {\n\t\t\tthrow new RangeError('Autocomplete and choices are mutually exclusive to each other.');\n\t\t}\n\n\t\tchoicesPredicate.parse(choices);\n\n\t\tReflect.set(this, 'choices', []);\n\t\tfor (const [label, value] of choices) this.addChoice(label, value);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Marks the option as autocompletable\n\t * @param autocomplete If this option should be autocompletable\n\t */\n\tpublic setAutocomplete(\n\t\tautocomplete: U,\n\t): U extends true\n\t\t? Omit\n\t\t: this & Pick, 'addChoice' | 'addChoices'> {\n\t\t// Assert that you actually passed a boolean\n\t\tbooleanPredicate.parse(autocomplete);\n\n\t\tif (autocomplete && Array.isArray(this.choices) && this.choices.length > 0) {\n\t\t\tthrow new RangeError('Autocomplete and choices are mutually exclusive to each other.');\n\t\t}\n\n\t\tReflect.set(this, 'autocomplete', autocomplete);\n\n\t\treturn this;\n\t}\n}\n","import { APIApplicationCommandMentionableOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';\n\nexport class SlashCommandMentionableOption extends ApplicationCommandOptionBase {\n\tpublic readonly type = ApplicationCommandOptionType.Mentionable as const;\n\n\tpublic toJSON(): APIApplicationCommandMentionableOption {\n\t\tthis.runRequiredValidations();\n\n\t\treturn { ...this };\n\t}\n}\n","import { APIApplicationCommandNumberOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { mix } from 'ts-mixer';\nimport { z } from 'zod';\nimport { ApplicationCommandNumericOptionMinMaxValueMixin } from '../mixins/ApplicationCommandNumericOptionMinMaxValueMixin';\nimport { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';\nimport { ApplicationCommandOptionWithChoicesAndAutocompleteMixin } from '../mixins/ApplicationCommandOptionWithChoicesAndAutocompleteMixin';\n\nconst numberValidator = z.number().nonnegative();\n\n@mix(ApplicationCommandNumericOptionMinMaxValueMixin, ApplicationCommandOptionWithChoicesAndAutocompleteMixin)\nexport class SlashCommandNumberOption\n\textends ApplicationCommandOptionBase\n\timplements ApplicationCommandNumericOptionMinMaxValueMixin\n{\n\tpublic readonly type = ApplicationCommandOptionType.Number as const;\n\n\tpublic setMaxValue(max: number): this {\n\t\tnumberValidator.parse(max);\n\n\t\tReflect.set(this, 'maxValue', max);\n\n\t\treturn this;\n\t}\n\n\tpublic setMinValue(min: number): this {\n\t\tnumberValidator.parse(min);\n\n\t\tReflect.set(this, 'minValue', min);\n\n\t\treturn this;\n\t}\n\n\tpublic toJSON(): APIApplicationCommandNumberOption {\n\t\tthis.runRequiredValidations();\n\n\t\tif (this.autocomplete && Array.isArray(this.choices) && this.choices.length > 0) {\n\t\t\tthrow new RangeError('Autocomplete and choices are mutually exclusive to each other.');\n\t\t}\n\n\t\treturn { ...this };\n\t}\n}\n\nexport interface SlashCommandNumberOption\n\textends ApplicationCommandNumericOptionMinMaxValueMixin,\n\t\tApplicationCommandOptionWithChoicesAndAutocompleteMixin {}\n","import { APIApplicationCommandRoleOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';\n\nexport class SlashCommandRoleOption extends ApplicationCommandOptionBase {\n\tpublic override readonly type = ApplicationCommandOptionType.Role as const;\n\n\tpublic toJSON(): APIApplicationCommandRoleOption {\n\t\tthis.runRequiredValidations();\n\n\t\treturn { ...this };\n\t}\n}\n","import { APIApplicationCommandStringOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { mix } from 'ts-mixer';\nimport { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';\nimport { ApplicationCommandOptionWithChoicesAndAutocompleteMixin } from '../mixins/ApplicationCommandOptionWithChoicesAndAutocompleteMixin';\n\n@mix(ApplicationCommandOptionWithChoicesAndAutocompleteMixin)\nexport class SlashCommandStringOption extends ApplicationCommandOptionBase {\n\tpublic readonly type = ApplicationCommandOptionType.String as const;\n\n\tpublic toJSON(): APIApplicationCommandStringOption {\n\t\tthis.runRequiredValidations();\n\n\t\tif (this.autocomplete && Array.isArray(this.choices) && this.choices.length > 0) {\n\t\t\tthrow new RangeError('Autocomplete and choices are mutually exclusive to each other.');\n\t\t}\n\n\t\treturn { ...this };\n\t}\n}\n\nexport interface SlashCommandStringOption extends ApplicationCommandOptionWithChoicesAndAutocompleteMixin {}\n","import { APIApplicationCommandUserOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';\n\nexport class SlashCommandUserOption extends ApplicationCommandOptionBase {\n\tpublic readonly type = ApplicationCommandOptionType.User as const;\n\n\tpublic toJSON(): APIApplicationCommandUserOption {\n\t\tthis.runRequiredValidations();\n\n\t\treturn { ...this };\n\t}\n}\n","import { assertReturnOfBuilder, validateMaxOptionsLength } from '../Assertions';\nimport type { ApplicationCommandOptionBase } from './ApplicationCommandOptionBase';\nimport { SlashCommandBooleanOption } from '../options/boolean';\nimport { SlashCommandChannelOption } from '../options/channel';\nimport { SlashCommandIntegerOption } from '../options/integer';\nimport { SlashCommandMentionableOption } from '../options/mentionable';\nimport { SlashCommandNumberOption } from '../options/number';\nimport { SlashCommandRoleOption } from '../options/role';\nimport { SlashCommandStringOption } from '../options/string';\nimport { SlashCommandUserOption } from '../options/user';\nimport type { ToAPIApplicationCommandOptions } from '../SlashCommandBuilder';\n\nexport class SharedSlashCommandOptions {\n\tpublic readonly options!: ToAPIApplicationCommandOptions[];\n\n\t/**\n\t * Adds a boolean option\n\t *\n\t * @param input A function that returns an option builder, or an already built builder\n\t */\n\tpublic addBooleanOption(\n\t\tinput: SlashCommandBooleanOption | ((builder: SlashCommandBooleanOption) => SlashCommandBooleanOption),\n\t) {\n\t\treturn this._sharedAddOptionMethod(input, SlashCommandBooleanOption);\n\t}\n\n\t/**\n\t * Adds a user option\n\t *\n\t * @param input A function that returns an option builder, or an already built builder\n\t */\n\tpublic addUserOption(input: SlashCommandUserOption | ((builder: SlashCommandUserOption) => SlashCommandUserOption)) {\n\t\treturn this._sharedAddOptionMethod(input, SlashCommandUserOption);\n\t}\n\n\t/**\n\t * Adds a channel option\n\t *\n\t * @param input A function that returns an option builder, or an already built builder\n\t */\n\tpublic addChannelOption(\n\t\tinput: SlashCommandChannelOption | ((builder: SlashCommandChannelOption) => SlashCommandChannelOption),\n\t) {\n\t\treturn this._sharedAddOptionMethod(input, SlashCommandChannelOption);\n\t}\n\n\t/**\n\t * Adds a role option\n\t *\n\t * @param input A function that returns an option builder, or an already built builder\n\t */\n\tpublic addRoleOption(input: SlashCommandRoleOption | ((builder: SlashCommandRoleOption) => SlashCommandRoleOption)) {\n\t\treturn this._sharedAddOptionMethod(input, SlashCommandRoleOption);\n\t}\n\n\t/**\n\t * Adds a mentionable option\n\t *\n\t * @param input A function that returns an option builder, or an already built builder\n\t */\n\tpublic addMentionableOption(\n\t\tinput: SlashCommandMentionableOption | ((builder: SlashCommandMentionableOption) => SlashCommandMentionableOption),\n\t) {\n\t\treturn this._sharedAddOptionMethod(input, SlashCommandMentionableOption);\n\t}\n\n\t/**\n\t * Adds a string option\n\t *\n\t * @param input A function that returns an option builder, or an already built builder\n\t */\n\tpublic addStringOption(\n\t\tinput:\n\t\t\t| SlashCommandStringOption\n\t\t\t| Omit\n\t\t\t| Omit\n\t\t\t| ((\n\t\t\t\t\tbuilder: SlashCommandStringOption,\n\t\t\t ) =>\n\t\t\t\t\t| SlashCommandStringOption\n\t\t\t\t\t| Omit\n\t\t\t\t\t| Omit),\n\t) {\n\t\treturn this._sharedAddOptionMethod(input, SlashCommandStringOption);\n\t}\n\n\t/**\n\t * Adds an integer option\n\t *\n\t * @param input A function that returns an option builder, or an already built builder\n\t */\n\tpublic addIntegerOption(\n\t\tinput:\n\t\t\t| SlashCommandIntegerOption\n\t\t\t| Omit\n\t\t\t| Omit\n\t\t\t| ((\n\t\t\t\t\tbuilder: SlashCommandIntegerOption,\n\t\t\t ) =>\n\t\t\t\t\t| SlashCommandIntegerOption\n\t\t\t\t\t| Omit\n\t\t\t\t\t| Omit),\n\t) {\n\t\treturn this._sharedAddOptionMethod(input, SlashCommandIntegerOption);\n\t}\n\n\t/**\n\t * Adds a number option\n\t *\n\t * @param input A function that returns an option builder, or an already built builder\n\t */\n\tpublic addNumberOption(\n\t\tinput:\n\t\t\t| SlashCommandNumberOption\n\t\t\t| Omit\n\t\t\t| Omit\n\t\t\t| ((\n\t\t\t\t\tbuilder: SlashCommandNumberOption,\n\t\t\t ) =>\n\t\t\t\t\t| SlashCommandNumberOption\n\t\t\t\t\t| Omit\n\t\t\t\t\t| Omit),\n\t) {\n\t\treturn this._sharedAddOptionMethod(input, SlashCommandNumberOption);\n\t}\n\n\tprivate _sharedAddOptionMethod(\n\t\tinput:\n\t\t\t| T\n\t\t\t| Omit\n\t\t\t| Omit\n\t\t\t| ((builder: T) => T | Omit | Omit),\n\t\tInstance: new () => T,\n\t): ShouldOmitSubcommandFunctions extends true ? Omit : this {\n\t\tconst { options } = this;\n\n\t\t// First, assert options conditions - we cannot have more than 25 options\n\t\tvalidateMaxOptionsLength(options);\n\n\t\t// Get the final result\n\t\tconst result = typeof input === 'function' ? input(new Instance()) : input;\n\n\t\tassertReturnOfBuilder(result, Instance);\n\n\t\t// Push it\n\t\toptions.push(result);\n\n\t\treturn this;\n\t}\n}\n","import {\n\tAPIApplicationCommandSubcommandGroupOption,\n\tAPIApplicationCommandSubcommandOption,\n\tApplicationCommandOptionType,\n} from 'discord-api-types/v9';\nimport { mix } from 'ts-mixer';\nimport { assertReturnOfBuilder, validateMaxOptionsLength, validateRequiredParameters } from './Assertions';\nimport type { ApplicationCommandOptionBase } from './mixins/ApplicationCommandOptionBase';\nimport { SharedNameAndDescription } from './mixins/NameAndDescription';\nimport { SharedSlashCommandOptions } from './mixins/SharedSlashCommandOptions';\nimport type { ToAPIApplicationCommandOptions } from './SlashCommandBuilder';\n\n/**\n * Represents a folder for subcommands\n *\n * For more information, go to https://discord.com/developers/docs/interactions/slash-commands#subcommands-and-subcommand-groups\n */\n@mix(SharedNameAndDescription)\nexport class SlashCommandSubcommandGroupBuilder implements ToAPIApplicationCommandOptions {\n\t/**\n\t * The name of this subcommand group\n\t */\n\tpublic readonly name: string = undefined!;\n\n\t/**\n\t * The description of this subcommand group\n\t */\n\tpublic readonly description: string = undefined!;\n\n\t/**\n\t * The subcommands part of this subcommand group\n\t */\n\tpublic readonly options: SlashCommandSubcommandBuilder[] = [];\n\n\t/**\n\t * Adds a new subcommand to this group\n\t *\n\t * @param input A function that returns a subcommand builder, or an already built builder\n\t */\n\tpublic addSubcommand(\n\t\tinput:\n\t\t\t| SlashCommandSubcommandBuilder\n\t\t\t| ((subcommandGroup: SlashCommandSubcommandBuilder) => SlashCommandSubcommandBuilder),\n\t) {\n\t\tconst { options } = this;\n\n\t\t// First, assert options conditions - we cannot have more than 25 options\n\t\tvalidateMaxOptionsLength(options);\n\n\t\t// Get the final result\n\t\tconst result = typeof input === 'function' ? input(new SlashCommandSubcommandBuilder()) : input;\n\n\t\tassertReturnOfBuilder(result, SlashCommandSubcommandBuilder);\n\n\t\t// Push it\n\t\toptions.push(result);\n\n\t\treturn this;\n\t}\n\n\tpublic toJSON(): APIApplicationCommandSubcommandGroupOption {\n\t\tvalidateRequiredParameters(this.name, this.description, this.options);\n\n\t\treturn {\n\t\t\ttype: ApplicationCommandOptionType.SubcommandGroup,\n\t\t\tname: this.name,\n\t\t\tdescription: this.description,\n\t\t\toptions: this.options.map((option) => option.toJSON()),\n\t\t};\n\t}\n}\n\nexport interface SlashCommandSubcommandGroupBuilder extends SharedNameAndDescription {}\n\n/**\n * Represents a subcommand\n *\n * For more information, go to https://discord.com/developers/docs/interactions/slash-commands#subcommands-and-subcommand-groups\n */\n@mix(SharedNameAndDescription, SharedSlashCommandOptions)\nexport class SlashCommandSubcommandBuilder implements ToAPIApplicationCommandOptions {\n\t/**\n\t * The name of this subcommand\n\t */\n\tpublic readonly name: string = undefined!;\n\n\t/**\n\t * The description of this subcommand\n\t */\n\tpublic readonly description: string = undefined!;\n\n\t/**\n\t * The options of this subcommand\n\t */\n\tpublic readonly options: ApplicationCommandOptionBase[] = [];\n\n\tpublic toJSON(): APIApplicationCommandSubcommandOption {\n\t\tvalidateRequiredParameters(this.name, this.description, this.options);\n\n\t\treturn {\n\t\t\ttype: ApplicationCommandOptionType.Subcommand,\n\t\t\tname: this.name,\n\t\t\tdescription: this.description,\n\t\t\toptions: this.options.map((option) => option.toJSON()),\n\t\t};\n\t}\n}\n\nexport interface SlashCommandSubcommandBuilder extends SharedNameAndDescription, SharedSlashCommandOptions {}\n","import { z } from 'zod';\nimport { ApplicationCommandType } from 'discord-api-types/v9';\nimport type { ContextMenuCommandType } from './ContextMenuCommandBuilder';\n\nexport function validateRequiredParameters(name: string, type: number) {\n\t// Assert name matches all conditions\n\tvalidateName(name);\n\n\t// Assert type is valid\n\tvalidateType(type);\n}\n\nconst namePredicate = z\n\t.string()\n\t.min(1)\n\t.max(32)\n\t.regex(/^( *[\\p{L}\\p{N}_-]+ *)+$/u);\n\nexport function validateName(name: unknown): asserts name is string {\n\tnamePredicate.parse(name);\n}\n\nconst typePredicate = z.union([z.literal(ApplicationCommandType.User), z.literal(ApplicationCommandType.Message)]);\n\nexport function validateType(type: unknown): asserts type is ContextMenuCommandType {\n\ttypePredicate.parse(type);\n}\n\nconst booleanPredicate = z.boolean();\n\nexport function validateDefaultPermission(value: unknown): asserts value is boolean {\n\tbooleanPredicate.parse(value);\n}\n","import { validateRequiredParameters, validateName, validateType, validateDefaultPermission } from './Assertions';\nimport type { ApplicationCommandType, RESTPostAPIApplicationCommandsJSONBody } from 'discord-api-types/v9';\n\nexport class ContextMenuCommandBuilder {\n\t/**\n\t * The name of this context menu command\n\t */\n\tpublic readonly name: string = undefined!;\n\n\t/**\n\t * The type of this context menu command\n\t */\n\tpublic readonly type: ContextMenuCommandType = undefined!;\n\n\t/**\n\t * Whether the command is enabled by default when the app is added to a guild\n\t *\n\t * @default true\n\t */\n\tpublic readonly defaultPermission: boolean | undefined = undefined;\n\n\t/**\n\t * Sets the name\n\t *\n\t * @param name The name\n\t */\n\tpublic setName(name: string) {\n\t\t// Assert the name matches the conditions\n\t\tvalidateName(name);\n\n\t\tReflect.set(this, 'name', name);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the type\n\t *\n\t * @param type The type\n\t */\n\tpublic setType(type: ContextMenuCommandType) {\n\t\t// Assert the type is valid\n\t\tvalidateType(type);\n\n\t\tReflect.set(this, 'type', type);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets whether the command is enabled by default when the application is added to a guild.\n\t *\n\t * **Note**: If set to `false`, you will have to later `PUT` the permissions for this command.\n\t *\n\t * @param value Whether or not to enable this command by default\n\t *\n\t * @see https://discord.com/developers/docs/interactions/application-commands#permissions\n\t */\n\tpublic setDefaultPermission(value: boolean) {\n\t\t// Assert the value matches the conditions\n\t\tvalidateDefaultPermission(value);\n\n\t\tReflect.set(this, 'defaultPermission', value);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Returns the final data that should be sent to Discord.\n\t *\n\t * **Note:** Calling this function will validate required properties based on their conditions.\n\t */\n\tpublic toJSON(): RESTPostAPIApplicationCommandsJSONBody {\n\t\tvalidateRequiredParameters(this.name, this.type);\n\t\treturn {\n\t\t\tname: this.name,\n\t\t\ttype: this.type,\n\t\t\tdefault_permission: this.defaultPermission,\n\t\t};\n\t}\n}\n\nexport type ContextMenuCommandType = ApplicationCommandType.User | ApplicationCommandType.Message;\n"],"mappings":"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","names":[]} \ No newline at end of file diff --git a/node_modules/@discordjs/builders/dist/index.mjs b/node_modules/@discordjs/builders/dist/index.mjs new file mode 100644 index 0000000..ca8b264 --- /dev/null +++ b/node_modules/@discordjs/builders/dist/index.mjs @@ -0,0 +1,4 @@ +var G=Object.defineProperty;var ge=Object.getOwnPropertyDescriptor;var Pe=(t,e,i)=>e in t?G(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var q=(t,e)=>{for(var i in e)G(t,i,{get:e[i],enumerable:!0})};var m=(t,e,i,o)=>{for(var p=o>1?void 0:o?ge(e,i):e,A=t.length-1,y;A>=0;A--)(y=t[A])&&(p=(o?y(e,i,p):y(p))||p);return o&&p&&G(e,i,p),p};var n=(t,e,i)=>(Pe(t,typeof e!="symbol"?e+"":e,i),i);var le={};q(le,{authorNamePredicate:()=>z,colorPredicate:()=>W,descriptionPredicate:()=>j,embedFieldPredicate:()=>pe,embedFieldsArrayPredicate:()=>w,fieldInlinePredicate:()=>B,fieldLengthPredicate:()=>me,fieldNamePredicate:()=>O,fieldValuePredicate:()=>N,footerTextPredicate:()=>Z,timestampPredicate:()=>K,titlePredicate:()=>Q,urlPredicate:()=>u,validateFieldLength:()=>E});import{z as l}from"zod";var O=l.string().min(1).max(256),N=l.string().min(1).max(1024),B=l.boolean().optional(),pe=l.object({name:O,value:N,inline:B}),w=pe.array(),me=l.number().lte(25);function E(t,e){me.parse(t.length+e)}var z=O.nullable(),u=l.string().url().nullish(),W=l.number().gte(0).lte(16777215).nullable(),j=l.string().min(1).max(4096).nullable(),Z=l.string().min(1).max(2048).nullable(),K=l.union([l.number(),l.date()]).nullable(),Q=O.nullable();var k=class{constructor(e={}){n(this,"fields");n(this,"title");n(this,"description");n(this,"url");n(this,"color");n(this,"timestamp");n(this,"thumbnail");n(this,"image");n(this,"video");n(this,"author");n(this,"provider");n(this,"footer");this.title=e.title,this.description=e.description,this.url=e.url,this.color=e.color,this.thumbnail=e.thumbnail,this.image=e.image,this.video=e.video,this.author=e.author,this.provider=e.provider,this.footer=e.footer,this.fields=e.fields??[],e.timestamp&&(this.timestamp=new Date(e.timestamp).toISOString())}get length(){return(this.title?.length??0)+(this.description?.length??0)+this.fields.reduce((e,i)=>e+i.name.length+i.value.length,0)+(this.footer?.text.length??0)+(this.author?.name.length??0)}addField(e){return this.addFields(e)}addFields(...e){return w.parse(e),E(this.fields,e.length),this.fields.push(...k.normalizeFields(...e)),this}spliceFields(e,i,...o){return w.parse(o),E(this.fields,o.length-i),this.fields.splice(e,i,...k.normalizeFields(...o)),this}setAuthor(e){if(e===null)return this.author=void 0,this;let{name:i,iconURL:o,url:p}=e;return z.parse(i),u.parse(o),u.parse(p),this.author={name:i,url:p,icon_url:o},this}setColor(e){return W.parse(e),this.color=e??void 0,this}setDescription(e){return j.parse(e),this.description=e??void 0,this}setFooter(e){if(e===null)return this.footer=void 0,this;let{text:i,iconURL:o}=e;return Z.parse(i),u.parse(o),this.footer={text:i,icon_url:o},this}setImage(e){return u.parse(e),this.image=e?{url:e}:void 0,this}setThumbnail(e){return u.parse(e),this.thumbnail=e?{url:e}:void 0,this}setTimestamp(e=Date.now()){return K.parse(e),this.timestamp=e?new Date(e).toISOString():void 0,this}setTitle(e){return Q.parse(e),this.title=e??void 0,this}setURL(e){return u.parse(e),this.url=e??void 0,this}toJSON(){return{...this}}static normalizeFields(...e){return e.flat(1/0).map(i=>(O.parse(i.name),N.parse(i.value),B.parse(i.inline),{name:i.name,value:i.value,inline:i.inline??void 0}))}};function tt(t,e){return typeof e=="undefined"?`\`\`\` +${t}\`\`\``:`\`\`\`${t} +${e}\`\`\``}function it(t){return`\`${t}\``}function nt(t){return`_${t}_`}function ot(t){return`**${t}**`}function rt(t){return`__${t}__`}function at(t){return`~~${t}~~`}function st(t){return`> ${t}`}function pt(t){return`>>> ${t}`}function mt(t){return`<${t}>`}function lt(t,e,i){return i?`[${t}](${e} "${i}")`:`[${t}](${e})`}function dt(t){return`||${t}||`}function ct(t){return`<@${t}>`}function ut(t){return`<@!${t}>`}function ht(t){return`<#${t}>`}function Ct(t){return`<@&${t}>`}function ft(t,e=!1){return`<${e?"a":""}:_:${t}>`}function bt(t,e){return typeof t!="number"&&(t=Math.floor((t?.getTime()??Date.now())/1e3)),typeof e=="string"?``:``}var xt={ShortTime:"t",LongTime:"T",ShortDate:"d",LongDate:"D",ShortDateTime:"f",LongDateTime:"F",RelativeTime:"R"},Te=(o=>(o.Shrug="\xAF\\_(\u30C4)\\_/\xAF",o.Tableflip="(\u256F\xB0\u25A1\xB0\uFF09\u256F\uFE35 \u253B\u2501\u253B",o.Unflip="\u252C\u2500\u252C \u30CE( \u309C-\u309C\u30CE)",o))(Te||{});var ue={};q(ue,{assertReturnOfBuilder:()=>C,validateDefaultPermission:()=>X,validateDescription:()=>V,validateMaxChoicesLength:()=>Y,validateMaxOptionsLength:()=>d,validateName:()=>L,validateRequired:()=>U,validateRequiredParameters:()=>h});import H from"@sindresorhus/is";import{z as _}from"zod";function h(t,e,i){L(t),V(e),d(i)}var Ie=_.string().min(1).max(32).regex(/^[\P{Lu}\p{N}_-]+$/u);function L(t){Ie.parse(t)}var $e=_.string().min(1).max(100);function V(t){$e.parse(t)}var de=_.boolean();function X(t){de.parse(t)}function U(t){de.parse(t)}var ce=_.unknown().array().max(25);function d(t){ce.parse(t)}function Y(t){ce.parse(t)}function C(t,e){let i=e.name;if(H.nullOrUndefined(t))throw new TypeError(`Expected to receive a ${i} builder, got ${t===null?"null":"undefined"} instead.`);if(H.primitive(t))throw new TypeError(`Expected to receive a ${i} builder, got a primitive (${typeof t}) instead.`);if(!(t instanceof e)){let o=t,p=H.function_(t)?t.name:o.constructor.name,A=Reflect.get(o,Symbol.toStringTag),y=A?`${p} [${A}]`:p;throw new TypeError(`Expected to receive a ${i} builder, got ${y} instead.`)}}import{mix as We}from"ts-mixer";import{ApplicationCommandOptionType as Re}from"discord-api-types/v9";var f=class{constructor(){n(this,"name");n(this,"description")}setName(e){return L(e),Reflect.set(this,"name",e),this}setDescription(e){return V(e),Reflect.set(this,"description",e),this}};var s=class extends f{constructor(){super(...arguments);n(this,"required",!1)}setRequired(e){return U(e),Reflect.set(this,"required",e),this}runRequiredValidations(){h(this.name,this.description,[]),U(this.required)}};var ee=class extends s{constructor(){super(...arguments);n(this,"type",Re.Boolean)}toJSON(){return this.runRequiredValidations(),{...this}}};import{ApplicationCommandOptionType as Ne}from"discord-api-types/v9";import{mix as Be}from"ts-mixer";import{ChannelType as c}from"discord-api-types/v9";import{z as he}from"zod";var Me=[c.GuildText,c.GuildVoice,c.GuildCategory,c.GuildNews,c.GuildStore,c.GuildNewsThread,c.GuildPublicThread,c.GuildPrivateThread,c.GuildStageVoice],ve=he.union(Me.map(t=>he.literal(t))),te=class{constructor(){n(this,"channel_types")}addChannelType(e){return this.channel_types===void 0&&Reflect.set(this,"channel_types",[]),ve.parse(e),this.channel_types.push(e),this}addChannelTypes(e){return e.forEach(i=>this.addChannelType(i)),this}};var g=class extends s{constructor(){super(...arguments);n(this,"type",Ne.Channel)}toJSON(){return this.runRequiredValidations(),{...this}}};g=m([Be(te)],g);import{ApplicationCommandOptionType as ke}from"discord-api-types/v9";import{mix as _e}from"ts-mixer";import{z as Le}from"zod";var P=class{constructor(){n(this,"maxValue");n(this,"minValue")}};import{ApplicationCommandOptionType as we}from"discord-api-types/v9";import{z as T}from"zod";var D=T.string().min(1).max(100),Ce=T.number().gt(-1/0).lt(1/0),fe=T.tuple([D,T.union([D,Ce])]).array(),Ee=T.boolean(),x=class{constructor(){n(this,"choices");n(this,"autocomplete");n(this,"type")}addChoice(e,i){if(this.autocomplete)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return this.choices===void 0&&Reflect.set(this,"choices",[]),Y(this.choices),D.parse(e),this.type===we.String?D.parse(i):Ce.parse(i),this.choices.push({name:e,value:i}),this}addChoices(e){if(this.autocomplete)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");fe.parse(e);for(let[i,o]of e)this.addChoice(i,o);return this}setChoices(e){if(e.length>0&&this.autocomplete)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");fe.parse(e),Reflect.set(this,"choices",[]);for(let[i,o]of e)this.addChoice(i,o);return this}setAutocomplete(e){if(Ee.parse(e),e&&Array.isArray(this.choices)&&this.choices.length>0)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return Reflect.set(this,"autocomplete",e),this}};var be=Le.number().int().nonnegative(),I=class extends s{constructor(){super(...arguments);n(this,"type",ke.Integer)}setMaxValue(e){return be.parse(e),Reflect.set(this,"maxValue",e),this}setMinValue(e){return be.parse(e),Reflect.set(this,"minValue",e),this}toJSON(){if(this.runRequiredValidations(),this.autocomplete&&Array.isArray(this.choices)&&this.choices.length>0)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return{...this}}};I=m([_e(P,x)],I);import{ApplicationCommandOptionType as Ve}from"discord-api-types/v9";var ie=class extends s{constructor(){super(...arguments);n(this,"type",Ve.Mentionable)}toJSON(){return this.runRequiredValidations(),{...this}}};import{ApplicationCommandOptionType as Ue}from"discord-api-types/v9";import{mix as De}from"ts-mixer";import{z as Fe}from"zod";var xe=Fe.number().nonnegative(),$=class extends s{constructor(){super(...arguments);n(this,"type",Ue.Number)}setMaxValue(e){return xe.parse(e),Reflect.set(this,"maxValue",e),this}setMinValue(e){return xe.parse(e),Reflect.set(this,"minValue",e),this}toJSON(){if(this.runRequiredValidations(),this.autocomplete&&Array.isArray(this.choices)&&this.choices.length>0)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return{...this}}};$=m([De(P,x)],$);import{ApplicationCommandOptionType as Je}from"discord-api-types/v9";var ne=class extends s{constructor(){super(...arguments);n(this,"type",Je.Role)}toJSON(){return this.runRequiredValidations(),{...this}}};import{ApplicationCommandOptionType as Ge}from"discord-api-types/v9";import{mix as qe}from"ts-mixer";var R=class extends s{constructor(){super(...arguments);n(this,"type",Ge.String)}toJSON(){if(this.runRequiredValidations(),this.autocomplete&&Array.isArray(this.choices)&&this.choices.length>0)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return{...this}}};R=m([qe(x)],R);import{ApplicationCommandOptionType as ze}from"discord-api-types/v9";var oe=class extends s{constructor(){super(...arguments);n(this,"type",ze.User)}toJSON(){return this.runRequiredValidations(),{...this}}};var M=class{constructor(){n(this,"options")}addBooleanOption(e){return this._sharedAddOptionMethod(e,ee)}addUserOption(e){return this._sharedAddOptionMethod(e,oe)}addChannelOption(e){return this._sharedAddOptionMethod(e,g)}addRoleOption(e){return this._sharedAddOptionMethod(e,ne)}addMentionableOption(e){return this._sharedAddOptionMethod(e,ie)}addStringOption(e){return this._sharedAddOptionMethod(e,R)}addIntegerOption(e){return this._sharedAddOptionMethod(e,I)}addNumberOption(e){return this._sharedAddOptionMethod(e,$)}_sharedAddOptionMethod(e,i){let{options:o}=this;d(o);let p=typeof e=="function"?e(new i):e;return C(p,i),o.push(p),this}};import{ApplicationCommandOptionType as Ae}from"discord-api-types/v9";import{mix as Oe}from"ts-mixer";var S=class{constructor(){n(this,"name");n(this,"description");n(this,"options",[])}addSubcommand(e){let{options:i}=this;d(i);let o=typeof e=="function"?e(new b):e;return C(o,b),i.push(o),this}toJSON(){return h(this.name,this.description,this.options),{type:Ae.SubcommandGroup,name:this.name,description:this.description,options:this.options.map(e=>e.toJSON())}}};S=m([Oe(f)],S);var b=class{constructor(){n(this,"name");n(this,"description");n(this,"options",[])}toJSON(){return h(this.name,this.description,this.options),{type:Ae.Subcommand,name:this.name,description:this.description,options:this.options.map(e=>e.toJSON())}}};b=m([Oe(f,M)],b);var re=class{constructor(){n(this,"name");n(this,"description");n(this,"options",[]);n(this,"defaultPermission")}toJSON(){return h(this.name,this.description,this.options),{name:this.name,description:this.description,options:this.options.map(e=>e.toJSON()),default_permission:this.defaultPermission}}setDefaultPermission(e){return X(e),Reflect.set(this,"defaultPermission",e),this}addSubcommandGroup(e){let{options:i}=this;d(i);let o=typeof e=="function"?e(new S):e;return C(o,S),i.push(o),this}addSubcommand(e){let{options:i}=this;d(i);let o=typeof e=="function"?e(new b):e;return C(o,b),i.push(o),this}};re=m([We(M,f)],re);var ye={};q(ye,{validateDefaultPermission:()=>se,validateName:()=>F,validateRequiredParameters:()=>ae,validateType:()=>J});import{z as v}from"zod";import{ApplicationCommandType as Se}from"discord-api-types/v9";function ae(t,e){F(t),J(e)}var je=v.string().min(1).max(32).regex(/^( *[\p{L}\p{N}_-]+ *)+$/u);function F(t){je.parse(t)}var Ze=v.union([v.literal(Se.User),v.literal(Se.Message)]);function J(t){Ze.parse(t)}var Ke=v.boolean();function se(t){Ke.parse(t)}var Qe=class{constructor(){n(this,"name");n(this,"type");n(this,"defaultPermission")}setName(e){return F(e),Reflect.set(this,"name",e),this}setType(e){return J(e),Reflect.set(this,"type",e),this}setDefaultPermission(e){return se(e),Reflect.set(this,"defaultPermission",e),this}toJSON(){return ae(this.name,this.type),{name:this.name,type:this.type,default_permission:this.defaultPermission}}};export{ye as ContextMenuCommandAssertions,Qe as ContextMenuCommandBuilder,k as Embed,le as EmbedAssertions,Te as Faces,ue as SlashCommandAssertions,ee as SlashCommandBooleanOption,re as SlashCommandBuilder,g as SlashCommandChannelOption,I as SlashCommandIntegerOption,ie as SlashCommandMentionableOption,$ as SlashCommandNumberOption,ne as SlashCommandRoleOption,R as SlashCommandStringOption,b as SlashCommandSubcommandBuilder,S as SlashCommandSubcommandGroupBuilder,oe as SlashCommandUserOption,xt as TimestampStyles,pt as blockQuote,ot as bold,ht as channelMention,tt as codeBlock,ft as formatEmoji,mt as hideLinkEmbed,lt as hyperlink,it as inlineCode,nt as italic,ut as memberNicknameMention,st as quote,Ct as roleMention,dt as spoiler,at as strikethrough,bt as time,rt as underscore,ct as userMention}; +//# sourceMappingURL=index.mjs.map \ No newline at end of file diff --git a/node_modules/@discordjs/builders/dist/index.mjs.map b/node_modules/@discordjs/builders/dist/index.mjs.map new file mode 100644 index 0000000..ffcd451 --- /dev/null +++ b/node_modules/@discordjs/builders/dist/index.mjs.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/messages/embed/Assertions.ts","../src/messages/embed/Embed.ts","../src/messages/formatters.ts","../src/interactions/slashCommands/Assertions.ts","../src/interactions/slashCommands/SlashCommandBuilder.ts","../src/interactions/slashCommands/options/boolean.ts","../src/interactions/slashCommands/mixins/NameAndDescription.ts","../src/interactions/slashCommands/mixins/ApplicationCommandOptionBase.ts","../src/interactions/slashCommands/options/channel.ts","../src/interactions/slashCommands/mixins/ApplicationCommandOptionChannelTypesMixin.ts","../src/interactions/slashCommands/options/integer.ts","../src/interactions/slashCommands/mixins/ApplicationCommandNumericOptionMinMaxValueMixin.ts","../src/interactions/slashCommands/mixins/ApplicationCommandOptionWithChoicesAndAutocompleteMixin.ts","../src/interactions/slashCommands/options/mentionable.ts","../src/interactions/slashCommands/options/number.ts","../src/interactions/slashCommands/options/role.ts","../src/interactions/slashCommands/options/string.ts","../src/interactions/slashCommands/options/user.ts","../src/interactions/slashCommands/mixins/SharedSlashCommandOptions.ts","../src/interactions/slashCommands/SlashCommandSubcommands.ts","../src/interactions/contextMenuCommands/Assertions.ts","../src/interactions/contextMenuCommands/ContextMenuCommandBuilder.ts"],"sourcesContent":["import type { APIEmbedField } from 'discord-api-types/v9';\nimport { z } from 'zod';\n\nexport const fieldNamePredicate = z.string().min(1).max(256);\n\nexport const fieldValuePredicate = z.string().min(1).max(1024);\n\nexport const fieldInlinePredicate = z.boolean().optional();\n\nexport const embedFieldPredicate = z.object({\n\tname: fieldNamePredicate,\n\tvalue: fieldValuePredicate,\n\tinline: fieldInlinePredicate,\n});\n\nexport const embedFieldsArrayPredicate = embedFieldPredicate.array();\n\nexport const fieldLengthPredicate = z.number().lte(25);\n\nexport function validateFieldLength(fields: APIEmbedField[], amountAdding: number): void {\n\tfieldLengthPredicate.parse(fields.length + amountAdding);\n}\n\nexport const authorNamePredicate = fieldNamePredicate.nullable();\n\nexport const urlPredicate = z.string().url().nullish();\n\nexport const colorPredicate = z.number().gte(0).lte(0xffffff).nullable();\n\nexport const descriptionPredicate = z.string().min(1).max(4096).nullable();\n\nexport const footerTextPredicate = z.string().min(1).max(2048).nullable();\n\nexport const timestampPredicate = z.union([z.number(), z.date()]).nullable();\n\nexport const titlePredicate = fieldNamePredicate.nullable();\n","import type {\n\tAPIEmbed,\n\tAPIEmbedAuthor,\n\tAPIEmbedField,\n\tAPIEmbedFooter,\n\tAPIEmbedImage,\n\tAPIEmbedProvider,\n\tAPIEmbedThumbnail,\n\tAPIEmbedVideo,\n} from 'discord-api-types/v9';\nimport {\n\tauthorNamePredicate,\n\tcolorPredicate,\n\tdescriptionPredicate,\n\tembedFieldsArrayPredicate,\n\tfieldInlinePredicate,\n\tfieldNamePredicate,\n\tfieldValuePredicate,\n\tfooterTextPredicate,\n\ttimestampPredicate,\n\ttitlePredicate,\n\turlPredicate,\n\tvalidateFieldLength,\n} from './Assertions';\n\nexport interface AuthorOptions {\n\tname: string;\n\turl?: string;\n\ticonURL?: string;\n}\n\nexport interface FooterOptions {\n\ttext: string;\n\ticonURL?: string;\n}\n\n/**\n * Represents an embed in a message (image/video preview, rich embed, etc.)\n */\nexport class Embed implements APIEmbed {\n\t/**\n\t * An array of fields of this embed\n\t */\n\tpublic fields: APIEmbedField[];\n\n\t/**\n\t * The embed title\n\t */\n\tpublic title?: string;\n\n\t/**\n\t * The embed description\n\t */\n\tpublic description?: string;\n\n\t/**\n\t * The embed url\n\t */\n\tpublic url?: string;\n\n\t/**\n\t * The embed color\n\t */\n\tpublic color?: number;\n\n\t/**\n\t * The timestamp of the embed in the ISO format\n\t */\n\tpublic timestamp?: string;\n\n\t/**\n\t * The embed thumbnail data\n\t */\n\tpublic thumbnail?: APIEmbedThumbnail;\n\n\t/**\n\t * The embed image data\n\t */\n\tpublic image?: APIEmbedImage;\n\n\t/**\n\t * Received video data\n\t */\n\tpublic video?: APIEmbedVideo;\n\n\t/**\n\t * The embed author data\n\t */\n\tpublic author?: APIEmbedAuthor;\n\n\t/**\n\t * Received data about the embed provider\n\t */\n\tpublic provider?: APIEmbedProvider;\n\n\t/**\n\t * The embed footer data\n\t */\n\tpublic footer?: APIEmbedFooter;\n\n\tpublic constructor(data: APIEmbed = {}) {\n\t\tthis.title = data.title;\n\t\tthis.description = data.description;\n\t\tthis.url = data.url;\n\t\tthis.color = data.color;\n\t\tthis.thumbnail = data.thumbnail;\n\t\tthis.image = data.image;\n\t\tthis.video = data.video;\n\t\tthis.author = data.author;\n\t\tthis.provider = data.provider;\n\t\tthis.footer = data.footer;\n\t\tthis.fields = data.fields ?? [];\n\n\t\tif (data.timestamp) this.timestamp = new Date(data.timestamp).toISOString();\n\t}\n\n\t/**\n\t * The accumulated length for the embed title, description, fields, footer text, and author name\n\t */\n\tpublic get length(): number {\n\t\treturn (\n\t\t\t(this.title?.length ?? 0) +\n\t\t\t(this.description?.length ?? 0) +\n\t\t\tthis.fields.reduce((prev, curr) => prev + curr.name.length + curr.value.length, 0) +\n\t\t\t(this.footer?.text.length ?? 0) +\n\t\t\t(this.author?.name.length ?? 0)\n\t\t);\n\t}\n\n\t/**\n\t * Adds a field to the embed (max 25)\n\t *\n\t * @param field The field to add.\n\t */\n\tpublic addField(field: APIEmbedField): this {\n\t\treturn this.addFields(field);\n\t}\n\n\t/**\n\t * Adds fields to the embed (max 25)\n\t *\n\t * @param fields The fields to add\n\t */\n\tpublic addFields(...fields: APIEmbedField[]): this {\n\t\t// Data assertions\n\t\tembedFieldsArrayPredicate.parse(fields);\n\n\t\t// Ensure adding these fields won't exceed the 25 field limit\n\t\tvalidateFieldLength(this.fields, fields.length);\n\n\t\tthis.fields.push(...Embed.normalizeFields(...fields));\n\t\treturn this;\n\t}\n\n\t/**\n\t * Removes, replaces, or inserts fields in the embed (max 25)\n\t *\n\t * @param index The index to start at\n\t * @param deleteCount The number of fields to remove\n\t * @param fields The replacing field objects\n\t */\n\tpublic spliceFields(index: number, deleteCount: number, ...fields: APIEmbedField[]): this {\n\t\t// Data assertions\n\t\tembedFieldsArrayPredicate.parse(fields);\n\n\t\t// Ensure adding these fields won't exceed the 25 field limit\n\t\tvalidateFieldLength(this.fields, fields.length - deleteCount);\n\n\t\tthis.fields.splice(index, deleteCount, ...Embed.normalizeFields(...fields));\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the author of this embed\n\t *\n\t * @param options The options for the author\n\t */\n\tpublic setAuthor(options: AuthorOptions | null): this {\n\t\tif (options === null) {\n\t\t\tthis.author = undefined;\n\t\t\treturn this;\n\t\t}\n\n\t\tconst { name, iconURL, url } = options;\n\t\t// Data assertions\n\t\tauthorNamePredicate.parse(name);\n\t\turlPredicate.parse(iconURL);\n\t\turlPredicate.parse(url);\n\n\t\tthis.author = { name, url, icon_url: iconURL };\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the color of this embed\n\t *\n\t * @param color The color of the embed\n\t */\n\tpublic setColor(color: number | null): this {\n\t\t// Data assertions\n\t\tcolorPredicate.parse(color);\n\n\t\tthis.color = color ?? undefined;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the description of this embed\n\t *\n\t * @param description The description\n\t */\n\tpublic setDescription(description: string | null): this {\n\t\t// Data assertions\n\t\tdescriptionPredicate.parse(description);\n\n\t\tthis.description = description ?? undefined;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the footer of this embed\n\t *\n\t * @param options The options for the footer\n\t */\n\tpublic setFooter(options: FooterOptions | null): this {\n\t\tif (options === null) {\n\t\t\tthis.footer = undefined;\n\t\t\treturn this;\n\t\t}\n\n\t\tconst { text, iconURL } = options;\n\t\t// Data assertions\n\t\tfooterTextPredicate.parse(text);\n\t\turlPredicate.parse(iconURL);\n\n\t\tthis.footer = { text, icon_url: iconURL };\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the image of this embed\n\t *\n\t * @param url The URL of the image\n\t */\n\tpublic setImage(url: string | null): this {\n\t\t// Data assertions\n\t\turlPredicate.parse(url);\n\n\t\tthis.image = url ? { url } : undefined;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the thumbnail of this embed\n\t *\n\t * @param url The URL of the thumbnail\n\t */\n\tpublic setThumbnail(url: string | null): this {\n\t\t// Data assertions\n\t\turlPredicate.parse(url);\n\n\t\tthis.thumbnail = url ? { url } : undefined;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the timestamp of this embed\n\t *\n\t * @param timestamp The timestamp or date\n\t */\n\tpublic setTimestamp(timestamp: number | Date | null = Date.now()): this {\n\t\t// Data assertions\n\t\ttimestampPredicate.parse(timestamp);\n\n\t\tthis.timestamp = timestamp ? new Date(timestamp).toISOString() : undefined;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the title of this embed\n\t *\n\t * @param title The title\n\t */\n\tpublic setTitle(title: string | null): this {\n\t\t// Data assertions\n\t\ttitlePredicate.parse(title);\n\n\t\tthis.title = title ?? undefined;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the URL of this embed\n\t *\n\t * @param url The URL\n\t */\n\tpublic setURL(url: string | null): this {\n\t\t// Data assertions\n\t\turlPredicate.parse(url);\n\n\t\tthis.url = url ?? undefined;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Transforms the embed to a plain object\n\t */\n\tpublic toJSON(): APIEmbed {\n\t\treturn { ...this };\n\t}\n\n\t/**\n\t * Normalizes field input and resolves strings\n\t *\n\t * @param fields Fields to normalize\n\t */\n\tpublic static normalizeFields(...fields: APIEmbedField[]): APIEmbedField[] {\n\t\treturn fields.flat(Infinity).map((field) => {\n\t\t\tfieldNamePredicate.parse(field.name);\n\t\t\tfieldValuePredicate.parse(field.value);\n\t\t\tfieldInlinePredicate.parse(field.inline);\n\n\t\t\treturn { name: field.name, value: field.value, inline: field.inline ?? undefined };\n\t\t});\n\t}\n}\n","import type { Snowflake } from 'discord-api-types/globals';\nimport type { URL } from 'url';\n\n/**\n * Wraps the content inside a codeblock with no language\n *\n * @param content The content to wrap\n */\nexport function codeBlock(content: C): `\\`\\`\\`\\n${C}\\`\\`\\``;\n\n/**\n * Wraps the content inside a codeblock with the specified language\n *\n * @param language The language for the codeblock\n * @param content The content to wrap\n */\nexport function codeBlock(language: L, content: C): `\\`\\`\\`${L}\\n${C}\\`\\`\\``;\nexport function codeBlock(language: string, content?: string): string {\n\treturn typeof content === 'undefined' ? `\\`\\`\\`\\n${language}\\`\\`\\`` : `\\`\\`\\`${language}\\n${content}\\`\\`\\``;\n}\n\n/**\n * Wraps the content inside \\`backticks\\`, which formats it as inline code\n *\n * @param content The content to wrap\n */\nexport function inlineCode(content: C): `\\`${C}\\`` {\n\treturn `\\`${content}\\``;\n}\n\n/**\n * Formats the content into italic text\n *\n * @param content The content to wrap\n */\nexport function italic(content: C): `_${C}_` {\n\treturn `_${content}_`;\n}\n\n/**\n * Formats the content into bold text\n *\n * @param content The content to wrap\n */\nexport function bold(content: C): `**${C}**` {\n\treturn `**${content}**`;\n}\n\n/**\n * Formats the content into underscored text\n *\n * @param content The content to wrap\n */\nexport function underscore(content: C): `__${C}__` {\n\treturn `__${content}__`;\n}\n\n/**\n * Formats the content into strike-through text\n *\n * @param content The content to wrap\n */\nexport function strikethrough(content: C): `~~${C}~~` {\n\treturn `~~${content}~~`;\n}\n\n/**\n * Formats the content into a quote. This needs to be at the start of the line for Discord to format it\n *\n * @param content The content to wrap\n */\nexport function quote(content: C): `> ${C}` {\n\treturn `> ${content}`;\n}\n\n/**\n * Formats the content into a block quote. This needs to be at the start of the line for Discord to format it\n *\n * @param content The content to wrap\n */\nexport function blockQuote(content: C): `>>> ${C}` {\n\treturn `>>> ${content}`;\n}\n\n/**\n * Wraps the URL into `<>`, which stops it from embedding\n *\n * @param url The URL to wrap\n */\nexport function hideLinkEmbed(url: C): `<${C}>`;\n\n/**\n * Wraps the URL into `<>`, which stops it from embedding\n *\n * @param url The URL to wrap\n */\nexport function hideLinkEmbed(url: URL): `<${string}>`;\nexport function hideLinkEmbed(url: string | URL) {\n\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\treturn `<${url}>`;\n}\n\n/**\n * Formats the content and the URL into a masked URL\n *\n * @param content The content to display\n * @param url The URL the content links to\n */\nexport function hyperlink(content: C, url: URL): `[${C}](${string})`;\n\n/**\n * Formats the content and the URL into a masked URL\n *\n * @param content The content to display\n * @param url The URL the content links to\n */\nexport function hyperlink(content: C, url: U): `[${C}](${U})`;\n\n/**\n * Formats the content and the URL into a masked URL\n *\n * @param content The content to display\n * @param url The URL the content links to\n * @param title The title shown when hovering on the masked link\n */\nexport function hyperlink(\n\tcontent: C,\n\turl: URL,\n\ttitle: T,\n): `[${C}](${string} \"${T}\")`;\n\n/**\n * Formats the content and the URL into a masked URL\n *\n * @param content The content to display\n * @param url The URL the content links to\n * @param title The title shown when hovering on the masked link\n */\nexport function hyperlink(\n\tcontent: C,\n\turl: U,\n\ttitle: T,\n): `[${C}](${U} \"${T}\")`;\nexport function hyperlink(content: string, url: string | URL, title?: string) {\n\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\treturn title ? `[${content}](${url} \"${title}\")` : `[${content}](${url})`;\n}\n\n/**\n * Wraps the content inside spoiler (hidden text)\n *\n * @param content The content to wrap\n */\nexport function spoiler(content: C): `||${C}||` {\n\treturn `||${content}||`;\n}\n\n/**\n * Formats a user ID into a user mention\n *\n * @param userId The user ID to format\n */\nexport function userMention(userId: C): `<@${C}>` {\n\treturn `<@${userId}>`;\n}\n\n/**\n * Formats a user ID into a member-nickname mention\n *\n * @param memberId The user ID to format\n */\nexport function memberNicknameMention(memberId: C): `<@!${C}>` {\n\treturn `<@!${memberId}>`;\n}\n\n/**\n * Formats a channel ID into a channel mention\n *\n * @param channelId The channel ID to format\n */\nexport function channelMention(channelId: C): `<#${C}>` {\n\treturn `<#${channelId}>`;\n}\n\n/**\n * Formats a role ID into a role mention\n *\n * @param roleId The role ID to format\n */\nexport function roleMention(roleId: C): `<@&${C}>` {\n\treturn `<@&${roleId}>`;\n}\n\n/**\n * Formats an emoji ID into a fully qualified emoji identifier\n *\n * @param emojiId The emoji ID to format\n */\nexport function formatEmoji(emojiId: C, animated?: false): `<:_:${C}>`;\n\n/**\n * Formats an emoji ID into a fully qualified emoji identifier\n *\n * @param emojiId The emoji ID to format\n * @param animated Whether the emoji is animated or not. Defaults to `false`\n */\nexport function formatEmoji(emojiId: C, animated?: true): ``;\n\n/**\n * Formats an emoji ID into a fully qualified emoji identifier\n *\n * @param emojiId The emoji ID to format\n * @param animated Whether the emoji is animated or not. Defaults to `false`\n */\nexport function formatEmoji(emojiId: C, animated = false): `` | `<:_:${C}>` {\n\treturn `<${animated ? 'a' : ''}:_:${emojiId}>`;\n}\n\n/**\n * Formats a date into a short date-time string\n *\n * @param date The date to format, defaults to the current time\n */\nexport function time(date?: Date): ``;\n\n/**\n * Formats a date given a format style\n *\n * @param date The date to format\n * @param style The style to use\n */\nexport function time(date: Date, style: S): ``;\n\n/**\n * Formats the given timestamp into a short date-time string\n *\n * @param seconds The time to format, represents an UNIX timestamp in seconds\n */\nexport function time(seconds: C): ``;\n\n/**\n * Formats the given timestamp into a short date-time string\n *\n * @param seconds The time to format, represents an UNIX timestamp in seconds\n * @param style The style to use\n */\nexport function time(seconds: C, style: S): ``;\nexport function time(timeOrSeconds?: number | Date, style?: TimestampStylesString): string {\n\tif (typeof timeOrSeconds !== 'number') {\n\t\ttimeOrSeconds = Math.floor((timeOrSeconds?.getTime() ?? Date.now()) / 1000);\n\t}\n\n\treturn typeof style === 'string' ? `` : ``;\n}\n\n/**\n * The [message formatting timestamp styles](https://discord.com/developers/docs/reference#message-formatting-timestamp-styles) supported by Discord\n */\nexport const TimestampStyles = {\n\t/**\n\t * Short time format, consisting of hours and minutes, e.g. 16:20\n\t */\n\tShortTime: 't',\n\n\t/**\n\t * Long time format, consisting of hours, minutes, and seconds, e.g. 16:20:30\n\t */\n\tLongTime: 'T',\n\n\t/**\n\t * Short date format, consisting of day, month, and year, e.g. 20/04/2021\n\t */\n\tShortDate: 'd',\n\n\t/**\n\t * Long date format, consisting of day, month, and year, e.g. 20 April 2021\n\t */\n\tLongDate: 'D',\n\n\t/**\n\t * Short date-time format, consisting of short date and short time formats, e.g. 20 April 2021 16:20\n\t */\n\tShortDateTime: 'f',\n\n\t/**\n\t * Long date-time format, consisting of long date and short time formats, e.g. Tuesday, 20 April 2021 16:20\n\t */\n\tLongDateTime: 'F',\n\n\t/**\n\t * Relative time format, consisting of a relative duration format, e.g. 2 months ago\n\t */\n\tRelativeTime: 'R',\n} as const;\n\n/**\n * The possible values, see {@link TimestampStyles} for more information\n */\nexport type TimestampStylesString = typeof TimestampStyles[keyof typeof TimestampStyles];\n\n/**\n * An enum with all the available faces from Discord's native slash commands\n */\nexport enum Faces {\n\t/**\n\t * ¯\\\\_(ツ)\\\\_/¯\n\t */\n\tShrug = '¯\\\\_(ツ)\\\\_/¯',\n\n\t/**\n\t * (╯°□°)╯︵ ┻━┻\n\t */\n\tTableflip = '(╯°□°)╯︵ ┻━┻',\n\n\t/**\n\t * ┬─┬ ノ( ゜-゜ノ)\n\t */\n\tUnflip = '┬─┬ ノ( ゜-゜ノ)',\n}\n","import is from '@sindresorhus/is';\nimport type { APIApplicationCommandOptionChoice } from 'discord-api-types/v9';\nimport { z } from 'zod';\nimport type { ApplicationCommandOptionBase } from './mixins/ApplicationCommandOptionBase';\nimport type { ToAPIApplicationCommandOptions } from './SlashCommandBuilder';\nimport type { SlashCommandSubcommandBuilder, SlashCommandSubcommandGroupBuilder } from './SlashCommandSubcommands';\n\nexport function validateRequiredParameters(\n\tname: string,\n\tdescription: string,\n\toptions: ToAPIApplicationCommandOptions[],\n) {\n\t// Assert name matches all conditions\n\tvalidateName(name);\n\n\t// Assert description conditions\n\tvalidateDescription(description);\n\n\t// Assert options conditions\n\tvalidateMaxOptionsLength(options);\n}\n\nconst namePredicate = z\n\t.string()\n\t.min(1)\n\t.max(32)\n\t.regex(/^[\\P{Lu}\\p{N}_-]+$/u);\n\nexport function validateName(name: unknown): asserts name is string {\n\tnamePredicate.parse(name);\n}\n\nconst descriptionPredicate = z.string().min(1).max(100);\n\nexport function validateDescription(description: unknown): asserts description is string {\n\tdescriptionPredicate.parse(description);\n}\n\nconst booleanPredicate = z.boolean();\n\nexport function validateDefaultPermission(value: unknown): asserts value is boolean {\n\tbooleanPredicate.parse(value);\n}\n\nexport function validateRequired(required: unknown): asserts required is boolean {\n\tbooleanPredicate.parse(required);\n}\n\nconst maxArrayLengthPredicate = z.unknown().array().max(25);\n\nexport function validateMaxOptionsLength(options: unknown): asserts options is ToAPIApplicationCommandOptions[] {\n\tmaxArrayLengthPredicate.parse(options);\n}\n\nexport function validateMaxChoicesLength(choices: APIApplicationCommandOptionChoice[]) {\n\tmaxArrayLengthPredicate.parse(choices);\n}\n\nexport function assertReturnOfBuilder<\n\tT extends ApplicationCommandOptionBase | SlashCommandSubcommandBuilder | SlashCommandSubcommandGroupBuilder,\n>(input: unknown, ExpectedInstanceOf: new () => T): asserts input is T {\n\tconst instanceName = ExpectedInstanceOf.name;\n\n\tif (is.nullOrUndefined(input)) {\n\t\tthrow new TypeError(\n\t\t\t`Expected to receive a ${instanceName} builder, got ${input === null ? 'null' : 'undefined'} instead.`,\n\t\t);\n\t}\n\n\tif (is.primitive(input)) {\n\t\tthrow new TypeError(`Expected to receive a ${instanceName} builder, got a primitive (${typeof input}) instead.`);\n\t}\n\n\tif (!(input instanceof ExpectedInstanceOf)) {\n\t\tconst casted = input as Record;\n\n\t\tconst constructorName = is.function_(input) ? input.name : casted.constructor.name;\n\t\tconst stringTag = Reflect.get(casted, Symbol.toStringTag) as string | undefined;\n\n\t\tconst fullResultName = stringTag ? `${constructorName} [${stringTag}]` : constructorName;\n\n\t\tthrow new TypeError(`Expected to receive a ${instanceName} builder, got ${fullResultName} instead.`);\n\t}\n}\n","import type { APIApplicationCommandOption, RESTPostAPIApplicationCommandsJSONBody } from 'discord-api-types/v9';\nimport { mix } from 'ts-mixer';\nimport {\n\tassertReturnOfBuilder,\n\tvalidateDefaultPermission,\n\tvalidateMaxOptionsLength,\n\tvalidateRequiredParameters,\n} from './Assertions';\nimport { SharedSlashCommandOptions } from './mixins/SharedSlashCommandOptions';\nimport { SharedNameAndDescription } from './mixins/NameAndDescription';\nimport { SlashCommandSubcommandBuilder, SlashCommandSubcommandGroupBuilder } from './SlashCommandSubcommands';\n\n@mix(SharedSlashCommandOptions, SharedNameAndDescription)\nexport class SlashCommandBuilder {\n\t/**\n\t * The name of this slash command\n\t */\n\tpublic readonly name: string = undefined!;\n\n\t/**\n\t * The description of this slash command\n\t */\n\tpublic readonly description: string = undefined!;\n\n\t/**\n\t * The options of this slash command\n\t */\n\tpublic readonly options: ToAPIApplicationCommandOptions[] = [];\n\n\t/**\n\t * Whether the command is enabled by default when the app is added to a guild\n\t *\n\t * @default true\n\t */\n\tpublic readonly defaultPermission: boolean | undefined = undefined;\n\n\t/**\n\t * Returns the final data that should be sent to Discord.\n\t *\n\t * **Note:** Calling this function will validate required properties based on their conditions.\n\t */\n\tpublic toJSON(): RESTPostAPIApplicationCommandsJSONBody {\n\t\tvalidateRequiredParameters(this.name, this.description, this.options);\n\n\t\treturn {\n\t\t\tname: this.name,\n\t\t\tdescription: this.description,\n\t\t\toptions: this.options.map((option) => option.toJSON()),\n\t\t\tdefault_permission: this.defaultPermission,\n\t\t};\n\t}\n\n\t/**\n\t * Sets whether the command is enabled by default when the application is added to a guild.\n\t *\n\t * **Note**: If set to `false`, you will have to later `PUT` the permissions for this command.\n\t *\n\t * @param value Whether or not to enable this command by default\n\t *\n\t * @see https://discord.com/developers/docs/interactions/application-commands#permissions\n\t */\n\tpublic setDefaultPermission(value: boolean) {\n\t\t// Assert the value matches the conditions\n\t\tvalidateDefaultPermission(value);\n\n\t\tReflect.set(this, 'defaultPermission', value);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds a new subcommand group to this command\n\t *\n\t * @param input A function that returns a subcommand group builder, or an already built builder\n\t */\n\tpublic addSubcommandGroup(\n\t\tinput:\n\t\t\t| SlashCommandSubcommandGroupBuilder\n\t\t\t| ((subcommandGroup: SlashCommandSubcommandGroupBuilder) => SlashCommandSubcommandGroupBuilder),\n\t): SlashCommandSubcommandsOnlyBuilder {\n\t\tconst { options } = this;\n\n\t\t// First, assert options conditions - we cannot have more than 25 options\n\t\tvalidateMaxOptionsLength(options);\n\n\t\t// Get the final result\n\t\tconst result = typeof input === 'function' ? input(new SlashCommandSubcommandGroupBuilder()) : input;\n\n\t\tassertReturnOfBuilder(result, SlashCommandSubcommandGroupBuilder);\n\n\t\t// Push it\n\t\toptions.push(result);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds a new subcommand to this command\n\t *\n\t * @param input A function that returns a subcommand builder, or an already built builder\n\t */\n\tpublic addSubcommand(\n\t\tinput:\n\t\t\t| SlashCommandSubcommandBuilder\n\t\t\t| ((subcommandGroup: SlashCommandSubcommandBuilder) => SlashCommandSubcommandBuilder),\n\t): SlashCommandSubcommandsOnlyBuilder {\n\t\tconst { options } = this;\n\n\t\t// First, assert options conditions - we cannot have more than 25 options\n\t\tvalidateMaxOptionsLength(options);\n\n\t\t// Get the final result\n\t\tconst result = typeof input === 'function' ? input(new SlashCommandSubcommandBuilder()) : input;\n\n\t\tassertReturnOfBuilder(result, SlashCommandSubcommandBuilder);\n\n\t\t// Push it\n\t\toptions.push(result);\n\n\t\treturn this;\n\t}\n}\n\nexport interface SlashCommandBuilder extends SharedNameAndDescription, SharedSlashCommandOptions {}\n\nexport interface SlashCommandSubcommandsOnlyBuilder\n\textends SharedNameAndDescription,\n\t\tPick {}\n\nexport interface SlashCommandOptionsOnlyBuilder\n\textends SharedNameAndDescription,\n\t\tSharedSlashCommandOptions,\n\t\tPick {}\n\nexport interface ToAPIApplicationCommandOptions {\n\ttoJSON(): APIApplicationCommandOption;\n}\n","import { APIApplicationCommandBooleanOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';\n\nexport class SlashCommandBooleanOption extends ApplicationCommandOptionBase {\n\tpublic readonly type = ApplicationCommandOptionType.Boolean as const;\n\n\tpublic toJSON(): APIApplicationCommandBooleanOption {\n\t\tthis.runRequiredValidations();\n\n\t\treturn { ...this };\n\t}\n}\n","import { validateDescription, validateName } from '../Assertions';\n\nexport class SharedNameAndDescription {\n\tpublic readonly name!: string;\n\tpublic readonly description!: string;\n\n\t/**\n\t * Sets the name\n\t *\n\t * @param name The name\n\t */\n\tpublic setName(name: string) {\n\t\t// Assert the name matches the conditions\n\t\tvalidateName(name);\n\n\t\tReflect.set(this, 'name', name);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the description\n\t *\n\t * @param description The description\n\t */\n\tpublic setDescription(description: string) {\n\t\t// Assert the description matches the conditions\n\t\tvalidateDescription(description);\n\n\t\tReflect.set(this, 'description', description);\n\n\t\treturn this;\n\t}\n}\n","import type { APIApplicationCommandBasicOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { validateRequiredParameters, validateRequired } from '../Assertions';\nimport { SharedNameAndDescription } from './NameAndDescription';\n\nexport abstract class ApplicationCommandOptionBase extends SharedNameAndDescription {\n\tpublic abstract readonly type: ApplicationCommandOptionType;\n\n\tpublic readonly required = false;\n\n\t/**\n\t * Marks the option as required\n\t *\n\t * @param required If this option should be required\n\t */\n\tpublic setRequired(required: boolean) {\n\t\t// Assert that you actually passed a boolean\n\t\tvalidateRequired(required);\n\n\t\tReflect.set(this, 'required', required);\n\n\t\treturn this;\n\t}\n\n\tpublic abstract toJSON(): APIApplicationCommandBasicOption;\n\n\tprotected runRequiredValidations() {\n\t\tvalidateRequiredParameters(this.name, this.description, []);\n\n\t\t// Assert that you actually passed a boolean\n\t\tvalidateRequired(this.required);\n\t}\n}\n","import { APIApplicationCommandChannelOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { mix } from 'ts-mixer';\nimport { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';\nimport { ApplicationCommandOptionChannelTypesMixin } from '../mixins/ApplicationCommandOptionChannelTypesMixin';\n\n@mix(ApplicationCommandOptionChannelTypesMixin)\nexport class SlashCommandChannelOption extends ApplicationCommandOptionBase {\n\tpublic override readonly type = ApplicationCommandOptionType.Channel as const;\n\n\tpublic toJSON(): APIApplicationCommandChannelOption {\n\t\tthis.runRequiredValidations();\n\n\t\treturn { ...this };\n\t}\n}\n\nexport interface SlashCommandChannelOption extends ApplicationCommandOptionChannelTypesMixin {}\n","import { ChannelType } from 'discord-api-types/v9';\nimport { z, ZodLiteral } from 'zod';\n\n// Only allow valid channel types to be used. (This can't be dynamic because const enums are erased at runtime)\nconst allowedChannelTypes = [\n\tChannelType.GuildText,\n\tChannelType.GuildVoice,\n\tChannelType.GuildCategory,\n\tChannelType.GuildNews,\n\tChannelType.GuildStore,\n\tChannelType.GuildNewsThread,\n\tChannelType.GuildPublicThread,\n\tChannelType.GuildPrivateThread,\n\tChannelType.GuildStageVoice,\n] as const;\n\nexport type ApplicationCommandOptionAllowedChannelTypes = typeof allowedChannelTypes[number];\n\nconst channelTypePredicate = z.union(\n\tallowedChannelTypes.map((type) => z.literal(type)) as [\n\t\tZodLiteral,\n\t\tZodLiteral,\n\t\t...ZodLiteral[]\n\t],\n);\n\nexport class ApplicationCommandOptionChannelTypesMixin {\n\tpublic readonly channel_types?: ApplicationCommandOptionAllowedChannelTypes[];\n\n\t/**\n\t * Adds a channel type to this option\n\t *\n\t * @param channelType The type of channel to allow\n\t */\n\tpublic addChannelType(channelType: ApplicationCommandOptionAllowedChannelTypes) {\n\t\tif (this.channel_types === undefined) {\n\t\t\tReflect.set(this, 'channel_types', []);\n\t\t}\n\n\t\tchannelTypePredicate.parse(channelType);\n\t\tthis.channel_types!.push(channelType);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds channel types to this option\n\t *\n\t * @param channelTypes The channel types to add\n\t */\n\tpublic addChannelTypes(channelTypes: ApplicationCommandOptionAllowedChannelTypes[]) {\n\t\tchannelTypes.forEach((channelType) => this.addChannelType(channelType));\n\t\treturn this;\n\t}\n}\n","import { APIApplicationCommandIntegerOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { mix } from 'ts-mixer';\nimport { z } from 'zod';\nimport { ApplicationCommandNumericOptionMinMaxValueMixin } from '../mixins/ApplicationCommandNumericOptionMinMaxValueMixin';\nimport { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';\nimport { ApplicationCommandOptionWithChoicesAndAutocompleteMixin } from '../mixins/ApplicationCommandOptionWithChoicesAndAutocompleteMixin';\n\nconst numberValidator = z.number().int().nonnegative();\n\n@mix(ApplicationCommandNumericOptionMinMaxValueMixin, ApplicationCommandOptionWithChoicesAndAutocompleteMixin)\nexport class SlashCommandIntegerOption\n\textends ApplicationCommandOptionBase\n\timplements ApplicationCommandNumericOptionMinMaxValueMixin\n{\n\tpublic readonly type = ApplicationCommandOptionType.Integer as const;\n\n\tpublic setMaxValue(max: number): this {\n\t\tnumberValidator.parse(max);\n\n\t\tReflect.set(this, 'maxValue', max);\n\n\t\treturn this;\n\t}\n\n\tpublic setMinValue(min: number): this {\n\t\tnumberValidator.parse(min);\n\n\t\tReflect.set(this, 'minValue', min);\n\n\t\treturn this;\n\t}\n\n\tpublic toJSON(): APIApplicationCommandIntegerOption {\n\t\tthis.runRequiredValidations();\n\n\t\tif (this.autocomplete && Array.isArray(this.choices) && this.choices.length > 0) {\n\t\t\tthrow new RangeError('Autocomplete and choices are mutually exclusive to each other.');\n\t\t}\n\n\t\treturn { ...this };\n\t}\n}\n\nexport interface SlashCommandIntegerOption\n\textends ApplicationCommandNumericOptionMinMaxValueMixin,\n\t\tApplicationCommandOptionWithChoicesAndAutocompleteMixin {}\n","export abstract class ApplicationCommandNumericOptionMinMaxValueMixin {\n\tprotected readonly maxValue?: number;\n\tprotected readonly minValue?: number;\n\n\t/**\n\t * Sets the maximum number value of this option\n\t * @param max The maximum value this option can be\n\t */\n\tpublic abstract setMaxValue(max: number): this;\n\n\t/**\n\t * Sets the minimum number value of this option\n\t * @param min The minimum value this option can be\n\t */\n\tpublic abstract setMinValue(min: number): this;\n}\n","import { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { z } from 'zod';\nimport { validateMaxChoicesLength } from '../Assertions';\n\nconst stringPredicate = z.string().min(1).max(100);\nconst numberPredicate = z.number().gt(-Infinity).lt(Infinity);\nconst choicesPredicate = z.tuple([stringPredicate, z.union([stringPredicate, numberPredicate])]).array();\nconst booleanPredicate = z.boolean();\n\nexport class ApplicationCommandOptionWithChoicesAndAutocompleteMixin {\n\tpublic readonly choices?: APIApplicationCommandOptionChoice[];\n\tpublic readonly autocomplete?: boolean;\n\n\t// Since this is present and this is a mixin, this is needed\n\tpublic readonly type!: ApplicationCommandOptionType;\n\n\t/**\n\t * Adds a choice for this option\n\t *\n\t * @param name The name of the choice\n\t * @param value The value of the choice\n\t */\n\tpublic addChoice(name: string, value: T): Omit {\n\t\tif (this.autocomplete) {\n\t\t\tthrow new RangeError('Autocomplete and choices are mutually exclusive to each other.');\n\t\t}\n\n\t\tif (this.choices === undefined) {\n\t\t\tReflect.set(this, 'choices', []);\n\t\t}\n\n\t\tvalidateMaxChoicesLength(this.choices!);\n\n\t\t// Validate name\n\t\tstringPredicate.parse(name);\n\n\t\t// Validate the value\n\t\tif (this.type === ApplicationCommandOptionType.String) {\n\t\t\tstringPredicate.parse(value);\n\t\t} else {\n\t\t\tnumberPredicate.parse(value);\n\t\t}\n\n\t\tthis.choices!.push({ name, value });\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds multiple choices for this option\n\t *\n\t * @param choices The choices to add\n\t */\n\tpublic addChoices(choices: [name: string, value: T][]): Omit {\n\t\tif (this.autocomplete) {\n\t\t\tthrow new RangeError('Autocomplete and choices are mutually exclusive to each other.');\n\t\t}\n\n\t\tchoicesPredicate.parse(choices);\n\n\t\tfor (const [label, value] of choices) this.addChoice(label, value);\n\t\treturn this;\n\t}\n\n\tpublic setChoices(\n\t\tchoices: Input,\n\t): Input extends []\n\t\t? this & Pick, 'setAutocomplete'>\n\t\t: Omit {\n\t\tif (choices.length > 0 && this.autocomplete) {\n\t\t\tthrow new RangeError('Autocomplete and choices are mutually exclusive to each other.');\n\t\t}\n\n\t\tchoicesPredicate.parse(choices);\n\n\t\tReflect.set(this, 'choices', []);\n\t\tfor (const [label, value] of choices) this.addChoice(label, value);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Marks the option as autocompletable\n\t * @param autocomplete If this option should be autocompletable\n\t */\n\tpublic setAutocomplete(\n\t\tautocomplete: U,\n\t): U extends true\n\t\t? Omit\n\t\t: this & Pick, 'addChoice' | 'addChoices'> {\n\t\t// Assert that you actually passed a boolean\n\t\tbooleanPredicate.parse(autocomplete);\n\n\t\tif (autocomplete && Array.isArray(this.choices) && this.choices.length > 0) {\n\t\t\tthrow new RangeError('Autocomplete and choices are mutually exclusive to each other.');\n\t\t}\n\n\t\tReflect.set(this, 'autocomplete', autocomplete);\n\n\t\treturn this;\n\t}\n}\n","import { APIApplicationCommandMentionableOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';\n\nexport class SlashCommandMentionableOption extends ApplicationCommandOptionBase {\n\tpublic readonly type = ApplicationCommandOptionType.Mentionable as const;\n\n\tpublic toJSON(): APIApplicationCommandMentionableOption {\n\t\tthis.runRequiredValidations();\n\n\t\treturn { ...this };\n\t}\n}\n","import { APIApplicationCommandNumberOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { mix } from 'ts-mixer';\nimport { z } from 'zod';\nimport { ApplicationCommandNumericOptionMinMaxValueMixin } from '../mixins/ApplicationCommandNumericOptionMinMaxValueMixin';\nimport { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';\nimport { ApplicationCommandOptionWithChoicesAndAutocompleteMixin } from '../mixins/ApplicationCommandOptionWithChoicesAndAutocompleteMixin';\n\nconst numberValidator = z.number().nonnegative();\n\n@mix(ApplicationCommandNumericOptionMinMaxValueMixin, ApplicationCommandOptionWithChoicesAndAutocompleteMixin)\nexport class SlashCommandNumberOption\n\textends ApplicationCommandOptionBase\n\timplements ApplicationCommandNumericOptionMinMaxValueMixin\n{\n\tpublic readonly type = ApplicationCommandOptionType.Number as const;\n\n\tpublic setMaxValue(max: number): this {\n\t\tnumberValidator.parse(max);\n\n\t\tReflect.set(this, 'maxValue', max);\n\n\t\treturn this;\n\t}\n\n\tpublic setMinValue(min: number): this {\n\t\tnumberValidator.parse(min);\n\n\t\tReflect.set(this, 'minValue', min);\n\n\t\treturn this;\n\t}\n\n\tpublic toJSON(): APIApplicationCommandNumberOption {\n\t\tthis.runRequiredValidations();\n\n\t\tif (this.autocomplete && Array.isArray(this.choices) && this.choices.length > 0) {\n\t\t\tthrow new RangeError('Autocomplete and choices are mutually exclusive to each other.');\n\t\t}\n\n\t\treturn { ...this };\n\t}\n}\n\nexport interface SlashCommandNumberOption\n\textends ApplicationCommandNumericOptionMinMaxValueMixin,\n\t\tApplicationCommandOptionWithChoicesAndAutocompleteMixin {}\n","import { APIApplicationCommandRoleOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';\n\nexport class SlashCommandRoleOption extends ApplicationCommandOptionBase {\n\tpublic override readonly type = ApplicationCommandOptionType.Role as const;\n\n\tpublic toJSON(): APIApplicationCommandRoleOption {\n\t\tthis.runRequiredValidations();\n\n\t\treturn { ...this };\n\t}\n}\n","import { APIApplicationCommandStringOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { mix } from 'ts-mixer';\nimport { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';\nimport { ApplicationCommandOptionWithChoicesAndAutocompleteMixin } from '../mixins/ApplicationCommandOptionWithChoicesAndAutocompleteMixin';\n\n@mix(ApplicationCommandOptionWithChoicesAndAutocompleteMixin)\nexport class SlashCommandStringOption extends ApplicationCommandOptionBase {\n\tpublic readonly type = ApplicationCommandOptionType.String as const;\n\n\tpublic toJSON(): APIApplicationCommandStringOption {\n\t\tthis.runRequiredValidations();\n\n\t\tif (this.autocomplete && Array.isArray(this.choices) && this.choices.length > 0) {\n\t\t\tthrow new RangeError('Autocomplete and choices are mutually exclusive to each other.');\n\t\t}\n\n\t\treturn { ...this };\n\t}\n}\n\nexport interface SlashCommandStringOption extends ApplicationCommandOptionWithChoicesAndAutocompleteMixin {}\n","import { APIApplicationCommandUserOption, ApplicationCommandOptionType } from 'discord-api-types/v9';\nimport { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';\n\nexport class SlashCommandUserOption extends ApplicationCommandOptionBase {\n\tpublic readonly type = ApplicationCommandOptionType.User as const;\n\n\tpublic toJSON(): APIApplicationCommandUserOption {\n\t\tthis.runRequiredValidations();\n\n\t\treturn { ...this };\n\t}\n}\n","import { assertReturnOfBuilder, validateMaxOptionsLength } from '../Assertions';\nimport type { ApplicationCommandOptionBase } from './ApplicationCommandOptionBase';\nimport { SlashCommandBooleanOption } from '../options/boolean';\nimport { SlashCommandChannelOption } from '../options/channel';\nimport { SlashCommandIntegerOption } from '../options/integer';\nimport { SlashCommandMentionableOption } from '../options/mentionable';\nimport { SlashCommandNumberOption } from '../options/number';\nimport { SlashCommandRoleOption } from '../options/role';\nimport { SlashCommandStringOption } from '../options/string';\nimport { SlashCommandUserOption } from '../options/user';\nimport type { ToAPIApplicationCommandOptions } from '../SlashCommandBuilder';\n\nexport class SharedSlashCommandOptions {\n\tpublic readonly options!: ToAPIApplicationCommandOptions[];\n\n\t/**\n\t * Adds a boolean option\n\t *\n\t * @param input A function that returns an option builder, or an already built builder\n\t */\n\tpublic addBooleanOption(\n\t\tinput: SlashCommandBooleanOption | ((builder: SlashCommandBooleanOption) => SlashCommandBooleanOption),\n\t) {\n\t\treturn this._sharedAddOptionMethod(input, SlashCommandBooleanOption);\n\t}\n\n\t/**\n\t * Adds a user option\n\t *\n\t * @param input A function that returns an option builder, or an already built builder\n\t */\n\tpublic addUserOption(input: SlashCommandUserOption | ((builder: SlashCommandUserOption) => SlashCommandUserOption)) {\n\t\treturn this._sharedAddOptionMethod(input, SlashCommandUserOption);\n\t}\n\n\t/**\n\t * Adds a channel option\n\t *\n\t * @param input A function that returns an option builder, or an already built builder\n\t */\n\tpublic addChannelOption(\n\t\tinput: SlashCommandChannelOption | ((builder: SlashCommandChannelOption) => SlashCommandChannelOption),\n\t) {\n\t\treturn this._sharedAddOptionMethod(input, SlashCommandChannelOption);\n\t}\n\n\t/**\n\t * Adds a role option\n\t *\n\t * @param input A function that returns an option builder, or an already built builder\n\t */\n\tpublic addRoleOption(input: SlashCommandRoleOption | ((builder: SlashCommandRoleOption) => SlashCommandRoleOption)) {\n\t\treturn this._sharedAddOptionMethod(input, SlashCommandRoleOption);\n\t}\n\n\t/**\n\t * Adds a mentionable option\n\t *\n\t * @param input A function that returns an option builder, or an already built builder\n\t */\n\tpublic addMentionableOption(\n\t\tinput: SlashCommandMentionableOption | ((builder: SlashCommandMentionableOption) => SlashCommandMentionableOption),\n\t) {\n\t\treturn this._sharedAddOptionMethod(input, SlashCommandMentionableOption);\n\t}\n\n\t/**\n\t * Adds a string option\n\t *\n\t * @param input A function that returns an option builder, or an already built builder\n\t */\n\tpublic addStringOption(\n\t\tinput:\n\t\t\t| SlashCommandStringOption\n\t\t\t| Omit\n\t\t\t| Omit\n\t\t\t| ((\n\t\t\t\t\tbuilder: SlashCommandStringOption,\n\t\t\t ) =>\n\t\t\t\t\t| SlashCommandStringOption\n\t\t\t\t\t| Omit\n\t\t\t\t\t| Omit),\n\t) {\n\t\treturn this._sharedAddOptionMethod(input, SlashCommandStringOption);\n\t}\n\n\t/**\n\t * Adds an integer option\n\t *\n\t * @param input A function that returns an option builder, or an already built builder\n\t */\n\tpublic addIntegerOption(\n\t\tinput:\n\t\t\t| SlashCommandIntegerOption\n\t\t\t| Omit\n\t\t\t| Omit\n\t\t\t| ((\n\t\t\t\t\tbuilder: SlashCommandIntegerOption,\n\t\t\t ) =>\n\t\t\t\t\t| SlashCommandIntegerOption\n\t\t\t\t\t| Omit\n\t\t\t\t\t| Omit),\n\t) {\n\t\treturn this._sharedAddOptionMethod(input, SlashCommandIntegerOption);\n\t}\n\n\t/**\n\t * Adds a number option\n\t *\n\t * @param input A function that returns an option builder, or an already built builder\n\t */\n\tpublic addNumberOption(\n\t\tinput:\n\t\t\t| SlashCommandNumberOption\n\t\t\t| Omit\n\t\t\t| Omit\n\t\t\t| ((\n\t\t\t\t\tbuilder: SlashCommandNumberOption,\n\t\t\t ) =>\n\t\t\t\t\t| SlashCommandNumberOption\n\t\t\t\t\t| Omit\n\t\t\t\t\t| Omit),\n\t) {\n\t\treturn this._sharedAddOptionMethod(input, SlashCommandNumberOption);\n\t}\n\n\tprivate _sharedAddOptionMethod(\n\t\tinput:\n\t\t\t| T\n\t\t\t| Omit\n\t\t\t| Omit\n\t\t\t| ((builder: T) => T | Omit | Omit),\n\t\tInstance: new () => T,\n\t): ShouldOmitSubcommandFunctions extends true ? Omit : this {\n\t\tconst { options } = this;\n\n\t\t// First, assert options conditions - we cannot have more than 25 options\n\t\tvalidateMaxOptionsLength(options);\n\n\t\t// Get the final result\n\t\tconst result = typeof input === 'function' ? input(new Instance()) : input;\n\n\t\tassertReturnOfBuilder(result, Instance);\n\n\t\t// Push it\n\t\toptions.push(result);\n\n\t\treturn this;\n\t}\n}\n","import {\n\tAPIApplicationCommandSubcommandGroupOption,\n\tAPIApplicationCommandSubcommandOption,\n\tApplicationCommandOptionType,\n} from 'discord-api-types/v9';\nimport { mix } from 'ts-mixer';\nimport { assertReturnOfBuilder, validateMaxOptionsLength, validateRequiredParameters } from './Assertions';\nimport type { ApplicationCommandOptionBase } from './mixins/ApplicationCommandOptionBase';\nimport { SharedNameAndDescription } from './mixins/NameAndDescription';\nimport { SharedSlashCommandOptions } from './mixins/SharedSlashCommandOptions';\nimport type { ToAPIApplicationCommandOptions } from './SlashCommandBuilder';\n\n/**\n * Represents a folder for subcommands\n *\n * For more information, go to https://discord.com/developers/docs/interactions/slash-commands#subcommands-and-subcommand-groups\n */\n@mix(SharedNameAndDescription)\nexport class SlashCommandSubcommandGroupBuilder implements ToAPIApplicationCommandOptions {\n\t/**\n\t * The name of this subcommand group\n\t */\n\tpublic readonly name: string = undefined!;\n\n\t/**\n\t * The description of this subcommand group\n\t */\n\tpublic readonly description: string = undefined!;\n\n\t/**\n\t * The subcommands part of this subcommand group\n\t */\n\tpublic readonly options: SlashCommandSubcommandBuilder[] = [];\n\n\t/**\n\t * Adds a new subcommand to this group\n\t *\n\t * @param input A function that returns a subcommand builder, or an already built builder\n\t */\n\tpublic addSubcommand(\n\t\tinput:\n\t\t\t| SlashCommandSubcommandBuilder\n\t\t\t| ((subcommandGroup: SlashCommandSubcommandBuilder) => SlashCommandSubcommandBuilder),\n\t) {\n\t\tconst { options } = this;\n\n\t\t// First, assert options conditions - we cannot have more than 25 options\n\t\tvalidateMaxOptionsLength(options);\n\n\t\t// Get the final result\n\t\tconst result = typeof input === 'function' ? input(new SlashCommandSubcommandBuilder()) : input;\n\n\t\tassertReturnOfBuilder(result, SlashCommandSubcommandBuilder);\n\n\t\t// Push it\n\t\toptions.push(result);\n\n\t\treturn this;\n\t}\n\n\tpublic toJSON(): APIApplicationCommandSubcommandGroupOption {\n\t\tvalidateRequiredParameters(this.name, this.description, this.options);\n\n\t\treturn {\n\t\t\ttype: ApplicationCommandOptionType.SubcommandGroup,\n\t\t\tname: this.name,\n\t\t\tdescription: this.description,\n\t\t\toptions: this.options.map((option) => option.toJSON()),\n\t\t};\n\t}\n}\n\nexport interface SlashCommandSubcommandGroupBuilder extends SharedNameAndDescription {}\n\n/**\n * Represents a subcommand\n *\n * For more information, go to https://discord.com/developers/docs/interactions/slash-commands#subcommands-and-subcommand-groups\n */\n@mix(SharedNameAndDescription, SharedSlashCommandOptions)\nexport class SlashCommandSubcommandBuilder implements ToAPIApplicationCommandOptions {\n\t/**\n\t * The name of this subcommand\n\t */\n\tpublic readonly name: string = undefined!;\n\n\t/**\n\t * The description of this subcommand\n\t */\n\tpublic readonly description: string = undefined!;\n\n\t/**\n\t * The options of this subcommand\n\t */\n\tpublic readonly options: ApplicationCommandOptionBase[] = [];\n\n\tpublic toJSON(): APIApplicationCommandSubcommandOption {\n\t\tvalidateRequiredParameters(this.name, this.description, this.options);\n\n\t\treturn {\n\t\t\ttype: ApplicationCommandOptionType.Subcommand,\n\t\t\tname: this.name,\n\t\t\tdescription: this.description,\n\t\t\toptions: this.options.map((option) => option.toJSON()),\n\t\t};\n\t}\n}\n\nexport interface SlashCommandSubcommandBuilder extends SharedNameAndDescription, SharedSlashCommandOptions {}\n","import { z } from 'zod';\nimport { ApplicationCommandType } from 'discord-api-types/v9';\nimport type { ContextMenuCommandType } from './ContextMenuCommandBuilder';\n\nexport function validateRequiredParameters(name: string, type: number) {\n\t// Assert name matches all conditions\n\tvalidateName(name);\n\n\t// Assert type is valid\n\tvalidateType(type);\n}\n\nconst namePredicate = z\n\t.string()\n\t.min(1)\n\t.max(32)\n\t.regex(/^( *[\\p{L}\\p{N}_-]+ *)+$/u);\n\nexport function validateName(name: unknown): asserts name is string {\n\tnamePredicate.parse(name);\n}\n\nconst typePredicate = z.union([z.literal(ApplicationCommandType.User), z.literal(ApplicationCommandType.Message)]);\n\nexport function validateType(type: unknown): asserts type is ContextMenuCommandType {\n\ttypePredicate.parse(type);\n}\n\nconst booleanPredicate = z.boolean();\n\nexport function validateDefaultPermission(value: unknown): asserts value is boolean {\n\tbooleanPredicate.parse(value);\n}\n","import { validateRequiredParameters, validateName, validateType, validateDefaultPermission } from './Assertions';\nimport type { ApplicationCommandType, RESTPostAPIApplicationCommandsJSONBody } from 'discord-api-types/v9';\n\nexport class ContextMenuCommandBuilder {\n\t/**\n\t * The name of this context menu command\n\t */\n\tpublic readonly name: string = undefined!;\n\n\t/**\n\t * The type of this context menu command\n\t */\n\tpublic readonly type: ContextMenuCommandType = undefined!;\n\n\t/**\n\t * Whether the command is enabled by default when the app is added to a guild\n\t *\n\t * @default true\n\t */\n\tpublic readonly defaultPermission: boolean | undefined = undefined;\n\n\t/**\n\t * Sets the name\n\t *\n\t * @param name The name\n\t */\n\tpublic setName(name: string) {\n\t\t// Assert the name matches the conditions\n\t\tvalidateName(name);\n\n\t\tReflect.set(this, 'name', name);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets the type\n\t *\n\t * @param type The type\n\t */\n\tpublic setType(type: ContextMenuCommandType) {\n\t\t// Assert the type is valid\n\t\tvalidateType(type);\n\n\t\tReflect.set(this, 'type', type);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets whether the command is enabled by default when the application is added to a guild.\n\t *\n\t * **Note**: If set to `false`, you will have to later `PUT` the permissions for this command.\n\t *\n\t * @param value Whether or not to enable this command by default\n\t *\n\t * @see https://discord.com/developers/docs/interactions/application-commands#permissions\n\t */\n\tpublic setDefaultPermission(value: boolean) {\n\t\t// Assert the value matches the conditions\n\t\tvalidateDefaultPermission(value);\n\n\t\tReflect.set(this, 'defaultPermission', value);\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Returns the final data that should be sent to Discord.\n\t *\n\t * **Note:** Calling this function will validate required properties based on their conditions.\n\t */\n\tpublic toJSON(): RESTPostAPIApplicationCommandsJSONBody {\n\t\tvalidateRequiredParameters(this.name, this.type);\n\t\treturn {\n\t\t\tname: this.name,\n\t\t\ttype: this.type,\n\t\t\tdefault_permission: this.defaultPermission,\n\t\t};\n\t}\n}\n\nexport type ContextMenuCommandType = ApplicationCommandType.User | ApplicationCommandType.Message;\n"],"mappings":"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","names":[]} \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/LICENSE b/node_modules/@discordjs/builders/node_modules/discord-api-types/LICENSE new file mode 100644 index 0000000..a8b1694 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 vladfrangu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/README.md b/node_modules/@discordjs/builders/node_modules/discord-api-types/README.md new file mode 100644 index 0000000..e0ab3b3 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/README.md @@ -0,0 +1,97 @@ +# Discord API Types + +[![GitHub](https://img.shields.io/github/license/discordjs/discord-api-types)](https://github.com/discordjs/discord-api-types/blob/main/LICENSE.md) +[![npm](https://img.shields.io/npm/v/discord-api-types?color=crimson&logo=npm)](https://www.npmjs.com/package/discord-api-types) +[![deno](https://img.shields.io/npm/v/discord-api-types?color=blue&label=deno&logo=deno)](https://deno.land/x/discord_api_types) +[![Patreon Donate](https://img.shields.io/badge/patreon-donate-brightgreen.svg?label=Donate%20with%20Patreon&logo=patreon&colorB=F96854&link=https://www.patreon.com/vladfrangu)](https://www.patreon.com/vladfrangu) +[![Ko-fi Donate](https://img.shields.io/badge/kofi-donate-brightgreen.svg?label=Donate%20with%20Ko-fi&logo=ko-fi&colorB=F16061&link=https://ko-fi.com/wolfgalvlad&logoColor=FFFFFF)](https://ko-fi.com/wolfgalvlad) +[![GitHub Sponsors](https://img.shields.io/badge/patreon-donate-brightgreen.svg?label=Sponsor%20through%20GitHub&logo=github&colorB=F96854&link=https://github.com/sponsors/vladfrangu)](https://github.com/sponsors/vladfrangu) + +Simple type definitions for the [Discord API](https://discord.com/developers/docs/intro). + +## Installation + +Install with [npm](https://www.npmjs.com/) / [yarn](https://yarnpkg.com) / [pnpm](https://pnpm.js.org/): + +```sh +npm install discord-api-types +yarn add discord-api-types +pnpm add discord-api-types +``` + +### Usage + +You can only import this module by specifying the API version you want to target. Append `/v*` to the import path, where the `*` represents the API version. Below are some examples + +```js +const { APIUser } = require('discord-api-types/v9'); +``` + +```ts +// TypeScript/ES Module support +import { APIUser } from 'discord-api-types/v9'; +``` + +You may also import just certain parts of the module that you need. The possible values are: `globals`, `gateway`, `gateway/v*`, `payloads`, `payloads/v*`, `rest`, `rest/v*`, `rpc`, `rpc/v*`, `utils`, `utils/v*`, `voice`, and `voice/v*`. Below are some examples + +```js +const { GatewayVersion } = require('discord-api-types/gateway/v9'); +``` + +```ts +// TypeScript/ES Module support +import { GatewayVersion } from 'discord-api-types/gateway/v9'; +``` + +> _**Note:** The `v*` exports (`discord-api-type/v*`) include the appropriate version of `gateway`, `payloads`, `rest`, `rpc`, and `utils` you specified, alongside the `globals` exports_ + +### Deno + +We also provide typings compatible with the [deno](https://deno.land/) runtime. You have 3 ways you can import them: + +1. Directly from GitHub + +```ts +// Importing a specific API version +import { APIUser } from 'https://raw.githubusercontent.com/discordjs/discord-api-types/main/deno/v9.ts'; +``` + +2. From [deno.land/x](https://deno.land/x) + +```ts +// Importing a specific API version +import { APIUser } from 'https://deno.land/x/discord_api_types/v9.ts'; +``` + +3. From [skypack.dev](https://www.skypack.dev/) + +```ts +// Importing a specific API version +import { APIUser } from 'https://cdn.skypack.dev/discord-api-types/v9?dts'; +``` + +## Project Structure + +The exports of each API version is split into three main parts: + +- Everything exported with the `API` prefix represents a payload you may get from the REST API _or_ the Gateway. + +- Everything exported with the `Gateway` prefix represents data that ONLY comes from or is directly related to the Gateway. + +- Everything exported with the `REST` prefix represents data that ONLY comes from or is directly related to the REST API. + + - For endpoint options, they will follow the following structure: `REST` where the type represents what it will return. + + - For example, `RESTPostAPIChannelMessageJSONBody` or `RESTGetAPIGatewayBotInfoResult`. + + - Some exported types (specifically OAuth2 related ones) may not respect this entire structure due to the nature of the fields. They will start with either `RESTOAuth2` or with something similar to `RESTOAuth2` + + - If a type ends with `Result`, then it represents the expected result by calling its accompanying route. + + - Types that are exported as `never` usually mean the result will be a `204 No Content`, so you can safely ignore it. This does **not** account for errors. + +- Anything else that is miscellaneous will be exported based on what it represents (for example the `REST` route object). + +- There may be types exported that are identical for all versions. These will be exported as is and can be found in the `globals` file. They will still be prefixed accordingly as described above. + +**Warning**: This package documents just KNOWN (and documented) properties. Anything that isn't documented will NOT be added to this package (unless said properties are in an open Pull Request to Discord's [API Documentation repository](https://github.com/discord/discord-api-docs) or known through other means _and have received the green light to be used_). For clarification's sake, this means that properties that are only known through the process of data mining and have not yet been confirmed in a way as described will **NOT** be included. diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/common.d.ts b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/common.d.ts new file mode 100644 index 0000000..c77bc48 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/common.d.ts @@ -0,0 +1,9 @@ +/** + * https://discord.com/developers/docs/topics/gateway#connecting-gateway-url-params + */ +export interface GatewayURLQuery { + v: string; + encoding: 'json' | 'etf'; + compress?: 'zlib-stream'; +} +//# sourceMappingURL=common.d.ts.map \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/common.d.ts.map b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/common.d.ts.map new file mode 100644 index 0000000..59c2f60 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/common.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["common.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;IACzB,QAAQ,CAAC,EAAE,aAAa,CAAC;CACzB"} \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/common.js b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/common.js new file mode 100644 index 0000000..b9529e7 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/common.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=common.js.map \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/common.js.map b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/common.js.map new file mode 100644 index 0000000..d0f541d --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/common.js.map @@ -0,0 +1 @@ +{"version":3,"file":"common.js","sourceRoot":"","sources":["common.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.d.ts b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.d.ts new file mode 100644 index 0000000..f63d200 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.d.ts @@ -0,0 +1,2 @@ +export * from './v9'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.d.ts.map b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.d.ts.map new file mode 100644 index 0000000..c1a119e --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAGA,cAAc,MAAM,CAAC"} \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.js b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.js new file mode 100644 index 0000000..92089f2 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.js @@ -0,0 +1,16 @@ +"use strict"; +// This file exports all the types available in the recommended gateway version +// Thereby, things MAY break in the future. Try sticking to imports from a specific version +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./v9"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.js.map b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.js.map new file mode 100644 index 0000000..e8cb276 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA,+EAA+E;AAC/E,2FAA2F;;;;;;;;;;;;AAE3F,uCAAqB"} \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.mjs b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.mjs new file mode 100644 index 0000000..fd4ff25 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/index.mjs @@ -0,0 +1,8 @@ +import mod from "./index.js"; + +export default mod; +export const GatewayCloseCodes = mod.GatewayCloseCodes; +export const GatewayDispatchEvents = mod.GatewayDispatchEvents; +export const GatewayIntentBits = mod.GatewayIntentBits; +export const GatewayOpcodes = mod.GatewayOpcodes; +export const GatewayVersion = mod.GatewayVersion; diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.d.ts b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.d.ts new file mode 100644 index 0000000..949ceee --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.d.ts @@ -0,0 +1,608 @@ +/** + * Types extracted from https://discord.com/developers/docs/topics/gateway + */ +import type { APIChannel, APIEmoji, APIGuild, APIGuildMember, APIMessage, APIRole, APIUnavailableGuild, APIUser, GatewayActivity, GatewayPresenceUpdate as RawGatewayPresenceUpdate, GatewayVoiceState, InviteTargetUserType, PresenceUpdateStatus } from '../payloads/v6/index'; +export * from './common'; +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare const GatewayVersion = "6"; +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#gateway-gateway-opcodes + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare enum GatewayOPCodes { + Dispatch = 0, + Heartbeat = 1, + Identify = 2, + PresenceUpdate = 3, + VoiceStateUpdate = 4, + Resume = 6, + Reconnect = 7, + RequestGuildMembers = 8, + InvalidSession = 9, + Hello = 10, + HeartbeatAck = 11 +} +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#gateway-gateway-close-event-codes + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare enum GatewayCloseCodes { + UnknownError = 4000, + UnknownOpCode = 4001, + DecodeError = 4002, + NotAuthenticated = 4003, + AuthenticationFailed = 4004, + AlreadyAuthenticated = 4005, + InvalidSeq = 4007, + RateLimited = 4008, + SessionTimedOut = 4009, + InvalidShard = 4010, + ShardingRequired = 4011, + InvalidAPIVersion = 4012, + InvalidIntents = 4013, + DisallowedIntents = 4014 +} +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#voice-voice-opcodes + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare enum VoiceOPCodes { + Identify = 0, + SelectProtocol = 1, + Ready = 2, + Heartbeat = 3, + SessionDescription = 4, + Speaking = 5, + HeartbeatAck = 6, + Resume = 7, + Hello = 8, + Resumed = 9, + ClientDisconnect = 13 +} +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#voice-voice-close-event-codes + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare enum VoiceCloseCodes { + UnknownOpCode = 4001, + NotAuthenticated = 4003, + AuthenticationFailed = 4004, + AlreadyAuthenticated = 4005, + SessionNoLongerValid = 4006, + SessionTimeout = 4009, + ServerNotFound = 4011, + UnknownProtocol = 4012, + Disconnected = 4014, + VoiceServerCrashed = 4015, + UnknownEncryptionMode = 4016 +} +/** + * https://discord.com/developers/docs/topics/gateway#list-of-intents + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare enum GatewayIntentBits { + GUILDS = 1, + GUILD_MEMBERS = 2, + GUILD_BANS = 4, + GUILD_EMOJIS = 8, + GUILD_INTEGRATIONS = 16, + GUILD_WEBHOOKS = 32, + GUILD_INVITES = 64, + GUILD_VOICE_STATES = 128, + GUILD_PRESENCES = 256, + GUILD_MESSAGES = 512, + GUILD_MESSAGE_REACTIONS = 1024, + GUILD_MESSAGE_TYPING = 2048, + DIRECT_MESSAGES = 4096, + DIRECT_MESSAGE_REACTIONS = 8192, + DIRECT_MESSAGE_TYPING = 16384 +} +/** + * https://discord.com/developers/docs/topics/gateway#commands-and-events-gateway-events + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare enum GatewayDispatchEvents { + Ready = "READY", + Resumed = "RESUMED", + ChannelCreate = "CHANNEL_CREATE", + ChannelUpdate = "CHANNEL_UPDATE", + ChannelDelete = "CHANNEL_DELETE", + ChannelPinsUpdate = "CHANNEL_PINS_UPDATE", + GuildCreate = "GUILD_CREATE", + GuildUpdate = "GUILD_UPDATE", + GuildDelete = "GUILD_DELETE", + GuildBanAdd = "GUILD_BAN_ADD", + GuildBanRemove = "GUILD_BAN_REMOVE", + GuildEmojisUpdate = "GUILD_EMOJIS_UPDATE", + GuildIntegrationsUpdate = "GUILD_INTEGRATIONS_UPDATE", + GuildMemberAdd = "GUILD_MEMBER_ADD", + GuildMemberRemove = "GUILD_MEMBER_REMOVE", + GuildMemberUpdate = "GUILD_MEMBER_UPDATE", + GuildMembersChunk = "GUILD_MEMBERS_CHUNK", + GuildRoleCreate = "GUILD_ROLE_CREATE", + GuildRoleUpdate = "GUILD_ROLE_UPDATE", + GuildRoleDelete = "GUILD_ROLE_DELETE", + InviteCreate = "INVITE_CREATE", + InviteDelete = "INVITE_DELETE", + MessageCreate = "MESSAGE_CREATE", + MessageUpdate = "MESSAGE_UPDATE", + MessageDelete = "MESSAGE_DELETE", + MessageDeleteBulk = "MESSAGE_DELETE_BULK", + MessageReactionAdd = "MESSAGE_REACTION_ADD", + MessageReactionRemove = "MESSAGE_REACTION_REMOVE", + MessageReactionRemoveAll = "MESSAGE_REACTION_REMOVE_ALL", + MessageReactionRemoveEmoji = "MESSAGE_REACTION_REMOVE_EMOJI", + PresenceUpdate = "PRESENCE_UPDATE", + TypingStart = "TYPING_START", + UserUpdate = "USER_UPDATE", + VoiceStateUpdate = "VOICE_STATE_UPDATE", + VoiceServerUpdate = "VOICE_SERVER_UPDATE", + WebhooksUpdate = "WEBHOOKS_UPDATE" +} +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewaySendPayload = GatewayHeartbeat | GatewayIdentify | GatewayUpdatePresence | GatewayVoiceStateUpdate | GatewayResume | GatewayRequestGuildMembers; +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayReceivePayload = GatewayHello | GatewayHeartbeatRequest | GatewayHeartbeatAck | GatewayInvalidSession | GatewayReconnect | GatewayDispatchPayload; +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayDispatchPayload = GatewayReadyDispatch | GatewayResumedDispatch | GatewayChannelModifyDispatch | GatewayChannelPinsUpdateDispatch | GatewayGuildModifyDispatch | GatewayGuildDeleteDispatch | GatewayGuildBanModifyDispatch | GatewayGuildEmojisUpdateDispatch | GatewayGuildIntegrationsUpdateDispatch | GatewayGuildMemberAddDispatch | GatewayGuildMemberRemoveDispatch | GatewayGuildMemberUpdateDispatch | GatewayGuildMembersChunkDispatch | GatewayGuildRoleModifyDispatch | GatewayGuildRoleDeleteDispatch | GatewayInviteCreateDispatch | GatewayInviteDeleteDispatch | GatewayMessageCreateDispatch | GatewayMessageUpdateDispatch | GatewayMessageDeleteDispatch | GatewayMessageDeleteBulkDispatch | GatewayMessageReactionAddDispatch | GatewayMessageReactionRemoveDispatch | GatewayMessageReactionRemoveAllDispatch | GatewayMessageReactionRemoveEmojiDispatch | GatewayPresenceUpdateDispatch | GatewayTypingStartDispatch | GatewayUserUpdateDispatch | GatewayVoiceStateUpdateDispatch | GatewayVoiceServerUpdateDispatch | GatewayWebhooksUpdateDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#hello + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export interface GatewayHello extends NonDispatchPayload { + op: GatewayOPCodes.Hello; + d: { + heartbeat_interval: number; + }; +} +/** + * https://discord.com/developers/docs/topics/gateway#heartbeating + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export interface GatewayHeartbeatRequest extends NonDispatchPayload { + op: GatewayOPCodes.Heartbeat; + d: never; +} +/** + * https://discord.com/developers/docs/topics/gateway#heartbeating-example-gateway-heartbeat-ack + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export interface GatewayHeartbeatAck extends NonDispatchPayload { + op: GatewayOPCodes.HeartbeatAck; + d: never; +} +/** + * https://discord.com/developers/docs/topics/gateway#invalid-session + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export interface GatewayInvalidSession extends NonDispatchPayload { + op: GatewayOPCodes.InvalidSession; + d: boolean; +} +/** + * https://discord.com/developers/docs/topics/gateway#reconnect + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export interface GatewayReconnect extends NonDispatchPayload { + op: GatewayOPCodes.Reconnect; + d: never; +} +/** + * https://discord.com/developers/docs/topics/gateway#ready + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayReadyDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#resumed + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayResumedDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#channel-create + * https://discord.com/developers/docs/topics/gateway#channel-update + * https://discord.com/developers/docs/topics/gateway#channel-delete + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayChannelModifyDispatch = DataPayload; +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayChannelCreateDispatch = GatewayChannelModifyDispatch; +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayChannelUpdateDispatch = GatewayChannelModifyDispatch; +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayChannelDeleteDispatch = GatewayChannelModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#channel-pins-update + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayChannelPinsUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-create + * https://discord.com/developers/docs/topics/gateway#guild-update + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayGuildModifyDispatch = DataPayload; +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayGuildCreateDispatch = GatewayGuildModifyDispatch; +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayGuildUpdateDispatch = GatewayGuildModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#guild-delete + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayGuildDeleteDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-ban-add + * https://discord.com/developers/docs/topics/gateway#guild-ban-remove + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayGuildBanModifyDispatch = DataPayload; +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayGuildBanAddDispatch = GatewayGuildBanModifyDispatch; +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayGuildBanRemoveDispatch = GatewayGuildBanModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#guild-emojis-update + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayGuildEmojisUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-integrations-update + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayGuildIntegrationsUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-member-add + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayGuildMemberAddDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-member-remove + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayGuildMemberRemoveDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-member-update + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayGuildMemberUpdateDispatch = DataPayload & { + guild_id: string; +}>; +/** + * https://discord.com/developers/docs/topics/gateway#guild-members-chunk + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayGuildMembersChunkDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-create + * https://discord.com/developers/docs/topics/gateway#guild-role-update + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayGuildRoleModifyDispatch = DataPayload; +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayGuildRoleCreateDispatch = GatewayGuildRoleModifyDispatch; +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayGuildRoleUpdateDispatch = GatewayGuildRoleModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-delete + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayGuildRoleDeleteDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#invite-create + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayInviteCreateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#invite-delete + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayInviteDeleteDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#message-create + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayMessageCreateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#message-update + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayMessageUpdateDispatch = DataPayload>; +/** + * https://discord.com/developers/docs/topics/gateway#message-delete + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayMessageDeleteDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#message-delete-bulk + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayMessageDeleteBulkDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-add + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayMessageReactionAddDispatch = ReactionData; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-remove + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayMessageReactionRemoveDispatch = ReactionData; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-remove-all + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayMessageReactionRemoveAllDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-remove-emoji + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayMessageReactionRemoveEmojiDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#presence-update + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayPresenceUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#typing-start + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayTypingStartDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#user-update + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayUserUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#voice-state-update + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayVoiceStateUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#voice-server-update + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayVoiceServerUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#webhooks-update + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export declare type GatewayWebhooksUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#heartbeating + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export interface GatewayHeartbeat { + op: GatewayOPCodes.Heartbeat; + d: number; +} +/** + * https://discord.com/developers/docs/topics/gateway#identify-identify-connection-properties + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export interface GatewayIdentifyProperties { + $os: string; + $browser: string; + $device: string; +} +/** + * https://discord.com/developers/docs/topics/gateway#identify + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export interface GatewayIdentify { + op: GatewayOPCodes.Identify; + d: { + token: string; + properties: GatewayIdentifyProperties; + compress?: boolean; + large_threshold?: number; + shard?: [shard_id: number, shard_count: number]; + presence?: RawGatewayPresenceUpdate; + guild_subscriptions?: boolean; + intents?: number; + }; +} +/** + * https://discord.com/developers/docs/topics/gateway#resume + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export interface GatewayResume { + op: GatewayOPCodes.Resume; + d: { + token: string; + session_id: string; + seq: number; + }; +} +/** + * https://discord.com/developers/docs/topics/gateway#request-guild-members + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export interface GatewayRequestGuildMembers { + op: GatewayOPCodes.RequestGuildMembers; + d: { + guild_id: string | string[]; + query?: string; + limit: number; + presences?: boolean; + user_ids?: string | string[]; + nonce?: string; + }; +} +/** + * https://discord.com/developers/docs/topics/gateway#update-voice-state + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export interface GatewayVoiceStateUpdate { + op: GatewayOPCodes.VoiceStateUpdate; + d: { + guild_id: string; + channel_id: string | null; + self_mute: boolean; + self_deaf: boolean; + }; +} +/** + * https://discord.com/developers/docs/topics/gateway#update-status + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export interface GatewayUpdatePresence { + op: GatewayOPCodes.PresenceUpdate; + d: GatewayPresenceUpdateData; +} +/** + * https://discord.com/developers/docs/topics/gateway#update-status-gateway-status-update-structure + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +export interface GatewayPresenceUpdateData { + since: number | null; + game: GatewayActivity | null; + status: PresenceUpdateStatus; + afk: boolean; +} +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +interface BasePayload { + op: GatewayOPCodes; + s: number; + d?: unknown; + t?: string; +} +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +declare type NonDispatchPayload = Omit; +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +interface DataPayload extends BasePayload { + op: GatewayOPCodes.Dispatch; + t: Event; + d: D; +} +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +declare type ReactionData = DataPayload>; +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +interface MessageReactionRemoveData { + channel_id: string; + message_id: string; + guild_id?: string; +} +//# sourceMappingURL=v6.d.ts.map \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.d.ts.map b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.d.ts.map new file mode 100644 index 0000000..30bcd47 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"v6.d.ts","sourceRoot":"","sources":["v6.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.js b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.js new file mode 100644 index 0000000..7e6face --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.js @@ -0,0 +1,163 @@ +"use strict"; +/** + * Types extracted from https://discord.com/developers/docs/topics/gateway + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GatewayDispatchEvents = exports.GatewayIntentBits = exports.VoiceCloseCodes = exports.VoiceOPCodes = exports.GatewayCloseCodes = exports.GatewayOPCodes = exports.GatewayVersion = void 0; +__exportStar(require("./common"), exports); +/** + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +exports.GatewayVersion = '6'; +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#gateway-gateway-opcodes + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +var GatewayOPCodes; +(function (GatewayOPCodes) { + GatewayOPCodes[GatewayOPCodes["Dispatch"] = 0] = "Dispatch"; + GatewayOPCodes[GatewayOPCodes["Heartbeat"] = 1] = "Heartbeat"; + GatewayOPCodes[GatewayOPCodes["Identify"] = 2] = "Identify"; + GatewayOPCodes[GatewayOPCodes["PresenceUpdate"] = 3] = "PresenceUpdate"; + GatewayOPCodes[GatewayOPCodes["VoiceStateUpdate"] = 4] = "VoiceStateUpdate"; + GatewayOPCodes[GatewayOPCodes["Resume"] = 6] = "Resume"; + GatewayOPCodes[GatewayOPCodes["Reconnect"] = 7] = "Reconnect"; + GatewayOPCodes[GatewayOPCodes["RequestGuildMembers"] = 8] = "RequestGuildMembers"; + GatewayOPCodes[GatewayOPCodes["InvalidSession"] = 9] = "InvalidSession"; + GatewayOPCodes[GatewayOPCodes["Hello"] = 10] = "Hello"; + GatewayOPCodes[GatewayOPCodes["HeartbeatAck"] = 11] = "HeartbeatAck"; +})(GatewayOPCodes = exports.GatewayOPCodes || (exports.GatewayOPCodes = {})); +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#gateway-gateway-close-event-codes + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +var GatewayCloseCodes; +(function (GatewayCloseCodes) { + GatewayCloseCodes[GatewayCloseCodes["UnknownError"] = 4000] = "UnknownError"; + GatewayCloseCodes[GatewayCloseCodes["UnknownOpCode"] = 4001] = "UnknownOpCode"; + GatewayCloseCodes[GatewayCloseCodes["DecodeError"] = 4002] = "DecodeError"; + GatewayCloseCodes[GatewayCloseCodes["NotAuthenticated"] = 4003] = "NotAuthenticated"; + GatewayCloseCodes[GatewayCloseCodes["AuthenticationFailed"] = 4004] = "AuthenticationFailed"; + GatewayCloseCodes[GatewayCloseCodes["AlreadyAuthenticated"] = 4005] = "AlreadyAuthenticated"; + GatewayCloseCodes[GatewayCloseCodes["InvalidSeq"] = 4007] = "InvalidSeq"; + GatewayCloseCodes[GatewayCloseCodes["RateLimited"] = 4008] = "RateLimited"; + GatewayCloseCodes[GatewayCloseCodes["SessionTimedOut"] = 4009] = "SessionTimedOut"; + GatewayCloseCodes[GatewayCloseCodes["InvalidShard"] = 4010] = "InvalidShard"; + GatewayCloseCodes[GatewayCloseCodes["ShardingRequired"] = 4011] = "ShardingRequired"; + GatewayCloseCodes[GatewayCloseCodes["InvalidAPIVersion"] = 4012] = "InvalidAPIVersion"; + GatewayCloseCodes[GatewayCloseCodes["InvalidIntents"] = 4013] = "InvalidIntents"; + GatewayCloseCodes[GatewayCloseCodes["DisallowedIntents"] = 4014] = "DisallowedIntents"; +})(GatewayCloseCodes = exports.GatewayCloseCodes || (exports.GatewayCloseCodes = {})); +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#voice-voice-opcodes + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +var VoiceOPCodes; +(function (VoiceOPCodes) { + VoiceOPCodes[VoiceOPCodes["Identify"] = 0] = "Identify"; + VoiceOPCodes[VoiceOPCodes["SelectProtocol"] = 1] = "SelectProtocol"; + VoiceOPCodes[VoiceOPCodes["Ready"] = 2] = "Ready"; + VoiceOPCodes[VoiceOPCodes["Heartbeat"] = 3] = "Heartbeat"; + VoiceOPCodes[VoiceOPCodes["SessionDescription"] = 4] = "SessionDescription"; + VoiceOPCodes[VoiceOPCodes["Speaking"] = 5] = "Speaking"; + VoiceOPCodes[VoiceOPCodes["HeartbeatAck"] = 6] = "HeartbeatAck"; + VoiceOPCodes[VoiceOPCodes["Resume"] = 7] = "Resume"; + VoiceOPCodes[VoiceOPCodes["Hello"] = 8] = "Hello"; + VoiceOPCodes[VoiceOPCodes["Resumed"] = 9] = "Resumed"; + VoiceOPCodes[VoiceOPCodes["ClientDisconnect"] = 13] = "ClientDisconnect"; +})(VoiceOPCodes = exports.VoiceOPCodes || (exports.VoiceOPCodes = {})); +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#voice-voice-close-event-codes + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +var VoiceCloseCodes; +(function (VoiceCloseCodes) { + VoiceCloseCodes[VoiceCloseCodes["UnknownOpCode"] = 4001] = "UnknownOpCode"; + VoiceCloseCodes[VoiceCloseCodes["NotAuthenticated"] = 4003] = "NotAuthenticated"; + VoiceCloseCodes[VoiceCloseCodes["AuthenticationFailed"] = 4004] = "AuthenticationFailed"; + VoiceCloseCodes[VoiceCloseCodes["AlreadyAuthenticated"] = 4005] = "AlreadyAuthenticated"; + VoiceCloseCodes[VoiceCloseCodes["SessionNoLongerValid"] = 4006] = "SessionNoLongerValid"; + VoiceCloseCodes[VoiceCloseCodes["SessionTimeout"] = 4009] = "SessionTimeout"; + VoiceCloseCodes[VoiceCloseCodes["ServerNotFound"] = 4011] = "ServerNotFound"; + VoiceCloseCodes[VoiceCloseCodes["UnknownProtocol"] = 4012] = "UnknownProtocol"; + VoiceCloseCodes[VoiceCloseCodes["Disconnected"] = 4014] = "Disconnected"; + VoiceCloseCodes[VoiceCloseCodes["VoiceServerCrashed"] = 4015] = "VoiceServerCrashed"; + VoiceCloseCodes[VoiceCloseCodes["UnknownEncryptionMode"] = 4016] = "UnknownEncryptionMode"; +})(VoiceCloseCodes = exports.VoiceCloseCodes || (exports.VoiceCloseCodes = {})); +/** + * https://discord.com/developers/docs/topics/gateway#list-of-intents + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +var GatewayIntentBits; +(function (GatewayIntentBits) { + GatewayIntentBits[GatewayIntentBits["GUILDS"] = 1] = "GUILDS"; + GatewayIntentBits[GatewayIntentBits["GUILD_MEMBERS"] = 2] = "GUILD_MEMBERS"; + GatewayIntentBits[GatewayIntentBits["GUILD_BANS"] = 4] = "GUILD_BANS"; + GatewayIntentBits[GatewayIntentBits["GUILD_EMOJIS"] = 8] = "GUILD_EMOJIS"; + GatewayIntentBits[GatewayIntentBits["GUILD_INTEGRATIONS"] = 16] = "GUILD_INTEGRATIONS"; + GatewayIntentBits[GatewayIntentBits["GUILD_WEBHOOKS"] = 32] = "GUILD_WEBHOOKS"; + GatewayIntentBits[GatewayIntentBits["GUILD_INVITES"] = 64] = "GUILD_INVITES"; + GatewayIntentBits[GatewayIntentBits["GUILD_VOICE_STATES"] = 128] = "GUILD_VOICE_STATES"; + GatewayIntentBits[GatewayIntentBits["GUILD_PRESENCES"] = 256] = "GUILD_PRESENCES"; + GatewayIntentBits[GatewayIntentBits["GUILD_MESSAGES"] = 512] = "GUILD_MESSAGES"; + GatewayIntentBits[GatewayIntentBits["GUILD_MESSAGE_REACTIONS"] = 1024] = "GUILD_MESSAGE_REACTIONS"; + GatewayIntentBits[GatewayIntentBits["GUILD_MESSAGE_TYPING"] = 2048] = "GUILD_MESSAGE_TYPING"; + GatewayIntentBits[GatewayIntentBits["DIRECT_MESSAGES"] = 4096] = "DIRECT_MESSAGES"; + GatewayIntentBits[GatewayIntentBits["DIRECT_MESSAGE_REACTIONS"] = 8192] = "DIRECT_MESSAGE_REACTIONS"; + GatewayIntentBits[GatewayIntentBits["DIRECT_MESSAGE_TYPING"] = 16384] = "DIRECT_MESSAGE_TYPING"; +})(GatewayIntentBits = exports.GatewayIntentBits || (exports.GatewayIntentBits = {})); +/** + * https://discord.com/developers/docs/topics/gateway#commands-and-events-gateway-events + * @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8. + */ +var GatewayDispatchEvents; +(function (GatewayDispatchEvents) { + GatewayDispatchEvents["Ready"] = "READY"; + GatewayDispatchEvents["Resumed"] = "RESUMED"; + GatewayDispatchEvents["ChannelCreate"] = "CHANNEL_CREATE"; + GatewayDispatchEvents["ChannelUpdate"] = "CHANNEL_UPDATE"; + GatewayDispatchEvents["ChannelDelete"] = "CHANNEL_DELETE"; + GatewayDispatchEvents["ChannelPinsUpdate"] = "CHANNEL_PINS_UPDATE"; + GatewayDispatchEvents["GuildCreate"] = "GUILD_CREATE"; + GatewayDispatchEvents["GuildUpdate"] = "GUILD_UPDATE"; + GatewayDispatchEvents["GuildDelete"] = "GUILD_DELETE"; + GatewayDispatchEvents["GuildBanAdd"] = "GUILD_BAN_ADD"; + GatewayDispatchEvents["GuildBanRemove"] = "GUILD_BAN_REMOVE"; + GatewayDispatchEvents["GuildEmojisUpdate"] = "GUILD_EMOJIS_UPDATE"; + GatewayDispatchEvents["GuildIntegrationsUpdate"] = "GUILD_INTEGRATIONS_UPDATE"; + GatewayDispatchEvents["GuildMemberAdd"] = "GUILD_MEMBER_ADD"; + GatewayDispatchEvents["GuildMemberRemove"] = "GUILD_MEMBER_REMOVE"; + GatewayDispatchEvents["GuildMemberUpdate"] = "GUILD_MEMBER_UPDATE"; + GatewayDispatchEvents["GuildMembersChunk"] = "GUILD_MEMBERS_CHUNK"; + GatewayDispatchEvents["GuildRoleCreate"] = "GUILD_ROLE_CREATE"; + GatewayDispatchEvents["GuildRoleUpdate"] = "GUILD_ROLE_UPDATE"; + GatewayDispatchEvents["GuildRoleDelete"] = "GUILD_ROLE_DELETE"; + GatewayDispatchEvents["InviteCreate"] = "INVITE_CREATE"; + GatewayDispatchEvents["InviteDelete"] = "INVITE_DELETE"; + GatewayDispatchEvents["MessageCreate"] = "MESSAGE_CREATE"; + GatewayDispatchEvents["MessageUpdate"] = "MESSAGE_UPDATE"; + GatewayDispatchEvents["MessageDelete"] = "MESSAGE_DELETE"; + GatewayDispatchEvents["MessageDeleteBulk"] = "MESSAGE_DELETE_BULK"; + GatewayDispatchEvents["MessageReactionAdd"] = "MESSAGE_REACTION_ADD"; + GatewayDispatchEvents["MessageReactionRemove"] = "MESSAGE_REACTION_REMOVE"; + GatewayDispatchEvents["MessageReactionRemoveAll"] = "MESSAGE_REACTION_REMOVE_ALL"; + GatewayDispatchEvents["MessageReactionRemoveEmoji"] = "MESSAGE_REACTION_REMOVE_EMOJI"; + GatewayDispatchEvents["PresenceUpdate"] = "PRESENCE_UPDATE"; + GatewayDispatchEvents["TypingStart"] = "TYPING_START"; + GatewayDispatchEvents["UserUpdate"] = "USER_UPDATE"; + GatewayDispatchEvents["VoiceStateUpdate"] = "VOICE_STATE_UPDATE"; + GatewayDispatchEvents["VoiceServerUpdate"] = "VOICE_SERVER_UPDATE"; + GatewayDispatchEvents["WebhooksUpdate"] = "WEBHOOKS_UPDATE"; +})(GatewayDispatchEvents = exports.GatewayDispatchEvents || (exports.GatewayDispatchEvents = {})); +// #endregion Shared +//# sourceMappingURL=v6.js.map \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.js.map b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.js.map new file mode 100644 index 0000000..c52f494 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v6.js","sourceRoot":"","sources":["v6.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.mjs b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.mjs new file mode 100644 index 0000000..848edfc --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v6.mjs @@ -0,0 +1,10 @@ +import mod from "./v6.js"; + +export default mod; +export const GatewayCloseCodes = mod.GatewayCloseCodes; +export const GatewayDispatchEvents = mod.GatewayDispatchEvents; +export const GatewayIntentBits = mod.GatewayIntentBits; +export const GatewayOPCodes = mod.GatewayOPCodes; +export const GatewayVersion = mod.GatewayVersion; +export const VoiceCloseCodes = mod.VoiceCloseCodes; +export const VoiceOPCodes = mod.VoiceOPCodes; diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.d.ts b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.d.ts new file mode 100644 index 0000000..81d0343 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.d.ts @@ -0,0 +1,1290 @@ +/** + * Types extracted from https://discord.com/developers/docs/topics/gateway + */ +import type { Snowflake } from '../globals'; +import type { APIApplication, APIApplicationCommandInteraction, APIChannel, APIEmoji, APIGuild, APIGuildScheduledEvent, APIGuildIntegration, APIGuildMember, APIMessage, APIMessageComponentInteraction, APIRole, APIStageInstance, APISticker, APIUnavailableGuild, APIUser, GatewayActivity, GatewayPresenceUpdate as RawGatewayPresenceUpdate, GatewayVoiceState, InviteTargetType, PresenceUpdateStatus } from '../payloads/v8/index'; +import type { Nullable } from '../utils/internals'; +export * from './common'; +export declare const GatewayVersion = "8"; +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#gateway-gateway-opcodes + */ +export declare const enum GatewayOpcodes { + /** + * An event was dispatched + */ + Dispatch = 0, + /** + * A bidirectional opcode to maintain an active gateway connection. + * Fired periodically by the client, or fired by the gateway to request an immediate heartbeat from the client. + */ + Heartbeat = 1, + /** + * Starts a new session during the initial handshake + */ + Identify = 2, + /** + * Update the client's presence + */ + PresenceUpdate = 3, + /** + * Used to join/leave or move between voice channels + */ + VoiceStateUpdate = 4, + /** + * Resume a previous session that was disconnected + */ + Resume = 6, + /** + * You should attempt to reconnect and resume immediately + */ + Reconnect = 7, + /** + * Request information about offline guild members in a large guild + */ + RequestGuildMembers = 8, + /** + * The session has been invalidated. You should reconnect and identify/resume accordingly + */ + InvalidSession = 9, + /** + * Sent immediately after connecting, contains the `heartbeat_interval` to use + */ + Hello = 10, + /** + * Sent in response to receiving a heartbeat to acknowledge that it has been received + */ + HeartbeatAck = 11 +} +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#gateway-gateway-close-event-codes + */ +export declare const enum GatewayCloseCodes { + /** + * We're not sure what went wrong. Try reconnecting? + */ + UnknownError = 4000, + /** + * You sent an invalid Gateway opcode or an invalid payload for an opcode. Don't do that! + * + * See https://discord.com/developers/docs/topics/gateway#payloads-and-opcodes + */ + UnknownOpcode = 4001, + /** + * You sent an invalid payload to us. Don't do that! + * + * See https://discord.com/developers/docs/topics/gateway#sending-payloads + */ + DecodeError = 4002, + /** + * You sent us a payload prior to identifying + * + * See https://discord.com/developers/docs/topics/gateway#identify + */ + NotAuthenticated = 4003, + /** + * The account token sent with your identify payload is incorrect + * + * See https://discord.com/developers/docs/topics/gateway#identify + */ + AuthenticationFailed = 4004, + /** + * You sent more than one identify payload. Don't do that! + */ + AlreadyAuthenticated = 4005, + /** + * The sequence sent when resuming the session was invalid. Reconnect and start a new session + * + * See https://discord.com/developers/docs/topics/gateway#resume + */ + InvalidSeq = 4007, + /** + * Woah nelly! You're sending payloads to us too quickly. Slow it down! You will be disconnected on receiving this + */ + RateLimited = 4008, + /** + * Your session timed out. Reconnect and start a new one + */ + SessionTimedOut = 4009, + /** + * You sent us an invalid shard when identifying + * + * See https://discord.com/developers/docs/topics/gateway#sharding + */ + InvalidShard = 4010, + /** + * The session would have handled too many guilds - you are required to shard your connection in order to connect + * + * See https://discord.com/developers/docs/topics/gateway#sharding + */ + ShardingRequired = 4011, + /** + * You sent an invalid version for the gateway + */ + InvalidAPIVersion = 4012, + /** + * You sent an invalid intent for a Gateway Intent. You may have incorrectly calculated the bitwise value + * + * See https://discord.com/developers/docs/topics/gateway#gateway-intents + */ + InvalidIntents = 4013, + /** + * You sent a disallowed intent for a Gateway Intent. You may have tried to specify an intent that you have not + * enabled or are not whitelisted for + * + * See https://discord.com/developers/docs/topics/gateway#gateway-intents + * + * See https://discord.com/developers/docs/topics/gateway#privileged-intents + */ + DisallowedIntents = 4014 +} +/** + * https://discord.com/developers/docs/topics/gateway#list-of-intents + */ +export declare const enum GatewayIntentBits { + Guilds = 1, + GuildMembers = 2, + GuildBans = 4, + GuildEmojisAndStickers = 8, + GuildIntegrations = 16, + GuildWebhooks = 32, + GuildInvites = 64, + GuildVoiceStates = 128, + GuildPresences = 256, + GuildMessages = 512, + GuildMessageReactions = 1024, + GuildMessageTyping = 2048, + DirectMessages = 4096, + DirectMessageReactions = 8192, + DirectMessageTyping = 16384, + GuildScheduledEvents = 65536 +} +/** + * https://discord.com/developers/docs/topics/gateway#commands-and-events-gateway-events + */ +export declare const enum GatewayDispatchEvents { + ChannelCreate = "CHANNEL_CREATE", + ChannelDelete = "CHANNEL_DELETE", + ChannelPinsUpdate = "CHANNEL_PINS_UPDATE", + ChannelUpdate = "CHANNEL_UPDATE", + GuildBanAdd = "GUILD_BAN_ADD", + GuildBanRemove = "GUILD_BAN_REMOVE", + GuildCreate = "GUILD_CREATE", + GuildDelete = "GUILD_DELETE", + GuildEmojisUpdate = "GUILD_EMOJIS_UPDATE", + GuildIntegrationsUpdate = "GUILD_INTEGRATIONS_UPDATE", + GuildMemberAdd = "GUILD_MEMBER_ADD", + GuildMemberRemove = "GUILD_MEMBER_REMOVE", + GuildMembersChunk = "GUILD_MEMBERS_CHUNK", + GuildMemberUpdate = "GUILD_MEMBER_UPDATE", + GuildRoleCreate = "GUILD_ROLE_CREATE", + GuildRoleDelete = "GUILD_ROLE_DELETE", + GuildRoleUpdate = "GUILD_ROLE_UPDATE", + GuildStickersUpdate = "GUILD_STICKERS_UPDATE", + GuildUpdate = "GUILD_UPDATE", + IntegrationCreate = "INTEGRATION_CREATE", + IntegrationDelete = "INTEGRATION_DELETE", + IntegrationUpdate = "INTEGRATION_UPDATE", + InteractionCreate = "INTERACTION_CREATE", + InviteCreate = "INVITE_CREATE", + InviteDelete = "INVITE_DELETE", + MessageCreate = "MESSAGE_CREATE", + MessageDelete = "MESSAGE_DELETE", + MessageDeleteBulk = "MESSAGE_DELETE_BULK", + MessageReactionAdd = "MESSAGE_REACTION_ADD", + MessageReactionRemove = "MESSAGE_REACTION_REMOVE", + MessageReactionRemoveAll = "MESSAGE_REACTION_REMOVE_ALL", + MessageReactionRemoveEmoji = "MESSAGE_REACTION_REMOVE_EMOJI", + MessageUpdate = "MESSAGE_UPDATE", + PresenceUpdate = "PRESENCE_UPDATE", + StageInstanceCreate = "STAGE_INSTANCE_CREATE", + StageInstanceDelete = "STAGE_INSTANCE_DELETE", + StageInstanceUpdate = "STAGE_INSTANCE_UPDATE", + Ready = "READY", + Resumed = "RESUMED", + TypingStart = "TYPING_START", + UserUpdate = "USER_UPDATE", + VoiceServerUpdate = "VOICE_SERVER_UPDATE", + VoiceStateUpdate = "VOICE_STATE_UPDATE", + WebhooksUpdate = "WEBHOOKS_UPDATE", + GuildScheduledEventCreate = "GUILD_SCHEDULED_EVENT_CREATE", + GuildScheduledEventUpdate = "GUILD_SCHEDULED_EVENT_UPDATE", + GuildScheduledEventDelete = "GUILD_SCHEDULED_EVENT_DELETE", + GuildScheduledEventUserAdd = "GUILD_SCHEDULED_EVENT_USER_ADD", + GuildScheduledEventUserRemove = "GUILD_SCHEDULED_EVENT_USER_REMOVE" +} +export declare type GatewaySendPayload = GatewayHeartbeat | GatewayIdentify | GatewayUpdatePresence | GatewayVoiceStateUpdate | GatewayResume | GatewayRequestGuildMembers; +export declare type GatewayReceivePayload = GatewayHello | GatewayHeartbeatRequest | GatewayHeartbeatAck | GatewayInvalidSession | GatewayReconnect | GatewayDispatchPayload; +export declare type GatewayDispatchPayload = GatewayChannelModifyDispatch | GatewayChannelPinsUpdateDispatch | GatewayGuildBanModifyDispatch | GatewayGuildDeleteDispatch | GatewayGuildEmojisUpdateDispatch | GatewayGuildIntegrationsUpdateDispatch | GatewayGuildMemberAddDispatch | GatewayGuildMemberRemoveDispatch | GatewayGuildMembersChunkDispatch | GatewayGuildMemberUpdateDispatch | GatewayGuildModifyDispatch | GatewayGuildRoleDeleteDispatch | GatewayGuildRoleModifyDispatch | GatewayGuildScheduledEventCreateDispatch | GatewayGuildScheduledEventUpdateDispatch | GatewayGuildScheduledEventDeleteDispatch | GatewayGuildScheduledEventUserAddDispatch | GatewayGuildScheduledEventUserRemoveDispatch | GatewayGuildStickersUpdateDispatch | GatewayIntegrationCreateDispatch | GatewayIntegrationDeleteDispatch | GatewayIntegrationUpdateDispatch | GatewayInteractionCreateDispatch | GatewayInviteCreateDispatch | GatewayInviteDeleteDispatch | GatewayMessageCreateDispatch | GatewayMessageDeleteBulkDispatch | GatewayMessageDeleteDispatch | GatewayMessageReactionAddDispatch | GatewayMessageReactionRemoveAllDispatch | GatewayMessageReactionRemoveDispatch | GatewayMessageReactionRemoveEmojiDispatch | GatewayMessageUpdateDispatch | GatewayPresenceUpdateDispatch | GatewayStageInstanceCreateDispatch | GatewayStageInstanceDeleteDispatch | GatewayStageInstanceUpdateDispatch | GatewayReadyDispatch | GatewayResumedDispatch | GatewayTypingStartDispatch | GatewayUserUpdateDispatch | GatewayVoiceServerUpdateDispatch | GatewayVoiceStateUpdateDispatch | GatewayWebhooksUpdateDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#hello + */ +export interface GatewayHello extends NonDispatchPayload { + op: GatewayOpcodes.Hello; + d: GatewayHelloData; +} +/** + * https://discord.com/developers/docs/topics/gateway#hello + */ +export interface GatewayHelloData { + /** + * The interval (in milliseconds) the client should heartbeat with + */ + heartbeat_interval: number; +} +/** + * https://discord.com/developers/docs/topics/gateway#heartbeating + */ +export interface GatewayHeartbeatRequest extends NonDispatchPayload { + op: GatewayOpcodes.Heartbeat; + d: never; +} +/** + * https://discord.com/developers/docs/topics/gateway#heartbeating-example-gateway-heartbeat-ack + */ +export interface GatewayHeartbeatAck extends NonDispatchPayload { + op: GatewayOpcodes.HeartbeatAck; + d: never; +} +/** + * https://discord.com/developers/docs/topics/gateway#invalid-session + */ +export interface GatewayInvalidSession extends NonDispatchPayload { + op: GatewayOpcodes.InvalidSession; + d: GatewayInvalidSessionData; +} +/** + * https://discord.com/developers/docs/topics/gateway#invalid-session + */ +export declare type GatewayInvalidSessionData = boolean; +/** + * https://discord.com/developers/docs/topics/gateway#reconnect + */ +export interface GatewayReconnect extends NonDispatchPayload { + op: GatewayOpcodes.Reconnect; + d: never; +} +/** + * https://discord.com/developers/docs/topics/gateway#ready + */ +export declare type GatewayReadyDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#ready + */ +export interface GatewayReadyDispatchData { + /** + * Gateway version + * + * See https://discord.com/developers/docs/topics/gateway#gateways-gateway-versions + */ + v: number; + /** + * Information about the user including email + * + * See https://discord.com/developers/docs/resources/user#user-object + */ + user: APIUser; + /** + * The guilds the user is in + * + * See https://discord.com/developers/docs/resources/guild#unavailable-guild-object + */ + guilds: APIUnavailableGuild[]; + /** + * Used for resuming connections + */ + session_id: string; + /** + * The shard information associated with this session, if sent when identifying + * + * See https://discord.com/developers/docs/topics/gateway#sharding + */ + shard?: [shard_id: number, shard_count: number]; + /** + * Contains `id` and `flags` + * + * See https://discord.com/developers/docs/resources/application#application-object + */ + application: Pick; +} +/** + * https://discord.com/developers/docs/topics/gateway#resumed + */ +export declare type GatewayResumedDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#channel-create + * https://discord.com/developers/docs/topics/gateway#channel-update + * https://discord.com/developers/docs/topics/gateway#channel-delete + */ +export declare type GatewayChannelModifyDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#channel-create + * https://discord.com/developers/docs/topics/gateway#channel-update + * https://discord.com/developers/docs/topics/gateway#channel-delete + */ +export declare type GatewayChannelModifyDispatchData = APIChannel; +/** + * https://discord.com/developers/docs/topics/gateway#channel-create + */ +export declare type GatewayChannelCreateDispatch = GatewayChannelModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#channel-create + */ +export declare type GatewayChannelCreateDispatchData = GatewayChannelModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#channel-update + */ +export declare type GatewayChannelUpdateDispatch = GatewayChannelModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#channel-update + */ +export declare type GatewayChannelUpdateDispatchData = GatewayChannelModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#channel-delete + */ +export declare type GatewayChannelDeleteDispatch = GatewayChannelModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#channel-delete + */ +export declare type GatewayChannelDeleteDispatchData = GatewayChannelModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#channel-pins-update + */ +export declare type GatewayChannelPinsUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#channel-pins-update + */ +export interface GatewayChannelPinsUpdateDispatchData { + /** + * The id of the guild + */ + guild_id?: Snowflake; + /** + * The id of the channel + */ + channel_id: Snowflake; + /** + * The time at which the most recent pinned message was pinned + */ + last_pin_timestamp?: string | null; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-create + * https://discord.com/developers/docs/topics/gateway#guild-update + */ +export declare type GatewayGuildModifyDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-create + * https://discord.com/developers/docs/topics/gateway#guild-update + */ +export declare type GatewayGuildModifyDispatchData = APIGuild; +/** + * https://discord.com/developers/docs/topics/gateway#guild-create + */ +export declare type GatewayGuildCreateDispatch = GatewayGuildModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#guild-create + */ +export declare type GatewayGuildCreateDispatchData = GatewayGuildModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#guild-update + */ +export declare type GatewayGuildUpdateDispatch = GatewayGuildModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#guild-update + */ +export declare type GatewayGuildUpdateDispatchData = GatewayGuildModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#guild-delete + */ +export declare type GatewayGuildDeleteDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-delete + */ +export declare type GatewayGuildDeleteDispatchData = APIUnavailableGuild; +/** + * https://discord.com/developers/docs/topics/gateway#guild-ban-add + * https://discord.com/developers/docs/topics/gateway#guild-ban-remove + */ +export declare type GatewayGuildBanModifyDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-ban-add + * https://discord.com/developers/docs/topics/gateway#guild-ban-remove + */ +export interface GatewayGuildBanModifyDispatchData { + /** + * ID of the guild + */ + guild_id: Snowflake; + /** + * The banned user + * + * See https://discord.com/developers/docs/resources/user#user-object + */ + user: APIUser; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-ban-add + */ +export declare type GatewayGuildBanAddDispatch = GatewayGuildBanModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#guild-ban-add + */ +export declare type GatewayGuildBanAddDispatchData = GatewayGuildBanModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#guild-ban-remove + */ +export declare type GatewayGuildBanRemoveDispatch = GatewayGuildBanModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#guild-ban-remove + */ +export declare type GatewayGuildBanRemoveDispatchData = GatewayGuildBanModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#guild-emojis-update + */ +export declare type GatewayGuildEmojisUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-emojis-update + */ +export interface GatewayGuildEmojisUpdateDispatchData { + /** + * ID of the guild + */ + guild_id: Snowflake; + /** + * Array of emojis + * + * See https://discord.com/developers/docs/resources/emoji#emoji-object + */ + emojis: APIEmoji[]; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-stickers-update + */ +export declare type GatewayGuildStickersUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-stickers-update + */ +export interface GatewayGuildStickersUpdateDispatchData { + /** + * ID of the guild + */ + guild_id: Snowflake; + /** + * Array of stickers + * + * See https://discord.com/developers/docs/resources/sticker#sticker-object + */ + stickers: APISticker[]; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-integrations-update + */ +export declare type GatewayGuildIntegrationsUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-integrations-update + */ +export interface GatewayGuildIntegrationsUpdateDispatchData { + /** + * ID of the guild whose integrations were updated + */ + guild_id: Snowflake; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-member-add + */ +export declare type GatewayGuildMemberAddDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-member-add + */ +export interface GatewayGuildMemberAddDispatchData extends APIGuildMember { + /** + * The id of the guild + */ + guild_id: Snowflake; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-member-remove + */ +export declare type GatewayGuildMemberRemoveDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-member-remove + */ +export interface GatewayGuildMemberRemoveDispatchData { + /** + * The id of the guild + */ + guild_id: Snowflake; + /** + * The user who was removed + * + * See https://discord.com/developers/docs/resources/user#user-object + */ + user: APIUser; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-member-update + */ +export declare type GatewayGuildMemberUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-member-update + */ +export declare type GatewayGuildMemberUpdateDispatchData = Omit & Partial> & Required> & Nullable> & { + /** + * The id of the guild + */ + guild_id: Snowflake; +}; +/** + * https://discord.com/developers/docs/topics/gateway#guild-members-chunk + */ +export declare type GatewayGuildMembersChunkDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-members-chunk + */ +export interface GatewayGuildMembersChunkDispatchData { + /** + * The id of the guild + */ + guild_id: Snowflake; + /** + * Set of guild members + * + * See https://discord.com/developers/docs/resources/guild#guild-member-object + */ + members: APIGuildMember[]; + /** + * The chunk index in the expected chunks for this response (`0 <= chunk_index < chunk_count`) + */ + chunk_index?: number; + /** + * The total number of expected chunks for this response + */ + chunk_count?: number; + /** + * If passing an invalid id to `REQUEST_GUILD_MEMBERS`, it will be returned here + */ + not_found?: unknown[]; + /** + * If passing true to `REQUEST_GUILD_MEMBERS`, presences of the returned members will be here + * + * See https://discord.com/developers/docs/topics/gateway#presence + */ + presences?: RawGatewayPresenceUpdate[]; + /** + * The nonce used in the Guild Members Request + * + * See https://discord.com/developers/docs/topics/gateway#request-guild-members + */ + nonce?: string; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-create + * https://discord.com/developers/docs/topics/gateway#guild-role-update + */ +export declare type GatewayGuildRoleModifyDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-create + * https://discord.com/developers/docs/topics/gateway#guild-role-update + */ +export interface GatewayGuildRoleModifyDispatchData { + /** + * The id of the guild + */ + guild_id: Snowflake; + /** + * The role created or updated + * + * See https://discord.com/developers/docs/topics/permissions#role-object + */ + role: APIRole; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-create + */ +export declare type GatewayGuildRoleCreateDispatch = GatewayGuildRoleModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-create + */ +export declare type GatewayGuildRoleCreateDispatchData = GatewayGuildRoleModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-update + */ +export declare type GatewayGuildRoleUpdateDispatch = GatewayGuildRoleModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-update + */ +export declare type GatewayGuildRoleUpdateDispatchData = GatewayGuildRoleModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-delete + */ +export declare type GatewayGuildRoleDeleteDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-delete + */ +export interface GatewayGuildRoleDeleteDispatchData { + /** + * The id of the guild + */ + guild_id: Snowflake; + /** + * The id of the role + */ + role_id: Snowflake; +} +export declare type GatewayGuildScheduledEventCreateDispatch = DataPayload; +export declare type GatewayGuildScheduledEventCreateDispatchData = APIGuildScheduledEvent; +export declare type GatewayGuildScheduledEventUpdateDispatch = DataPayload; +export declare type GatewayGuildScheduledEventUpdateDispatchData = APIGuildScheduledEvent; +export declare type GatewayGuildScheduledEventDeleteDispatch = DataPayload; +export declare type GatewayGuildScheduledEventDeleteDispatchData = APIGuildScheduledEvent; +export declare type GatewayGuildScheduledEventUserAddDispatch = DataPayload; +export interface GatewayGuildScheduledEventUserAddDispatchData { + guild_scheduled_event_id: Snowflake; + user_id: Snowflake; + guild_id: Snowflake; +} +export declare type GatewayGuildScheduledEventUserRemoveDispatch = DataPayload; +export interface GatewayGuildScheduledEventUserRemoveDispatchData { + guild_scheduled_event_id: Snowflake; + user_id: Snowflake; + guild_id: Snowflake; +} +/** + * https://discord.com/developers/docs/topics/gateway#integration-create + */ +export declare type GatewayIntegrationCreateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#integration-create + */ +export declare type GatewayIntegrationCreateDispatchData = APIGuildIntegration & { + guild_id: Snowflake; +}; +/** + * https://discord.com/developers/docs/topics/gateway#integration-update + */ +export declare type GatewayIntegrationUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#integration-update + */ +export declare type GatewayIntegrationUpdateDispatchData = APIGuildIntegration & { + guild_id: Snowflake; +}; +/** + * https://discord.com/developers/docs/topics/gateway#integration-update + */ +export declare type GatewayIntegrationDeleteDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#integration-delete + */ +export interface GatewayIntegrationDeleteDispatchData { + /** + * Integration id + */ + id: Snowflake; + /** + * ID of the guild + */ + guild_id: Snowflake; + /** + * ID of the bot/OAuth2 application for this Discord integration + */ + application_id?: Snowflake; +} +/** + * https://discord.com/developers/docs/topics/gateway#interaction-create + */ +export declare type GatewayInteractionCreateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#interaction-create + */ +export declare type GatewayInteractionCreateDispatchData = APIApplicationCommandInteraction | APIMessageComponentInteraction; +/** + * https://discord.com/developers/docs/topics/gateway#invite-create + */ +export declare type GatewayInviteCreateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#invite-create + */ +export interface GatewayInviteCreateDispatchData { + /** + * The channel the invite is for + */ + channel_id: Snowflake; + /** + * The unique invite code + * + * See https://discord.com/developers/docs/resources/invite#invite-object + */ + code: string; + /** + * The time at which the invite was created + */ + created_at: number; + /** + * The guild of the invite + */ + guild_id?: Snowflake; + /** + * The user that created the invite + * + * See https://discord.com/developers/docs/resources/user#user-object + */ + inviter?: APIUser; + /** + * How long the invite is valid for (in seconds) + */ + max_age: number; + /** + * The maximum number of times the invite can be used + */ + max_uses: number; + /** + * The type of target for this voice channel invite + * + * See https://discord.com/developers/docs/resources/invite#invite-object-invite-target-types + */ + target_type?: InviteTargetType; + /** + * The user whose stream to display for this voice channel stream invite + * + * See https://discord.com/developers/docs/resources/user#user-object + */ + target_user?: APIUser; + /** + * The embedded application to open for this voice channel embedded application invite + */ + target_application?: Partial; + /** + * Whether or not the invite is temporary (invited users will be kicked on disconnect unless they're assigned a role) + */ + temporary: boolean; + /** + * How many times the invite has been used (always will be `0`) + */ + uses: 0; +} +/** + * https://discord.com/developers/docs/topics/gateway#invite-delete + */ +export declare type GatewayInviteDeleteDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#invite-delete + */ +export interface GatewayInviteDeleteDispatchData { + /** + * The channel of the invite + */ + channel_id: Snowflake; + /** + * The guild of the invite + */ + guild_id?: Snowflake; + /** + * The unique invite code + * + * See https://discord.com/developers/docs/resources/invite#invite-object + */ + code: string; +} +/** + * https://discord.com/developers/docs/topics/gateway#message-create + */ +export declare type GatewayMessageCreateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#message-create + */ +export declare type GatewayMessageCreateDispatchData = APIMessage; +/** + * https://discord.com/developers/docs/topics/gateway#message-update + */ +export declare type GatewayMessageUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#message-update + */ +export declare type GatewayMessageUpdateDispatchData = { + id: Snowflake; + channel_id: Snowflake; +} & Partial; +/** + * https://discord.com/developers/docs/topics/gateway#message-delete + */ +export declare type GatewayMessageDeleteDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#message-delete + */ +export interface GatewayMessageDeleteDispatchData { + /** + * The id of the message + */ + id: Snowflake; + /** + * The id of the channel + */ + channel_id: Snowflake; + /** + * The id of the guild + */ + guild_id?: Snowflake; +} +/** + * https://discord.com/developers/docs/topics/gateway#message-delete-bulk + */ +export declare type GatewayMessageDeleteBulkDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#message-delete-bulk + */ +export interface GatewayMessageDeleteBulkDispatchData { + /** + * The ids of the messages + */ + ids: Snowflake[]; + /** + * The id of the channel + */ + channel_id: Snowflake; + /** + * The id of the guild + */ + guild_id?: Snowflake; +} +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-add + */ +export declare type GatewayMessageReactionAddDispatch = ReactionData; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-add + */ +export declare type GatewayMessageReactionAddDispatchData = GatewayMessageReactionAddDispatch['d']; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-remove + */ +export declare type GatewayMessageReactionRemoveDispatch = ReactionData; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-remove + */ +export declare type GatewayMessageReactionRemoveDispatchData = GatewayMessageReactionRemoveDispatch['d']; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-remove-all + */ +export declare type GatewayMessageReactionRemoveAllDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-remove-all + */ +export declare type GatewayMessageReactionRemoveAllDispatchData = MessageReactionRemoveData; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-remove-emoji + */ +export declare type GatewayMessageReactionRemoveEmojiDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-remove-emoji + */ +export interface GatewayMessageReactionRemoveEmojiDispatchData extends MessageReactionRemoveData { + /** + * The emoji that was removed + */ + emoji: APIEmoji; +} +/** + * https://discord.com/developers/docs/topics/gateway#presence-update + */ +export declare type GatewayPresenceUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#presence-update + */ +export declare type GatewayPresenceUpdateDispatchData = RawGatewayPresenceUpdate; +/** + * https://discord.com/developers/docs/topics/gateway#stage-instance-create + */ +export declare type GatewayStageInstanceCreateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#stage-instance-create + */ +export declare type GatewayStageInstanceCreateDispatchData = APIStageInstance; +/** + * https://discord.com/developers/docs/topics/gateway#stage-instance-delete + */ +export declare type GatewayStageInstanceDeleteDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#stage-instance-delete + */ +export declare type GatewayStageInstanceDeleteDispatchData = APIStageInstance; +/** + * https://discord.com/developers/docs/topics/gateway#stage-instance-update + */ +export declare type GatewayStageInstanceUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#stage-instance-update + */ +export declare type GatewayStageInstanceUpdateDispatchData = APIStageInstance; +/** + * https://discord.com/developers/docs/topics/gateway#typing-start + */ +export declare type GatewayTypingStartDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#typing-start + */ +export interface GatewayTypingStartDispatchData { + /** + * The id of the channel + */ + channel_id: Snowflake; + /** + * The id of the guild + */ + guild_id?: Snowflake; + /** + * The id of the user + */ + user_id: Snowflake; + /** + * Unix time (in seconds) of when the user started typing + */ + timestamp: number; + /** + * The member who started typing if this happened in a guild + * + * See https://discord.com/developers/docs/resources/guild#guild-member-object + */ + member?: APIGuildMember; +} +/** + * https://discord.com/developers/docs/topics/gateway#user-update + */ +export declare type GatewayUserUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#user-update + */ +export declare type GatewayUserUpdateDispatchData = APIUser; +/** + * https://discord.com/developers/docs/topics/gateway#voice-state-update + */ +export declare type GatewayVoiceStateUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#voice-state-update + */ +export declare type GatewayVoiceStateUpdateDispatchData = GatewayVoiceState; +/** + * https://discord.com/developers/docs/topics/gateway#voice-server-update + */ +export declare type GatewayVoiceServerUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#voice-server-update + */ +export interface GatewayVoiceServerUpdateDispatchData { + /** + * Voice connection token + */ + token: string; + /** + * The guild this voice server update is for + */ + guild_id: Snowflake; + /** + * The voice server host + * + * A `null` endpoint means that the voice server allocated has gone away and is trying to be reallocated. + * You should attempt to disconnect from the currently connected voice server, and not attempt to reconnect + * until a new voice server is allocated + */ + endpoint: string | null; +} +/** + * https://discord.com/developers/docs/topics/gateway#webhooks-update + */ +export declare type GatewayWebhooksUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#webhooks-update + */ +export interface GatewayWebhooksUpdateDispatchData { + /** + * The id of the guild + */ + guild_id: Snowflake; + /** + * The id of the channel + */ + channel_id: Snowflake; +} +/** + * https://discord.com/developers/docs/topics/gateway#heartbeating + */ +export interface GatewayHeartbeat { + op: GatewayOpcodes.Heartbeat; + d: GatewayHeartbeatData; +} +/** + * https://discord.com/developers/docs/topics/gateway#heartbeating + */ +export declare type GatewayHeartbeatData = number | null; +/** + * https://discord.com/developers/docs/topics/gateway#identify + */ +export interface GatewayIdentify { + op: GatewayOpcodes.Identify; + d: GatewayIdentifyData; +} +/** + * https://discord.com/developers/docs/topics/gateway#identify + */ +export interface GatewayIdentifyData { + /** + * Authentication token + */ + token: string; + /** + * Connection properties + * + * See https://discord.com/developers/docs/topics/gateway#identify-identify-connection-properties + */ + properties: GatewayIdentifyProperties; + /** + * Whether this connection supports compression of packets + * + * @default false + */ + compress?: boolean; + /** + * Value between 50 and 250, total number of members where the gateway will stop sending + * offline members in the guild member list + * + * @default 50 + */ + large_threshold?: number; + /** + * Used for Guild Sharding + * + * See https://discord.com/developers/docs/topics/gateway#sharding + */ + shard?: [shard_id: number, shard_count: number]; + /** + * Presence structure for initial presence information + * + * See https://discord.com/developers/docs/topics/gateway#update-presence + */ + presence?: GatewayPresenceUpdateData; + /** + * The Gateway Intents you wish to receive + * + * See https://discord.com/developers/docs/topics/gateway#gateway-intents + */ + intents: number; +} +/** + * https://discord.com/developers/docs/topics/gateway#identify-identify-connection-properties + */ +export interface GatewayIdentifyProperties { + /** + * Your operating system + */ + $os: string; + /** + * Your library name + */ + $browser: string; + /** + * Your library name + */ + $device: string; +} +/** + * https://discord.com/developers/docs/topics/gateway#resume + */ +export interface GatewayResume { + op: GatewayOpcodes.Resume; + d: GatewayResumeData; +} +/** + * https://discord.com/developers/docs/topics/gateway#resume + */ +export interface GatewayResumeData { + /** + * Session token + */ + token: string; + /** + * Session id + */ + session_id: string; + /** + * Last sequence number received + */ + seq: number; +} +/** + * https://discord.com/developers/docs/topics/gateway#request-guild-members + */ +export interface GatewayRequestGuildMembers { + op: GatewayOpcodes.RequestGuildMembers; + d: GatewayRequestGuildMembersData; +} +/** + * https://discord.com/developers/docs/topics/gateway#request-guild-members + */ +export interface GatewayRequestGuildMembersData { + /** + * ID of the guild to get members for + */ + guild_id: Snowflake; + /** + * String that username starts with, or an empty string to return all members + */ + query?: string; + /** + * Maximum number of members to send matching the `query`; + * a limit of `0` can be used with an empty string `query` to return all members + */ + limit: number; + /** + * Used to specify if we want the presences of the matched members + */ + presences?: boolean; + /** + * Used to specify which users you wish to fetch + */ + user_ids?: Snowflake | Snowflake[]; + /** + * Nonce to identify the Guild Members Chunk response + * + * Nonce can only be up to 32 bytes. If you send an invalid nonce it will be ignored and the reply member_chunk(s) will not have a `nonce` set. + * + * See https://discord.com/developers/docs/topics/gateway#guild-members-chunk + */ + nonce?: string; +} +/** + * https://discord.com/developers/docs/topics/gateway#update-voice-state + */ +export interface GatewayVoiceStateUpdate { + op: GatewayOpcodes.VoiceStateUpdate; + d: GatewayVoiceStateUpdateData; +} +/** + * https://discord.com/developers/docs/topics/gateway#update-voice-state + */ +export interface GatewayVoiceStateUpdateData { + /** + * ID of the guild + */ + guild_id: Snowflake; + /** + * ID of the voice channel client wants to join (`null` if disconnecting) + */ + channel_id: Snowflake | null; + /** + * Is the client muted + */ + self_mute: boolean; + /** + * Is the client deafened + */ + self_deaf: boolean; +} +/** + * https://discord.com/developers/docs/topics/gateway#update-presence + */ +export interface GatewayUpdatePresence { + op: GatewayOpcodes.PresenceUpdate; + d: GatewayPresenceUpdateData; +} +/** + * https://discord.com/developers/docs/topics/gateway#update-presence-gateway-presence-update-structure + */ +export interface GatewayPresenceUpdateData { + /** + * Unix time (in milliseconds) of when the client went idle, or `null` if the client is not idle + */ + since: number | null; + /** + * The user's activities + * + * See https://discord.com/developers/docs/topics/gateway#activity-object + */ + activities: GatewayActivityUpdateData[]; + /** + * The user's new status + * + * See https://discord.com/developers/docs/topics/gateway#update-presence-status-types + */ + status: PresenceUpdateStatus; + /** + * Whether or not the client is afk + */ + afk: boolean; +} +/** + * https://discord.com/developers/docs/topics/gateway#activity-object-activity-structure + */ +export declare type GatewayActivityUpdateData = Pick; +interface BasePayload { + /** + * Opcode for the payload + */ + op: GatewayOpcodes; + /** + * Event data + */ + d?: unknown; + /** + * Sequence number, used for resuming sessions and heartbeats + */ + s: number; + /** + * The event name for this payload + */ + t?: string; +} +declare type NonDispatchPayload = Omit & { + t: null; + s: null; +}; +interface DataPayload extends BasePayload { + op: GatewayOpcodes.Dispatch; + t: Event; + d: D; +} +declare type ReactionData = DataPayload>; +interface MessageReactionRemoveData { + /** + * The id of the channel + */ + channel_id: Snowflake; + /** + * The id of the message + */ + message_id: Snowflake; + /** + * The id of the guild + */ + guild_id?: Snowflake; +} +//# sourceMappingURL=v8.d.ts.map \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.d.ts.map b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.d.ts.map new file mode 100644 index 0000000..5b44396 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"v8.d.ts","sourceRoot":"","sources":["v8.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.js b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.js new file mode 100644 index 0000000..d0648fd --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.js @@ -0,0 +1,231 @@ +"use strict"; +/** + * Types extracted from https://discord.com/developers/docs/topics/gateway + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GatewayDispatchEvents = exports.GatewayIntentBits = exports.GatewayCloseCodes = exports.GatewayOpcodes = exports.GatewayVersion = void 0; +__exportStar(require("./common"), exports); +exports.GatewayVersion = '8'; +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#gateway-gateway-opcodes + */ +var GatewayOpcodes; +(function (GatewayOpcodes) { + /** + * An event was dispatched + */ + GatewayOpcodes[GatewayOpcodes["Dispatch"] = 0] = "Dispatch"; + /** + * A bidirectional opcode to maintain an active gateway connection. + * Fired periodically by the client, or fired by the gateway to request an immediate heartbeat from the client. + */ + GatewayOpcodes[GatewayOpcodes["Heartbeat"] = 1] = "Heartbeat"; + /** + * Starts a new session during the initial handshake + */ + GatewayOpcodes[GatewayOpcodes["Identify"] = 2] = "Identify"; + /** + * Update the client's presence + */ + GatewayOpcodes[GatewayOpcodes["PresenceUpdate"] = 3] = "PresenceUpdate"; + /** + * Used to join/leave or move between voice channels + */ + GatewayOpcodes[GatewayOpcodes["VoiceStateUpdate"] = 4] = "VoiceStateUpdate"; + /** + * Resume a previous session that was disconnected + */ + GatewayOpcodes[GatewayOpcodes["Resume"] = 6] = "Resume"; + /** + * You should attempt to reconnect and resume immediately + */ + GatewayOpcodes[GatewayOpcodes["Reconnect"] = 7] = "Reconnect"; + /** + * Request information about offline guild members in a large guild + */ + GatewayOpcodes[GatewayOpcodes["RequestGuildMembers"] = 8] = "RequestGuildMembers"; + /** + * The session has been invalidated. You should reconnect and identify/resume accordingly + */ + GatewayOpcodes[GatewayOpcodes["InvalidSession"] = 9] = "InvalidSession"; + /** + * Sent immediately after connecting, contains the `heartbeat_interval` to use + */ + GatewayOpcodes[GatewayOpcodes["Hello"] = 10] = "Hello"; + /** + * Sent in response to receiving a heartbeat to acknowledge that it has been received + */ + GatewayOpcodes[GatewayOpcodes["HeartbeatAck"] = 11] = "HeartbeatAck"; +})(GatewayOpcodes = exports.GatewayOpcodes || (exports.GatewayOpcodes = {})); +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#gateway-gateway-close-event-codes + */ +var GatewayCloseCodes; +(function (GatewayCloseCodes) { + /** + * We're not sure what went wrong. Try reconnecting? + */ + GatewayCloseCodes[GatewayCloseCodes["UnknownError"] = 4000] = "UnknownError"; + /** + * You sent an invalid Gateway opcode or an invalid payload for an opcode. Don't do that! + * + * See https://discord.com/developers/docs/topics/gateway#payloads-and-opcodes + */ + GatewayCloseCodes[GatewayCloseCodes["UnknownOpcode"] = 4001] = "UnknownOpcode"; + /** + * You sent an invalid payload to us. Don't do that! + * + * See https://discord.com/developers/docs/topics/gateway#sending-payloads + */ + GatewayCloseCodes[GatewayCloseCodes["DecodeError"] = 4002] = "DecodeError"; + /** + * You sent us a payload prior to identifying + * + * See https://discord.com/developers/docs/topics/gateway#identify + */ + GatewayCloseCodes[GatewayCloseCodes["NotAuthenticated"] = 4003] = "NotAuthenticated"; + /** + * The account token sent with your identify payload is incorrect + * + * See https://discord.com/developers/docs/topics/gateway#identify + */ + GatewayCloseCodes[GatewayCloseCodes["AuthenticationFailed"] = 4004] = "AuthenticationFailed"; + /** + * You sent more than one identify payload. Don't do that! + */ + GatewayCloseCodes[GatewayCloseCodes["AlreadyAuthenticated"] = 4005] = "AlreadyAuthenticated"; + /** + * The sequence sent when resuming the session was invalid. Reconnect and start a new session + * + * See https://discord.com/developers/docs/topics/gateway#resume + */ + GatewayCloseCodes[GatewayCloseCodes["InvalidSeq"] = 4007] = "InvalidSeq"; + /** + * Woah nelly! You're sending payloads to us too quickly. Slow it down! You will be disconnected on receiving this + */ + GatewayCloseCodes[GatewayCloseCodes["RateLimited"] = 4008] = "RateLimited"; + /** + * Your session timed out. Reconnect and start a new one + */ + GatewayCloseCodes[GatewayCloseCodes["SessionTimedOut"] = 4009] = "SessionTimedOut"; + /** + * You sent us an invalid shard when identifying + * + * See https://discord.com/developers/docs/topics/gateway#sharding + */ + GatewayCloseCodes[GatewayCloseCodes["InvalidShard"] = 4010] = "InvalidShard"; + /** + * The session would have handled too many guilds - you are required to shard your connection in order to connect + * + * See https://discord.com/developers/docs/topics/gateway#sharding + */ + GatewayCloseCodes[GatewayCloseCodes["ShardingRequired"] = 4011] = "ShardingRequired"; + /** + * You sent an invalid version for the gateway + */ + GatewayCloseCodes[GatewayCloseCodes["InvalidAPIVersion"] = 4012] = "InvalidAPIVersion"; + /** + * You sent an invalid intent for a Gateway Intent. You may have incorrectly calculated the bitwise value + * + * See https://discord.com/developers/docs/topics/gateway#gateway-intents + */ + GatewayCloseCodes[GatewayCloseCodes["InvalidIntents"] = 4013] = "InvalidIntents"; + /** + * You sent a disallowed intent for a Gateway Intent. You may have tried to specify an intent that you have not + * enabled or are not whitelisted for + * + * See https://discord.com/developers/docs/topics/gateway#gateway-intents + * + * See https://discord.com/developers/docs/topics/gateway#privileged-intents + */ + GatewayCloseCodes[GatewayCloseCodes["DisallowedIntents"] = 4014] = "DisallowedIntents"; +})(GatewayCloseCodes = exports.GatewayCloseCodes || (exports.GatewayCloseCodes = {})); +/** + * https://discord.com/developers/docs/topics/gateway#list-of-intents + */ +var GatewayIntentBits; +(function (GatewayIntentBits) { + GatewayIntentBits[GatewayIntentBits["Guilds"] = 1] = "Guilds"; + GatewayIntentBits[GatewayIntentBits["GuildMembers"] = 2] = "GuildMembers"; + GatewayIntentBits[GatewayIntentBits["GuildBans"] = 4] = "GuildBans"; + GatewayIntentBits[GatewayIntentBits["GuildEmojisAndStickers"] = 8] = "GuildEmojisAndStickers"; + GatewayIntentBits[GatewayIntentBits["GuildIntegrations"] = 16] = "GuildIntegrations"; + GatewayIntentBits[GatewayIntentBits["GuildWebhooks"] = 32] = "GuildWebhooks"; + GatewayIntentBits[GatewayIntentBits["GuildInvites"] = 64] = "GuildInvites"; + GatewayIntentBits[GatewayIntentBits["GuildVoiceStates"] = 128] = "GuildVoiceStates"; + GatewayIntentBits[GatewayIntentBits["GuildPresences"] = 256] = "GuildPresences"; + GatewayIntentBits[GatewayIntentBits["GuildMessages"] = 512] = "GuildMessages"; + GatewayIntentBits[GatewayIntentBits["GuildMessageReactions"] = 1024] = "GuildMessageReactions"; + GatewayIntentBits[GatewayIntentBits["GuildMessageTyping"] = 2048] = "GuildMessageTyping"; + GatewayIntentBits[GatewayIntentBits["DirectMessages"] = 4096] = "DirectMessages"; + GatewayIntentBits[GatewayIntentBits["DirectMessageReactions"] = 8192] = "DirectMessageReactions"; + GatewayIntentBits[GatewayIntentBits["DirectMessageTyping"] = 16384] = "DirectMessageTyping"; + GatewayIntentBits[GatewayIntentBits["GuildScheduledEvents"] = 65536] = "GuildScheduledEvents"; +})(GatewayIntentBits = exports.GatewayIntentBits || (exports.GatewayIntentBits = {})); +/** + * https://discord.com/developers/docs/topics/gateway#commands-and-events-gateway-events + */ +var GatewayDispatchEvents; +(function (GatewayDispatchEvents) { + GatewayDispatchEvents["ChannelCreate"] = "CHANNEL_CREATE"; + GatewayDispatchEvents["ChannelDelete"] = "CHANNEL_DELETE"; + GatewayDispatchEvents["ChannelPinsUpdate"] = "CHANNEL_PINS_UPDATE"; + GatewayDispatchEvents["ChannelUpdate"] = "CHANNEL_UPDATE"; + GatewayDispatchEvents["GuildBanAdd"] = "GUILD_BAN_ADD"; + GatewayDispatchEvents["GuildBanRemove"] = "GUILD_BAN_REMOVE"; + GatewayDispatchEvents["GuildCreate"] = "GUILD_CREATE"; + GatewayDispatchEvents["GuildDelete"] = "GUILD_DELETE"; + GatewayDispatchEvents["GuildEmojisUpdate"] = "GUILD_EMOJIS_UPDATE"; + GatewayDispatchEvents["GuildIntegrationsUpdate"] = "GUILD_INTEGRATIONS_UPDATE"; + GatewayDispatchEvents["GuildMemberAdd"] = "GUILD_MEMBER_ADD"; + GatewayDispatchEvents["GuildMemberRemove"] = "GUILD_MEMBER_REMOVE"; + GatewayDispatchEvents["GuildMembersChunk"] = "GUILD_MEMBERS_CHUNK"; + GatewayDispatchEvents["GuildMemberUpdate"] = "GUILD_MEMBER_UPDATE"; + GatewayDispatchEvents["GuildRoleCreate"] = "GUILD_ROLE_CREATE"; + GatewayDispatchEvents["GuildRoleDelete"] = "GUILD_ROLE_DELETE"; + GatewayDispatchEvents["GuildRoleUpdate"] = "GUILD_ROLE_UPDATE"; + GatewayDispatchEvents["GuildStickersUpdate"] = "GUILD_STICKERS_UPDATE"; + GatewayDispatchEvents["GuildUpdate"] = "GUILD_UPDATE"; + GatewayDispatchEvents["IntegrationCreate"] = "INTEGRATION_CREATE"; + GatewayDispatchEvents["IntegrationDelete"] = "INTEGRATION_DELETE"; + GatewayDispatchEvents["IntegrationUpdate"] = "INTEGRATION_UPDATE"; + GatewayDispatchEvents["InteractionCreate"] = "INTERACTION_CREATE"; + GatewayDispatchEvents["InviteCreate"] = "INVITE_CREATE"; + GatewayDispatchEvents["InviteDelete"] = "INVITE_DELETE"; + GatewayDispatchEvents["MessageCreate"] = "MESSAGE_CREATE"; + GatewayDispatchEvents["MessageDelete"] = "MESSAGE_DELETE"; + GatewayDispatchEvents["MessageDeleteBulk"] = "MESSAGE_DELETE_BULK"; + GatewayDispatchEvents["MessageReactionAdd"] = "MESSAGE_REACTION_ADD"; + GatewayDispatchEvents["MessageReactionRemove"] = "MESSAGE_REACTION_REMOVE"; + GatewayDispatchEvents["MessageReactionRemoveAll"] = "MESSAGE_REACTION_REMOVE_ALL"; + GatewayDispatchEvents["MessageReactionRemoveEmoji"] = "MESSAGE_REACTION_REMOVE_EMOJI"; + GatewayDispatchEvents["MessageUpdate"] = "MESSAGE_UPDATE"; + GatewayDispatchEvents["PresenceUpdate"] = "PRESENCE_UPDATE"; + GatewayDispatchEvents["StageInstanceCreate"] = "STAGE_INSTANCE_CREATE"; + GatewayDispatchEvents["StageInstanceDelete"] = "STAGE_INSTANCE_DELETE"; + GatewayDispatchEvents["StageInstanceUpdate"] = "STAGE_INSTANCE_UPDATE"; + GatewayDispatchEvents["Ready"] = "READY"; + GatewayDispatchEvents["Resumed"] = "RESUMED"; + GatewayDispatchEvents["TypingStart"] = "TYPING_START"; + GatewayDispatchEvents["UserUpdate"] = "USER_UPDATE"; + GatewayDispatchEvents["VoiceServerUpdate"] = "VOICE_SERVER_UPDATE"; + GatewayDispatchEvents["VoiceStateUpdate"] = "VOICE_STATE_UPDATE"; + GatewayDispatchEvents["WebhooksUpdate"] = "WEBHOOKS_UPDATE"; + GatewayDispatchEvents["GuildScheduledEventCreate"] = "GUILD_SCHEDULED_EVENT_CREATE"; + GatewayDispatchEvents["GuildScheduledEventUpdate"] = "GUILD_SCHEDULED_EVENT_UPDATE"; + GatewayDispatchEvents["GuildScheduledEventDelete"] = "GUILD_SCHEDULED_EVENT_DELETE"; + GatewayDispatchEvents["GuildScheduledEventUserAdd"] = "GUILD_SCHEDULED_EVENT_USER_ADD"; + GatewayDispatchEvents["GuildScheduledEventUserRemove"] = "GUILD_SCHEDULED_EVENT_USER_REMOVE"; +})(GatewayDispatchEvents = exports.GatewayDispatchEvents || (exports.GatewayDispatchEvents = {})); +// #endregion Shared +//# sourceMappingURL=v8.js.map \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.js.map b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.js.map new file mode 100644 index 0000000..518af7c --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v8.js","sourceRoot":"","sources":["v8.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.mjs b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.mjs new file mode 100644 index 0000000..c5cfed1 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v8.mjs @@ -0,0 +1,8 @@ +import mod from "./v8.js"; + +export default mod; +export const GatewayCloseCodes = mod.GatewayCloseCodes; +export const GatewayDispatchEvents = mod.GatewayDispatchEvents; +export const GatewayIntentBits = mod.GatewayIntentBits; +export const GatewayOpcodes = mod.GatewayOpcodes; +export const GatewayVersion = mod.GatewayVersion; diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.d.ts b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.d.ts new file mode 100644 index 0000000..389ae83 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.d.ts @@ -0,0 +1,1352 @@ +/** + * Types extracted from https://discord.com/developers/docs/topics/gateway + */ +import type { Snowflake } from '../globals'; +import type { APIApplication, APIApplicationCommandInteraction, APIChannel, APIEmoji, APIGuild, APIGuildScheduledEvent, APIGuildIntegration, APIGuildMember, APIMessage, APIMessageComponentInteraction, APIRole, APIStageInstance, APISticker, APIThreadMember, APIUnavailableGuild, APIUser, GatewayActivity, GatewayPresenceUpdate as RawGatewayPresenceUpdate, GatewayThreadListSync as RawGatewayThreadListSync, GatewayThreadMembersUpdate as RawGatewayThreadMembersUpdate, GatewayVoiceState, InviteTargetType, PresenceUpdateStatus } from '../payloads/v9/index'; +import type { Nullable } from '../utils/internals'; +export * from './common'; +export declare const GatewayVersion = "9"; +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#gateway-gateway-opcodes + */ +export declare const enum GatewayOpcodes { + /** + * An event was dispatched + */ + Dispatch = 0, + /** + * A bidirectional opcode to maintain an active gateway connection. + * Fired periodically by the client, or fired by the gateway to request an immediate heartbeat from the client. + */ + Heartbeat = 1, + /** + * Starts a new session during the initial handshake + */ + Identify = 2, + /** + * Update the client's presence + */ + PresenceUpdate = 3, + /** + * Used to join/leave or move between voice channels + */ + VoiceStateUpdate = 4, + /** + * Resume a previous session that was disconnected + */ + Resume = 6, + /** + * You should attempt to reconnect and resume immediately + */ + Reconnect = 7, + /** + * Request information about offline guild members in a large guild + */ + RequestGuildMembers = 8, + /** + * The session has been invalidated. You should reconnect and identify/resume accordingly + */ + InvalidSession = 9, + /** + * Sent immediately after connecting, contains the `heartbeat_interval` to use + */ + Hello = 10, + /** + * Sent in response to receiving a heartbeat to acknowledge that it has been received + */ + HeartbeatAck = 11 +} +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#gateway-gateway-close-event-codes + */ +export declare const enum GatewayCloseCodes { + /** + * We're not sure what went wrong. Try reconnecting? + */ + UnknownError = 4000, + /** + * You sent an invalid Gateway opcode or an invalid payload for an opcode. Don't do that! + * + * See https://discord.com/developers/docs/topics/gateway#payloads-and-opcodes + */ + UnknownOpcode = 4001, + /** + * You sent an invalid payload to us. Don't do that! + * + * See https://discord.com/developers/docs/topics/gateway#sending-payloads + */ + DecodeError = 4002, + /** + * You sent us a payload prior to identifying + * + * See https://discord.com/developers/docs/topics/gateway#identify + */ + NotAuthenticated = 4003, + /** + * The account token sent with your identify payload is incorrect + * + * See https://discord.com/developers/docs/topics/gateway#identify + */ + AuthenticationFailed = 4004, + /** + * You sent more than one identify payload. Don't do that! + */ + AlreadyAuthenticated = 4005, + /** + * The sequence sent when resuming the session was invalid. Reconnect and start a new session + * + * See https://discord.com/developers/docs/topics/gateway#resume + */ + InvalidSeq = 4007, + /** + * Woah nelly! You're sending payloads to us too quickly. Slow it down! You will be disconnected on receiving this + */ + RateLimited = 4008, + /** + * Your session timed out. Reconnect and start a new one + */ + SessionTimedOut = 4009, + /** + * You sent us an invalid shard when identifying + * + * See https://discord.com/developers/docs/topics/gateway#sharding + */ + InvalidShard = 4010, + /** + * The session would have handled too many guilds - you are required to shard your connection in order to connect + * + * See https://discord.com/developers/docs/topics/gateway#sharding + */ + ShardingRequired = 4011, + /** + * You sent an invalid version for the gateway + */ + InvalidAPIVersion = 4012, + /** + * You sent an invalid intent for a Gateway Intent. You may have incorrectly calculated the bitwise value + * + * See https://discord.com/developers/docs/topics/gateway#gateway-intents + */ + InvalidIntents = 4013, + /** + * You sent a disallowed intent for a Gateway Intent. You may have tried to specify an intent that you have not + * enabled or are not whitelisted for + * + * See https://discord.com/developers/docs/topics/gateway#gateway-intents + * + * See https://discord.com/developers/docs/topics/gateway#privileged-intents + */ + DisallowedIntents = 4014 +} +/** + * https://discord.com/developers/docs/topics/gateway#list-of-intents + */ +export declare const enum GatewayIntentBits { + Guilds = 1, + GuildMembers = 2, + GuildBans = 4, + GuildEmojisAndStickers = 8, + GuildIntegrations = 16, + GuildWebhooks = 32, + GuildInvites = 64, + GuildVoiceStates = 128, + GuildPresences = 256, + GuildMessages = 512, + GuildMessageReactions = 1024, + GuildMessageTyping = 2048, + DirectMessages = 4096, + DirectMessageReactions = 8192, + DirectMessageTyping = 16384, + GuildScheduledEvents = 65536 +} +/** + * https://discord.com/developers/docs/topics/gateway#commands-and-events-gateway-events + */ +export declare const enum GatewayDispatchEvents { + ChannelCreate = "CHANNEL_CREATE", + ChannelDelete = "CHANNEL_DELETE", + ChannelPinsUpdate = "CHANNEL_PINS_UPDATE", + ChannelUpdate = "CHANNEL_UPDATE", + GuildBanAdd = "GUILD_BAN_ADD", + GuildBanRemove = "GUILD_BAN_REMOVE", + GuildCreate = "GUILD_CREATE", + GuildDelete = "GUILD_DELETE", + GuildEmojisUpdate = "GUILD_EMOJIS_UPDATE", + GuildIntegrationsUpdate = "GUILD_INTEGRATIONS_UPDATE", + GuildMemberAdd = "GUILD_MEMBER_ADD", + GuildMemberRemove = "GUILD_MEMBER_REMOVE", + GuildMembersChunk = "GUILD_MEMBERS_CHUNK", + GuildMemberUpdate = "GUILD_MEMBER_UPDATE", + GuildRoleCreate = "GUILD_ROLE_CREATE", + GuildRoleDelete = "GUILD_ROLE_DELETE", + GuildRoleUpdate = "GUILD_ROLE_UPDATE", + GuildStickersUpdate = "GUILD_STICKERS_UPDATE", + GuildUpdate = "GUILD_UPDATE", + IntegrationCreate = "INTEGRATION_CREATE", + IntegrationDelete = "INTEGRATION_DELETE", + IntegrationUpdate = "INTEGRATION_UPDATE", + InteractionCreate = "INTERACTION_CREATE", + InviteCreate = "INVITE_CREATE", + InviteDelete = "INVITE_DELETE", + MessageCreate = "MESSAGE_CREATE", + MessageDelete = "MESSAGE_DELETE", + MessageDeleteBulk = "MESSAGE_DELETE_BULK", + MessageReactionAdd = "MESSAGE_REACTION_ADD", + MessageReactionRemove = "MESSAGE_REACTION_REMOVE", + MessageReactionRemoveAll = "MESSAGE_REACTION_REMOVE_ALL", + MessageReactionRemoveEmoji = "MESSAGE_REACTION_REMOVE_EMOJI", + MessageUpdate = "MESSAGE_UPDATE", + PresenceUpdate = "PRESENCE_UPDATE", + StageInstanceCreate = "STAGE_INSTANCE_CREATE", + StageInstanceDelete = "STAGE_INSTANCE_DELETE", + StageInstanceUpdate = "STAGE_INSTANCE_UPDATE", + Ready = "READY", + Resumed = "RESUMED", + ThreadCreate = "THREAD_CREATE", + ThreadDelete = "THREAD_DELETE", + ThreadListSync = "THREAD_LIST_SYNC", + ThreadMembersUpdate = "THREAD_MEMBERS_UPDATE", + ThreadMemberUpdate = "THREAD_MEMBER_UPDATE", + ThreadUpdate = "THREAD_UPDATE", + TypingStart = "TYPING_START", + UserUpdate = "USER_UPDATE", + VoiceServerUpdate = "VOICE_SERVER_UPDATE", + VoiceStateUpdate = "VOICE_STATE_UPDATE", + WebhooksUpdate = "WEBHOOKS_UPDATE", + GuildScheduledEventCreate = "GUILD_SCHEDULED_EVENT_CREATE", + GuildScheduledEventUpdate = "GUILD_SCHEDULED_EVENT_UPDATE", + GuildScheduledEventDelete = "GUILD_SCHEDULED_EVENT_DELETE", + GuildScheduledEventUserAdd = "GUILD_SCHEDULED_EVENT_USER_ADD", + GuildScheduledEventUserRemove = "GUILD_SCHEDULED_EVENT_USER_REMOVE" +} +export declare type GatewaySendPayload = GatewayHeartbeat | GatewayIdentify | GatewayUpdatePresence | GatewayVoiceStateUpdate | GatewayResume | GatewayRequestGuildMembers; +export declare type GatewayReceivePayload = GatewayHello | GatewayHeartbeatRequest | GatewayHeartbeatAck | GatewayInvalidSession | GatewayReconnect | GatewayDispatchPayload; +export declare type GatewayDispatchPayload = GatewayChannelModifyDispatch | GatewayChannelPinsUpdateDispatch | GatewayGuildBanModifyDispatch | GatewayGuildDeleteDispatch | GatewayGuildEmojisUpdateDispatch | GatewayGuildIntegrationsUpdateDispatch | GatewayGuildMemberAddDispatch | GatewayGuildMemberRemoveDispatch | GatewayGuildMembersChunkDispatch | GatewayGuildMemberUpdateDispatch | GatewayGuildModifyDispatch | GatewayGuildRoleDeleteDispatch | GatewayGuildRoleModifyDispatch | GatewayGuildScheduledEventCreateDispatch | GatewayGuildScheduledEventUpdateDispatch | GatewayGuildScheduledEventDeleteDispatch | GatewayGuildScheduledEventUserAddDispatch | GatewayGuildScheduledEventUserRemoveDispatch | GatewayGuildStickersUpdateDispatch | GatewayIntegrationCreateDispatch | GatewayIntegrationDeleteDispatch | GatewayIntegrationUpdateDispatch | GatewayInteractionCreateDispatch | GatewayInviteCreateDispatch | GatewayInviteDeleteDispatch | GatewayMessageCreateDispatch | GatewayMessageDeleteBulkDispatch | GatewayMessageDeleteDispatch | GatewayMessageReactionAddDispatch | GatewayMessageReactionRemoveAllDispatch | GatewayMessageReactionRemoveDispatch | GatewayMessageReactionRemoveEmojiDispatch | GatewayMessageUpdateDispatch | GatewayPresenceUpdateDispatch | GatewayStageInstanceCreateDispatch | GatewayStageInstanceDeleteDispatch | GatewayStageInstanceUpdateDispatch | GatewayReadyDispatch | GatewayResumedDispatch | GatewayThreadListSyncDispatch | GatewayThreadMembersUpdateDispatch | GatewayThreadMemberUpdateDispatch | GatewayThreadModifyDispatch | GatewayTypingStartDispatch | GatewayUserUpdateDispatch | GatewayVoiceServerUpdateDispatch | GatewayVoiceStateUpdateDispatch | GatewayWebhooksUpdateDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#hello + */ +export interface GatewayHello extends NonDispatchPayload { + op: GatewayOpcodes.Hello; + d: GatewayHelloData; +} +/** + * https://discord.com/developers/docs/topics/gateway#hello + */ +export interface GatewayHelloData { + /** + * The interval (in milliseconds) the client should heartbeat with + */ + heartbeat_interval: number; +} +/** + * https://discord.com/developers/docs/topics/gateway#heartbeating + */ +export interface GatewayHeartbeatRequest extends NonDispatchPayload { + op: GatewayOpcodes.Heartbeat; + d: never; +} +/** + * https://discord.com/developers/docs/topics/gateway#heartbeating-example-gateway-heartbeat-ack + */ +export interface GatewayHeartbeatAck extends NonDispatchPayload { + op: GatewayOpcodes.HeartbeatAck; + d: never; +} +/** + * https://discord.com/developers/docs/topics/gateway#invalid-session + */ +export interface GatewayInvalidSession extends NonDispatchPayload { + op: GatewayOpcodes.InvalidSession; + d: GatewayInvalidSessionData; +} +/** + * https://discord.com/developers/docs/topics/gateway#invalid-session + */ +export declare type GatewayInvalidSessionData = boolean; +/** + * https://discord.com/developers/docs/topics/gateway#reconnect + */ +export interface GatewayReconnect extends NonDispatchPayload { + op: GatewayOpcodes.Reconnect; + d: never; +} +/** + * https://discord.com/developers/docs/topics/gateway#ready + */ +export declare type GatewayReadyDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#ready + */ +export interface GatewayReadyDispatchData { + /** + * Gateway version + * + * See https://discord.com/developers/docs/topics/gateway#gateways-gateway-versions + */ + v: number; + /** + * Information about the user including email + * + * See https://discord.com/developers/docs/resources/user#user-object + */ + user: APIUser; + /** + * The guilds the user is in + * + * See https://discord.com/developers/docs/resources/guild#unavailable-guild-object + */ + guilds: APIUnavailableGuild[]; + /** + * Used for resuming connections + */ + session_id: string; + /** + * The shard information associated with this session, if sent when identifying + * + * See https://discord.com/developers/docs/topics/gateway#sharding + */ + shard?: [shard_id: number, shard_count: number]; + /** + * Contains `id` and `flags` + * + * See https://discord.com/developers/docs/resources/application#application-object + */ + application: Pick; +} +/** + * https://discord.com/developers/docs/topics/gateway#resumed + */ +export declare type GatewayResumedDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#channel-create + * https://discord.com/developers/docs/topics/gateway#channel-update + * https://discord.com/developers/docs/topics/gateway#channel-delete + */ +export declare type GatewayChannelModifyDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#channel-create + * https://discord.com/developers/docs/topics/gateway#channel-update + * https://discord.com/developers/docs/topics/gateway#channel-delete + */ +export declare type GatewayChannelModifyDispatchData = APIChannel; +/** + * https://discord.com/developers/docs/topics/gateway#channel-create + */ +export declare type GatewayChannelCreateDispatch = GatewayChannelModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#channel-create + */ +export declare type GatewayChannelCreateDispatchData = GatewayChannelModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#channel-update + */ +export declare type GatewayChannelUpdateDispatch = GatewayChannelModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#channel-update + */ +export declare type GatewayChannelUpdateDispatchData = GatewayChannelModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#channel-delete + */ +export declare type GatewayChannelDeleteDispatch = GatewayChannelModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#channel-delete + */ +export declare type GatewayChannelDeleteDispatchData = GatewayChannelModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#channel-pins-update + */ +export declare type GatewayChannelPinsUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#channel-pins-update + */ +export interface GatewayChannelPinsUpdateDispatchData { + /** + * The id of the guild + */ + guild_id?: Snowflake; + /** + * The id of the channel + */ + channel_id: Snowflake; + /** + * The time at which the most recent pinned message was pinned + */ + last_pin_timestamp?: string | null; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-create + * https://discord.com/developers/docs/topics/gateway#guild-update + */ +export declare type GatewayGuildModifyDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-create + * https://discord.com/developers/docs/topics/gateway#guild-update + */ +export declare type GatewayGuildModifyDispatchData = APIGuild; +/** + * https://discord.com/developers/docs/topics/gateway#guild-create + */ +export declare type GatewayGuildCreateDispatch = GatewayGuildModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#guild-create + */ +export declare type GatewayGuildCreateDispatchData = GatewayGuildModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#guild-update + */ +export declare type GatewayGuildUpdateDispatch = GatewayGuildModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#guild-update + */ +export declare type GatewayGuildUpdateDispatchData = GatewayGuildModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#guild-delete + */ +export declare type GatewayGuildDeleteDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-delete + */ +export declare type GatewayGuildDeleteDispatchData = APIUnavailableGuild; +/** + * https://discord.com/developers/docs/topics/gateway#guild-ban-add + * https://discord.com/developers/docs/topics/gateway#guild-ban-remove + */ +export declare type GatewayGuildBanModifyDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-ban-add + * https://discord.com/developers/docs/topics/gateway#guild-ban-remove + */ +export interface GatewayGuildBanModifyDispatchData { + /** + * ID of the guild + */ + guild_id: Snowflake; + /** + * The banned user + * + * See https://discord.com/developers/docs/resources/user#user-object + */ + user: APIUser; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-ban-add + */ +export declare type GatewayGuildBanAddDispatch = GatewayGuildBanModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#guild-ban-add + */ +export declare type GatewayGuildBanAddDispatchData = GatewayGuildBanModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#guild-ban-remove + */ +export declare type GatewayGuildBanRemoveDispatch = GatewayGuildBanModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#guild-ban-remove + */ +export declare type GatewayGuildBanRemoveDispatchData = GatewayGuildBanModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#guild-emojis-update + */ +export declare type GatewayGuildEmojisUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-emojis-update + */ +export interface GatewayGuildEmojisUpdateDispatchData { + /** + * ID of the guild + */ + guild_id: Snowflake; + /** + * Array of emojis + * + * See https://discord.com/developers/docs/resources/emoji#emoji-object + */ + emojis: APIEmoji[]; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-stickers-update + */ +export declare type GatewayGuildStickersUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-stickers-update + */ +export interface GatewayGuildStickersUpdateDispatchData { + /** + * ID of the guild + */ + guild_id: Snowflake; + /** + * Array of stickers + * + * See https://discord.com/developers/docs/resources/sticker#sticker-object + */ + stickers: APISticker[]; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-integrations-update + */ +export declare type GatewayGuildIntegrationsUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-integrations-update + */ +export interface GatewayGuildIntegrationsUpdateDispatchData { + /** + * ID of the guild whose integrations were updated + */ + guild_id: Snowflake; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-member-add + */ +export declare type GatewayGuildMemberAddDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-member-add + */ +export interface GatewayGuildMemberAddDispatchData extends APIGuildMember { + /** + * The id of the guild + */ + guild_id: Snowflake; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-member-remove + */ +export declare type GatewayGuildMemberRemoveDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-member-remove + */ +export interface GatewayGuildMemberRemoveDispatchData { + /** + * The id of the guild + */ + guild_id: Snowflake; + /** + * The user who was removed + * + * See https://discord.com/developers/docs/resources/user#user-object + */ + user: APIUser; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-member-update + */ +export declare type GatewayGuildMemberUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-member-update + */ +export declare type GatewayGuildMemberUpdateDispatchData = Omit & Partial> & Required> & Nullable> & { + /** + * The id of the guild + */ + guild_id: Snowflake; +}; +/** + * https://discord.com/developers/docs/topics/gateway#guild-members-chunk + */ +export declare type GatewayGuildMembersChunkDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-members-chunk + */ +export interface GatewayGuildMembersChunkDispatchData { + /** + * The id of the guild + */ + guild_id: Snowflake; + /** + * Set of guild members + * + * See https://discord.com/developers/docs/resources/guild#guild-member-object + */ + members: APIGuildMember[]; + /** + * The chunk index in the expected chunks for this response (`0 <= chunk_index < chunk_count`) + */ + chunk_index?: number; + /** + * The total number of expected chunks for this response + */ + chunk_count?: number; + /** + * If passing an invalid id to `REQUEST_GUILD_MEMBERS`, it will be returned here + */ + not_found?: unknown[]; + /** + * If passing true to `REQUEST_GUILD_MEMBERS`, presences of the returned members will be here + * + * See https://discord.com/developers/docs/topics/gateway#presence + */ + presences?: RawGatewayPresenceUpdate[]; + /** + * The nonce used in the Guild Members Request + * + * See https://discord.com/developers/docs/topics/gateway#request-guild-members + */ + nonce?: string; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-create + * https://discord.com/developers/docs/topics/gateway#guild-role-update + */ +export declare type GatewayGuildRoleModifyDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-create + * https://discord.com/developers/docs/topics/gateway#guild-role-update + */ +export interface GatewayGuildRoleModifyDispatchData { + /** + * The id of the guild + */ + guild_id: Snowflake; + /** + * The role created or updated + * + * See https://discord.com/developers/docs/topics/permissions#role-object + */ + role: APIRole; +} +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-create + */ +export declare type GatewayGuildRoleCreateDispatch = GatewayGuildRoleModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-create + */ +export declare type GatewayGuildRoleCreateDispatchData = GatewayGuildRoleModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-update + */ +export declare type GatewayGuildRoleUpdateDispatch = GatewayGuildRoleModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-update + */ +export declare type GatewayGuildRoleUpdateDispatchData = GatewayGuildRoleModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-delete + */ +export declare type GatewayGuildRoleDeleteDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#guild-role-delete + */ +export interface GatewayGuildRoleDeleteDispatchData { + /** + * The id of the guild + */ + guild_id: Snowflake; + /** + * The id of the role + */ + role_id: Snowflake; +} +export declare type GatewayGuildScheduledEventCreateDispatch = DataPayload; +export declare type GatewayGuildScheduledEventCreateDispatchData = APIGuildScheduledEvent; +export declare type GatewayGuildScheduledEventUpdateDispatch = DataPayload; +export declare type GatewayGuildScheduledEventUpdateDispatchData = APIGuildScheduledEvent; +export declare type GatewayGuildScheduledEventDeleteDispatch = DataPayload; +export declare type GatewayGuildScheduledEventDeleteDispatchData = APIGuildScheduledEvent; +export declare type GatewayGuildScheduledEventUserAddDispatch = DataPayload; +export interface GatewayGuildScheduledEventUserAddDispatchData { + guild_scheduled_event_id: Snowflake; + user_id: Snowflake; + guild_id: Snowflake; +} +export declare type GatewayGuildScheduledEventUserRemoveDispatch = DataPayload; +export interface GatewayGuildScheduledEventUserRemoveDispatchData { + guild_scheduled_event_id: Snowflake; + user_id: Snowflake; + guild_id: Snowflake; +} +/** + * https://discord.com/developers/docs/topics/gateway#integration-create + */ +export declare type GatewayIntegrationCreateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#integration-create + */ +export declare type GatewayIntegrationCreateDispatchData = APIGuildIntegration & { + guild_id: Snowflake; +}; +/** + * https://discord.com/developers/docs/topics/gateway#integration-update + */ +export declare type GatewayIntegrationUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#integration-update + */ +export declare type GatewayIntegrationUpdateDispatchData = APIGuildIntegration & { + guild_id: Snowflake; +}; +/** + * https://discord.com/developers/docs/topics/gateway#integration-update + */ +export declare type GatewayIntegrationDeleteDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#integration-delete + */ +export interface GatewayIntegrationDeleteDispatchData { + /** + * Integration id + */ + id: Snowflake; + /** + * ID of the guild + */ + guild_id: Snowflake; + /** + * ID of the bot/OAuth2 application for this Discord integration + */ + application_id?: Snowflake; +} +/** + * https://discord.com/developers/docs/topics/gateway#interaction-create + */ +export declare type GatewayInteractionCreateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#interaction-create + */ +export declare type GatewayInteractionCreateDispatchData = APIApplicationCommandInteraction | APIMessageComponentInteraction; +/** + * https://discord.com/developers/docs/topics/gateway#invite-create + */ +export declare type GatewayInviteCreateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#invite-create + */ +export interface GatewayInviteCreateDispatchData { + /** + * The channel the invite is for + */ + channel_id: Snowflake; + /** + * The unique invite code + * + * See https://discord.com/developers/docs/resources/invite#invite-object + */ + code: string; + /** + * The time at which the invite was created + */ + created_at: number; + /** + * The guild of the invite + */ + guild_id?: Snowflake; + /** + * The user that created the invite + * + * See https://discord.com/developers/docs/resources/user#user-object + */ + inviter?: APIUser; + /** + * How long the invite is valid for (in seconds) + */ + max_age: number; + /** + * The maximum number of times the invite can be used + */ + max_uses: number; + /** + * The type of target for this voice channel invite + * + * See https://discord.com/developers/docs/resources/invite#invite-object-invite-target-types + */ + target_type?: InviteTargetType; + /** + * The user whose stream to display for this voice channel stream invite + * + * See https://discord.com/developers/docs/resources/user#user-object + */ + target_user?: APIUser; + /** + * The embedded application to open for this voice channel embedded application invite + */ + target_application?: Partial; + /** + * Whether or not the invite is temporary (invited users will be kicked on disconnect unless they're assigned a role) + */ + temporary: boolean; + /** + * How many times the invite has been used (always will be `0`) + */ + uses: 0; +} +/** + * https://discord.com/developers/docs/topics/gateway#invite-delete + */ +export declare type GatewayInviteDeleteDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#invite-delete + */ +export interface GatewayInviteDeleteDispatchData { + /** + * The channel of the invite + */ + channel_id: Snowflake; + /** + * The guild of the invite + */ + guild_id?: Snowflake; + /** + * The unique invite code + * + * See https://discord.com/developers/docs/resources/invite#invite-object + */ + code: string; +} +/** + * https://discord.com/developers/docs/topics/gateway#message-create + */ +export declare type GatewayMessageCreateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#message-create + */ +export declare type GatewayMessageCreateDispatchData = APIMessage; +/** + * https://discord.com/developers/docs/topics/gateway#message-update + */ +export declare type GatewayMessageUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#message-update + */ +export declare type GatewayMessageUpdateDispatchData = { + id: Snowflake; + channel_id: Snowflake; +} & Partial; +/** + * https://discord.com/developers/docs/topics/gateway#message-delete + */ +export declare type GatewayMessageDeleteDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#message-delete + */ +export interface GatewayMessageDeleteDispatchData { + /** + * The id of the message + */ + id: Snowflake; + /** + * The id of the channel + */ + channel_id: Snowflake; + /** + * The id of the guild + */ + guild_id?: Snowflake; +} +/** + * https://discord.com/developers/docs/topics/gateway#message-delete-bulk + */ +export declare type GatewayMessageDeleteBulkDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#message-delete-bulk + */ +export interface GatewayMessageDeleteBulkDispatchData { + /** + * The ids of the messages + */ + ids: Snowflake[]; + /** + * The id of the channel + */ + channel_id: Snowflake; + /** + * The id of the guild + */ + guild_id?: Snowflake; +} +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-add + */ +export declare type GatewayMessageReactionAddDispatch = ReactionData; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-add + */ +export declare type GatewayMessageReactionAddDispatchData = GatewayMessageReactionAddDispatch['d']; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-remove + */ +export declare type GatewayMessageReactionRemoveDispatch = ReactionData; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-remove + */ +export declare type GatewayMessageReactionRemoveDispatchData = GatewayMessageReactionRemoveDispatch['d']; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-remove-all + */ +export declare type GatewayMessageReactionRemoveAllDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-remove-all + */ +export declare type GatewayMessageReactionRemoveAllDispatchData = MessageReactionRemoveData; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-remove-emoji + */ +export declare type GatewayMessageReactionRemoveEmojiDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#message-reaction-remove-emoji + */ +export interface GatewayMessageReactionRemoveEmojiDispatchData extends MessageReactionRemoveData { + /** + * The emoji that was removed + */ + emoji: APIEmoji; +} +/** + * https://discord.com/developers/docs/topics/gateway#presence-update + */ +export declare type GatewayPresenceUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#presence-update + */ +export declare type GatewayPresenceUpdateDispatchData = RawGatewayPresenceUpdate; +/** + * https://discord.com/developers/docs/topics/gateway#stage-instance-create + */ +export declare type GatewayStageInstanceCreateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#stage-instance-create + */ +export declare type GatewayStageInstanceCreateDispatchData = APIStageInstance; +/** + * https://discord.com/developers/docs/topics/gateway#stage-instance-delete + */ +export declare type GatewayStageInstanceDeleteDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#stage-instance-delete + */ +export declare type GatewayStageInstanceDeleteDispatchData = APIStageInstance; +/** + * https://discord.com/developers/docs/topics/gateway#stage-instance-update + */ +export declare type GatewayStageInstanceUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#stage-instance-update + */ +export declare type GatewayStageInstanceUpdateDispatchData = APIStageInstance; +/** + * https://discord.com/developers/docs/topics/gateway#thread-list-sync + */ +export declare type GatewayThreadListSyncDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#thread-list-sync + */ +export declare type GatewayThreadListSyncDispatchData = RawGatewayThreadListSync; +/** + * https://discord.com/developers/docs/topics/gateway#thread-members-update + */ +export declare type GatewayThreadMembersUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#thread-members-update + */ +export declare type GatewayThreadMembersUpdateDispatchData = RawGatewayThreadMembersUpdate; +/** + * https://discord.com/developers/docs/topics/gateway#thread-member-update + */ +export declare type GatewayThreadMemberUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#thread-member-update + */ +export declare type GatewayThreadMemberUpdateDispatchData = APIThreadMember & { + guild_id: Snowflake; +}; +/** + * https://discord.com/developers/docs/topics/gateway#thread-create + * https://discord.com/developers/docs/topics/gateway#thread-update + * https://discord.com/developers/docs/topics/gateway#thread-delete + */ +export declare type GatewayThreadModifyDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#thread-create + */ +export declare type GatewayThreadCreateDispatch = GatewayChannelModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#thread-create + */ +export declare type GatewayThreadCreateDispatchData = GatewayChannelModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#thread-update + */ +export declare type GatewayThreadUpdateDispatch = GatewayChannelModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#thread-update + */ +export declare type GatewayThreadUpdateDispatchData = GatewayChannelModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#thread-delete + */ +export declare type GatewayThreadDeleteDispatch = GatewayChannelModifyDispatch; +/** + * https://discord.com/developers/docs/topics/gateway#thread-delete + */ +export declare type GatewayThreadDeleteDispatchData = GatewayChannelModifyDispatchData; +/** + * https://discord.com/developers/docs/topics/gateway#typing-start + */ +export declare type GatewayTypingStartDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#typing-start + */ +export interface GatewayTypingStartDispatchData { + /** + * The id of the channel + */ + channel_id: Snowflake; + /** + * The id of the guild + */ + guild_id?: Snowflake; + /** + * The id of the user + */ + user_id: Snowflake; + /** + * Unix time (in seconds) of when the user started typing + */ + timestamp: number; + /** + * The member who started typing if this happened in a guild + * + * See https://discord.com/developers/docs/resources/guild#guild-member-object + */ + member?: APIGuildMember; +} +/** + * https://discord.com/developers/docs/topics/gateway#user-update + */ +export declare type GatewayUserUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#user-update + */ +export declare type GatewayUserUpdateDispatchData = APIUser; +/** + * https://discord.com/developers/docs/topics/gateway#voice-state-update + */ +export declare type GatewayVoiceStateUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#voice-state-update + */ +export declare type GatewayVoiceStateUpdateDispatchData = GatewayVoiceState; +/** + * https://discord.com/developers/docs/topics/gateway#voice-server-update + */ +export declare type GatewayVoiceServerUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#voice-server-update + */ +export interface GatewayVoiceServerUpdateDispatchData { + /** + * Voice connection token + */ + token: string; + /** + * The guild this voice server update is for + */ + guild_id: Snowflake; + /** + * The voice server host + * + * A `null` endpoint means that the voice server allocated has gone away and is trying to be reallocated. + * You should attempt to disconnect from the currently connected voice server, and not attempt to reconnect + * until a new voice server is allocated + */ + endpoint: string | null; +} +/** + * https://discord.com/developers/docs/topics/gateway#webhooks-update + */ +export declare type GatewayWebhooksUpdateDispatch = DataPayload; +/** + * https://discord.com/developers/docs/topics/gateway#webhooks-update + */ +export interface GatewayWebhooksUpdateDispatchData { + /** + * The id of the guild + */ + guild_id: Snowflake; + /** + * The id of the channel + */ + channel_id: Snowflake; +} +/** + * https://discord.com/developers/docs/topics/gateway#heartbeating + */ +export interface GatewayHeartbeat { + op: GatewayOpcodes.Heartbeat; + d: GatewayHeartbeatData; +} +/** + * https://discord.com/developers/docs/topics/gateway#heartbeating + */ +export declare type GatewayHeartbeatData = number | null; +/** + * https://discord.com/developers/docs/topics/gateway#identify + */ +export interface GatewayIdentify { + op: GatewayOpcodes.Identify; + d: GatewayIdentifyData; +} +/** + * https://discord.com/developers/docs/topics/gateway#identify + */ +export interface GatewayIdentifyData { + /** + * Authentication token + */ + token: string; + /** + * Connection properties + * + * See https://discord.com/developers/docs/topics/gateway#identify-identify-connection-properties + */ + properties: GatewayIdentifyProperties; + /** + * Whether this connection supports compression of packets + * + * @default false + */ + compress?: boolean; + /** + * Value between 50 and 250, total number of members where the gateway will stop sending + * offline members in the guild member list + * + * @default 50 + */ + large_threshold?: number; + /** + * Used for Guild Sharding + * + * See https://discord.com/developers/docs/topics/gateway#sharding + */ + shard?: [shard_id: number, shard_count: number]; + /** + * Presence structure for initial presence information + * + * See https://discord.com/developers/docs/topics/gateway#update-presence + */ + presence?: GatewayPresenceUpdateData; + /** + * The Gateway Intents you wish to receive + * + * See https://discord.com/developers/docs/topics/gateway#gateway-intents + */ + intents: number; +} +/** + * https://discord.com/developers/docs/topics/gateway#identify-identify-connection-properties + */ +export interface GatewayIdentifyProperties { + /** + * Your operating system + */ + $os: string; + /** + * Your library name + */ + $browser: string; + /** + * Your library name + */ + $device: string; +} +/** + * https://discord.com/developers/docs/topics/gateway#resume + */ +export interface GatewayResume { + op: GatewayOpcodes.Resume; + d: GatewayResumeData; +} +/** + * https://discord.com/developers/docs/topics/gateway#resume + */ +export interface GatewayResumeData { + /** + * Session token + */ + token: string; + /** + * Session id + */ + session_id: string; + /** + * Last sequence number received + */ + seq: number; +} +/** + * https://discord.com/developers/docs/topics/gateway#request-guild-members + */ +export interface GatewayRequestGuildMembers { + op: GatewayOpcodes.RequestGuildMembers; + d: GatewayRequestGuildMembersData; +} +/** + * https://discord.com/developers/docs/topics/gateway#request-guild-members + */ +export interface GatewayRequestGuildMembersData { + /** + * ID of the guild to get members for + */ + guild_id: Snowflake; + /** + * String that username starts with, or an empty string to return all members + */ + query?: string; + /** + * Maximum number of members to send matching the `query`; + * a limit of `0` can be used with an empty string `query` to return all members + */ + limit: number; + /** + * Used to specify if we want the presences of the matched members + */ + presences?: boolean; + /** + * Used to specify which users you wish to fetch + */ + user_ids?: Snowflake | Snowflake[]; + /** + * Nonce to identify the Guild Members Chunk response + * + * Nonce can only be up to 32 bytes. If you send an invalid nonce it will be ignored and the reply member_chunk(s) will not have a `nonce` set. + * + * See https://discord.com/developers/docs/topics/gateway#guild-members-chunk + */ + nonce?: string; +} +/** + * https://discord.com/developers/docs/topics/gateway#update-voice-state + */ +export interface GatewayVoiceStateUpdate { + op: GatewayOpcodes.VoiceStateUpdate; + d: GatewayVoiceStateUpdateData; +} +/** + * https://discord.com/developers/docs/topics/gateway#update-voice-state + */ +export interface GatewayVoiceStateUpdateData { + /** + * ID of the guild + */ + guild_id: Snowflake; + /** + * ID of the voice channel client wants to join (`null` if disconnecting) + */ + channel_id: Snowflake | null; + /** + * Is the client muted + */ + self_mute: boolean; + /** + * Is the client deafened + */ + self_deaf: boolean; +} +/** + * https://discord.com/developers/docs/topics/gateway#update-status + */ +export interface GatewayUpdatePresence { + op: GatewayOpcodes.PresenceUpdate; + d: GatewayPresenceUpdateData; +} +/** + * https://discord.com/developers/docs/topics/gateway#update-presence-gateway-presence-update-structure + */ +export interface GatewayPresenceUpdateData { + /** + * Unix time (in milliseconds) of when the client went idle, or `null` if the client is not idle + */ + since: number | null; + /** + * The user's activities + * + * See https://discord.com/developers/docs/topics/gateway#activity-object + */ + activities: GatewayActivityUpdateData[]; + /** + * The user's new status + * + * See https://discord.com/developers/docs/topics/gateway#update-presence-status-types + */ + status: PresenceUpdateStatus; + /** + * Whether or not the client is afk + */ + afk: boolean; +} +/** + * https://discord.com/developers/docs/topics/gateway#activity-object-activity-structure + */ +export declare type GatewayActivityUpdateData = Pick; +interface BasePayload { + /** + * Opcode for the payload + */ + op: GatewayOpcodes; + /** + * Event data + */ + d?: unknown; + /** + * Sequence number, used for resuming sessions and heartbeats + */ + s: number; + /** + * The event name for this payload + */ + t?: string; +} +declare type NonDispatchPayload = Omit & { + t: null; + s: null; +}; +interface DataPayload extends BasePayload { + op: GatewayOpcodes.Dispatch; + t: Event; + d: D; +} +declare type ReactionData = DataPayload>; +interface MessageReactionRemoveData { + /** + * The id of the channel + */ + channel_id: Snowflake; + /** + * The id of the message + */ + message_id: Snowflake; + /** + * The id of the guild + */ + guild_id?: Snowflake; +} +//# sourceMappingURL=v9.d.ts.map \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.d.ts.map b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.d.ts.map new file mode 100644 index 0000000..da09f09 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"v9.d.ts","sourceRoot":"","sources":["v9.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.js b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.js new file mode 100644 index 0000000..3df5ec2 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.js @@ -0,0 +1,237 @@ +"use strict"; +/** + * Types extracted from https://discord.com/developers/docs/topics/gateway + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GatewayDispatchEvents = exports.GatewayIntentBits = exports.GatewayCloseCodes = exports.GatewayOpcodes = exports.GatewayVersion = void 0; +__exportStar(require("./common"), exports); +exports.GatewayVersion = '9'; +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#gateway-gateway-opcodes + */ +var GatewayOpcodes; +(function (GatewayOpcodes) { + /** + * An event was dispatched + */ + GatewayOpcodes[GatewayOpcodes["Dispatch"] = 0] = "Dispatch"; + /** + * A bidirectional opcode to maintain an active gateway connection. + * Fired periodically by the client, or fired by the gateway to request an immediate heartbeat from the client. + */ + GatewayOpcodes[GatewayOpcodes["Heartbeat"] = 1] = "Heartbeat"; + /** + * Starts a new session during the initial handshake + */ + GatewayOpcodes[GatewayOpcodes["Identify"] = 2] = "Identify"; + /** + * Update the client's presence + */ + GatewayOpcodes[GatewayOpcodes["PresenceUpdate"] = 3] = "PresenceUpdate"; + /** + * Used to join/leave or move between voice channels + */ + GatewayOpcodes[GatewayOpcodes["VoiceStateUpdate"] = 4] = "VoiceStateUpdate"; + /** + * Resume a previous session that was disconnected + */ + GatewayOpcodes[GatewayOpcodes["Resume"] = 6] = "Resume"; + /** + * You should attempt to reconnect and resume immediately + */ + GatewayOpcodes[GatewayOpcodes["Reconnect"] = 7] = "Reconnect"; + /** + * Request information about offline guild members in a large guild + */ + GatewayOpcodes[GatewayOpcodes["RequestGuildMembers"] = 8] = "RequestGuildMembers"; + /** + * The session has been invalidated. You should reconnect and identify/resume accordingly + */ + GatewayOpcodes[GatewayOpcodes["InvalidSession"] = 9] = "InvalidSession"; + /** + * Sent immediately after connecting, contains the `heartbeat_interval` to use + */ + GatewayOpcodes[GatewayOpcodes["Hello"] = 10] = "Hello"; + /** + * Sent in response to receiving a heartbeat to acknowledge that it has been received + */ + GatewayOpcodes[GatewayOpcodes["HeartbeatAck"] = 11] = "HeartbeatAck"; +})(GatewayOpcodes = exports.GatewayOpcodes || (exports.GatewayOpcodes = {})); +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#gateway-gateway-close-event-codes + */ +var GatewayCloseCodes; +(function (GatewayCloseCodes) { + /** + * We're not sure what went wrong. Try reconnecting? + */ + GatewayCloseCodes[GatewayCloseCodes["UnknownError"] = 4000] = "UnknownError"; + /** + * You sent an invalid Gateway opcode or an invalid payload for an opcode. Don't do that! + * + * See https://discord.com/developers/docs/topics/gateway#payloads-and-opcodes + */ + GatewayCloseCodes[GatewayCloseCodes["UnknownOpcode"] = 4001] = "UnknownOpcode"; + /** + * You sent an invalid payload to us. Don't do that! + * + * See https://discord.com/developers/docs/topics/gateway#sending-payloads + */ + GatewayCloseCodes[GatewayCloseCodes["DecodeError"] = 4002] = "DecodeError"; + /** + * You sent us a payload prior to identifying + * + * See https://discord.com/developers/docs/topics/gateway#identify + */ + GatewayCloseCodes[GatewayCloseCodes["NotAuthenticated"] = 4003] = "NotAuthenticated"; + /** + * The account token sent with your identify payload is incorrect + * + * See https://discord.com/developers/docs/topics/gateway#identify + */ + GatewayCloseCodes[GatewayCloseCodes["AuthenticationFailed"] = 4004] = "AuthenticationFailed"; + /** + * You sent more than one identify payload. Don't do that! + */ + GatewayCloseCodes[GatewayCloseCodes["AlreadyAuthenticated"] = 4005] = "AlreadyAuthenticated"; + /** + * The sequence sent when resuming the session was invalid. Reconnect and start a new session + * + * See https://discord.com/developers/docs/topics/gateway#resume + */ + GatewayCloseCodes[GatewayCloseCodes["InvalidSeq"] = 4007] = "InvalidSeq"; + /** + * Woah nelly! You're sending payloads to us too quickly. Slow it down! You will be disconnected on receiving this + */ + GatewayCloseCodes[GatewayCloseCodes["RateLimited"] = 4008] = "RateLimited"; + /** + * Your session timed out. Reconnect and start a new one + */ + GatewayCloseCodes[GatewayCloseCodes["SessionTimedOut"] = 4009] = "SessionTimedOut"; + /** + * You sent us an invalid shard when identifying + * + * See https://discord.com/developers/docs/topics/gateway#sharding + */ + GatewayCloseCodes[GatewayCloseCodes["InvalidShard"] = 4010] = "InvalidShard"; + /** + * The session would have handled too many guilds - you are required to shard your connection in order to connect + * + * See https://discord.com/developers/docs/topics/gateway#sharding + */ + GatewayCloseCodes[GatewayCloseCodes["ShardingRequired"] = 4011] = "ShardingRequired"; + /** + * You sent an invalid version for the gateway + */ + GatewayCloseCodes[GatewayCloseCodes["InvalidAPIVersion"] = 4012] = "InvalidAPIVersion"; + /** + * You sent an invalid intent for a Gateway Intent. You may have incorrectly calculated the bitwise value + * + * See https://discord.com/developers/docs/topics/gateway#gateway-intents + */ + GatewayCloseCodes[GatewayCloseCodes["InvalidIntents"] = 4013] = "InvalidIntents"; + /** + * You sent a disallowed intent for a Gateway Intent. You may have tried to specify an intent that you have not + * enabled or are not whitelisted for + * + * See https://discord.com/developers/docs/topics/gateway#gateway-intents + * + * See https://discord.com/developers/docs/topics/gateway#privileged-intents + */ + GatewayCloseCodes[GatewayCloseCodes["DisallowedIntents"] = 4014] = "DisallowedIntents"; +})(GatewayCloseCodes = exports.GatewayCloseCodes || (exports.GatewayCloseCodes = {})); +/** + * https://discord.com/developers/docs/topics/gateway#list-of-intents + */ +var GatewayIntentBits; +(function (GatewayIntentBits) { + GatewayIntentBits[GatewayIntentBits["Guilds"] = 1] = "Guilds"; + GatewayIntentBits[GatewayIntentBits["GuildMembers"] = 2] = "GuildMembers"; + GatewayIntentBits[GatewayIntentBits["GuildBans"] = 4] = "GuildBans"; + GatewayIntentBits[GatewayIntentBits["GuildEmojisAndStickers"] = 8] = "GuildEmojisAndStickers"; + GatewayIntentBits[GatewayIntentBits["GuildIntegrations"] = 16] = "GuildIntegrations"; + GatewayIntentBits[GatewayIntentBits["GuildWebhooks"] = 32] = "GuildWebhooks"; + GatewayIntentBits[GatewayIntentBits["GuildInvites"] = 64] = "GuildInvites"; + GatewayIntentBits[GatewayIntentBits["GuildVoiceStates"] = 128] = "GuildVoiceStates"; + GatewayIntentBits[GatewayIntentBits["GuildPresences"] = 256] = "GuildPresences"; + GatewayIntentBits[GatewayIntentBits["GuildMessages"] = 512] = "GuildMessages"; + GatewayIntentBits[GatewayIntentBits["GuildMessageReactions"] = 1024] = "GuildMessageReactions"; + GatewayIntentBits[GatewayIntentBits["GuildMessageTyping"] = 2048] = "GuildMessageTyping"; + GatewayIntentBits[GatewayIntentBits["DirectMessages"] = 4096] = "DirectMessages"; + GatewayIntentBits[GatewayIntentBits["DirectMessageReactions"] = 8192] = "DirectMessageReactions"; + GatewayIntentBits[GatewayIntentBits["DirectMessageTyping"] = 16384] = "DirectMessageTyping"; + GatewayIntentBits[GatewayIntentBits["GuildScheduledEvents"] = 65536] = "GuildScheduledEvents"; +})(GatewayIntentBits = exports.GatewayIntentBits || (exports.GatewayIntentBits = {})); +/** + * https://discord.com/developers/docs/topics/gateway#commands-and-events-gateway-events + */ +var GatewayDispatchEvents; +(function (GatewayDispatchEvents) { + GatewayDispatchEvents["ChannelCreate"] = "CHANNEL_CREATE"; + GatewayDispatchEvents["ChannelDelete"] = "CHANNEL_DELETE"; + GatewayDispatchEvents["ChannelPinsUpdate"] = "CHANNEL_PINS_UPDATE"; + GatewayDispatchEvents["ChannelUpdate"] = "CHANNEL_UPDATE"; + GatewayDispatchEvents["GuildBanAdd"] = "GUILD_BAN_ADD"; + GatewayDispatchEvents["GuildBanRemove"] = "GUILD_BAN_REMOVE"; + GatewayDispatchEvents["GuildCreate"] = "GUILD_CREATE"; + GatewayDispatchEvents["GuildDelete"] = "GUILD_DELETE"; + GatewayDispatchEvents["GuildEmojisUpdate"] = "GUILD_EMOJIS_UPDATE"; + GatewayDispatchEvents["GuildIntegrationsUpdate"] = "GUILD_INTEGRATIONS_UPDATE"; + GatewayDispatchEvents["GuildMemberAdd"] = "GUILD_MEMBER_ADD"; + GatewayDispatchEvents["GuildMemberRemove"] = "GUILD_MEMBER_REMOVE"; + GatewayDispatchEvents["GuildMembersChunk"] = "GUILD_MEMBERS_CHUNK"; + GatewayDispatchEvents["GuildMemberUpdate"] = "GUILD_MEMBER_UPDATE"; + GatewayDispatchEvents["GuildRoleCreate"] = "GUILD_ROLE_CREATE"; + GatewayDispatchEvents["GuildRoleDelete"] = "GUILD_ROLE_DELETE"; + GatewayDispatchEvents["GuildRoleUpdate"] = "GUILD_ROLE_UPDATE"; + GatewayDispatchEvents["GuildStickersUpdate"] = "GUILD_STICKERS_UPDATE"; + GatewayDispatchEvents["GuildUpdate"] = "GUILD_UPDATE"; + GatewayDispatchEvents["IntegrationCreate"] = "INTEGRATION_CREATE"; + GatewayDispatchEvents["IntegrationDelete"] = "INTEGRATION_DELETE"; + GatewayDispatchEvents["IntegrationUpdate"] = "INTEGRATION_UPDATE"; + GatewayDispatchEvents["InteractionCreate"] = "INTERACTION_CREATE"; + GatewayDispatchEvents["InviteCreate"] = "INVITE_CREATE"; + GatewayDispatchEvents["InviteDelete"] = "INVITE_DELETE"; + GatewayDispatchEvents["MessageCreate"] = "MESSAGE_CREATE"; + GatewayDispatchEvents["MessageDelete"] = "MESSAGE_DELETE"; + GatewayDispatchEvents["MessageDeleteBulk"] = "MESSAGE_DELETE_BULK"; + GatewayDispatchEvents["MessageReactionAdd"] = "MESSAGE_REACTION_ADD"; + GatewayDispatchEvents["MessageReactionRemove"] = "MESSAGE_REACTION_REMOVE"; + GatewayDispatchEvents["MessageReactionRemoveAll"] = "MESSAGE_REACTION_REMOVE_ALL"; + GatewayDispatchEvents["MessageReactionRemoveEmoji"] = "MESSAGE_REACTION_REMOVE_EMOJI"; + GatewayDispatchEvents["MessageUpdate"] = "MESSAGE_UPDATE"; + GatewayDispatchEvents["PresenceUpdate"] = "PRESENCE_UPDATE"; + GatewayDispatchEvents["StageInstanceCreate"] = "STAGE_INSTANCE_CREATE"; + GatewayDispatchEvents["StageInstanceDelete"] = "STAGE_INSTANCE_DELETE"; + GatewayDispatchEvents["StageInstanceUpdate"] = "STAGE_INSTANCE_UPDATE"; + GatewayDispatchEvents["Ready"] = "READY"; + GatewayDispatchEvents["Resumed"] = "RESUMED"; + GatewayDispatchEvents["ThreadCreate"] = "THREAD_CREATE"; + GatewayDispatchEvents["ThreadDelete"] = "THREAD_DELETE"; + GatewayDispatchEvents["ThreadListSync"] = "THREAD_LIST_SYNC"; + GatewayDispatchEvents["ThreadMembersUpdate"] = "THREAD_MEMBERS_UPDATE"; + GatewayDispatchEvents["ThreadMemberUpdate"] = "THREAD_MEMBER_UPDATE"; + GatewayDispatchEvents["ThreadUpdate"] = "THREAD_UPDATE"; + GatewayDispatchEvents["TypingStart"] = "TYPING_START"; + GatewayDispatchEvents["UserUpdate"] = "USER_UPDATE"; + GatewayDispatchEvents["VoiceServerUpdate"] = "VOICE_SERVER_UPDATE"; + GatewayDispatchEvents["VoiceStateUpdate"] = "VOICE_STATE_UPDATE"; + GatewayDispatchEvents["WebhooksUpdate"] = "WEBHOOKS_UPDATE"; + GatewayDispatchEvents["GuildScheduledEventCreate"] = "GUILD_SCHEDULED_EVENT_CREATE"; + GatewayDispatchEvents["GuildScheduledEventUpdate"] = "GUILD_SCHEDULED_EVENT_UPDATE"; + GatewayDispatchEvents["GuildScheduledEventDelete"] = "GUILD_SCHEDULED_EVENT_DELETE"; + GatewayDispatchEvents["GuildScheduledEventUserAdd"] = "GUILD_SCHEDULED_EVENT_USER_ADD"; + GatewayDispatchEvents["GuildScheduledEventUserRemove"] = "GUILD_SCHEDULED_EVENT_USER_REMOVE"; +})(GatewayDispatchEvents = exports.GatewayDispatchEvents || (exports.GatewayDispatchEvents = {})); +// #endregion Shared +//# sourceMappingURL=v9.js.map \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.js.map b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.js.map new file mode 100644 index 0000000..4c07290 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.js.map @@ -0,0 +1 @@ +{"version":3,"file":"v9.js","sourceRoot":"","sources":["v9.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;AA8BH,2CAAyB;AAEZ,QAAA,cAAc,GAAG,GAAG,CAAC;AAElC;;GAEG;AACH,IAAkB,cA8CjB;AA9CD,WAAkB,cAAc;IAC/B;;OAEG;IACH,2DAAQ,CAAA;IACR;;;OAGG;IACH,6DAAS,CAAA;IACT;;OAEG;IACH,2DAAQ,CAAA;IACR;;OAEG;IACH,uEAAc,CAAA;IACd;;OAEG;IACH,2EAAgB,CAAA;IAChB;;OAEG;IACH,uDAAU,CAAA;IACV;;OAEG;IACH,6DAAS,CAAA;IACT;;OAEG;IACH,iFAAmB,CAAA;IACnB;;OAEG;IACH,uEAAc,CAAA;IACd;;OAEG;IACH,sDAAK,CAAA;IACL;;OAEG;IACH,oEAAY,CAAA;AACb,CAAC,EA9CiB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QA8C/B;AAED;;GAEG;AACH,IAAkB,iBA8EjB;AA9ED,WAAkB,iBAAiB;IAClC;;OAEG;IACH,4EAAmB,CAAA;IACnB;;;;OAIG;IACH,8EAAa,CAAA;IACb;;;;OAIG;IACH,0EAAW,CAAA;IACX;;;;OAIG;IACH,oFAAgB,CAAA;IAChB;;;;OAIG;IACH,4FAAoB,CAAA;IACpB;;OAEG;IACH,4FAAoB,CAAA;IACpB;;;;OAIG;IACH,wEAAiB,CAAA;IACjB;;OAEG;IACH,0EAAW,CAAA;IACX;;OAEG;IACH,kFAAe,CAAA;IACf;;;;OAIG;IACH,4EAAY,CAAA;IACZ;;;;OAIG;IACH,oFAAgB,CAAA;IAChB;;OAEG;IACH,sFAAiB,CAAA;IACjB;;;;OAIG;IACH,gFAAc,CAAA;IACd;;;;;;;OAOG;IACH,sFAAiB,CAAA;AAClB,CAAC,EA9EiB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QA8ElC;AAED;;GAEG;AACH,IAAkB,iBAiBjB;AAjBD,WAAkB,iBAAiB;IAClC,6DAAe,CAAA;IACf,yEAAqB,CAAA;IACrB,mEAAkB,CAAA;IAClB,6FAA+B,CAAA;IAC/B,oFAA0B,CAAA;IAC1B,4EAAsB,CAAA;IACtB,0EAAqB,CAAA;IACrB,mFAAyB,CAAA;IACzB,+EAAuB,CAAA;IACvB,6EAAsB,CAAA;IACtB,8FAA+B,CAAA;IAC/B,wFAA4B,CAAA;IAC5B,gFAAwB,CAAA;IACxB,gGAAgC,CAAA;IAChC,2FAA6B,CAAA;IAC7B,6FAA8B,CAAA;AAC/B,CAAC,EAjBiB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAiBlC;AAED;;GAEG;AACH,IAAkB,qBAwDjB;AAxDD,WAAkB,qBAAqB;IACtC,yDAAgC,CAAA;IAChC,yDAAgC,CAAA;IAChC,kEAAyC,CAAA;IACzC,yDAAgC,CAAA;IAChC,sDAA6B,CAAA;IAC7B,4DAAmC,CAAA;IACnC,qDAA4B,CAAA;IAC5B,qDAA4B,CAAA;IAC5B,kEAAyC,CAAA;IACzC,8EAAqD,CAAA;IACrD,4DAAmC,CAAA;IACnC,kEAAyC,CAAA;IACzC,kEAAyC,CAAA;IACzC,kEAAyC,CAAA;IACzC,8DAAqC,CAAA;IACrC,8DAAqC,CAAA;IACrC,8DAAqC,CAAA;IACrC,sEAA6C,CAAA;IAC7C,qDAA4B,CAAA;IAC5B,iEAAwC,CAAA;IACxC,iEAAwC,CAAA;IACxC,iEAAwC,CAAA;IACxC,iEAAwC,CAAA;IACxC,uDAA8B,CAAA;IAC9B,uDAA8B,CAAA;IAC9B,yDAAgC,CAAA;IAChC,yDAAgC,CAAA;IAChC,kEAAyC,CAAA;IACzC,oEAA2C,CAAA;IAC3C,0EAAiD,CAAA;IACjD,iFAAwD,CAAA;IACxD,qFAA4D,CAAA;IAC5D,yDAAgC,CAAA;IAChC,2DAAkC,CAAA;IAClC,sEAA6C,CAAA;IAC7C,sEAA6C,CAAA;IAC7C,sEAA6C,CAAA;IAC7C,wCAAe,CAAA;IACf,4CAAmB,CAAA;IACnB,uDAA8B,CAAA;IAC9B,uDAA8B,CAAA;IAC9B,4DAAmC,CAAA;IACnC,sEAA6C,CAAA;IAC7C,oEAA2C,CAAA;IAC3C,uDAA8B,CAAA;IAC9B,qDAA4B,CAAA;IAC5B,mDAA0B,CAAA;IAC1B,kEAAyC,CAAA;IACzC,gEAAuC,CAAA;IACvC,2DAAkC,CAAA;IAClC,mFAA0D,CAAA;IAC1D,mFAA0D,CAAA;IAC1D,mFAA0D,CAAA;IAC1D,sFAA6D,CAAA;IAC7D,4FAAmE,CAAA;AACpE,CAAC,EAxDiB,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAwDtC;AAi8CD,oBAAoB"} \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.mjs b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.mjs new file mode 100644 index 0000000..27b1baf --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/gateway/v9.mjs @@ -0,0 +1,8 @@ +import mod from "./v9.js"; + +export default mod; +export const GatewayCloseCodes = mod.GatewayCloseCodes; +export const GatewayDispatchEvents = mod.GatewayDispatchEvents; +export const GatewayIntentBits = mod.GatewayIntentBits; +export const GatewayOpcodes = mod.GatewayOpcodes; +export const GatewayVersion = mod.GatewayVersion; diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/globals.d.ts b/node_modules/@discordjs/builders/node_modules/discord-api-types/globals.d.ts new file mode 100644 index 0000000..d821e73 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/globals.d.ts @@ -0,0 +1,81 @@ +/** + * https://discord.com/developers/docs/reference#snowflakes + */ +export declare type Snowflake = string; +/** + * https://discord.com/developers/docs/topics/permissions + * @internal + */ +export declare type Permissions = string; +/** + * https://discord.com/developers/docs/reference#message-formatting-formats + */ +export declare const FormattingPatterns: { + /** + * Regular expression for matching a user mention, strictly without a nickname + * + * The `id` group property is present on the `exec` result of this expression + */ + readonly User: RegExp; + /** + * Regular expression for matching a user mention, strictly with a nickname + * + * The `id` group property is present on the `exec` result of this expression + */ + readonly UserWithNickname: RegExp; + /** + * Regular expression for matching a user mention, with or without a nickname + * + * The `id` group property is present on the `exec` result of this expression + */ + readonly UserWithOptionalNickname: RegExp; + /** + * Regular expression for matching a channel mention + * + * The `id` group property is present on the `exec` result of this expression + */ + readonly Channel: RegExp; + /** + * Regular expression for matching a role mention + * + * The `id` group property is present on the `exec` result of this expression + */ + readonly Role: RegExp; + /** + * Regular expression for matching a custom emoji, either static or animated + * + * The `animated`, `name` and `id` group properties are present on the `exec` result of this expression + */ + readonly Emoji: RegExp; + /** + * Regular expression for matching strictly an animated custom emoji + * + * The `animated`, `name` and `id` group properties are present on the `exec` result of this expression + */ + readonly AnimatedEmoji: RegExp; + /** + * Regular expression for matching strictly a static custom emoji + * + * The `name` and `id` group properties are present on the `exec` result of this expression + */ + readonly StaticEmoji: RegExp; + /** + * Regular expression for matching a timestamp, either default or custom styled + * + * The `timestamp` and `style` group properties are present on the `exec` result of this expression + */ + readonly Timestamp: RegExp; + /** + * Regular expression for matching strictly default styled timestamps + * + * The `timestamp` group property is present on the `exec` result of this expression + */ + readonly DefaultStyledTimestamp: RegExp; + /** + * Regular expression for matching strictly custom styled timestamps + * + * The `timestamp` and `style` group properties are present on the `exec` result of this expression + */ + readonly StyledTimestamp: RegExp; +}; +//# sourceMappingURL=globals.d.ts.map \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/globals.d.ts.map b/node_modules/@discordjs/builders/node_modules/discord-api-types/globals.d.ts.map new file mode 100644 index 0000000..505ffb2 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/globals.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["globals.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,SAAS,GAAG,MAAM,CAAC;AAE/B;;;GAGG;AACH,oBAAY,WAAW,GAAG,MAAM,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC9B;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;CAEM,CAAC"} \ No newline at end of file diff --git a/node_modules/@discordjs/builders/node_modules/discord-api-types/globals.js b/node_modules/@discordjs/builders/node_modules/discord-api-types/globals.js new file mode 100644 index 0000000..3cae1b8 --- /dev/null +++ b/node_modules/@discordjs/builders/node_modules/discord-api-types/globals.js @@ -0,0 +1,80 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FormattingPatterns = void 0; +/** + * https://discord.com/developers/docs/reference#message-formatting-formats + */ +exports.FormattingPatterns = { + /** + * Regular expression for matching a user mention, strictly without a nickname + * + * The `id` group property is present on the `exec` result of this expression + */ + User: /<@(?\d{17,20})>/, + /** + * Regular expression for matching a user mention, strictly with a nickname + * + * The `id` group property is present on the `exec` result of this expression + */ + UserWithNickname: /<@!(?\d{17,20})>/, + /** + * Regular expression for matching a user mention, with or without a nickname + * + * The `id` group property is present on the `exec` result of this expression + */ + UserWithOptionalNickname: /<@!?(?\d{17,20})>/, + /** + * Regular expression for matching a channel mention + * + * The `id` group property is present on the `exec` result of this expression + */ + Channel: /<#(?\d{17,20})>/, + /** + * Regular expression for matching a role mention + * + * The `id` group property is present on the `exec` result of this expression + */ + Role: /<@&(?\d{17,20})>/, + /** + * Regular expression for matching a custom emoji, either static or animated + * + * The `animated`, `name` and `id` group properties are present on the `exec` result of this expression + */ + Emoji: /<(?a)?:(?\w{2,32}):(?\d{17,20})>/, + /** + * Regular expression for matching strictly an animated custom emoji + * + * The `animated`, `name` and `id` group properties are present on the `exec` result of this expression + */ + AnimatedEmoji: /<(?a):(?\w{2,32}):(?\d{17,20})>/, + /** + * Regular expression for matching strictly a static custom emoji + * + * The `name` and `id` group properties are present on the `exec` result of this expression + */ + StaticEmoji: /<:(?\w{2,32}):(?\d{17,20})>/, + /** + * Regular expression for matching a timestamp, either default or custom styled + * + * The `timestamp` and `style` group properties are present on the `exec` result of this expression + */ + Timestamp: /-?\d{1,13})(:(? + + + + +
+
+

npm-access

+Set access level on published packages +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm access public [<package>]
+npm access restricted [<package>]
+
+npm access grant <read-only|read-write> <scope:team> [<package>]
+npm access revoke <scope:team> [<package>]
+
+npm access 2fa-required [<package>]
+npm access 2fa-not-required [<package>]
+
+npm access ls-packages [<user>|<scope>|<scope:team>]
+npm access ls-collaborators [<package> [<user>]]
+npm access edit [<package>]
+
+

Description

+

Used to set access controls on private packages.

+

For all of the subcommands, npm access will perform actions on the packages +in the current working directory if no package name is passed to the +subcommand.

+
    +
  • +

    public / restricted: +Set a package to be either publicly accessible or restricted.

    +
  • +
  • +

    grant / revoke: +Add or remove the ability of users and teams to have read-only or read-write +access to a package.

    +
  • +
  • +

    2fa-required / 2fa-not-required: +Configure whether a package requires that anyone publishing it have two-factor +authentication enabled on their account.

    +
  • +
  • +

    ls-packages: +Show all of the packages a user or a team is able to access, along with the +access level, except for read-only public packages (it won't print the whole +registry listing)

    +
  • +
  • +

    ls-collaborators: +Show all of the access privileges for a package. Will only show permissions +for packages to which you have at least read access. If <user> is passed in, +the list is filtered only to teams that user happens to belong to.

    +
  • +
  • +

    edit: +Set the access privileges for a package at once using $EDITOR.

    +
  • +
+

Details

+

npm access always operates directly on the current registry, configurable +from the command line using --registry=<registry url>.

+

Unscoped packages are always public.

+

Scoped packages default to restricted, but you can either publish them as +public using npm publish --access=public, or set their access as public using +npm access public after the initial publish.

+

You must have privileges to set the access of a package:

+
    +
  • You are an owner of an unscoped or scoped package.
  • +
  • You are a member of the team that owns a scope.
  • +
  • You have been given read-write privileges for a package, either as a member +of a team or directly as an owner.
  • +
+

If you have two-factor authentication enabled then you'll be prompted to +provide an otp token, or may use the --otp=... option to specify it on +the command line.

+

If your account is not paid, then attempts to publish scoped packages will +fail with an HTTP 402 status code (logically enough), unless you use +--access=public.

+

Management of teams and team memberships is done with the npm team command.

+

Configuration

+ + + +

registry

+ +

The base URL of the npm registry.

+ + +

otp

+
    +
  • Default: null
  • +
  • Type: null or String
  • +
+

This is a one-time password from a two-factor authenticator. It's needed +when publishing or changing package permissions with npm access.

+

If not set, and a registry response fails with a challenge for a one-time +password, npm will prompt on the command line for one.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-adduser.html b/node_modules/npm/docs/output/commands/npm-adduser.html new file mode 100644 index 0000000..7d7d606 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-adduser.html @@ -0,0 +1,226 @@ + + +npm-adduser + + + + + +
+
+

npm-adduser

+Add a registry user account +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm adduser [--registry=url] [--scope=@orgname] [--auth-type=legacy]
+
+aliases: login, add-user
+
+

Note: This command is unaware of workspaces.

+

Description

+

Create or verify a user named <username> in the specified registry, and +save the credentials to the .npmrc file. If no registry is specified, +the default registry will be used (see config).

+

The username, password, and email are read in from prompts.

+

To reset your password, go to https://www.npmjs.com/forgot

+

To change your email address, go to https://www.npmjs.com/email-edit

+

You may use this command multiple times with the same user account to +authorize on a new machine. When authenticating on a new machine, +the username, password and email address must all match with +your existing record.

+

npm login is an alias to adduser and behaves exactly the same way.

+

Configuration

+ + + +

registry

+ +

The base URL of the npm registry.

+ + +

scope

+
    +
  • Default: the scope of the current project, if any, or ""
  • +
  • Type: String
  • +
+

Associate an operation with a scope for a scoped registry.

+

Useful when logging in to or out of a private registry:

+
# log in, linking the scope to the custom registry
+npm login --scope=@mycorp --registry=https://registry.mycorp.com
+
+# log out, removing the link and the auth token
+npm logout --scope=@mycorp
+
+

This will cause @mycorp to be mapped to the registry for future +installation of packages specified according to the pattern +@mycorp/package.

+

This will also cause npm init to create a scoped package.

+
# accept all defaults, and create a package named "@foo/whatever",
+# instead of just named "whatever"
+npm init --scope=@foo --yes
+
+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-audit.html b/node_modules/npm/docs/output/commands/npm-audit.html new file mode 100644 index 0000000..95167a3 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-audit.html @@ -0,0 +1,436 @@ + + +npm-audit + + + + + +
+
+

npm-audit

+Run a security audit +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm audit [--json] [--production] [--audit-level=(low|moderate|high|critical)]
+npm audit fix [--force|--package-lock-only|--dry-run|--production|--only=(dev|prod)]
+
+common options: [--production] [--only=(dev|prod)]
+
+

Description

+

The audit command submits a description of the dependencies configured in +your project to your default registry and asks for a report of known +vulnerabilities. If any vulnerabilities are found, then the impact and +appropriate remediation will be calculated. If the fix argument is +provided, then remediations will be applied to the package tree.

+

The command will exit with a 0 exit code if no vulnerabilities were found.

+

Note that some vulnerabilities cannot be fixed automatically and will +require manual intervention or review. Also note that since npm audit fix runs a full-fledged npm install under the hood, all configs that +apply to the installer will also apply to npm install -- so things like +npm audit fix --package-lock-only will work as expected.

+

By default, the audit command will exit with a non-zero code if any +vulnerability is found. It may be useful in CI environments to include the +--audit-level parameter to specify the minimum vulnerability level that +will cause the command to fail. This option does not filter the report +output, it simply changes the command's failure threshold.

+

Audit Endpoints

+

There are two audit endpoints that npm may use to fetch vulnerability +information: the Bulk Advisory endpoint and the Quick Audit endpoint.

+

Bulk Advisory Endpoint

+

As of version 7, npm uses the much faster Bulk Advisory endpoint to +optimize the speed of calculating audit results.

+

npm will generate a JSON payload with the name and list of versions of each +package in the tree, and POST it to the default configured registry at +the path /-/npm/v1/security/advisories/bulk.

+

Any packages in the tree that do not have a version field in their +package.json file will be ignored. If any --omit options are specified +(either via the --omit config, or one of the shorthands such as +--production, --only=dev, and so on), then packages will be omitted +from the submitted payload as appropriate.

+

If the registry responds with an error, or with an invalid response, then +npm will attempt to load advisory data from the Quick Audit endpoint.

+

The expected result will contain a set of advisory objects for each +dependency that matches the advisory range. Each advisory object contains +a name, url, id, severity, vulnerable_versions, and title.

+

npm then uses these advisory objects to calculate vulnerabilities and +meta-vulnerabilities of the dependencies within the tree.

+

Quick Audit Endpoint

+

If the Bulk Advisory endpoint returns an error, or invalid data, npm will +attempt to load advisory data from the Quick Audit endpoint, which is +considerably slower in most cases.

+

The full package tree as found in package-lock.json is submitted, along +with the following pieces of additional metadata:

+
    +
  • npm_version
  • +
  • node_version
  • +
  • platform
  • +
  • arch
  • +
  • node_env
  • +
+

All packages in the tree are submitted to the Quick Audit endpoint. +Omitted dependency types are skipped when generating the report.

+

Scrubbing

+

Out of an abundance of caution, npm versions 5 and 6 would "scrub" any +packages from the submitted report if their name contained a / character, +so as to avoid leaking the names of potentially private packages or git +URLs.

+

However, in practice, this resulted in audits often failing to properly +detect meta-vulnerabilities, because the tree would appear to be invalid +due to missing dependencies, and prevented the detection of vulnerabilities +in package trees that used git dependencies or private modules.

+

This scrubbing has been removed from npm as of version 7.

+

Calculating Meta-Vulnerabilities and Remediations

+

npm uses the +@npmcli/metavuln-calculator +module to turn a set of security advisories into a set of "vulnerability" +objects. A "meta-vulnerability" is a dependency that is vulnerable by +virtue of dependence on vulnerable versions of a vulnerable package.

+

For example, if the package foo is vulnerable in the range >=1.0.2 <2.0.0, and the package bar depends on foo@^1.1.0, then that version +of bar can only be installed by installing a vulnerable version of foo. +In this case, bar is a "metavulnerability".

+

Once metavulnerabilities for a given package are calculated, they are +cached in the ~/.npm folder and only re-evaluated if the advisory range +changes, or a new version of the package is published (in which case, the +new version is checked for metavulnerable status as well).

+

If the chain of metavulnerabilities extends all the way to the root +project, and it cannot be updated without changing its dependency ranges, +then npm audit fix will require the --force option to apply the +remediation. If remediations do not require changes to the dependency +ranges, then all vulnerable packages will be updated to a version that does +not have an advisory or metavulnerability posted against it.

+

Exit Code

+

The npm audit command will exit with a 0 exit code if no vulnerabilities +were found. The npm audit fix command will exit with 0 exit code if no +vulnerabilities are found or if the remediation is able to successfully +fix all vulnerabilities.

+

If vulnerabilities were found the exit code will depend on the +audit-level configuration setting.

+

Examples

+

Scan your project for vulnerabilities and automatically install any compatible +updates to vulnerable dependencies:

+
$ npm audit fix
+
+

Run audit fix without modifying node_modules, but still updating the +pkglock:

+
$ npm audit fix --package-lock-only
+
+

Skip updating devDependencies:

+
$ npm audit fix --only=prod
+
+

Have audit fix install SemVer-major updates to toplevel dependencies, not +just SemVer-compatible ones:

+
$ npm audit fix --force
+
+

Do a dry run to get an idea of what audit fix will do, and also output +install information in JSON format:

+
$ npm audit fix --dry-run --json
+
+

Scan your project for vulnerabilities and just show the details, without +fixing anything:

+
$ npm audit
+
+

Get the detailed audit report in JSON format:

+
$ npm audit --json
+
+

Fail an audit only if the results include a vulnerability with a level of moderate or higher:

+
$ npm audit --audit-level=moderate
+
+

Configuration

+ + + +

audit-level

+
    +
  • Default: null
  • +
  • Type: null, "info", "low", "moderate", "high", "critical", or "none"
  • +
+

The minimum level of vulnerability for npm audit to exit with a non-zero +exit code.

+ + +

dry-run

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Indicates that you don't want npm to make any changes and that it should +only report what it would have done. This can be passed into any of the +commands that modify your local installation, eg, install, update, +dedupe, uninstall, as well as pack and publish.

+

Note: This is NOT honored by other network related commands, eg dist-tags, +owner, etc.

+ + +

force

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Removes various protections against unfortunate side effects, common +mistakes, unnecessary performance degradation, and malicious input.

+
    +
  • Allow clobbering non-npm files in global installs.
  • +
  • Allow the npm version command to work on an unclean git repository.
  • +
  • Allow deleting the cache folder with npm cache clean.
  • +
  • Allow installing packages that have an engines declaration requiring a +different version of npm.
  • +
  • Allow installing packages that have an engines declaration requiring a +different version of node, even if --engine-strict is enabled.
  • +
  • Allow npm audit fix to install modules outside your stated dependency +range (including SemVer-major changes).
  • +
  • Allow unpublishing all versions of a published package.
  • +
  • Allow conflicting peerDependencies to be installed in the root project.
  • +
  • Implicitly set --yes during npm init.
  • +
  • Allow clobbering existing values in npm pkg
  • +
+

If you don't have a clear idea of what you want to do, it is strongly +recommended that you do not use this option!

+ + +

json

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Whether or not to output JSON data, rather than the normal output.

+
    +
  • In npm pkg set it enables parsing set values with JSON.parse() before +saving them to your package.json.
  • +
+

Not supported by all npm commands.

+ + +

package-lock-only

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If set to true, the current operation will only use the package-lock.json, +ignoring node_modules.

+

For update this means only the package-lock.json will be updated, +instead of checking node_modules and downloading dependencies.

+

For list this means the output will be based on the tree described by the +package-lock.json, rather than the contents of node_modules.

+ + +

omit

+
    +
  • Default: 'dev' if the NODE_ENV environment variable is set to +'production', otherwise empty.
  • +
  • Type: "dev", "optional", or "peer" (can be set multiple times)
  • +
+

Dependency types to omit from the installation tree on disk.

+

Note that these dependencies are still resolved and added to the +package-lock.json or npm-shrinkwrap.json file. They are just not +physically installed on disk.

+

If a package type appears in both the --include and --omit lists, then +it will be included.

+

If the resulting omit list includes 'dev', then the NODE_ENV environment +variable will be set to 'production' for all lifecycle scripts.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-bin.html b/node_modules/npm/docs/output/commands/npm-bin.html new file mode 100644 index 0000000..3bf26a2 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-bin.html @@ -0,0 +1,197 @@ + + +npm-bin + + + + + +
+
+

npm-bin

+Display npm bin folder +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm bin [-g|--global]
+
+

Note: This command is unaware of workspaces.

+

Description

+

Print the folder where npm will install executables.

+

Configuration

+ + + +

global

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Operates in "global" mode, so that packages are installed into the prefix +folder instead of the current working directory. See +folders for more on the differences in behavior.

+
    +
  • packages are installed into the {prefix}/lib/node_modules folder, instead +of the current working directory.
  • +
  • bin files are linked to {prefix}/bin
  • +
  • man pages are linked to {prefix}/share/man
  • +
+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-bugs.html b/node_modules/npm/docs/output/commands/npm-bugs.html new file mode 100644 index 0000000..5f19271 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-bugs.html @@ -0,0 +1,206 @@ + + +npm-bugs + + + + + +
+
+

npm-bugs

+Report bugs for a package in a web browser +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm bugs [<pkgname> [<pkgname> ...]]
+
+aliases: issues
+
+

Description

+

This command tries to guess at the likely location of a package's bug +tracker URL or the mailto URL of the support email, and then tries to +open it using the --browser config param. If no package name is provided, it +will search for a package.json in the current folder and use the name property.

+

Configuration

+ + + +

browser

+
    +
  • Default: OS X: "open", Windows: "start", Others: "xdg-open"
  • +
  • Type: null, Boolean, or String
  • +
+

The browser that is called by npm commands to open websites.

+

Set to false to suppress browser behavior and instead print urls to +terminal.

+

Set to true to use default system URL opener.

+ + +

registry

+ +

The base URL of the npm registry.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-cache.html b/node_modules/npm/docs/output/commands/npm-cache.html new file mode 100644 index 0000000..88ccd2f --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-cache.html @@ -0,0 +1,247 @@ + + +npm-cache + + + + + +
+
+

npm-cache

+Manipulates packages cache +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm cache add <tarball file>...
+npm cache add <folder>...
+npm cache add <tarball url>...
+npm cache add <name>@<version>...
+
+npm cache clean
+aliases: npm cache clear, npm cache rm
+
+npm cache verify
+
+

Note: This command is unaware of workspaces.

+

Description

+

Used to add, list, or clean the npm cache folder.

+
    +
  • +

    add: +Add the specified packages to the local cache. This command is primarily +intended to be used internally by npm, but it can provide a way to +add data to the local installation cache explicitly.

    +
  • +
  • +

    clean: +Delete all data out of the cache folder. Note that this is typically +unnecessary, as npm's cache is self-healing and resistant to data +corruption issues.

    +
  • +
  • +

    verify: +Verify the contents of the cache folder, garbage collecting any unneeded +data, and verifying the integrity of the cache index and all cached data.

    +
  • +
+

Details

+

npm stores cache data in an opaque directory within the configured cache, +named _cacache. This directory is a +cacache-based content-addressable cache that +stores all http request data as well as other package-related data. This +directory is primarily accessed through pacote, the library responsible +for all package fetching as of npm@5.

+

All data that passes through the cache is fully verified for integrity on +both insertion and extraction. Cache corruption will either trigger an +error, or signal to pacote that the data must be refetched, which it will +do automatically. For this reason, it should never be necessary to clear +the cache for any reason other than reclaiming disk space, thus why clean +now requires --force to run.

+

There is currently no method exposed through npm to inspect or directly +manage the contents of this cache. In order to access it, cacache must be +used directly.

+

npm will not remove data by itself: the cache will grow as new packages are +installed.

+

A note about the cache's design

+

The npm cache is strictly a cache: it should not be relied upon as a +persistent and reliable data store for package data. npm makes no guarantee +that a previously-cached piece of data will be available later, and will +automatically delete corrupted contents. The primary guarantee that the +cache makes is that, if it does return data, that data will be exactly the +data that was inserted.

+

To run an offline verification of existing cache contents, use npm cache verify.

+

Configuration

+ + + +

cache

+
    +
  • Default: Windows: %LocalAppData%\npm-cache, Posix: ~/.npm
  • +
  • Type: Path
  • +
+

The location of npm's cache directory. See npm cache

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-ci.html b/node_modules/npm/docs/output/commands/npm-ci.html new file mode 100644 index 0000000..d2beab0 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-ci.html @@ -0,0 +1,249 @@ + + +npm-ci + + + + + +
+
+

npm-ci

+Install a project with a clean slate +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm ci
+
+

Description

+

This command is similar to npm install, except +it's meant to be used in automated environments such as test platforms, +continuous integration, and deployment -- or any situation where you want +to make sure you're doing a clean install of your dependencies.

+

npm ci will be significantly faster when:

+
    +
  • There is a package-lock.json or npm-shrinkwrap.json file.
  • +
  • The node_modules folder is missing or empty.
  • +
+

In short, the main differences between using npm install and npm ci are:

+
    +
  • The project must have an existing package-lock.json or +npm-shrinkwrap.json.
  • +
  • If dependencies in the package lock do not match those in package.json, +npm ci will exit with an error, instead of updating the package lock.
  • +
  • npm ci can only install entire projects at a time: individual +dependencies cannot be added with this command.
  • +
  • If a node_modules is already present, it will be automatically removed +before npm ci begins its install.
  • +
  • It will never write to package.json or any of the package-locks: +installs are essentially frozen.
  • +
+

Example

+

Make sure you have a package-lock and an up-to-date install:

+
$ cd ./my/npm/project
+$ npm install
+added 154 packages in 10s
+$ ls | grep package-lock
+
+

Run npm ci in that project

+
$ npm ci
+added 154 packages in 5s
+
+

Configure Travis to build using npm ci instead of npm install:

+
# .travis.yml
+install:
+- npm ci
+# keep the npm cache around to speed up installs
+cache:
+  directories:
+  - "$HOME/.npm"
+
+

Configuration

+ + + +

audit

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

When "true" submit audit reports alongside the current npm command to the +default registry and all registries configured for scopes. See the +documentation for npm audit for details on what is +submitted.

+ + +

ignore-scripts

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, npm does not run scripts specified in package.json files.

+

Note that commands explicitly intended to run a particular script, such as +npm start, npm stop, npm restart, npm test, and npm run-script +will still run their intended script if ignore-scripts is set, but they +will not run any pre- or post-scripts.

+ + +

script-shell

+
    +
  • Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
  • +
  • Type: null or String
  • +
+

The shell to use for scripts run with the npm exec, npm run and npm init <pkg> commands.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-completion.html b/node_modules/npm/docs/output/commands/npm-completion.html new file mode 100644 index 0000000..a8351c8 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-completion.html @@ -0,0 +1,187 @@ + + +npm-completion + + + + + +
+
+

npm-completion

+Tab Completion for npm +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
source <(npm completion)
+
+

Note: This command is unaware of workspaces.

+

Description

+

Enables tab-completion in all npm commands.

+

The synopsis above +loads the completions into your current shell. Adding it to +your ~/.bashrc or ~/.zshrc will make the completions available +everywhere:

+
npm completion >> ~/.bashrc
+npm completion >> ~/.zshrc
+
+

You may of course also pipe the output of npm completion to a file +such as /usr/local/etc/bash_completion.d/npm or +/etc/bash_completion.d/npm if you have a system that will read +that file for you.

+

When COMP_CWORD, COMP_LINE, and COMP_POINT are defined in the +environment, npm completion acts in "plumbing mode", and outputs +completions based on the arguments.

+

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-config.html b/node_modules/npm/docs/output/commands/npm-config.html new file mode 100644 index 0000000..9f1e1f2 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-config.html @@ -0,0 +1,283 @@ + + +npm-config + + + + + +
+
+

npm-config

+Manage the npm configuration files +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm config set <key>=<value> [<key>=<value> ...]
+npm config get [<key> [<key> ...]]
+npm config delete <key> [<key> ...]
+npm config list [--json]
+npm config edit
+npm set <key>=<value> [<key>=<value> ...]
+npm get [<key> [<key> ...]]
+
+alias: c
+
+

Note: This command is unaware of workspaces.

+

Description

+

npm gets its config settings from the command line, environment +variables, npmrc files, and in some cases, the package.json file.

+

See npmrc for more information about the npmrc +files.

+

See config(7) for a more thorough explanation of the +mechanisms involved, and a full list of config options available.

+

The npm config command can be used to update and edit the contents +of the user and global npmrc files.

+

Sub-commands

+

Config supports the following sub-commands:

+

set

+
npm config set key=value [key=value...]
+npm set key=value [key=value...]
+
+

Sets each of the config keys to the value provided.

+

If value is omitted, then it sets it to an empty string.

+

Note: for backwards compatibility, npm config set key value is supported +as an alias for npm config set key=value.

+

get

+
npm config get [key ...]
+npm get [key ...]
+
+

Echo the config value(s) to stdout.

+

If multiple keys are provided, then the values will be prefixed with the +key names.

+

If no keys are provided, then this command behaves the same as npm config list.

+

list

+
npm config list
+
+

Show all the config settings. Use -l to also show defaults. Use --json +to show the settings in json format.

+

delete

+
npm config delete key [key ...]
+
+

Deletes the specified keys from all configuration files.

+

edit

+
npm config edit
+
+

Opens the config file in an editor. Use the --global flag to edit the +global config.

+

Configuration

+ + + +

json

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Whether or not to output JSON data, rather than the normal output.

+
    +
  • In npm pkg set it enables parsing set values with JSON.parse() before +saving them to your package.json.
  • +
+

Not supported by all npm commands.

+ + +

global

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Operates in "global" mode, so that packages are installed into the prefix +folder instead of the current working directory. See +folders for more on the differences in behavior.

+
    +
  • packages are installed into the {prefix}/lib/node_modules folder, instead +of the current working directory.
  • +
  • bin files are linked to {prefix}/bin
  • +
  • man pages are linked to {prefix}/share/man
  • +
+ + +

editor

+
    +
  • Default: The EDITOR or VISUAL environment variables, or 'notepad.exe' on +Windows, or 'vim' on Unix systems
  • +
  • Type: String
  • +
+

The command to run for npm edit and npm config edit.

+ + +

location

+
    +
  • Default: "user" unless --global is passed, which will also set this value +to "global"
  • +
  • Type: "global", "user", or "project"
  • +
+

When passed to npm config this refers to which config file to use.

+ + +

long

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Show extended information in ls, search, and help-search.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-dedupe.html b/node_modules/npm/docs/output/commands/npm-dedupe.html new file mode 100644 index 0000000..a31af82 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-dedupe.html @@ -0,0 +1,403 @@ + + +npm-dedupe + + + + + +
+
+

npm-dedupe

+Reduce duplication in the package tree +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm dedupe
+npm ddp
+
+aliases: ddp
+
+

Description

+

Searches the local package tree and attempts to simplify the overall +structure by moving dependencies further up the tree, where they can +be more effectively shared by multiple dependent packages.

+

For example, consider this dependency graph:

+
a
++-- b <-- depends on c@1.0.x
+|   `-- c@1.0.3
+`-- d <-- depends on c@~1.0.9
+    `-- c@1.0.10
+
+

In this case, npm dedupe will transform the tree to:

+
a
++-- b
++-- d
+`-- c@1.0.10
+
+

Because of the hierarchical nature of node's module lookup, b and d +will both get their dependency met by the single c package at the root +level of the tree.

+

In some cases, you may have a dependency graph like this:

+
a
++-- b <-- depends on c@1.0.x
++-- c@1.0.3
+`-- d <-- depends on c@1.x
+    `-- c@1.9.9
+
+

During the installation process, the c@1.0.3 dependency for b was +placed in the root of the tree. Though d's dependency on c@1.x could +have been satisfied by c@1.0.3, the newer c@1.9.0 dependency was used, +because npm favors updates by default, even when doing so causes +duplication.

+

Running npm dedupe will cause npm to note the duplication and +re-evaluate, deleting the nested c module, because the one in the root is +sufficient.

+

To prefer deduplication over novelty during the installation process, run +npm install --prefer-dedupe or npm config set prefer-dedupe true.

+

Arguments are ignored. Dedupe always acts on the entire tree.

+

Note that this operation transforms the dependency tree, but will never +result in new modules being installed.

+

Using npm find-dupes will run the command in --dry-run mode.

+

Note that by default npm dedupe will not update the semver values of direct +dependencies in your project package.json, if you want to also update +values in package.json you can run: npm dedupe --save (or add the +save=true option to a configuration file +to make that the default behavior).

+

Configuration

+ + + +

global-style

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Causes npm to install the package into your local node_modules folder with +the same layout it uses with the global node_modules folder. Only your +direct dependencies will show in node_modules and everything they depend +on will be flattened in their node_modules folders. This obviously will +eliminate some deduping. If used with legacy-bundling, legacy-bundling +will be preferred.

+ + +

legacy-bundling

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Causes npm to install the package such that versions of npm prior to 1.4, +such as the one included with node 0.8, can install the package. This +eliminates all automatic deduping. If used with global-style this option +will be preferred.

+ + +

strict-peer-deps

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If set to true, and --legacy-peer-deps is not set, then any +conflicting peerDependencies will be treated as an install failure, even +if npm could reasonably guess the appropriate resolution based on non-peer +dependency relationships.

+

By default, conflicting peerDependencies deep in the dependency graph will +be resolved using the nearest non-peer dependency specification, even if +doing so will result in some packages receiving a peer dependency outside +the range set in their package's peerDependencies object.

+

When such and override is performed, a warning is printed, explaining the +conflict and the packages involved. If --strict-peer-deps is set, then +this warning is treated as a failure.

+ + +

package-lock

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

If set to false, then ignore package-lock.json files when installing. This +will also prevent writing package-lock.json if save is true.

+

When package package-locks are disabled, automatic pruning of extraneous +modules will also be disabled. To remove extraneous modules with +package-locks disabled use npm prune.

+ + +

omit

+
    +
  • Default: 'dev' if the NODE_ENV environment variable is set to +'production', otherwise empty.
  • +
  • Type: "dev", "optional", or "peer" (can be set multiple times)
  • +
+

Dependency types to omit from the installation tree on disk.

+

Note that these dependencies are still resolved and added to the +package-lock.json or npm-shrinkwrap.json file. They are just not +physically installed on disk.

+

If a package type appears in both the --include and --omit lists, then +it will be included.

+

If the resulting omit list includes 'dev', then the NODE_ENV environment +variable will be set to 'production' for all lifecycle scripts.

+ + +

ignore-scripts

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, npm does not run scripts specified in package.json files.

+

Note that commands explicitly intended to run a particular script, such as +npm start, npm stop, npm restart, npm test, and npm run-script +will still run their intended script if ignore-scripts is set, but they +will not run any pre- or post-scripts.

+ + +

audit

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

When "true" submit audit reports alongside the current npm command to the +default registry and all registries configured for scopes. See the +documentation for npm audit for details on what is +submitted.

+ + + +
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Tells npm to create symlinks (or .cmd shims on Windows) for package +executables.

+

Set to false to have it not do this. This can be used to work around the +fact that some file systems don't support symlinks, even on ostensibly Unix +systems.

+ + +

fund

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

When "true" displays the message at the end of each npm install +acknowledging the number of dependencies looking for funding. See npm fund for details.

+ + +

dry-run

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Indicates that you don't want npm to make any changes and that it should +only report what it would have done. This can be passed into any of the +commands that modify your local installation, eg, install, update, +dedupe, uninstall, as well as pack and publish.

+

Note: This is NOT honored by other network related commands, eg dist-tags, +owner, etc.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-deprecate.html b/node_modules/npm/docs/output/commands/npm-deprecate.html new file mode 100644 index 0000000..e95ecf8 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-deprecate.html @@ -0,0 +1,214 @@ + + +npm-deprecate + + + + + +
+
+

npm-deprecate

+Deprecate a version of a package +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm deprecate <pkg>[@<version range>] <message>
+
+

Note: This command is unaware of workspaces.

+

Description

+

This command will update the npm registry entry for a package, providing a +deprecation warning to all who attempt to install it.

+

It works on version ranges as well as specific +versions, so you can do something like this:

+
npm deprecate my-thing@"< 0.2.3" "critical bug fixed in v0.2.3"
+
+

SemVer ranges passed to this command are interpreted such that they do +include prerelease versions. For example:

+
npm deprecate my-thing@1.x "1.x is no longer supported"
+
+

In this case, a version my-thing@1.0.0-beta.0 will also be deprecated.

+

You must be the package owner to deprecate something. See the owner and +adduser help topics.

+

To un-deprecate a package, specify an empty string ("") for the message +argument. Note that you must use double quotes with no space between them to +format an empty string.

+

Configuration

+ + + +

registry

+ +

The base URL of the npm registry.

+ + +

otp

+
    +
  • Default: null
  • +
  • Type: null or String
  • +
+

This is a one-time password from a two-factor authenticator. It's needed +when publishing or changing package permissions with npm access.

+

If not set, and a registry response fails with a challenge for a one-time +password, npm will prompt on the command line for one.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-diff.html b/node_modules/npm/docs/output/commands/npm-diff.html new file mode 100644 index 0000000..1711132 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-diff.html @@ -0,0 +1,432 @@ + + +npm-diff + + + + + +
+
+

npm-diff

+The registry diff command +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm diff [...<paths>]
+npm diff --diff=<pkg-name> [...<paths>]
+npm diff --diff=<version-a> [--diff=<version-b>] [...<paths>]
+npm diff --diff=<spec-a> [--diff=<spec-b>] [...<paths>]
+npm diff [--diff-ignore-all-space] [--diff-name-only] [...<paths>]
+
+

Description

+

Similar to its git diff counterpart, this command will print diff patches +of files for packages published to the npm registry.

+
    +
  • +

    npm diff --diff=<spec-a> --diff=<spec-b>

    +

    Compares two package versions using their registry specifiers, e.g: +npm diff --diff=pkg@1.0.0 --diff=pkg@^2.0.0. It's also possible to +compare across forks of any package, +e.g: npm diff --diff=pkg@1.0.0 --diff=pkg-fork@1.0.0.

    +

    Any valid spec can be used, so that it's also possible to compare +directories or git repositories, +e.g: npm diff --diff=pkg@latest --diff=./packages/pkg

    +

    Here's an example comparing two different versions of a package named +abbrev from the registry:

    +
    npm diff --diff=abbrev@1.1.0 --diff=abbrev@1.1.1
    +
    +

    On success, output looks like:

    +
    diff --git a/package.json b/package.json
    +index v1.1.0..v1.1.1 100644
    +--- a/package.json
    ++++ b/package.json
    +@@ -1,6 +1,6 @@
    + {
    +   "name": "abbrev",
    +-  "version": "1.1.0",
    ++  "version": "1.1.1",
    +   "description": "Like ruby's abbrev module, but in js",
    +   "author": "Isaac Z. Schlueter <i@izs.me>",
    +   "main": "abbrev.js",
    +
    +

    Given the flexible nature of npm specs, you can also target local +directories or git repos just like when using npm install:

    +
    npm diff --diff=https://github.com/npm/libnpmdiff --diff=./local-path
    +
    +

    In the example above we can compare the contents from the package installed +from the git repo at github.com/npm/libnpmdiff with the contents of the +./local-path that contains a valid package, such as a modified copy of +the original.

    +
  • +
  • +

    npm diff (in a package directory, no arguments):

    +

    If the package is published to the registry, npm diff will fetch the +tarball version tagged as latest (this value can be configured using the +tag option) and proceed to compare the contents of files present in that +tarball, with the current files in your local file system.

    +

    This workflow provides a handy way for package authors to see what +package-tracked files have been changed in comparison with the latest +published version of that package.

    +
  • +
  • +

    npm diff --diff=<pkg-name> (in a package directory):

    +

    When using a single package name (with no version or tag specifier) as an +argument, npm diff will work in a similar way to +npm-outdated and reach for the registry to figure out +what current published version of the package named <pkg-name> +will satisfy its dependent declared semver-range. Once that specific +version is known npm diff will print diff patches comparing the +current version of <pkg-name> found in the local file system with +that specific version returned by the registry.

    +

    Given a package named abbrev that is currently installed:

    +
    npm diff --diff=abbrev
    +
    +

    That will request from the registry its most up to date version and +will print a diff output comparing the currently installed version to this +newer one if the version numbers are not the same.

    +
  • +
  • +

    npm diff --diff=<spec-a> (in a package directory):

    +

    Similar to using only a single package name, it's also possible to declare +a full registry specifier version if you wish to compare the local version +of an installed package with the specific version/tag/semver-range provided +in <spec-a>.

    +

    An example: assuming pkg@1.0.0 is installed in the current node_modules +folder, running:

    +
    npm diff --diff=pkg@2.0.0
    +
    +

    It will effectively be an alias to +npm diff --diff=pkg@1.0.0 --diff=pkg@2.0.0.

    +
  • +
  • +

    npm diff --diff=<semver-a> [--diff=<semver-b>] (in a package directory):

    +

    Using npm diff along with semver-valid version numbers is a shorthand +to compare different versions of the current package.

    +

    It needs to be run from a package directory, such that for a package named +pkg running npm diff --diff=1.0.0 --diff=1.0.1 is the same as running +npm diff --diff=pkg@1.0.0 --diff=pkg@1.0.1.

    +

    If only a single argument <version-a> is provided, then the current local +file system is going to be compared against that version.

    +

    Here's an example comparing two specific versions (published to the +configured registry) of the current project directory:

    +
    npm diff --diff=1.0.0 --diff=1.1.0
    +
    +
  • +
+

Note that tag names are not valid --diff argument values, if you wish to +compare to a published tag, you must use the pkg@tagname syntax.

+

Filtering files

+

It's possible to also specify positional arguments using file names or globs +pattern matching in order to limit the result of diff patches to only a subset +of files for a given package, e.g:

+
npm diff --diff=pkg@2 ./lib/ CHANGELOG.md
+
+

In the example above the diff output is only going to print contents of files +located within the folder ./lib/ and changed lines of code within the +CHANGELOG.md file.

+

Configuration

+ + + +

diff

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Define arguments to compare in npm diff.

+ + +

diff-name-only

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Prints only filenames when using npm diff.

+ + +

diff-unified

+
    +
  • Default: 3
  • +
  • Type: Number
  • +
+

The number of lines of context to print in npm diff.

+ + +

diff-ignore-all-space

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Ignore whitespace when comparing lines in npm diff.

+ + +

diff-no-prefix

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Do not show any source or destination prefix in npm diff output.

+

Note: this causes npm diff to ignore the --diff-src-prefix and +--diff-dst-prefix configs.

+ + +

diff-src-prefix

+
    +
  • Default: "a/"
  • +
  • Type: String
  • +
+

Source prefix to be used in npm diff output.

+ + +

diff-dst-prefix

+
    +
  • Default: "b/"
  • +
  • Type: String
  • +
+

Destination prefix to be used in npm diff output.

+ + +

diff-text

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Treat all files as text in npm diff.

+ + +

global

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Operates in "global" mode, so that packages are installed into the prefix +folder instead of the current working directory. See +folders for more on the differences in behavior.

+
    +
  • packages are installed into the {prefix}/lib/node_modules folder, instead +of the current working directory.
  • +
  • bin files are linked to {prefix}/bin
  • +
  • man pages are linked to {prefix}/share/man
  • +
+ + +

tag

+
    +
  • Default: "latest"
  • +
  • Type: String
  • +
+

If you ask npm to install a package and don't tell it a specific version, +then it will install the specified tag.

+

Also the tag that is added to the package@version specified by the npm tag +command, if no explicit tag is given.

+

When used by the npm diff command, this is the tag used to fetch the +tarball that will be compared with the local files by default.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-dist-tag.html b/node_modules/npm/docs/output/commands/npm-dist-tag.html new file mode 100644 index 0000000..9448432 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-dist-tag.html @@ -0,0 +1,290 @@ + + +npm-dist-tag + + + + + +
+
+

npm-dist-tag

+Modify package distribution tags +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm dist-tag add <pkg>@<version> [<tag>]
+npm dist-tag rm <pkg> <tag>
+npm dist-tag ls [<pkg>]
+
+aliases: dist-tags
+
+

Description

+

Add, remove, and enumerate distribution tags on a package:

+
    +
  • +

    add: Tags the specified version of the package with the specified tag, or +the --tag config if not specified. If you have two-factor +authentication on auth-and-writes then you’ll need to include a one-time +password on the command line with --otp <one-time password>, or at the +OTP prompt.

    +
  • +
  • +

    rm: Clear a tag that is no longer in use from the package. If you have +two-factor authentication on auth-and-writes then you’ll need to include +a one-time password on the command line with --otp <one-time password>, +or at the OTP prompt.

    +
  • +
  • +

    ls: Show all of the dist-tags for a package, defaulting to the package in +the current prefix. This is the default action if none is specified.

    +
  • +
+

A tag can be used when installing packages as a reference to a version instead +of using a specific version number:

+
npm install <name>@<tag>
+
+

When installing dependencies, a preferred tagged version may be specified:

+
npm install --tag <tag>
+
+

(This also applies to any other commands that resolve and install +dependencies, such as npm dedupe, npm update, and npm audit fix.)

+

Publishing a package sets the latest tag to the published version unless the +--tag option is used. For example, npm publish --tag=beta.

+

By default, npm install <pkg> (without any @<version> or @<tag> +specifier) installs the latest tag.

+

Purpose

+

Tags can be used to provide an alias instead of version numbers.

+

For example, a project might choose to have multiple streams of development +and use a different tag for each stream, e.g., stable, beta, dev, +canary.

+

By default, the latest tag is used by npm to identify the current version +of a package, and npm install <pkg> (without any @<version> or @<tag> +specifier) installs the latest tag. Typically, projects only use the +latest tag for stable release versions, and use other tags for unstable +versions such as prereleases.

+

The next tag is used by some projects to identify the upcoming version.

+

Other than latest, no tag has any special significance to npm itself.

+

Caveats

+

This command used to be known as npm tag, which only created new tags, +and so had a different syntax.

+

Tags must share a namespace with version numbers, because they are +specified in the same slot: npm install <pkg>@<version> vs +npm install <pkg>@<tag>.

+

Tags that can be interpreted as valid semver ranges will be rejected. For +example, v1.4 cannot be used as a tag, because it is interpreted by +semver as >=1.4.0 <1.5.0. See https://github.com/npm/npm/issues/6082.

+

The simplest way to avoid semver problems with tags is to use tags that do +not begin with a number or the letter v.

+

Configuration

+ + + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-docs.html b/node_modules/npm/docs/output/commands/npm-docs.html new file mode 100644 index 0000000..01094eb --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-docs.html @@ -0,0 +1,256 @@ + + +npm-docs + + + + + +
+
+

npm-docs

+Open documentation for a package in a web browser +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm docs [<pkgname> [<pkgname> ...]]
+
+aliases: home
+
+

Description

+

This command tries to guess at the likely location of a package's +documentation URL, and then tries to open it using the --browser config +param. You can pass multiple package names at once. If no package name is +provided, it will search for a package.json in the current folder and use +the name property.

+

Configuration

+ + + +

browser

+
    +
  • Default: OS X: "open", Windows: "start", Others: "xdg-open"
  • +
  • Type: null, Boolean, or String
  • +
+

The browser that is called by npm commands to open websites.

+

Set to false to suppress browser behavior and instead print urls to +terminal.

+

Set to true to use default system URL opener.

+ + +

registry

+ +

The base URL of the npm registry.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-doctor.html b/node_modules/npm/docs/output/commands/npm-doctor.html new file mode 100644 index 0000000..2f42a62 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-doctor.html @@ -0,0 +1,258 @@ + + +npm-doctor + + + + + +
+
+

npm-doctor

+Check your npm environment +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm doctor
+
+

Note: This command is unaware of workspaces.

+

Description

+

npm doctor runs a set of checks to ensure that your npm installation has +what it needs to manage your JavaScript packages. npm is mostly a +standalone tool, but it does have some basic requirements that must be met:

+
    +
  • Node.js and git must be executable by npm.
  • +
  • The primary npm registry, registry.npmjs.com, or another service that +uses the registry API, is available.
  • +
  • The directories that npm uses, node_modules (both locally and +globally), exist and can be written by the current user.
  • +
  • The npm cache exists, and the package tarballs within it aren't corrupt.
  • +
+

Without all of these working properly, npm may not work properly. Many +issues are often attributable to things that are outside npm's code base, +so npm doctor confirms that the npm installation is in a good state.

+

Also, in addition to this, there are also very many issue reports due to +using old versions of npm. Since npm is constantly improving, running +npm@latest is better than an old version.

+

npm doctor verifies the following items in your environment, and if there +are any recommended changes, it will display them.

+

npm ping

+

By default, npm installs from the primary npm registry, +registry.npmjs.org. npm doctor hits a special ping endpoint within the +registry. This can also be checked with npm ping. If this check fails, +you may be using a proxy that needs to be configured, or may need to talk +to your IT staff to get access over HTTPS to registry.npmjs.org.

+

This check is done against whichever registry you've configured (you can +see what that is by running npm config get registry), and if you're using +a private registry that doesn't support the /whoami endpoint supported by +the primary registry, this check may fail.

+

npm -v

+

While Node.js may come bundled with a particular version of npm, it's the +policy of the CLI team that we recommend all users run npm@latest if they +can. As the CLI is maintained by a small team of contributors, there are +only resources for a single line of development, so npm's own long-term +support releases typically only receive critical security and regression +fixes. The team believes that the latest tested version of npm is almost +always likely to be the most functional and defect-free version of npm.

+

node -v

+

For most users, in most circumstances, the best version of Node will be the +latest long-term support (LTS) release. Those of you who want access to new +ECMAscript features or bleeding-edge changes to Node's standard library may +be running a newer version, and some may be required to run an older +version of Node because of enterprise change control policies. That's OK! +But in general, the npm team recommends that most users run Node.js LTS.

+

npm config get registry

+

You may be installing from private package registries for your project or +company. That's great! Others may be following tutorials or StackOverflow +questions in an effort to troubleshoot problems you may be having. +Sometimes, this may entail changing the registry you're pointing at. This +part of npm doctor just lets you, and maybe whoever's helping you with +support, know that you're not using the default registry.

+

which git

+

While it's documented in the README, it may not be obvious that npm needs +Git installed to do many of the things that it does. Also, in some cases +– especially on Windows – you may have Git set up in such a way that it's +not accessible via your PATH so that npm can find it. This check ensures +that Git is available.

+

Permissions checks

+
    +
  • Your cache must be readable and writable by the user running npm.
  • +
  • Global package binaries must be writable by the user running npm.
  • +
  • Your local node_modules path, if you're running npm doctor with a +project directory, must be readable and writable by the user running npm.
  • +
+

Validate the checksums of cached packages

+

When an npm package is published, the publishing process generates a +checksum that npm uses at install time to verify that the package didn't +get corrupted in transit. npm doctor uses these checksums to validate the +package tarballs in your local cache (you can see where that cache is +located with npm config get cache). In the event that there are corrupt +packages in your cache, you should probably run npm cache clean -f and +reset the cache.

+

Configuration

+ + + +

registry

+ +

The base URL of the npm registry.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-edit.html b/node_modules/npm/docs/output/commands/npm-edit.html new file mode 100644 index 0000000..7b5cf1c --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-edit.html @@ -0,0 +1,197 @@ + + +npm-edit + + + + + +
+
+

npm-edit

+Edit an installed package +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm edit <pkg>
+
+

Note: This command is unaware of workspaces.

+

Description

+

Selects a dependency in the current project and opens the package folder in +the default editor (or whatever you've configured as the npm editor +config -- see npm-config.)

+

After it has been edited, the package is rebuilt so as to pick up any +changes in compiled packages.

+

For instance, you can do npm install connect to install connect +into your package, and then npm edit connect to make a few +changes to your locally installed copy.

+

Configuration

+ + + +

editor

+
    +
  • Default: The EDITOR or VISUAL environment variables, or 'notepad.exe' on +Windows, or 'vim' on Unix systems
  • +
  • Type: String
  • +
+

The command to run for npm edit and npm config edit.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-exec.html b/node_modules/npm/docs/output/commands/npm-exec.html new file mode 100644 index 0000000..89398e3 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-exec.html @@ -0,0 +1,459 @@ + + +npm-exec + + + + + +
+
+

npm-exec

+Run a command from a local or remote npm package +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm exec -- <pkg>[@<version>] [args...]
+npm exec --package=<pkg>[@<version>] -- <cmd> [args...]
+npm exec -c '<cmd> [args...]'
+npm exec --package=foo -c '<cmd> [args...]'
+npm exec [--ws] [-w <workspace-name] [args...]
+
+npx <pkg>[@<specifier>] [args...]
+npx -p <pkg>[@<specifier>] <cmd> [args...]
+npx -c '<cmd> [args...]'
+npx -p <pkg>[@<specifier>] -c '<cmd> [args...]'
+Run without --call or positional args to open interactive subshell
+
+alias: npm x, npx
+
+common options:
+--package=<pkg> (may be specified multiple times)
+-p is a shorthand for --package only when using npx executable
+-c <cmd> --call=<cmd> (may not be mixed with positional arguments)
+
+

Description

+

This command allows you to run an arbitrary command from an npm package +(either one installed locally, or fetched remotely), in a similar context +as running it via npm run.

+

Run without positional arguments or --call, this allows you to +interactively run commands in the same sort of shell environment that +package.json scripts are run. Interactive mode is not supported in CI +environments when standard input is a TTY, to prevent hangs.

+

Whatever packages are specified by the --package option will be +provided in the PATH of the executed command, along with any locally +installed package executables. The --package option may be +specified multiple times, to execute the supplied command in an environment +where all specified packages are available.

+

If any requested packages are not present in the local project +dependencies, then they are installed to a folder in the npm cache, which +is added to the PATH environment variable in the executed process. A +prompt is printed (which can be suppressed by providing either --yes or +--no).

+

Package names provided without a specifier will be matched with whatever +version exists in the local project. Package names with a specifier will +only be considered a match if they have the exact same name and version as +the local dependency.

+

If no -c or --call option is provided, then the positional arguments +are used to generate the command string. If no --package options +are provided, then npm will attempt to determine the executable name from +the package specifier provided as the first positional argument according +to the following heuristic:

+
    +
  • If the package has a single entry in its bin field in package.json, +or if all entries are aliases of the same command, then that command +will be used.
  • +
  • If the package has multiple bin entries, and one of them matches the +unscoped portion of the name field, then that command will be used.
  • +
  • If this does not result in exactly one option (either because there are +no bin entries, or none of them match the name of the package), then +npm exec exits with an error.
  • +
+

To run a binary other than the named binary, specify one or more +--package options, which will prevent npm from inferring the package from +the first command argument.

+

npx vs npm exec

+

When run via the npx binary, all flags and options must be set prior to +any positional arguments. When run via npm exec, a double-hyphen -- +flag can be used to suppress npm's parsing of switches and options that +should be sent to the executed command.

+

For example:

+
$ npx foo@latest bar --package=@npmcli/foo
+
+

In this case, npm will resolve the foo package name, and run the +following command:

+
$ foo bar --package=@npmcli/foo
+
+

Since the --package option comes after the positional arguments, it is +treated as an argument to the executed command.

+

In contrast, due to npm's argument parsing logic, running this command is +different:

+
$ npm exec foo@latest bar --package=@npmcli/foo
+
+

In this case, npm will parse the --package option first, resolving the +@npmcli/foo package. Then, it will execute the following command in that +context:

+
$ foo@latest bar
+
+

The double-hyphen character is recommended to explicitly tell npm to stop +parsing command line options and switches. The following command would +thus be equivalent to the npx command above:

+
$ npm exec -- foo@latest bar --package=@npmcli/foo
+
+

Configuration

+ + + +

package

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

The package to install for npm exec

+ + +

call

+
    +
  • Default: ""
  • +
  • Type: String
  • +
+

Optional companion option for npm exec, npx that allows for specifying a +custom command to be run along with the installed packages.

+
npm exec --package yo --package generator-node --call "yo node"
+
+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

Examples

+

Run the version of tap in the local dependencies, with the provided +arguments:

+
$ npm exec -- tap --bail test/foo.js
+$ npx tap --bail test/foo.js
+
+

Run a command other than the command whose name matches the package name +by specifying a --package option:

+
$ npm exec --package=foo -- bar --bar-argument
+# ~ or ~
+$ npx --package=foo bar --bar-argument
+
+

Run an arbitrary shell script, in the context of the current project:

+
$ npm x -c 'eslint && say "hooray, lint passed"'
+$ npx -c 'eslint && say "hooray, lint passed"'
+
+

Workspaces support

+

You may use the workspace or workspaces configs in order to run an +arbitrary command from an npm package (either one installed locally, or fetched +remotely) in the context of the specified workspaces. +If no positional argument or --call option is provided, it will open an +interactive subshell in the context of each of these configured workspaces one +at a time.

+

Given a project with configured workspaces, e.g:

+
.
++-- package.json
+`-- packages
+   +-- a
+   |   `-- package.json
+   +-- b
+   |   `-- package.json
+   `-- c
+       `-- package.json
+
+

Assuming the workspace configuration is properly set up at the root level +package.json file. e.g:

+
{
+    "workspaces": [ "./packages/*" ]
+}
+
+

You can execute an arbitrary command from a package in the context of each of +the configured workspaces when using the workspaces configuration options, +in this example we're using eslint to lint any js file found within each +workspace folder:

+
npm exec --ws -- eslint ./*.js
+
+

Filtering workspaces

+

It's also possible to execute a command in a single workspace using the +workspace config along with a name or directory path:

+
npm exec --workspace=a -- eslint ./*.js
+
+

The workspace config can also be specified multiple times in order to run a +specific script in the context of multiple workspaces. When defining values for +the workspace config in the command line, it also possible to use -w as a +shorthand, e.g:

+
npm exec -w a -w b -- eslint ./*.js
+
+

This last command will run the eslint command in both ./packages/a and +./packages/b folders.

+

Compatibility with Older npx Versions

+

The npx binary was rewritten in npm v7.0.0, and the standalone npx +package deprecated at that time. npx uses the npm exec +command instead of a separate argument parser and install process, with +some affordances to maintain backwards compatibility with the arguments it +accepted in previous versions.

+

This resulted in some shifts in its functionality:

+
    +
  • Any npm config value may be provided.
  • +
  • To prevent security and user-experience problems from mistyping package +names, npx prompts before installing anything. Suppress this +prompt with the -y or --yes option.
  • +
  • The --no-install option is deprecated, and will be converted to --no.
  • +
  • Shell fallback functionality is removed, as it is not advisable.
  • +
  • The -p argument is a shorthand for --parseable in npm, but shorthand +for --package in npx. This is maintained, but only for the npx +executable.
  • +
  • The --ignore-existing option is removed. Locally installed bins are +always present in the executed process PATH.
  • +
  • The --npm option is removed. npx will always use the npm it ships +with.
  • +
  • The --node-arg and -n options are removed.
  • +
  • The --always-spawn option is redundant, and thus removed.
  • +
  • The --shell option is replaced with --script-shell, but maintained +in the npx executable for backwards compatibility.
  • +
+

A note on caching

+

The npm cli utilizes its internal package cache when using the package +name specified. You can use the following to change how and when the +cli uses this cache. See npm cache for more on +how the cache works.

+

prefer-online

+

Forces staleness checks for packages, making the cli look for updates +immediately even if the package is already in the cache.

+

prefer-offline

+

Bypasses staleness checks for packages. Missing data will still be +requested from the server. To force full offline mode, use offline.

+

offline

+

Forces full offline mode. Any packages not locally cached will result in +an error.

+

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result to selecting all of the +nested workspaces)
  • +
+

This value is not exported to the environment for child processes.

+

workspaces

+
    +
  • Alias: --ws
  • +
  • Type: Boolean
  • +
  • Default: false
  • +
+

Run scripts in the context of all configured workspaces for the current +project.

+

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-explain.html b/node_modules/npm/docs/output/commands/npm-explain.html new file mode 100644 index 0000000..4c0ef6d --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-explain.html @@ -0,0 +1,250 @@ + + +npm-explain + + + + + +
+
+

npm-explain

+Explain installed packages +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm explain <folder | specifier>
+
+alias: why
+
+

Description

+

This command will print the chain of dependencies causing a given package +to be installed in the current project.

+

Positional arguments can be either folders within node_modules, or +name@version-range specifiers, which will select the dependency +relationships to explain.

+

For example, running npm explain glob within npm's source tree will show:

+
glob@7.1.6
+node_modules/glob
+  glob@"^7.1.4" from the root project
+
+glob@7.1.1 dev
+node_modules/tacks/node_modules/glob
+  glob@"^7.0.5" from rimraf@2.6.2
+  node_modules/tacks/node_modules/rimraf
+    rimraf@"^2.6.2" from tacks@1.3.0
+    node_modules/tacks
+      dev tacks@"^1.3.0" from the root project
+
+

To explain just the package residing at a specific folder, pass that as the +argument to the command. This can be useful when trying to figure out +exactly why a given dependency is being duplicated to satisfy conflicting +version requirements within the project.

+
$ npm explain node_modules/nyc/node_modules/find-up
+find-up@3.0.0 dev
+node_modules/nyc/node_modules/find-up
+  find-up@"^3.0.0" from nyc@14.1.1
+  node_modules/nyc
+    nyc@"^14.1.1" from tap@14.10.8
+    node_modules/tap
+      dev tap@"^14.10.8" from the root project
+
+

Configuration

+ + + +

json

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Whether or not to output JSON data, rather than the normal output.

+
    +
  • In npm pkg set it enables parsing set values with JSON.parse() before +saving them to your package.json.
  • +
+

Not supported by all npm commands.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-explore.html b/node_modules/npm/docs/output/commands/npm-explore.html new file mode 100644 index 0000000..5082ce5 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-explore.html @@ -0,0 +1,197 @@ + + +npm-explore + + + + + +
+
+

npm-explore

+Browse an installed package +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm explore <pkg> [ -- <command>]
+
+

Note: This command is unaware of workspaces.

+

Description

+

Spawn a subshell in the directory of the installed package specified.

+

If a command is specified, then it is run in the subshell, which then +immediately terminates.

+

This is particularly handy in the case of git submodules in the +node_modules folder:

+
npm explore some-dependency -- git pull origin master
+
+

Note that the package is not automatically rebuilt afterwards, so be +sure to use npm rebuild <pkg> if you make any changes.

+

Configuration

+ + + +

shell

+
    +
  • Default: SHELL environment variable, or "bash" on Posix, or "cmd.exe" on +Windows
  • +
  • Type: String
  • +
+

The shell to run for the npm explore command.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-find-dupes.html b/node_modules/npm/docs/output/commands/npm-find-dupes.html new file mode 100644 index 0000000..8625c3d --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-find-dupes.html @@ -0,0 +1,344 @@ + + +npm-find-dupes + + + + + +
+
+

npm-find-dupes

+Find duplication in the package tree +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm find-dupes
+
+

Description

+

Runs npm dedupe in --dry-run mode, making npm only output the +duplications, without actually changing the package tree.

+

Configuration

+ + + +

global-style

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Causes npm to install the package into your local node_modules folder with +the same layout it uses with the global node_modules folder. Only your +direct dependencies will show in node_modules and everything they depend +on will be flattened in their node_modules folders. This obviously will +eliminate some deduping. If used with legacy-bundling, legacy-bundling +will be preferred.

+ + +

legacy-bundling

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Causes npm to install the package such that versions of npm prior to 1.4, +such as the one included with node 0.8, can install the package. This +eliminates all automatic deduping. If used with global-style this option +will be preferred.

+ + +

strict-peer-deps

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If set to true, and --legacy-peer-deps is not set, then any +conflicting peerDependencies will be treated as an install failure, even +if npm could reasonably guess the appropriate resolution based on non-peer +dependency relationships.

+

By default, conflicting peerDependencies deep in the dependency graph will +be resolved using the nearest non-peer dependency specification, even if +doing so will result in some packages receiving a peer dependency outside +the range set in their package's peerDependencies object.

+

When such and override is performed, a warning is printed, explaining the +conflict and the packages involved. If --strict-peer-deps is set, then +this warning is treated as a failure.

+ + +

package-lock

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

If set to false, then ignore package-lock.json files when installing. This +will also prevent writing package-lock.json if save is true.

+

When package package-locks are disabled, automatic pruning of extraneous +modules will also be disabled. To remove extraneous modules with +package-locks disabled use npm prune.

+ + +

omit

+
    +
  • Default: 'dev' if the NODE_ENV environment variable is set to +'production', otherwise empty.
  • +
  • Type: "dev", "optional", or "peer" (can be set multiple times)
  • +
+

Dependency types to omit from the installation tree on disk.

+

Note that these dependencies are still resolved and added to the +package-lock.json or npm-shrinkwrap.json file. They are just not +physically installed on disk.

+

If a package type appears in both the --include and --omit lists, then +it will be included.

+

If the resulting omit list includes 'dev', then the NODE_ENV environment +variable will be set to 'production' for all lifecycle scripts.

+ + +

ignore-scripts

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, npm does not run scripts specified in package.json files.

+

Note that commands explicitly intended to run a particular script, such as +npm start, npm stop, npm restart, npm test, and npm run-script +will still run their intended script if ignore-scripts is set, but they +will not run any pre- or post-scripts.

+ + +

audit

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

When "true" submit audit reports alongside the current npm command to the +default registry and all registries configured for scopes. See the +documentation for npm audit for details on what is +submitted.

+ + + +
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Tells npm to create symlinks (or .cmd shims on Windows) for package +executables.

+

Set to false to have it not do this. This can be used to work around the +fact that some file systems don't support symlinks, even on ostensibly Unix +systems.

+ + +

fund

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

When "true" displays the message at the end of each npm install +acknowledging the number of dependencies looking for funding. See npm fund for details.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-fund.html b/node_modules/npm/docs/output/commands/npm-fund.html new file mode 100644 index 0000000..af7991b --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-fund.html @@ -0,0 +1,280 @@ + + +npm-fund + + + + + +
+
+

npm-fund

+Retrieve funding information +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm fund [<pkg>]
+npm fund [-w <workspace-name>]
+
+

Description

+

This command retrieves information on how to fund the dependencies of a +given project. If no package name is provided, it will list all +dependencies that are looking for funding in a tree structure, listing the +type of funding and the url to visit. If a package name is provided then it +tries to open its funding url using the --browser config param; if there +are multiple funding sources for the package, the user will be instructed +to pass the --which option to disambiguate.

+

The list will avoid duplicated entries and will stack all packages that +share the same url as a single entry. Thus, the list does not have the same +shape of the output from npm ls.

+

Example

+

Workspaces support

+

It's possible to filter the results to only include a single workspace and its +dependencies using the workspace config option.

+

Example:

+

Here's an example running npm fund in a project with a configured +workspace a:

+
$ npm fund
+test-workspaces-fund@1.0.0
++-- https://example.com/a
+| | `-- a@1.0.0
+| `-- https://example.com/maintainer
+|     `-- foo@1.0.0
++-- https://example.com/npmcli-funding
+|   `-- @npmcli/test-funding
+`-- https://example.com/org
+    `-- bar@2.0.0
+
+

And here is an example of the expected result when filtering only by +a specific workspace a in the same project:

+
$ npm fund -w a
+test-workspaces-fund@1.0.0
+`-- https://example.com/a
+  | `-- a@1.0.0
+  `-- https://example.com/maintainer
+      `-- foo@2.0.0
+
+

Configuration

+ + + +

json

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Whether or not to output JSON data, rather than the normal output.

+
    +
  • In npm pkg set it enables parsing set values with JSON.parse() before +saving them to your package.json.
  • +
+

Not supported by all npm commands.

+ + +

browser

+
    +
  • Default: OS X: "open", Windows: "start", Others: "xdg-open"
  • +
  • Type: null, Boolean, or String
  • +
+

The browser that is called by npm commands to open websites.

+

Set to false to suppress browser behavior and instead print urls to +terminal.

+

Set to true to use default system URL opener.

+ + +

unicode

+
    +
  • Default: false on windows, true on mac/unix systems with a unicode locale, +as defined by the LC_ALL, LC_CTYPE, or LANG environment variables.
  • +
  • Type: Boolean
  • +
+

When set to true, npm uses unicode characters in the tree output. When +false, it uses ascii characters instead of unicode glyphs.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

which

+
    +
  • Default: null
  • +
  • Type: null or Number
  • +
+

If there are multiple funding sources, which 1-indexed source URL to open.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-help-search.html b/node_modules/npm/docs/output/commands/npm-help-search.html new file mode 100644 index 0000000..ae74307 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-help-search.html @@ -0,0 +1,191 @@ + + +npm-help-search + + + + + +
+
+

npm-help-search

+Search npm help documentation +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm help-search <text>
+
+

Note: This command is unaware of workspaces.

+

Description

+

This command will search the npm markdown documentation files for the terms +provided, and then list the results, sorted by relevance.

+

If only one result is found, then it will show that help topic.

+

If the argument to npm help is not a known help topic, then it will call +help-search. It is rarely if ever necessary to call this command +directly.

+

Configuration

+ + + +

long

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Show extended information in ls, search, and help-search.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-help.html b/node_modules/npm/docs/output/commands/npm-help.html new file mode 100644 index 0000000..83d0273 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-help.html @@ -0,0 +1,195 @@ + + +npm-help + + + + + +
+
+

npm-help

+Get help on npm +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm help <term> [<terms..>]
+
+

Note: This command is unaware of workspaces.

+

Description

+

If supplied a topic, then show the appropriate documentation page.

+

If the topic does not exist, or if multiple terms are provided, then npm +will run the help-search command to find a match. Note that, if +help-search finds a single subject, then it will run help on that +topic, so unique matches are equivalent to specifying a topic name.

+

Configuration

+ + + +

viewer

+
    +
  • Default: "man" on Posix, "browser" on Windows
  • +
  • Type: String
  • +
+

The program to use to view help content.

+

Set to "browser" to view html help content in the default web browser.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-hook.html b/node_modules/npm/docs/output/commands/npm-hook.html new file mode 100644 index 0000000..79e5c87 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-hook.html @@ -0,0 +1,235 @@ + + +npm-hook + + + + + +
+
+

npm-hook

+Manage registry hooks +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm hook ls [pkg]
+npm hook add <entity> <url> <secret>
+npm hook update <id> <url> [secret]
+npm hook rm <id>
+
+

Note: This command is unaware of workspaces.

+

Description

+

Allows you to manage npm +hooks, +including adding, removing, listing, and updating.

+

Hooks allow you to configure URL endpoints that will be notified whenever a +change happens to any of the supported entity types. Three different types +of entities can be watched by hooks: packages, owners, and scopes.

+

To create a package hook, simply reference the package name.

+

To create an owner hook, prefix the owner name with ~ (as in, +~youruser).

+

To create a scope hook, prefix the scope name with @ (as in, +@yourscope).

+

The hook id used by update and rm are the IDs listed in npm hook ls +for that particular hook.

+

The shared secret will be sent along to the URL endpoint so you can verify +the request came from your own configured hook.

+

Example

+

Add a hook to watch a package for changes:

+
$ npm hook add lodash https://example.com/ my-shared-secret
+
+

Add a hook to watch packages belonging to the user substack:

+
$ npm hook add ~substack https://example.com/ my-shared-secret
+
+

Add a hook to watch packages in the scope @npm

+
$ npm hook add @npm https://example.com/ my-shared-secret
+
+

List all your active hooks:

+
$ npm hook ls
+
+

List your active hooks for the lodash package:

+
$ npm hook ls lodash
+
+

Update an existing hook's url:

+
$ npm hook update id-deadbeef https://my-new-website.here/
+
+

Remove a hook:

+
$ npm hook rm id-deadbeef
+
+

Configuration

+ + + +

registry

+ +

The base URL of the npm registry.

+ + +

otp

+
    +
  • Default: null
  • +
  • Type: null or String
  • +
+

This is a one-time password from a two-factor authenticator. It's needed +when publishing or changing package permissions with npm access.

+

If not set, and a registry response fails with a challenge for a one-time +password, npm will prompt on the command line for one.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-init.html b/node_modules/npm/docs/output/commands/npm-init.html new file mode 100644 index 0000000..530e75f --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-init.html @@ -0,0 +1,360 @@ + + +npm-init + + + + + +
+
+

npm-init

+Create a package.json file +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm init [--yes|-y|--scope]
+npm init <@scope> (same as `npm exec <@scope>/create`)
+npm init [<@scope>/]<name> (same as `npm exec [<@scope>/]create-<name>`)
+npm init [-w <dir>] [args...]
+
+

Description

+

npm init <initializer> can be used to set up a new or existing npm +package.

+

initializer in this case is an npm package named create-<initializer>, +which will be installed by npm-exec, and then have its +main bin executed -- presumably creating or updating package.json and +running any other initialization-related operations.

+

The init command is transformed to a corresponding npm exec operation as +follows:

+
    +
  • npm init foo -> npm exec create-foo
  • +
  • npm init @usr/foo -> npm exec @usr/create-foo
  • +
  • npm init @usr -> npm exec @usr/create
  • +
+

If the initializer is omitted (by just calling npm init), init will fall +back to legacy init behavior. It will ask you a bunch of questions, and +then write a package.json for you. It will attempt to make reasonable +guesses based on existing fields, dependencies, and options selected. It is +strictly additive, so it will keep any fields and values that were already +set. You can also use -y/--yes to skip the questionnaire altogether. If +you pass --scope, it will create a scoped package.

+

Forwarding additional options

+

Any additional options will be passed directly to the command, so npm init foo -- --hello will map to npm exec -- create-foo --hello.

+

To better illustrate how options are forwarded, here's a more evolved +example showing options passed to both the npm cli and a create package, +both following commands are equivalent:

+
    +
  • npm init foo -y --registry=<url> -- --hello -a
  • +
  • npm exec -y --registry=<url> -- create-foo --hello -a
  • +
+

Examples

+

Create a new React-based project using +create-react-app:

+
$ npm init react-app ./my-react-app
+
+

Create a new esm-compatible package using +create-esm:

+
$ mkdir my-esm-lib && cd my-esm-lib
+$ npm init esm --yes
+
+

Generate a plain old package.json using legacy init:

+
$ mkdir my-npm-pkg && cd my-npm-pkg
+$ git init
+$ npm init
+
+

Generate it without having it ask any questions:

+
$ npm init -y
+
+

Workspaces support

+

It's possible to create a new workspace within your project by using the +workspace config option. When using npm init -w <dir> the cli will +create the folders and boilerplate expected while also adding a reference +to your project package.json "workspaces": [] property in order to make +sure that new generated workspace is properly set up as such.

+

Given a project with no workspaces, e.g:

+
.
++-- package.json
+
+

You may generate a new workspace using the legacy init:

+
$ npm init -w packages/a
+
+

That will generate a new folder and package.json file, while also updating +your top-level package.json to add the reference to this new workspace:

+
.
++-- package.json
+`-- packages
+   `-- a
+       `-- package.json
+
+

The workspaces init also supports the npm init <initializer> -w <dir> +syntax, following the same set of rules explained earlier in the initial +Description section of this page. Similar to the previous example of +creating a new React-based project using +create-react-app, the following syntax +will make sure to create the new react app as a nested workspace within your +project and configure your package.json to recognize it as such:

+
npm init -w packages/my-react-app react-app .
+
+

This will make sure to generate your react app as expected, one important +consideration to have in mind is that npm exec is going to be run in the +context of the newly created folder for that workspace, and that's the reason +why in this example the initializer uses the initializer name followed with a +dot to represent the current directory in that context, e.g: react-app .:

+
.
++-- package.json
+`-- packages
+   +-- a
+   |   `-- package.json
+   `-- my-react-app
+       +-- README
+       +-- package.json
+       `-- ...
+
+

Configuration

+ + + +

yes

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Automatically answer "yes" to any prompts that npm might print on the +command line.

+ + +

force

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Removes various protections against unfortunate side effects, common +mistakes, unnecessary performance degradation, and malicious input.

+
    +
  • Allow clobbering non-npm files in global installs.
  • +
  • Allow the npm version command to work on an unclean git repository.
  • +
  • Allow deleting the cache folder with npm cache clean.
  • +
  • Allow installing packages that have an engines declaration requiring a +different version of npm.
  • +
  • Allow installing packages that have an engines declaration requiring a +different version of node, even if --engine-strict is enabled.
  • +
  • Allow npm audit fix to install modules outside your stated dependency +range (including SemVer-major changes).
  • +
  • Allow unpublishing all versions of a published package.
  • +
  • Allow conflicting peerDependencies to be installed in the root project.
  • +
  • Implicitly set --yes during npm init.
  • +
  • Allow clobbering existing values in npm pkg
  • +
+

If you don't have a clear idea of what you want to do, it is strongly +recommended that you do not use this option!

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-install-ci-test.html b/node_modules/npm/docs/output/commands/npm-install-ci-test.html new file mode 100644 index 0000000..1c9fea5 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-install-ci-test.html @@ -0,0 +1,211 @@ + + +npm-install-ci-test + + + + + +
+
+

npm-install-ci-test

+Install a project with a clean slate and run tests +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm install-ci-test
+
+alias: npm cit
+
+

Description

+

This command runs npm ci followed immediately by npm test.

+

Configuration

+ + + +

audit

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

When "true" submit audit reports alongside the current npm command to the +default registry and all registries configured for scopes. See the +documentation for npm audit for details on what is +submitted.

+ + +

ignore-scripts

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, npm does not run scripts specified in package.json files.

+

Note that commands explicitly intended to run a particular script, such as +npm start, npm stop, npm restart, npm test, and npm run-script +will still run their intended script if ignore-scripts is set, but they +will not run any pre- or post-scripts.

+ + +

script-shell

+
    +
  • Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
  • +
  • Type: null or String
  • +
+

The shell to use for scripts run with the npm exec, npm run and npm init <pkg> commands.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-install-test.html b/node_modules/npm/docs/output/commands/npm-install-test.html new file mode 100644 index 0000000..833e285 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-install-test.html @@ -0,0 +1,401 @@ + + +npm-install-test + + + + + +
+
+

npm-install-test

+Install package(s) and run tests +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm install-test (with no args, in package dir)
+npm install-test [<@scope>/]<name>
+npm install-test [<@scope>/]<name>@<tag>
+npm install-test [<@scope>/]<name>@<version>
+npm install-test [<@scope>/]<name>@<version range>
+npm install-test <tarball file>
+npm install-test <tarball url>
+npm install-test <folder>
+
+alias: npm it
+common options: [--save|--save-dev|--save-optional] [--save-exact] [--dry-run]
+
+

Description

+

This command runs an npm install followed immediately by an npm test. It +takes exactly the same arguments as npm install.

+

Configuration

+ + + +

save

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Save installed packages to a package.json file as dependencies.

+

When used with the npm rm command, removes the dependency from +package.json.

+ + +

save-exact

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Dependencies saved to package.json will be configured with an exact version +rather than using npm's default semver range operator.

+ + +

global

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Operates in "global" mode, so that packages are installed into the prefix +folder instead of the current working directory. See +folders for more on the differences in behavior.

+
    +
  • packages are installed into the {prefix}/lib/node_modules folder, instead +of the current working directory.
  • +
  • bin files are linked to {prefix}/bin
  • +
  • man pages are linked to {prefix}/share/man
  • +
+ + +

global-style

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Causes npm to install the package into your local node_modules folder with +the same layout it uses with the global node_modules folder. Only your +direct dependencies will show in node_modules and everything they depend +on will be flattened in their node_modules folders. This obviously will +eliminate some deduping. If used with legacy-bundling, legacy-bundling +will be preferred.

+ + +

legacy-bundling

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Causes npm to install the package such that versions of npm prior to 1.4, +such as the one included with node 0.8, can install the package. This +eliminates all automatic deduping. If used with global-style this option +will be preferred.

+ + +

strict-peer-deps

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If set to true, and --legacy-peer-deps is not set, then any +conflicting peerDependencies will be treated as an install failure, even +if npm could reasonably guess the appropriate resolution based on non-peer +dependency relationships.

+

By default, conflicting peerDependencies deep in the dependency graph will +be resolved using the nearest non-peer dependency specification, even if +doing so will result in some packages receiving a peer dependency outside +the range set in their package's peerDependencies object.

+

When such and override is performed, a warning is printed, explaining the +conflict and the packages involved. If --strict-peer-deps is set, then +this warning is treated as a failure.

+ + +

package-lock

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

If set to false, then ignore package-lock.json files when installing. This +will also prevent writing package-lock.json if save is true.

+

When package package-locks are disabled, automatic pruning of extraneous +modules will also be disabled. To remove extraneous modules with +package-locks disabled use npm prune.

+ + +

omit

+
    +
  • Default: 'dev' if the NODE_ENV environment variable is set to +'production', otherwise empty.
  • +
  • Type: "dev", "optional", or "peer" (can be set multiple times)
  • +
+

Dependency types to omit from the installation tree on disk.

+

Note that these dependencies are still resolved and added to the +package-lock.json or npm-shrinkwrap.json file. They are just not +physically installed on disk.

+

If a package type appears in both the --include and --omit lists, then +it will be included.

+

If the resulting omit list includes 'dev', then the NODE_ENV environment +variable will be set to 'production' for all lifecycle scripts.

+ + +

ignore-scripts

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, npm does not run scripts specified in package.json files.

+

Note that commands explicitly intended to run a particular script, such as +npm start, npm stop, npm restart, npm test, and npm run-script +will still run their intended script if ignore-scripts is set, but they +will not run any pre- or post-scripts.

+ + +

audit

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

When "true" submit audit reports alongside the current npm command to the +default registry and all registries configured for scopes. See the +documentation for npm audit for details on what is +submitted.

+ + + +
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Tells npm to create symlinks (or .cmd shims on Windows) for package +executables.

+

Set to false to have it not do this. This can be used to work around the +fact that some file systems don't support symlinks, even on ostensibly Unix +systems.

+ + +

fund

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

When "true" displays the message at the end of each npm install +acknowledging the number of dependencies looking for funding. See npm fund for details.

+ + +

dry-run

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Indicates that you don't want npm to make any changes and that it should +only report what it would have done. This can be passed into any of the +commands that modify your local installation, eg, install, update, +dedupe, uninstall, as well as pack and publish.

+

Note: This is NOT honored by other network related commands, eg dist-tags, +owner, etc.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-install.html b/node_modules/npm/docs/output/commands/npm-install.html new file mode 100644 index 0000000..657e13a --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-install.html @@ -0,0 +1,759 @@ + + +npm-install + + + + + +
+
+

npm-install

+Install a package +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm install (with no args, in package dir)
+npm install [<@scope>/]<name>
+npm install [<@scope>/]<name>@<tag>
+npm install [<@scope>/]<name>@<version>
+npm install [<@scope>/]<name>@<version range>
+npm install <alias>@npm:<name>
+npm install <git-host>:<git-user>/<repo-name>
+npm install <git repo url>
+npm install <tarball file>
+npm install <tarball url>
+npm install <folder>
+
+aliases: npm i, npm add
+common options: [-P|--save-prod|-D|--save-dev|-O|--save-optional|--save-peer] [-E|--save-exact] [-B|--save-bundle] [--no-save] [--dry-run]
+
+

Description

+

This command installs a package and any packages that it depends on. If the +package has a package-lock, or an npm shrinkwrap file, or a yarn lock file, +the installation of dependencies will be driven by that, respecting the +following order of precedence:

+
    +
  • npm-shrinkwrap.json
  • +
  • package-lock.json
  • +
  • yarn.lock
  • +
+

See package-lock.json and +npm shrinkwrap.

+

A package is:

+
    +
  • a) a folder containing a program described by a +package.json file
  • +
  • b) a gzipped tarball containing (a)
  • +
  • c) a url that resolves to (b)
  • +
  • d) a <name>@<version> that is published on the registry (see +registry) with (c)
  • +
  • e) a <name>@<tag> (see npm dist-tag) that +points to (d)
  • +
  • f) a <name> that has a "latest" tag satisfying (e)
  • +
  • g) a <git remote url> that resolves to (a)
  • +
+

Even if you never publish your package, you can still get a lot of benefits +of using npm if you just want to write a node program (a), and perhaps if +you also want to be able to easily install it elsewhere after packing it up +into a tarball (b).

+
    +
  • +

    npm install (in a package directory, no arguments):

    +

    Install the dependencies to the local node_modules folder.

    +

    In global mode (ie, with -g or --global appended to the command), +it installs the current package context (ie, the current working +directory) as a global package.

    +

    By default, npm install will install all modules listed as +dependencies in package.json.

    +

    With the --production flag (or when the NODE_ENV environment +variable is set to production), npm will not install modules listed +in devDependencies. To install all modules listed in both +dependencies and devDependencies when NODE_ENV environment +variable is set to production, you can use --production=false.

    +
    +

    NOTE: The --production flag has no particular meaning when adding a +dependency to a project.

    +
    +
  • +
  • +

    npm install <folder>:

    +

    Install the package in the directory as a symlink in the current +project. Its dependencies will be installed before it's linked. If +<folder> sits inside the root of your project, its dependencies may +be hoisted to the top-level node_modules as they would for other +types of dependencies.

    +
  • +
  • +

    npm install <tarball file>:

    +

    Install a package that is sitting on the filesystem. Note: if you just +want to link a dev directory into your npm root, you can do this more +easily by using npm link.

    +

    Tarball requirements:

    +
      +
    • The filename must use .tar, .tar.gz, or .tgz as the +extension.
    • +
    • The package contents should reside in a subfolder inside the tarball +(usually it is called package/). npm strips one directory layer +when installing the package (an equivalent of tar x --strip-components=1 is run).
    • +
    • The package must contain a package.json file with name and +version properties.
    • +
    +

    Example:

    +
    npm install ./package.tgz
    +
    +
  • +
  • +

    npm install <tarball url>:

    +

    Fetch the tarball url, and then install it. In order to distinguish between +this and other options, the argument must start with "http://" or "https://"

    +

    Example:

    +
    npm install https://github.com/indexzero/forever/tarball/v0.5.6
    +
    +
  • +
  • +

    npm install [<@scope>/]<name>:

    +

    Do a <name>@<tag> install, where <tag> is the "tag" config. (See +config. The config's default value is latest.)

    +

    In most cases, this will install the version of the modules tagged as +latest on the npm registry.

    +

    Example:

    +
    npm install sax
    +
    +

    npm install saves any specified packages into dependencies by default. +Additionally, you can control where and how they get saved with some +additional flags:

    +
      +
    • +

      -P, --save-prod: Package will appear in your dependencies. This +is the default unless -D or -O are present.

      +
    • +
    • +

      -D, --save-dev: Package will appear in your devDependencies.

      +
    • +
    • +

      -O, --save-optional: Package will appear in your +optionalDependencies.

      +
    • +
    • +

      --no-save: Prevents saving to dependencies.

      +
    • +
    +

    When using any of the above options to save dependencies to your +package.json, there are two additional, optional flags:

    +
      +
    • +

      -E, --save-exact: Saved dependencies will be configured with an +exact version rather than using npm's default semver range operator.

      +
    • +
    • +

      -B, --save-bundle: Saved dependencies will also be added to your +bundleDependencies list.

      +
    • +
    +

    Further, if you have an npm-shrinkwrap.json or package-lock.json +then it will be updated as well.

    +

    <scope> is optional. The package will be downloaded from the registry +associated with the specified scope. If no registry is associated with +the given scope the default registry is assumed. See +scope.

    +

    Note: if you do not include the @-symbol on your scope name, npm will +interpret this as a GitHub repository instead, see below. Scopes names +must also be followed by a slash.

    +

    Examples:

    +
    npm install sax
    +npm install githubname/reponame
    +npm install @myorg/privatepackage
    +npm install node-tap --save-dev
    +npm install dtrace-provider --save-optional
    +npm install readable-stream --save-exact
    +npm install ansi-regex --save-bundle
    +
    +

    Note: If there is a file or folder named <name> in the current +working directory, then it will try to install that, and only try to +fetch the package by name if it is not valid.

    +
  • +
  • +

    npm install <alias>@npm:<name>:

    +

    Install a package under a custom alias. Allows multiple versions of +a same-name package side-by-side, more convenient import names for +packages with otherwise long ones, and using git forks replacements +or forked npm packages as replacements. Aliasing works only on your +project and does not rename packages in transitive dependencies. +Aliases should follow the naming conventions stated in +validate-npm-package-name.

    +

    Examples:

    +
    npm install my-react@npm:react
    +npm install jquery2@npm:jquery@2
    +npm install jquery3@npm:jquery@3
    +npm install npa@npm:npm-package-arg
    +
    +
  • +
  • +

    npm install [<@scope>/]<name>@<tag>:

    +

    Install the version of the package that is referenced by the specified tag. +If the tag does not exist in the registry data for that package, then this +will fail.

    +

    Example:

    +
    npm install sax@latest
    +npm install @myorg/mypackage@latest
    +
    +
  • +
  • +

    npm install [<@scope>/]<name>@<version>:

    +

    Install the specified version of the package. This will fail if the +version has not been published to the registry.

    +

    Example:

    +
    npm install sax@0.1.1
    +npm install @myorg/privatepackage@1.5.0
    +
    +
  • +
  • +

    npm install [<@scope>/]<name>@<version range>:

    +

    Install a version of the package matching the specified version range. +This will follow the same rules for resolving dependencies described in +package.json.

    +

    Note that most version ranges must be put in quotes so that your shell +will treat it as a single argument.

    +

    Example:

    +
    npm install sax@">=0.1.0 <0.2.0"
    +npm install @myorg/privatepackage@"16 - 17"
    +
    +
  • +
  • +

    npm install <git remote url>:

    +

    Installs the package from the hosted git provider, cloning it with +git. For a full git remote url, only that URL will be attempted.

    +
    <protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>[#<commit-ish> | #semver:<semver>]
    +
    +

    <protocol> is one of git, git+ssh, git+http, git+https, or +git+file.

    +

    If #<commit-ish> is provided, it will be used to clone exactly that +commit. If the commit-ish has the format #semver:<semver>, <semver> +can be any valid semver range or exact version, and npm will look for +any tags or refs matching that range in the remote repository, much as +it would for a registry dependency. If neither #<commit-ish> or +#semver:<semver> is specified, then the default branch of the +repository is used.

    +

    If the repository makes use of submodules, those submodules will be +cloned as well.

    +

    If the package being installed contains a prepare script, its +dependencies and devDependencies will be installed, and the prepare +script will be run, before the package is packaged and installed.

    +

    The following git environment variables are recognized by npm and will +be added to the environment when running git:

    +
      +
    • GIT_ASKPASS
    • +
    • GIT_EXEC_PATH
    • +
    • GIT_PROXY_COMMAND
    • +
    • GIT_SSH
    • +
    • GIT_SSH_COMMAND
    • +
    • GIT_SSL_CAINFO
    • +
    • GIT_SSL_NO_VERIFY
    • +
    +

    See the git man page for details.

    +

    Examples:

    +
    npm install git+ssh://git@github.com:npm/cli.git#v1.0.27
    +npm install git+ssh://git@github.com:npm/cli#pull/273
    +npm install git+ssh://git@github.com:npm/cli#semver:^5.0
    +npm install git+https://isaacs@github.com/npm/cli.git
    +npm install git://github.com/npm/cli.git#v1.0.27
    +GIT_SSH_COMMAND='ssh -i ~/.ssh/custom_ident' npm install git+ssh://git@github.com:npm/cli.git
    +
    +
  • +
  • +

    npm install <githubname>/<githubrepo>[#<commit-ish>]:

    +
  • +
  • +

    npm install github:<githubname>/<githubrepo>[#<commit-ish>]:

    +

    Install the package at https://github.com/githubname/githubrepo by +attempting to clone it using git.

    +

    If #<commit-ish> is provided, it will be used to clone exactly that +commit. If the commit-ish has the format #semver:<semver>, <semver> +can be any valid semver range or exact version, and npm will look for +any tags or refs matching that range in the remote repository, much as +it would for a registry dependency. If neither #<commit-ish> or +#semver:<semver> is specified, then master is used.

    +

    As with regular git dependencies, dependencies and devDependencies +will be installed if the package has a prepare script before the +package is done installing.

    +

    Examples:

    +
    npm install mygithubuser/myproject
    +npm install github:mygithubuser/myproject
    +
    +
  • +
  • +

    npm install gist:[<githubname>/]<gistID>[#<commit-ish>|#semver:<semver>]:

    +

    Install the package at https://gist.github.com/gistID by attempting to +clone it using git. The GitHub username associated with the gist is +optional and will not be saved in package.json.

    +

    As with regular git dependencies, dependencies and devDependencies will +be installed if the package has a prepare script before the package is +done installing.

    +

    Example:

    +
    npm install gist:101a11beef
    +
    +
  • +
  • +

    npm install bitbucket:<bitbucketname>/<bitbucketrepo>[#<commit-ish>]:

    +

    Install the package at https://bitbucket.org/bitbucketname/bitbucketrepo +by attempting to clone it using git.

    +

    If #<commit-ish> is provided, it will be used to clone exactly that +commit. If the commit-ish has the format #semver:<semver>, <semver> can +be any valid semver range or exact version, and npm will look for any tags +or refs matching that range in the remote repository, much as it would for a +registry dependency. If neither #<commit-ish> or #semver:<semver> is +specified, then master is used.

    +

    As with regular git dependencies, dependencies and devDependencies will +be installed if the package has a prepare script before the package is +done installing.

    +

    Example:

    +
    npm install bitbucket:mybitbucketuser/myproject
    +
    +
  • +
  • +

    npm install gitlab:<gitlabname>/<gitlabrepo>[#<commit-ish>]:

    +

    Install the package at https://gitlab.com/gitlabname/gitlabrepo +by attempting to clone it using git.

    +

    If #<commit-ish> is provided, it will be used to clone exactly that +commit. If the commit-ish has the format #semver:<semver>, <semver> can +be any valid semver range or exact version, and npm will look for any tags +or refs matching that range in the remote repository, much as it would for a +registry dependency. If neither #<commit-ish> or #semver:<semver> is +specified, then master is used.

    +

    As with regular git dependencies, dependencies and devDependencies will +be installed if the package has a prepare script before the package is +done installing.

    +

    Example:

    +
    npm install gitlab:mygitlabuser/myproject
    +npm install gitlab:myusr/myproj#semver:^5.0
    +
    +
  • +
+

You may combine multiple arguments and even multiple types of arguments. +For example:

+
npm install sax@">=0.1.0 <0.2.0" bench supervisor
+
+

The --tag argument will apply to all of the specified install targets. If +a tag with the given name exists, the tagged version is preferred over +newer versions.

+

The --dry-run argument will report in the usual way what the install +would have done without actually installing anything.

+

The --package-lock-only argument will only update the +package-lock.json, instead of checking node_modules and downloading +dependencies.

+

The -f or --force argument will force npm to fetch remote resources +even if a local copy exists on disk.

+
npm install sax --force
+
+

Configuration

+

See the config help doc. Many of the configuration +params have some effect on installation, since that's most of what npm +does.

+

These are some of the most common options related to installation.

+ + + +

save

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Save installed packages to a package.json file as dependencies.

+

When used with the npm rm command, removes the dependency from +package.json.

+ + +

save-exact

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Dependencies saved to package.json will be configured with an exact version +rather than using npm's default semver range operator.

+ + +

global

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Operates in "global" mode, so that packages are installed into the prefix +folder instead of the current working directory. See +folders for more on the differences in behavior.

+
    +
  • packages are installed into the {prefix}/lib/node_modules folder, instead +of the current working directory.
  • +
  • bin files are linked to {prefix}/bin
  • +
  • man pages are linked to {prefix}/share/man
  • +
+ + +

global-style

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Causes npm to install the package into your local node_modules folder with +the same layout it uses with the global node_modules folder. Only your +direct dependencies will show in node_modules and everything they depend +on will be flattened in their node_modules folders. This obviously will +eliminate some deduping. If used with legacy-bundling, legacy-bundling +will be preferred.

+ + +

legacy-bundling

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Causes npm to install the package such that versions of npm prior to 1.4, +such as the one included with node 0.8, can install the package. This +eliminates all automatic deduping. If used with global-style this option +will be preferred.

+ + +

strict-peer-deps

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If set to true, and --legacy-peer-deps is not set, then any +conflicting peerDependencies will be treated as an install failure, even +if npm could reasonably guess the appropriate resolution based on non-peer +dependency relationships.

+

By default, conflicting peerDependencies deep in the dependency graph will +be resolved using the nearest non-peer dependency specification, even if +doing so will result in some packages receiving a peer dependency outside +the range set in their package's peerDependencies object.

+

When such and override is performed, a warning is printed, explaining the +conflict and the packages involved. If --strict-peer-deps is set, then +this warning is treated as a failure.

+ + +

package-lock

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

If set to false, then ignore package-lock.json files when installing. This +will also prevent writing package-lock.json if save is true.

+

When package package-locks are disabled, automatic pruning of extraneous +modules will also be disabled. To remove extraneous modules with +package-locks disabled use npm prune.

+ + +

omit

+
    +
  • Default: 'dev' if the NODE_ENV environment variable is set to +'production', otherwise empty.
  • +
  • Type: "dev", "optional", or "peer" (can be set multiple times)
  • +
+

Dependency types to omit from the installation tree on disk.

+

Note that these dependencies are still resolved and added to the +package-lock.json or npm-shrinkwrap.json file. They are just not +physically installed on disk.

+

If a package type appears in both the --include and --omit lists, then +it will be included.

+

If the resulting omit list includes 'dev', then the NODE_ENV environment +variable will be set to 'production' for all lifecycle scripts.

+ + +

ignore-scripts

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, npm does not run scripts specified in package.json files.

+

Note that commands explicitly intended to run a particular script, such as +npm start, npm stop, npm restart, npm test, and npm run-script +will still run their intended script if ignore-scripts is set, but they +will not run any pre- or post-scripts.

+ + +

audit

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

When "true" submit audit reports alongside the current npm command to the +default registry and all registries configured for scopes. See the +documentation for npm audit for details on what is +submitted.

+ + + +
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Tells npm to create symlinks (or .cmd shims on Windows) for package +executables.

+

Set to false to have it not do this. This can be used to work around the +fact that some file systems don't support symlinks, even on ostensibly Unix +systems.

+ + +

fund

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

When "true" displays the message at the end of each npm install +acknowledging the number of dependencies looking for funding. See npm fund for details.

+ + +

dry-run

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Indicates that you don't want npm to make any changes and that it should +only report what it would have done. This can be passed into any of the +commands that modify your local installation, eg, install, update, +dedupe, uninstall, as well as pack and publish.

+

Note: This is NOT honored by other network related commands, eg dist-tags, +owner, etc.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

Algorithm

+

Given a package{dep} structure: A{B,C}, B{C}, C{D}, +the npm install algorithm produces:

+
A
++-- B
++-- C
++-- D
+
+

That is, the dependency from B to C is satisfied by the fact that A already +caused C to be installed at a higher level. D is still installed at the top +level because nothing conflicts with it.

+

For A{B,C}, B{C,D@1}, C{D@2}, this algorithm produces:

+
A
++-- B
++-- C
+   `-- D@2
++-- D@1
+
+

Because B's D@1 will be installed in the top-level, C now has to install +D@2 privately for itself. This algorithm is deterministic, but different +trees may be produced if two dependencies are requested for installation in +a different order.

+

See folders for a more detailed description of +the specific folder structures that npm creates.

+

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-link.html b/node_modules/npm/docs/output/commands/npm-link.html new file mode 100644 index 0000000..a3776c9 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-link.html @@ -0,0 +1,460 @@ + + +npm-link + + + + + +
+
+

npm-link

+Symlink a package folder +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm link (in package dir)
+npm link [<@scope>/]<pkg>[@<version>]
+
+alias: npm ln
+
+

Description

+

This is handy for installing your own stuff, so that you can work on it and +test iteratively without having to continually rebuild.

+

Package linking is a two-step process.

+

First, npm link in a package folder will create a symlink in the global +folder {prefix}/lib/node_modules/<package> that links to the package +where the npm link command was executed. It will also link any bins in +the package to {prefix}/bin/{name}. Note that npm link uses the global +prefix (see npm prefix -g for its value).

+

Next, in some other location, npm link package-name will create a +symbolic link from globally-installed package-name to node_modules/ of +the current folder.

+

Note that package-name is taken from package.json, not from the +directory name.

+

The package name can be optionally prefixed with a scope. See +scope. The scope must be preceded by an @-symbol and +followed by a slash.

+

When creating tarballs for npm publish, the linked packages are +"snapshotted" to their current state by resolving the symbolic links, if +they are included in bundleDependencies.

+

For example:

+
cd ~/projects/node-redis    # go into the package directory
+npm link                    # creates global link
+cd ~/projects/node-bloggy   # go into some other package directory.
+npm link redis              # link-install the package
+
+

Now, any changes to ~/projects/node-redis will be reflected in +~/projects/node-bloggy/node_modules/node-redis/. Note that the link +should be to the package name, not the directory name for that package.

+

You may also shortcut the two steps in one. For example, to do the +above use-case in a shorter way:

+
cd ~/projects/node-bloggy  # go into the dir of your main project
+npm link ../node-redis     # link the dir of your dependency
+
+

The second line is the equivalent of doing:

+
(cd ../node-redis; npm link)
+npm link redis
+
+

That is, it first creates a global link, and then links the global +installation target into your project's node_modules folder.

+

Note that in this case, you are referring to the directory name, +node-redis, rather than the package name redis.

+

If your linked package is scoped (see scope) your +link command must include that scope, e.g.

+
npm link @myorg/privatepackage
+
+

Caveat

+

Note that package dependencies linked in this way are not saved to +package.json by default, on the assumption that the intention is to have +a link stand in for a regular non-link dependency. Otherwise, for example, +if you depend on redis@^3.0.1, and ran npm link redis, it would replace +the ^3.0.1 dependency with file:../path/to/node-redis, which you +probably don't want! Additionally, other users or developers on your +project would run into issues if they do not have their folders set up +exactly the same as yours.

+

If you are adding a new dependency as a link, you should add it to the +relevant metadata by running npm install <dep> --package-lock-only.

+

If you want to save the file: reference in your package.json and +package-lock.json files, you can use npm link <dep> --save to do so.

+

Workspace Usage

+

npm link <pkg> --workspace <name> will link the relevant package as a +dependency of the specified workspace(s). Note that It may actually be +linked into the parent project's node_modules folder, if there are no +conflicting dependencies.

+

npm link --workspace <name> will create a global link to the specified +workspace(s).

+

Configuration

+ + + +

save

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Save installed packages to a package.json file as dependencies.

+

When used with the npm rm command, removes the dependency from +package.json.

+ + +

save-exact

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Dependencies saved to package.json will be configured with an exact version +rather than using npm's default semver range operator.

+ + +

global

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Operates in "global" mode, so that packages are installed into the prefix +folder instead of the current working directory. See +folders for more on the differences in behavior.

+
    +
  • packages are installed into the {prefix}/lib/node_modules folder, instead +of the current working directory.
  • +
  • bin files are linked to {prefix}/bin
  • +
  • man pages are linked to {prefix}/share/man
  • +
+ + +

global-style

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Causes npm to install the package into your local node_modules folder with +the same layout it uses with the global node_modules folder. Only your +direct dependencies will show in node_modules and everything they depend +on will be flattened in their node_modules folders. This obviously will +eliminate some deduping. If used with legacy-bundling, legacy-bundling +will be preferred.

+ + +

legacy-bundling

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Causes npm to install the package such that versions of npm prior to 1.4, +such as the one included with node 0.8, can install the package. This +eliminates all automatic deduping. If used with global-style this option +will be preferred.

+ + +

strict-peer-deps

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If set to true, and --legacy-peer-deps is not set, then any +conflicting peerDependencies will be treated as an install failure, even +if npm could reasonably guess the appropriate resolution based on non-peer +dependency relationships.

+

By default, conflicting peerDependencies deep in the dependency graph will +be resolved using the nearest non-peer dependency specification, even if +doing so will result in some packages receiving a peer dependency outside +the range set in their package's peerDependencies object.

+

When such and override is performed, a warning is printed, explaining the +conflict and the packages involved. If --strict-peer-deps is set, then +this warning is treated as a failure.

+ + +

package-lock

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

If set to false, then ignore package-lock.json files when installing. This +will also prevent writing package-lock.json if save is true.

+

When package package-locks are disabled, automatic pruning of extraneous +modules will also be disabled. To remove extraneous modules with +package-locks disabled use npm prune.

+ + +

omit

+
    +
  • Default: 'dev' if the NODE_ENV environment variable is set to +'production', otherwise empty.
  • +
  • Type: "dev", "optional", or "peer" (can be set multiple times)
  • +
+

Dependency types to omit from the installation tree on disk.

+

Note that these dependencies are still resolved and added to the +package-lock.json or npm-shrinkwrap.json file. They are just not +physically installed on disk.

+

If a package type appears in both the --include and --omit lists, then +it will be included.

+

If the resulting omit list includes 'dev', then the NODE_ENV environment +variable will be set to 'production' for all lifecycle scripts.

+ + +

ignore-scripts

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, npm does not run scripts specified in package.json files.

+

Note that commands explicitly intended to run a particular script, such as +npm start, npm stop, npm restart, npm test, and npm run-script +will still run their intended script if ignore-scripts is set, but they +will not run any pre- or post-scripts.

+ + +

audit

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

When "true" submit audit reports alongside the current npm command to the +default registry and all registries configured for scopes. See the +documentation for npm audit for details on what is +submitted.

+ + + +
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Tells npm to create symlinks (or .cmd shims on Windows) for package +executables.

+

Set to false to have it not do this. This can be used to work around the +fact that some file systems don't support symlinks, even on ostensibly Unix +systems.

+ + +

fund

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

When "true" displays the message at the end of each npm install +acknowledging the number of dependencies looking for funding. See npm fund for details.

+ + +

dry-run

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Indicates that you don't want npm to make any changes and that it should +only report what it would have done. This can be passed into any of the +commands that modify your local installation, eg, install, update, +dedupe, uninstall, as well as pack and publish.

+

Note: This is NOT honored by other network related commands, eg dist-tags, +owner, etc.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-logout.html b/node_modules/npm/docs/output/commands/npm-logout.html new file mode 100644 index 0000000..21c92ab --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-logout.html @@ -0,0 +1,218 @@ + + +npm-logout + + + + + +
+
+

npm-logout

+Log out of the registry +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm logout [--registry=<url>] [--scope=<@scope>]
+
+

Note: This command is unaware of workspaces.

+

Description

+

When logged into a registry that supports token-based authentication, tell +the server to end this token's session. This will invalidate the token +everywhere you're using it, not just for the current environment.

+

When logged into a legacy registry that uses username and password +authentication, this will clear the credentials in your user configuration. +In this case, it will only affect the current environment.

+

If --scope is provided, this will find the credentials for the registry +connected to that scope, if set.

+

Configuration

+ + + +

registry

+ +

The base URL of the npm registry.

+ + +

scope

+
    +
  • Default: the scope of the current project, if any, or ""
  • +
  • Type: String
  • +
+

Associate an operation with a scope for a scoped registry.

+

Useful when logging in to or out of a private registry:

+
# log in, linking the scope to the custom registry
+npm login --scope=@mycorp --registry=https://registry.mycorp.com
+
+# log out, removing the link and the auth token
+npm logout --scope=@mycorp
+
+

This will cause @mycorp to be mapped to the registry for future +installation of packages specified according to the pattern +@mycorp/package.

+

This will also cause npm init to create a scoped package.

+
# accept all defaults, and create a package named "@foo/whatever",
+# instead of just named "whatever"
+npm init --scope=@foo --yes
+
+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-ls.html b/node_modules/npm/docs/output/commands/npm-ls.html new file mode 100644 index 0000000..aad51ca --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-ls.html @@ -0,0 +1,390 @@ + + +npm-ls + + + + + +
+
+

npm-ls

+List installed packages +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm ls [[<@scope>/]<pkg> ...]
+
+aliases: list, la, ll
+
+

Description

+

This command will print to stdout all the versions of packages that are +installed, as well as their dependencies when --all is specified, in a +tree structure.

+

Note: to get a "bottoms up" view of why a given package is included in the +tree at all, use npm explain.

+

Positional arguments are name@version-range identifiers, which will limit +the results to only the paths to the packages named. Note that nested +packages will also show the paths to the specified packages. For +example, running npm ls promzard in npm's source tree will show:

+
npm@8.5.0 /path/to/npm
+└─┬ init-package-json@0.0.4
+  └── promzard@0.1.5
+
+

It will print out extraneous, missing, and invalid packages.

+

If a project specifies git urls for dependencies these are shown +in parentheses after the name@version to make it easier for users to +recognize potential forks of a project.

+

The tree shown is the logical dependency tree, based on package +dependencies, not the physical layout of your node_modules folder.

+

When run as ll or la, it shows extended information by default.

+

Note: Design Changes Pending

+

The npm ls command's output and behavior made a ton of sense when npm +created a node_modules folder that naively nested every dependency. In +such a case, the logical dependency graph and physical tree of packages on +disk would be roughly identical.

+

With the advent of automatic install-time deduplication of dependencies in +npm v3, the ls output was modified to display the logical dependency +graph as a tree structure, since this was more useful to most users. +However, without using npm ls -l, it became impossible show where a +package was actually installed much of the time!

+

With the advent of automatic installation of peerDependencies in npm v7, +this gets even more curious, as peerDependencies are logically +"underneath" their dependents in the dependency graph, but are always +physically at or above their location on disk.

+

Also, in the years since npm got an ls command (in version 0.0.2!), +dependency graphs have gotten much larger as a general rule. Therefore, in +order to avoid dumping an excessive amount of content to the terminal, npm ls now only shows the top level dependencies, unless --all is +provided.

+

A thorough re-examination of the use cases, intention, behavior, and output +of this command, is currently underway. Expect significant changes to at +least the default human-readable npm ls output in npm v8.

+

Configuration

+ + + +

all

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

When running npm outdated and npm ls, setting --all will show all +outdated or installed packages, rather than only those directly depended +upon by the current project.

+ + +

json

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Whether or not to output JSON data, rather than the normal output.

+
    +
  • In npm pkg set it enables parsing set values with JSON.parse() before +saving them to your package.json.
  • +
+

Not supported by all npm commands.

+ + +

long

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Show extended information in ls, search, and help-search.

+ + +

parseable

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Output parseable results from commands that write to standard output. For +npm search, this will be tab-separated table format.

+ + +

global

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Operates in "global" mode, so that packages are installed into the prefix +folder instead of the current working directory. See +folders for more on the differences in behavior.

+
    +
  • packages are installed into the {prefix}/lib/node_modules folder, instead +of the current working directory.
  • +
  • bin files are linked to {prefix}/bin
  • +
  • man pages are linked to {prefix}/share/man
  • +
+ + +

depth

+
    +
  • Default: Infinity if --all is set, otherwise 1
  • +
  • Type: null or Number
  • +
+

The depth to go when recursing packages for npm ls.

+

If not set, npm ls will show only the immediate dependencies of the root +project. If --all is set, then npm will show all dependencies by default.

+ + +

omit

+
    +
  • Default: 'dev' if the NODE_ENV environment variable is set to +'production', otherwise empty.
  • +
  • Type: "dev", "optional", or "peer" (can be set multiple times)
  • +
+

Dependency types to omit from the installation tree on disk.

+

Note that these dependencies are still resolved and added to the +package-lock.json or npm-shrinkwrap.json file. They are just not +physically installed on disk.

+

If a package type appears in both the --include and --omit lists, then +it will be included.

+

If the resulting omit list includes 'dev', then the NODE_ENV environment +variable will be set to 'production' for all lifecycle scripts.

+ + + +
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Used with npm ls, limiting output to only those packages that are linked.

+ + +

package-lock-only

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If set to true, the current operation will only use the package-lock.json, +ignoring node_modules.

+

For update this means only the package-lock.json will be updated, +instead of checking node_modules and downloading dependencies.

+

For list this means the output will be based on the tree described by the +package-lock.json, rather than the contents of node_modules.

+ + +

unicode

+
    +
  • Default: false on windows, true on mac/unix systems with a unicode locale, +as defined by the LC_ALL, LC_CTYPE, or LANG environment variables.
  • +
  • Type: Boolean
  • +
+

When set to true, npm uses unicode characters in the tree output. When +false, it uses ascii characters instead of unicode glyphs.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-org.html b/node_modules/npm/docs/output/commands/npm-org.html new file mode 100644 index 0000000..634a485 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-org.html @@ -0,0 +1,242 @@ + + +npm-org + + + + + +
+
+

npm-org

+Manage orgs +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm org set <orgname> <username> [developer | admin | owner]
+npm org rm <orgname> <username>
+npm org ls <orgname> [<username>]
+
+

Note: This command is unaware of workspaces.

+

Example

+

Add a new developer to an org:

+
$ npm org set my-org @mx-smith
+
+

Add a new admin to an org (or change a developer to an admin):

+
$ npm org set my-org @mx-santos admin
+
+

Remove a user from an org:

+
$ npm org rm my-org mx-santos
+
+

List all users in an org:

+
$ npm org ls my-org
+
+

List all users in JSON format:

+
$ npm org ls my-org --json
+
+

See what role a user has in an org:

+
$ npm org ls my-org @mx-santos
+
+

Description

+

You can use the npm org commands to manage and view users of an +organization. It supports adding and removing users, changing their roles, +listing them, and finding specific ones and their roles.

+

Configuration

+ + + +

registry

+ +

The base URL of the npm registry.

+ + +

otp

+
    +
  • Default: null
  • +
  • Type: null or String
  • +
+

This is a one-time password from a two-factor authenticator. It's needed +when publishing or changing package permissions with npm access.

+

If not set, and a registry response fails with a challenge for a one-time +password, npm will prompt on the command line for one.

+ + +

json

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Whether or not to output JSON data, rather than the normal output.

+
    +
  • In npm pkg set it enables parsing set values with JSON.parse() before +saving them to your package.json.
  • +
+

Not supported by all npm commands.

+ + +

parseable

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Output parseable results from commands that write to standard output. For +npm search, this will be tab-separated table format.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-outdated.html b/node_modules/npm/docs/output/commands/npm-outdated.html new file mode 100644 index 0000000..2ef2b60 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-outdated.html @@ -0,0 +1,321 @@ + + +npm-outdated + + + + + +
+
+

npm-outdated

+Check for outdated packages +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm outdated [[<@scope>/]<pkg> ...]
+
+

Description

+

This command will check the registry to see if any (or, specific) installed +packages are currently outdated.

+

By default, only the direct dependencies of the root project and direct +dependencies of your configured workspaces are shown. +Use --all to find all outdated meta-dependencies as well.

+

In the output:

+
    +
  • wanted is the maximum version of the package that satisfies the semver +range specified in package.json. If there's no available semver range +(i.e. you're running npm outdated --global, or the package isn't +included in package.json), then wanted shows the currently-installed +version.
  • +
  • latest is the version of the package tagged as latest in the registry. +Running npm publish with no special configuration will publish the +package with a dist-tag of latest. This may or may not be the maximum +version of the package, or the most-recently published version of the +package, depending on how the package's developer manages the latest +dist-tag.
  • +
  • location is where in the physical tree the package is located.
  • +
  • depended by shows which package depends on the displayed dependency
  • +
  • package type (when using --long / -l) tells you whether this +package is a dependency or a dev/peer/optional dependency. Packages not +included in package.json are always marked dependencies.
  • +
  • homepage (when using --long / -l) is the homepage value contained +in the package's packument
  • +
  • Red means there's a newer version matching your semver requirements, so +you should update now.
  • +
  • Yellow indicates that there's a newer version above your semver +requirements (usually new major, or new 0.x minor) so proceed with +caution.
  • +
+

An example

+
$ npm outdated
+Package      Current   Wanted   Latest  Location                  Depended by
+glob          5.0.15   5.0.15    6.0.1  node_modules/glob         dependent-package-name
+nothingness    0.0.3      git      git  node_modules/nothingness  dependent-package-name
+npm            3.5.1    3.5.2    3.5.1  node_modules/npm          dependent-package-name
+local-dev      0.0.3   linked   linked  local-dev                 dependent-package-name
+once           1.3.2    1.3.3    1.3.3  node_modules/once         dependent-package-name
+
+

With these dependencies:

+
{
+  "glob": "^5.0.15",
+  "nothingness": "github:othiym23/nothingness#master",
+  "npm": "^3.5.1",
+  "once": "^1.3.1"
+}
+
+

A few things to note:

+
    +
  • glob requires ^5, which prevents npm from installing glob@6, which +is outside the semver range.
  • +
  • Git dependencies will always be reinstalled, because of how they're +specified. The installed committish might satisfy the dependency +specifier (if it's something immutable, like a commit SHA), or it might +not, so npm outdated and npm update have to fetch Git repos to check. +This is why currently doing a reinstall of a Git dependency always forces +a new clone and install.
  • +
  • npm@3.5.2 is marked as "wanted", but "latest" is npm@3.5.1 because +npm uses dist-tags to manage its latest and next release channels. +npm update will install the newest version, but npm install npm +(with no semver range) will install whatever's tagged as latest.
  • +
  • once is just plain out of date. Reinstalling node_modules from +scratch or running npm update will bring it up to spec.
  • +
+

Configuration

+ + + +

all

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

When running npm outdated and npm ls, setting --all will show all +outdated or installed packages, rather than only those directly depended +upon by the current project.

+ + +

json

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Whether or not to output JSON data, rather than the normal output.

+
    +
  • In npm pkg set it enables parsing set values with JSON.parse() before +saving them to your package.json.
  • +
+

Not supported by all npm commands.

+ + +

long

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Show extended information in ls, search, and help-search.

+ + +

parseable

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Output parseable results from commands that write to standard output. For +npm search, this will be tab-separated table format.

+ + +

global

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Operates in "global" mode, so that packages are installed into the prefix +folder instead of the current working directory. See +folders for more on the differences in behavior.

+
    +
  • packages are installed into the {prefix}/lib/node_modules folder, instead +of the current working directory.
  • +
  • bin files are linked to {prefix}/bin
  • +
  • man pages are linked to {prefix}/share/man
  • +
+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-owner.html b/node_modules/npm/docs/output/commands/npm-owner.html new file mode 100644 index 0000000..7aae72b --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-owner.html @@ -0,0 +1,217 @@ + + +npm-owner + + + + + +
+
+

npm-owner

+Manage package owners +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm owner add <user> [<@scope>/]<pkg>
+npm owner rm <user> [<@scope>/]<pkg>
+npm owner ls [<@scope>/]<pkg>
+
+aliases: author
+
+

Note: This command is unaware of workspaces.

+

Description

+

Manage ownership of published packages.

+
    +
  • ls: List all the users who have access to modify a package and push new +versions. Handy when you need to know who to bug for help.
  • +
  • add: Add a new user as a maintainer of a package. This user is enabled +to modify metadata, publish new versions, and add other owners.
  • +
  • rm: Remove a user from the package owner list. This immediately revokes +their privileges.
  • +
+

Note that there is only one level of access. Either you can modify a package, +or you can't. Future versions may contain more fine-grained access levels, but +that is not implemented at this time.

+

If you have two-factor authentication enabled with auth-and-writes (see +npm-profile) then you'll need to include an otp +on the command line when changing ownership with --otp.

+

Configuration

+ + + +

registry

+ +

The base URL of the npm registry.

+ + +

otp

+
    +
  • Default: null
  • +
  • Type: null or String
  • +
+

This is a one-time password from a two-factor authenticator. It's needed +when publishing or changing package permissions with npm access.

+

If not set, and a registry response fails with a challenge for a one-time +password, npm will prompt on the command line for one.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-pack.html b/node_modules/npm/docs/output/commands/npm-pack.html new file mode 100644 index 0000000..6338e47 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-pack.html @@ -0,0 +1,271 @@ + + +npm-pack + + + + + +
+
+

npm-pack

+Create a tarball from a package +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm pack [[<@scope>/]<pkg>...] [--dry-run] [--json]
+
+

Configuration

+ + + +

dry-run

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Indicates that you don't want npm to make any changes and that it should +only report what it would have done. This can be passed into any of the +commands that modify your local installation, eg, install, update, +dedupe, uninstall, as well as pack and publish.

+

Note: This is NOT honored by other network related commands, eg dist-tags, +owner, etc.

+ + +

json

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Whether or not to output JSON data, rather than the normal output.

+
    +
  • In npm pkg set it enables parsing set values with JSON.parse() before +saving them to your package.json.
  • +
+

Not supported by all npm commands.

+ + +

pack-destination

+
    +
  • Default: "."
  • +
  • Type: String
  • +
+

Directory in which npm pack will save tarballs.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

Description

+

For anything that's installable (that is, a package folder, tarball, +tarball url, git url, name@tag, name@version, name, or scoped name), this +command will fetch it to the cache, copy the tarball to the current working +directory as <name>-<version>.tgz, and then write the filenames out to +stdout.

+

If the same package is specified multiple times, then the file will be +overwritten the second time.

+

If no arguments are supplied, then npm packs the current package folder.

+

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-ping.html b/node_modules/npm/docs/output/commands/npm-ping.html new file mode 100644 index 0000000..38ffb34 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-ping.html @@ -0,0 +1,193 @@ + + +npm-ping + + + + + +
+
+

npm-ping

+Ping npm registry +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm ping [--registry <registry>]
+
+

Note: This command is unaware of workspaces.

+

Description

+

Ping the configured or given npm registry and verify authentication. +If it works it will output something like:

+
Ping success: {*Details about registry*}
+
+

otherwise you will get:

+
Ping error: {*Detail about error}
+
+

Configuration

+ + + +

registry

+ +

The base URL of the npm registry.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-pkg.html b/node_modules/npm/docs/output/commands/npm-pkg.html new file mode 100644 index 0000000..1ec7b09 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-pkg.html @@ -0,0 +1,361 @@ + + +npm-pkg + + + + + +
+
+

npm-pkg

+Manages your package.json +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm pkg get [<field> [.<subfield> ...]]
+npm pkg set <field>=<value> [.<subfield>=<value> ...]
+npm pkg delete <field> [.<subfield> ...]
+
+

Description

+

A command that automates the management of package.json files. +npm pkg provide 3 different sub commands that allow you to modify or retrieve +values for given object keys in your package.json.

+

The syntax to retrieve and set fields is a dot separated representation of +the nested object properties to be found within your package.json, it's the +same notation used in npm view to retrieve information +from the registry manifest, below you can find more examples on how to use it.

+

Returned values are always in json format.

+
    +
  • +

    npm pkg get <field>

    +

    Retrieves a value key, defined in your package.json file.

    +

    For example, in order to retrieve the name of the current package, you +can run:

    +
    npm pkg get name
    +
    +

    It's also possible to retrieve multiple values at once:

    +
    npm pkg get name version
    +
    +

    You can view child fields by separating them with a period. To retrieve +the value of a test script value, you would run the following command:

    +
    npm pkg get scripts.test
    +
    +

    For fields that are arrays, requesting a non-numeric field will return +all of the values from the objects in the list. For example, to get all +the contributor emails for a package, you would run:

    +
    npm pkg get contributors.email
    +
    +

    You may also use numeric indices in square braces to specifically select +an item in an array field. To just get the email address of the first +contributor in the list, you can run:

    +
    npm pkg get contributors[0].email
    +
    +
  • +
  • +

    npm pkg set <field>=<value>

    +

    Sets a value in your package.json based on the field value. When +saving to your package.json file the same set of rules used during +npm install and other cli commands that touches the package.json file +are used, making sure to respect the existing indentation and possibly +applying some validation prior to saving values to the file.

    +

    The same syntax used to retrieve values from your package can also be used +to define new properties or overriding existing ones, below are some +examples of how the dot separated syntax can be used to edit your +package.json file.

    +

    Defining a new bin named mynewcommand in your package.json that points +to a file cli.js:

    +
    npm pkg set bin.mynewcommand=cli.js
    +
    +

    Setting multiple fields at once is also possible:

    +
    npm pkg set description='Awesome package' engines.node='>=10'
    +
    +

    It's also possible to add to array values, for example to add a new +contributor entry:

    +
    npm pkg set contributors[0].name='Foo' contributors[0].email='foo@bar.ca'
    +
    +

    You may also append items to the end of an array using the special +empty bracket notation:

    +
    npm pkg set contributors[].name='Foo' contributors[].name='Bar'
    +
    +

    It's also possible to parse values as json prior to saving them to your +package.json file, for example in order to set a "private": true +property:

    +
    npm pkg set private=true --json
    +
    +

    It also enables saving values as numbers:

    +
    npm pkg set tap.timeout=60 --json
    +
    +
  • +
  • +

    npm pkg delete <key>

    +

    Deletes a key from your package.json

    +

    The same syntax used to set values from your package can also be used +to remove existing ones. For example, in order to remove a script named +build:

    +
    npm pkg delete scripts.build
    +
    +
  • +
+

Workspaces support

+

You can set/get/delete items across your configured workspaces by using the +workspace or workspaces config options.

+

For example, setting a funding value across all configured workspaces +of a project:

+
npm pkg set funding=https://example.com --ws
+
+

When using npm pkg get to retrieve info from your configured workspaces, the +returned result will be in a json format in which top level keys are the +names of each workspace, the values of these keys will be the result values +returned from each of the configured workspaces, e.g:

+
npm pkg get name version --ws
+{
+  "a": {
+    "name": "a",
+    "version": "1.0.0"
+  },
+  "b": {
+    "name": "b",
+    "version": "1.0.0"
+  }
+}
+
+

Configuration

+ + + +

force

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Removes various protections against unfortunate side effects, common +mistakes, unnecessary performance degradation, and malicious input.

+
    +
  • Allow clobbering non-npm files in global installs.
  • +
  • Allow the npm version command to work on an unclean git repository.
  • +
  • Allow deleting the cache folder with npm cache clean.
  • +
  • Allow installing packages that have an engines declaration requiring a +different version of npm.
  • +
  • Allow installing packages that have an engines declaration requiring a +different version of node, even if --engine-strict is enabled.
  • +
  • Allow npm audit fix to install modules outside your stated dependency +range (including SemVer-major changes).
  • +
  • Allow unpublishing all versions of a published package.
  • +
  • Allow conflicting peerDependencies to be installed in the root project.
  • +
  • Implicitly set --yes during npm init.
  • +
  • Allow clobbering existing values in npm pkg
  • +
+

If you don't have a clear idea of what you want to do, it is strongly +recommended that you do not use this option!

+ + +

json

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Whether or not to output JSON data, rather than the normal output.

+
    +
  • In npm pkg set it enables parsing set values with JSON.parse() before +saving them to your package.json.
  • +
+

Not supported by all npm commands.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-prefix.html b/node_modules/npm/docs/output/commands/npm-prefix.html new file mode 100644 index 0000000..458f247 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-prefix.html @@ -0,0 +1,208 @@ + + +npm-prefix + + + + + +
+
+

npm-prefix

+Display prefix +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm prefix [-g]
+
+

Note: This command is unaware of workspaces.

+

Description

+

Print the local prefix to standard output. This is the closest parent directory +to contain a package.json file or node_modules directory, unless -g is +also specified.

+

If -g is specified, this will be the value of the global prefix. See +npm config for more detail.

+

Example

+
npm prefix
+/usr/local/projects/foo
+
+
npm prefix -g
+/usr/local
+
+

Configuration

+ + + +

global

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Operates in "global" mode, so that packages are installed into the prefix +folder instead of the current working directory. See +folders for more on the differences in behavior.

+
    +
  • packages are installed into the {prefix}/lib/node_modules folder, instead +of the current working directory.
  • +
  • bin files are linked to {prefix}/bin
  • +
  • man pages are linked to {prefix}/share/man
  • +
+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-profile.html b/node_modules/npm/docs/output/commands/npm-profile.html new file mode 100644 index 0000000..92a92f9 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-profile.html @@ -0,0 +1,286 @@ + + +npm-profile + + + + + +
+
+

npm-profile

+Change settings on your registry profile +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm profile get [--json|--parseable] [<property>]
+npm profile set [--json|--parseable] <property> <value>
+npm profile set password
+npm profile enable-2fa [auth-and-writes|auth-only]
+npm profile disable-2fa
+
+

Note: This command is unaware of workspaces.

+

Description

+

Change your profile information on the registry. Note that this command +depends on the registry implementation, so third-party registries may not +support this interface.

+
    +
  • npm profile get [<property>]: Display all of the properties of your +profile, or one or more specific properties. It looks like:
  • +
+
+-----------------+---------------------------+
+| name            | example                   |
++-----------------+---------------------------+
+| email           | me@example.com (verified) |
++-----------------+---------------------------+
+| two factor auth | auth-and-writes           |
++-----------------+---------------------------+
+| fullname        | Example User              |
++-----------------+---------------------------+
+| homepage        |                           |
++-----------------+---------------------------+
+| freenode        |                           |
++-----------------+---------------------------+
+| twitter         |                           |
++-----------------+---------------------------+
+| github          |                           |
++-----------------+---------------------------+
+| created         | 2015-02-26T01:38:35.892Z  |
++-----------------+---------------------------+
+| updated         | 2017-10-02T21:29:45.922Z  |
++-----------------+---------------------------+
+
+
    +
  • +

    npm profile set <property> <value>: Set the value of a profile +property. You can set the following properties this way: email, fullname, +homepage, freenode, twitter, github

    +
  • +
  • +

    npm profile set password: Change your password. This is interactive, +you'll be prompted for your current password and a new password. You'll +also be prompted for an OTP if you have two-factor authentication +enabled.

    +
  • +
  • +

    npm profile enable-2fa [auth-and-writes|auth-only]: Enables two-factor +authentication. Defaults to auth-and-writes mode. Modes are:

    +
      +
    • auth-only: Require an OTP when logging in or making changes to your +account's authentication. The OTP will be required on both the website +and the command line.
    • +
    • auth-and-writes: Requires an OTP at all the times auth-only does, +and also requires one when publishing a module, setting the latest +dist-tag, or changing access via npm access and npm owner.
    • +
    +
  • +
  • +

    npm profile disable-2fa: Disables two-factor authentication.

    +
  • +
+

Details

+

Some of these commands may not be available on non npmjs.com registries.

+

Configuration

+ + + +

registry

+ +

The base URL of the npm registry.

+ + +

json

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Whether or not to output JSON data, rather than the normal output.

+
    +
  • In npm pkg set it enables parsing set values with JSON.parse() before +saving them to your package.json.
  • +
+

Not supported by all npm commands.

+ + +

parseable

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Output parseable results from commands that write to standard output. For +npm search, this will be tab-separated table format.

+ + +

otp

+
    +
  • Default: null
  • +
  • Type: null or String
  • +
+

This is a one-time password from a two-factor authenticator. It's needed +when publishing or changing package permissions with npm access.

+

If not set, and a registry response fails with a challenge for a one-time +password, npm will prompt on the command line for one.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-prune.html b/node_modules/npm/docs/output/commands/npm-prune.html new file mode 100644 index 0000000..42de1b6 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-prune.html @@ -0,0 +1,284 @@ + + +npm-prune + + + + + +
+
+

npm-prune

+Remove extraneous packages +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm prune [[<@scope>/]<pkg>...] [--production] [--dry-run] [--json]
+
+

Description

+

This command removes "extraneous" packages. If a package name is provided, +then only packages matching one of the supplied names are removed.

+

Extraneous packages are those present in the node_modules folder that are +not listed as any package's dependency list.

+

If the --production flag is specified or the NODE_ENV environment +variable is set to production, this command will remove the packages +specified in your devDependencies. Setting --no-production will negate +NODE_ENV being set to production.

+

If the --dry-run flag is used then no changes will actually be made.

+

If the --json flag is used, then the changes npm prune made (or would +have made with --dry-run) are printed as a JSON object.

+

In normal operation, extraneous modules are pruned automatically, so you'll +only need this command with the --production flag. However, in the real +world, operation is not always "normal". When crashes or mistakes happen, +this command can help clean up any resulting garbage.

+

Configuration

+ + + +

omit

+
    +
  • Default: 'dev' if the NODE_ENV environment variable is set to +'production', otherwise empty.
  • +
  • Type: "dev", "optional", or "peer" (can be set multiple times)
  • +
+

Dependency types to omit from the installation tree on disk.

+

Note that these dependencies are still resolved and added to the +package-lock.json or npm-shrinkwrap.json file. They are just not +physically installed on disk.

+

If a package type appears in both the --include and --omit lists, then +it will be included.

+

If the resulting omit list includes 'dev', then the NODE_ENV environment +variable will be set to 'production' for all lifecycle scripts.

+ + +

dry-run

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Indicates that you don't want npm to make any changes and that it should +only report what it would have done. This can be passed into any of the +commands that modify your local installation, eg, install, update, +dedupe, uninstall, as well as pack and publish.

+

Note: This is NOT honored by other network related commands, eg dist-tags, +owner, etc.

+ + +

json

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Whether or not to output JSON data, rather than the normal output.

+
    +
  • In npm pkg set it enables parsing set values with JSON.parse() before +saving them to your package.json.
  • +
+

Not supported by all npm commands.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-publish.html b/node_modules/npm/docs/output/commands/npm-publish.html new file mode 100644 index 0000000..60f35fb --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-publish.html @@ -0,0 +1,384 @@ + + +npm-publish + + + + + +
+
+

npm-publish

+Publish a package +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm publish [<tarball>|<folder>] [--tag <tag>] [--access <public|restricted>] [--otp otpcode] [--dry-run]
+
+Publishes '.' if no argument supplied
+Sets tag 'latest' if no --tag specified
+
+

Description

+

Publishes a package to the registry so that it can be installed by name.

+

By default npm will publish to the public registry. This can be overridden +by specifying a different default registry or using a +scope in the name (see +package.json).

+
    +
  • +

    <folder>: A folder containing a package.json file

    +
  • +
  • +

    <tarball>: A url or file path to a gzipped tar archive containing a +single folder with a package.json file inside.

    +
  • +
  • +

    [--tag <tag>]: Registers the published package with the given tag, such +that npm install <name>@<tag> will install this version. By default, +npm publish updates and npm install installs the latest tag. See +npm-dist-tag for details about tags.

    +
  • +
  • +

    [--access <public|restricted>]: Tells the registry whether this package +should be published as public or restricted. Only applies to scoped +packages, which default to restricted. If you don't have a paid +account, you must publish with --access public to publish scoped +packages.

    +
  • +
  • +

    [--otp <otpcode>]: If you have two-factor authentication enabled in +auth-and-writes mode then you can provide a code from your +authenticator with this. If you don't include this and you're running +from a TTY then you'll be prompted.

    +
  • +
  • +

    [--dry-run]: As of npm@6, does everything publish would do except +actually publishing to the registry. Reports the details of what would +have been published.

    +
  • +
  • +

    [--workspaces]: Enables workspace context while publishing. All +workspace packages will be published.

    +
  • +
  • +

    [--workspace]: Enables workspaces context and limits results to only +those specified by this config item. Only the packages in the +workspaces given will be published.

    +
  • +
+

The publish will fail if the package name and version combination already +exists in the specified registry.

+

Once a package is published with a given name and version, that specific +name and version combination can never be used again, even if it is removed +with npm unpublish.

+

As of npm@5, both a sha1sum and an integrity field with a sha512sum of the +tarball will be submitted to the registry during publication. Subsequent +installs will use the strongest supported algorithm to verify downloads.

+

Similar to --dry-run see npm pack, which figures +out the files to be included and packs them into a tarball to be uploaded +to the registry.

+

Files included in package

+

To see what will be included in your package, run npx npm-packlist. All +files are included by default, with the following exceptions:

+
    +
  • +

    Certain files that are relevant to package installation and distribution +are always included. For example, package.json, README.md, +LICENSE, and so on.

    +
  • +
  • +

    If there is a "files" list in +package.json, then only the files +specified will be included. (If directories are specified, then they +will be walked recursively and their contents included, subject to the +same ignore rules.)

    +
  • +
  • +

    If there is a .gitignore or .npmignore file, then ignored files in +that and all child directories will be excluded from the package. If +both files exist, then the .gitignore is ignored, and only the +.npmignore is used.

    +

    .npmignore files follow the same pattern +rules +as .gitignore files

    +
  • +
  • +

    If the file matches certain patterns, then it will never be included, +unless explicitly added to the "files" list in package.json, or +un-ignored with a ! rule in a .npmignore or .gitignore file.

    +
  • +
  • +

    Symbolic links are never included in npm packages.

    +
  • +
+

See developers for full details on what's +included in the published package, as well as details on how the package is +built.

+

Configuration

+ + + +

tag

+
    +
  • Default: "latest"
  • +
  • Type: String
  • +
+

If you ask npm to install a package and don't tell it a specific version, +then it will install the specified tag.

+

Also the tag that is added to the package@version specified by the npm tag +command, if no explicit tag is given.

+

When used by the npm diff command, this is the tag used to fetch the +tarball that will be compared with the local files by default.

+ + +

access

+
    +
  • Default: 'restricted' for scoped packages, 'public' for unscoped packages
  • +
  • Type: null, "restricted", or "public"
  • +
+

When publishing scoped packages, the access level defaults to restricted. +If you want your scoped package to be publicly viewable (and installable) +set --access=public. The only valid values for access are public and +restricted. Unscoped packages always have an access level of public.

+

Note: Using the --access flag on the npm publish command will only set +the package access level on the initial publish of the package. Any +subsequent npm publish commands using the --access flag will not have an +effect to the access level. To make changes to the access level after the +initial publish use npm access.

+ + +

dry-run

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Indicates that you don't want npm to make any changes and that it should +only report what it would have done. This can be passed into any of the +commands that modify your local installation, eg, install, update, +dedupe, uninstall, as well as pack and publish.

+

Note: This is NOT honored by other network related commands, eg dist-tags, +owner, etc.

+ + +

otp

+
    +
  • Default: null
  • +
  • Type: null or String
  • +
+

This is a one-time password from a two-factor authenticator. It's needed +when publishing or changing package permissions with npm access.

+

If not set, and a registry response fails with a challenge for a one-time +password, npm will prompt on the command line for one.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-rebuild.html b/node_modules/npm/docs/output/commands/npm-rebuild.html new file mode 100644 index 0000000..425751d --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-rebuild.html @@ -0,0 +1,275 @@ + + +npm-rebuild + + + + + +
+
+

npm-rebuild

+Rebuild a package +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm rebuild [[<@scope>/]<name>[@<version>] ...]
+
+alias: rb
+
+

Description

+

This command runs the npm build command on the matched folders. This is +useful when you install a new version of node, and must recompile all your +C++ addons with the new binary. It is also useful when installing with +--ignore-scripts and --no-bin-links, to explicitly choose which +packages to build and/or link bins.

+

If one or more package names (and optionally version ranges) are provided, +then only packages with a name and version matching one of the specifiers +will be rebuilt.

+

Configuration

+ + + +

global

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Operates in "global" mode, so that packages are installed into the prefix +folder instead of the current working directory. See +folders for more on the differences in behavior.

+
    +
  • packages are installed into the {prefix}/lib/node_modules folder, instead +of the current working directory.
  • +
  • bin files are linked to {prefix}/bin
  • +
  • man pages are linked to {prefix}/share/man
  • +
+ + + +
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Tells npm to create symlinks (or .cmd shims on Windows) for package +executables.

+

Set to false to have it not do this. This can be used to work around the +fact that some file systems don't support symlinks, even on ostensibly Unix +systems.

+ + +

ignore-scripts

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, npm does not run scripts specified in package.json files.

+

Note that commands explicitly intended to run a particular script, such as +npm start, npm stop, npm restart, npm test, and npm run-script +will still run their intended script if ignore-scripts is set, but they +will not run any pre- or post-scripts.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-repo.html b/node_modules/npm/docs/output/commands/npm-repo.html new file mode 100644 index 0000000..3585570 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-repo.html @@ -0,0 +1,241 @@ + + +npm-repo + + + + + +
+
+

npm-repo

+Open package repository page in the browser +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm repo [<pkgname> [<pkgname> ...]]
+
+

Description

+

This command tries to guess at the likely location of a package's +repository URL, and then tries to open it using the --browser config +param. If no package name is provided, it will search for a package.json +in the current folder and use the repository property.

+

Configuration

+ + + +

browser

+
    +
  • Default: OS X: "open", Windows: "start", Others: "xdg-open"
  • +
  • Type: null, Boolean, or String
  • +
+

The browser that is called by npm commands to open websites.

+

Set to false to suppress browser behavior and instead print urls to +terminal.

+

Set to true to use default system URL opener.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-restart.html b/node_modules/npm/docs/output/commands/npm-restart.html new file mode 100644 index 0000000..135611a --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-restart.html @@ -0,0 +1,220 @@ + + +npm-restart + + + + + +
+
+

npm-restart

+Restart a package +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm restart [-- <args>]
+
+

Description

+

This restarts a project. It is equivalent to running npm run-script restart.

+

If the current project has a "restart" script specified in +package.json, then the following scripts will be run:

+
    +
  1. prerestart
  2. +
  3. restart
  4. +
  5. postrestart
  6. +
+

If it does not have a "restart" script specified, but it does have +stop and/or start scripts, then the following scripts will be run:

+
    +
  1. prerestart
  2. +
  3. prestop
  4. +
  5. stop
  6. +
  7. poststop
  8. +
  9. prestart
  10. +
  11. start
  12. +
  13. poststart
  14. +
  15. postrestart
  16. +
+

Configuration

+ + + +

ignore-scripts

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, npm does not run scripts specified in package.json files.

+

Note that commands explicitly intended to run a particular script, such as +npm start, npm stop, npm restart, npm test, and npm run-script +will still run their intended script if ignore-scripts is set, but they +will not run any pre- or post-scripts.

+ + +

script-shell

+
    +
  • Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
  • +
  • Type: null or String
  • +
+

The shell to use for scripts run with the npm exec, npm run and npm init <pkg> commands.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-root.html b/node_modules/npm/docs/output/commands/npm-root.html new file mode 100644 index 0000000..58e5f0e --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-root.html @@ -0,0 +1,202 @@ + + +npm-root + + + + + +
+
+

npm-root

+Display npm root +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm root [-g]
+
+

Description

+

Print the effective node_modules folder to standard out.

+

Useful for using npm in shell scripts that do things with the +node_modules folder. For example:

+
#!/bin/bash
+global_node_modules="$(npm root --global)"
+echo "Global packages installed in: ${global_node_modules}"
+
+

Configuration

+ + + +

global

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Operates in "global" mode, so that packages are installed into the prefix +folder instead of the current working directory. See +folders for more on the differences in behavior.

+
    +
  • packages are installed into the {prefix}/lib/node_modules folder, instead +of the current working directory.
  • +
  • bin files are linked to {prefix}/bin
  • +
  • man pages are linked to {prefix}/share/man
  • +
+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-run-script.html b/node_modules/npm/docs/output/commands/npm-run-script.html new file mode 100644 index 0000000..18d5fe7 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-run-script.html @@ -0,0 +1,349 @@ + + +npm-run-script + + + + + +
+
+

npm-run-script

+Run arbitrary package scripts +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm run-script <command> [--if-present] [--silent] [-- <args>]
+npm run-script <command> [--workspace=<workspace-name>]
+npm run-script <command> [--workspaces]
+
+aliases: run, rum, urn
+
+

Description

+

This runs an arbitrary command from a package's "scripts" object. If no +"command" is provided, it will list the available scripts.

+

run[-script] is used by the test, start, restart, and stop commands, but +can be called directly, as well. When the scripts in the package are +printed out, they're separated into lifecycle (test, start, restart) and +directly-run scripts.

+

Any positional arguments are passed to the specified script. Use -- to +pass --prefixed flags and options which would otherwise be parsed by npm.

+

For example:

+
npm run test -- --grep="pattern"
+
+

The arguments will only be passed to the script specified after npm run +and not to any pre or post script.

+

The env script is a special built-in command that can be used to list +environment variables that will be available to the script at runtime. If an +"env" command is defined in your package, it will take precedence over the +built-in.

+

In addition to the shell's pre-existing PATH, npm run adds +node_modules/.bin to the PATH provided to scripts. Any binaries +provided by locally-installed dependencies can be used without the +node_modules/.bin prefix. For example, if there is a devDependency on +tap in your package, you should write:

+
"scripts": {"test": "tap test/*.js"}
+
+

instead of

+
"scripts": {"test": "node_modules/.bin/tap test/*.js"}
+
+

The actual shell your script is run within is platform dependent. By default, +on Unix-like systems it is the /bin/sh command, on Windows it is +cmd.exe. +The actual shell referred to by /bin/sh also depends on the system. +You can customize the shell with the script-shell configuration.

+

Scripts are run from the root of the package folder, regardless of what the +current working directory is when npm run is called. If you want your +script to use different behavior based on what subdirectory you're in, you +can use the INIT_CWD environment variable, which holds the full path you +were in when you ran npm run.

+

npm run sets the NODE environment variable to the node executable +with which npm is executed.

+

If you try to run a script without having a node_modules directory and it +fails, you will be given a warning to run npm install, just in case you've +forgotten.

+

Workspaces support

+

You may use the workspace or workspaces configs in order to run an +arbitrary command from a package's "scripts" object in the context of the +specified workspaces. If no "command" is provided, it will list the available +scripts for each of these configured workspaces.

+

Given a project with configured workspaces, e.g:

+
.
++-- package.json
+`-- packages
+   +-- a
+   |   `-- package.json
+   +-- b
+   |   `-- package.json
+   `-- c
+       `-- package.json
+
+

Assuming the workspace configuration is properly set up at the root level +package.json file. e.g:

+
{
+    "workspaces": [ "./packages/*" ]
+}
+
+

And that each of the configured workspaces has a configured test script, +we can run tests in all of them using the workspaces config:

+
npm test --workspaces
+
+

Filtering workspaces

+

It's also possible to run a script in a single workspace using the workspace +config along with a name or directory path:

+
npm test --workspace=a
+
+

The workspace config can also be specified multiple times in order to run a +specific script in the context of multiple workspaces. When defining values for +the workspace config in the command line, it also possible to use -w as a +shorthand, e.g:

+
npm test -w a -w b
+
+

This last command will run test in both ./packages/a and ./packages/b +packages.

+

Configuration

+ + + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + +

if-present

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, npm will not exit with an error code when run-script is invoked +for a script that isn't defined in the scripts section of package.json. +This option can be used when it's desirable to optionally run a script when +it's present and fail if the script fails. This is useful, for example, when +running scripts that may only apply for some builds in an otherwise generic +CI setup.

+ + +

ignore-scripts

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, npm does not run scripts specified in package.json files.

+

Note that commands explicitly intended to run a particular script, such as +npm start, npm stop, npm restart, npm test, and npm run-script +will still run their intended script if ignore-scripts is set, but they +will not run any pre- or post-scripts.

+ + +

script-shell

+
    +
  • Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
  • +
  • Type: null or String
  • +
+

The shell to use for scripts run with the npm exec, npm run and npm init <pkg> commands.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-search.html b/node_modules/npm/docs/output/commands/npm-search.html new file mode 100644 index 0000000..34c4ceb --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-search.html @@ -0,0 +1,299 @@ + + +npm-search + + + + + +
+
+

npm-search

+Search for packages +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm search [-l|--long] [--json] [--parseable] [--no-description] [search terms ...]
+
+aliases: s, se, find
+
+

Note: This command is unaware of workspaces.

+

Description

+

Search the registry for packages matching the search terms. npm search +performs a linear, incremental, lexically-ordered search through package +metadata for all files in the registry. If your terminal has color +support, it will further highlight the matches in the results. This can +be disabled with the config item color

+

Additionally, using the --searchopts and --searchexclude options +paired with more search terms will include and exclude further patterns. +The main difference between --searchopts and the standard search terms +is that the former does not highlight results in the output and you can +use them more fine-grained filtering. Additionally, you can add both of +these to your config to change default search filtering behavior.

+

Search also allows targeting of maintainers in search results, by prefixing +their npm username with =.

+

If a term starts with /, then it's interpreted as a regular expression +and supports standard JavaScript RegExp syntax. In this case search will +ignore a trailing / . (Note you must escape or quote many regular +expression characters in most shells.)

+

Configuration

+ + + +

long

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Show extended information in ls, search, and help-search.

+ + +

json

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Whether or not to output JSON data, rather than the normal output.

+
    +
  • In npm pkg set it enables parsing set values with JSON.parse() before +saving them to your package.json.
  • +
+

Not supported by all npm commands.

+ + +

color

+
    +
  • Default: true unless the NO_COLOR environ is set to something other than '0'
  • +
  • Type: "always" or Boolean
  • +
+

If false, never shows colors. If "always" then always shows colors. If +true, then only prints color codes for tty file descriptors.

+ + +

parseable

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Output parseable results from commands that write to standard output. For +npm search, this will be tab-separated table format.

+ + +

description

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Show the description in npm search

+ + +

searchopts

+
    +
  • Default: ""
  • +
  • Type: String
  • +
+

Space-separated options that are always passed to search.

+ + +

searchexclude

+
    +
  • Default: ""
  • +
  • Type: String
  • +
+

Space-separated options that limit the results from search.

+ + +

registry

+ +

The base URL of the npm registry.

+ + +

prefer-online

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, staleness checks for cached data will be forced, making the CLI +look for updates immediately even for fresh package data.

+ + +

prefer-offline

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, staleness checks for cached data will be bypassed, but missing data +will be requested from the server. To force full offline mode, use +--offline.

+ + +

offline

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Force offline mode: no network requests will be done during install. To +allow the CLI to fill in missing cache data, see --prefer-offline.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-set-script.html b/node_modules/npm/docs/output/commands/npm-set-script.html new file mode 100644 index 0000000..9391ba9 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-set-script.html @@ -0,0 +1,240 @@ + + +npm-set-script + + + + + +
+
+

npm-set-script

+Set tasks in the scripts section of package.json +
+ +
+

Table of contents

+ +
+ +

Synopsis

+

An npm command that lets you create a task in the scripts section of the package.json.

+
npm set-script [<script>] [<command>]
+
+

Example:

+
    +
  • npm set-script start "http-server ."
  • +
+
{
+  "name": "my-project",
+  "scripts": {
+    "start": "http-server .",
+    "test": "some existing value"
+  }
+}
+
+

Configuration

+ + + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-shrinkwrap.html b/node_modules/npm/docs/output/commands/npm-shrinkwrap.html new file mode 100644 index 0000000..ff2926f --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-shrinkwrap.html @@ -0,0 +1,183 @@ + + +npm-shrinkwrap + + + + + +
+
+

npm-shrinkwrap

+Lock down dependency versions for publication +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm shrinkwrap
+
+

Note: This command is unaware of workspaces.

+

Description

+

This command repurposes package-lock.json into a publishable +npm-shrinkwrap.json or simply creates a new one. The file created and +updated by this command will then take precedence over any other existing +or future package-lock.json files. For a detailed explanation of the +design and purpose of package locks in npm, see +package-lock-json.

+

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-star.html b/node_modules/npm/docs/output/commands/npm-star.html new file mode 100644 index 0000000..de96831 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-star.html @@ -0,0 +1,208 @@ + + +npm-star + + + + + +
+
+

npm-star

+Mark your favorite packages +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm star [<pkg>...]
+
+

Note: This command is unaware of workspaces.

+

Description

+

"Starring" a package means that you have some interest in it. It's +a vaguely positive way to show that you care.

+

It's a boolean thing. Starring repeatedly has no additional effect.

+

More

+

There's also these extra commands to help you manage your favorite packages:

+

Unstar

+

You can also "unstar" a package using npm unstar

+

"Unstarring" is the same thing, but in reverse.

+

Listing stars

+

You can see all your starred packages using npm stars

+

Configuration

+ + + +

registry

+ +

The base URL of the npm registry.

+ + +

unicode

+
    +
  • Default: false on windows, true on mac/unix systems with a unicode locale, +as defined by the LC_ALL, LC_CTYPE, or LANG environment variables.
  • +
  • Type: Boolean
  • +
+

When set to true, npm uses unicode characters in the tree output. When +false, it uses ascii characters instead of unicode glyphs.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-stars.html b/node_modules/npm/docs/output/commands/npm-stars.html new file mode 100644 index 0000000..c91ffa2 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-stars.html @@ -0,0 +1,192 @@ + + +npm-stars + + + + + +
+
+

npm-stars

+View packages marked as favorites +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm stars [<user>]
+
+

Note: This command is unaware of workspaces.

+

Description

+

If you have starred a lot of neat things and want to find them again +quickly this command lets you do just that.

+

You may also want to see your friend's favorite packages, in this case +you will most certainly enjoy this command.

+

Configuration

+ + + +

registry

+ +

The base URL of the npm registry.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-start.html b/node_modules/npm/docs/output/commands/npm-start.html new file mode 100644 index 0000000..14554ca --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-start.html @@ -0,0 +1,223 @@ + + +npm-start + + + + + +
+
+

npm-start

+Start a package +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm start [-- <args>]
+
+

Description

+

This runs a predefined command specified in the "start" property of +a package's "scripts" object.

+

If the "scripts" object does not define a "start" property, npm +will run node server.js.

+

Note that this is different from the default node behavior of running +the file specified in a package's "main" attribute when evoking with +node .

+

As of npm@2.0.0, you can +use custom arguments when executing scripts. Refer to npm run-script for more details.

+

Example

+
{
+  "scripts": {
+    "start": "node foo.js"
+  }
+}
+
+
npm start
+
+> npm@x.x.x start
+> node foo.js
+
+(foo.js output would be here)
+
+
+

Configuration

+ + + +

ignore-scripts

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, npm does not run scripts specified in package.json files.

+

Note that commands explicitly intended to run a particular script, such as +npm start, npm stop, npm restart, npm test, and npm run-script +will still run their intended script if ignore-scripts is set, but they +will not run any pre- or post-scripts.

+ + +

script-shell

+
    +
  • Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
  • +
  • Type: null or String
  • +
+

The shell to use for scripts run with the npm exec, npm run and npm init <pkg> commands.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-stop.html b/node_modules/npm/docs/output/commands/npm-stop.html new file mode 100644 index 0000000..ff119ac --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-stop.html @@ -0,0 +1,218 @@ + + +npm-stop + + + + + +
+
+

npm-stop

+Stop a package +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm stop [-- <args>]
+
+

Description

+

This runs a predefined command specified in the "stop" property of a +package's "scripts" object.

+

Unlike with npm start, there is no default script +that will run if the "stop" property is not defined.

+

Example

+
{
+  "scripts": {
+    "stop": "node bar.js"
+  }
+}
+
+
npm stop
+
+> npm@x.x.x stop
+> node bar.js
+
+(bar.js output would be here)
+
+
+

Configuration

+ + + +

ignore-scripts

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, npm does not run scripts specified in package.json files.

+

Note that commands explicitly intended to run a particular script, such as +npm start, npm stop, npm restart, npm test, and npm run-script +will still run their intended script if ignore-scripts is set, but they +will not run any pre- or post-scripts.

+ + +

script-shell

+
    +
  • Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
  • +
  • Type: null or String
  • +
+

The shell to use for scripts run with the npm exec, npm run and npm init <pkg> commands.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-team.html b/node_modules/npm/docs/output/commands/npm-team.html new file mode 100644 index 0000000..2ee0b23 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-team.html @@ -0,0 +1,286 @@ + + +npm-team + + + + + +
+
+

npm-team

+Manage organization teams and team memberships +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm team create <scope:team>
+npm team destroy <scope:team>
+
+npm team add <scope:team> <user>
+npm team rm <scope:team> <user>
+
+npm team ls <scope>|<scope:team>
+
+

Note: This command is unaware of workspaces.

+

Description

+

Used to manage teams in organizations, and change team memberships. Does not +handle permissions for packages.

+

Teams must always be fully qualified with the organization/scope they belong to +when operating on them, separated by a colon (:). That is, if you have a +newteam team in an org organization, you must always refer to that team +as @org:newteam in these commands.

+

If you have two-factor authentication enabled in auth-and-writes mode, then +you can provide a code from your authenticator with [--otp <otpcode>]. +If you don't include this then you will be prompted.

+
    +
  • +

    create / destroy: +Create a new team, or destroy an existing one. Note: You cannot remove the +developers team, learn more.

    +

    Here's how to create a new team newteam under the org org:

    +
    npm team create @org:newteam
    +
    +

    You should see a confirming message such as: +@org:newteam once the new +team has been created.

    +
  • +
  • +

    add: +Add a user to an existing team.

    +

    Adding a new user username to a team named newteam under the org org:

    +
    npm team add @org:newteam username
    +
    +

    On success, you should see a message: username added to @org:newteam

    +
  • +
  • +

    rm: +Using npm team rm you can also remove users from a team they belong to.

    +

    Here's an example removing user username from newteam team +in org organization:

    +
    npm team rm @org:newteam username
    +
    +

    Once the user is removed a confirmation message is displayed: +username removed from @org:newteam

    +
  • +
  • +

    ls: +If performed on an organization name, will return a list of existing teams +under that organization. If performed on a team, it will instead return a list +of all users belonging to that particular team.

    +

    Here's an example of how to list all teams from an org named org:

    +
    npm team ls @org
    +
    +

    Example listing all members of a team named newteam:

    +
    npm team ls @org:newteam
    +
    +
  • +
+

Details

+

npm team always operates directly on the current registry, configurable from +the command line using --registry=<registry url>.

+

You must be a team admin to create teams and manage team membership, under +the given organization. Listing teams and team memberships may be done by +any member of the organization.

+

Organization creation and management of team admins and organization members +is done through the website, not the npm CLI.

+

To use teams to manage permissions on packages belonging to your organization, +use the npm access command to grant or revoke the appropriate permissions.

+

Configuration

+ + + +

registry

+ +

The base URL of the npm registry.

+ + +

otp

+
    +
  • Default: null
  • +
  • Type: null or String
  • +
+

This is a one-time password from a two-factor authenticator. It's needed +when publishing or changing package permissions with npm access.

+

If not set, and a registry response fails with a challenge for a one-time +password, npm will prompt on the command line for one.

+ + +

parseable

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Output parseable results from commands that write to standard output. For +npm search, this will be tab-separated table format.

+ + +

json

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Whether or not to output JSON data, rather than the normal output.

+
    +
  • In npm pkg set it enables parsing set values with JSON.parse() before +saving them to your package.json.
  • +
+

Not supported by all npm commands.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-test.html b/node_modules/npm/docs/output/commands/npm-test.html new file mode 100644 index 0000000..8cbd417 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-test.html @@ -0,0 +1,216 @@ + + +npm-test + + + + + +
+
+

npm-test

+Test a package +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm test [-- <args>]
+
+aliases: t, tst
+
+

Description

+

This runs a predefined command specified in the "test" property of +a package's "scripts" object.

+

Example

+
{
+  "scripts": {
+    "test": "node test.js"
+  }
+}
+
+
npm test
+> npm@x.x.x test
+> node test.js
+
+(test.js output would be here)
+
+

Configuration

+ + + +

ignore-scripts

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, npm does not run scripts specified in package.json files.

+

Note that commands explicitly intended to run a particular script, such as +npm start, npm stop, npm restart, npm test, and npm run-script +will still run their intended script if ignore-scripts is set, but they +will not run any pre- or post-scripts.

+ + +

script-shell

+
    +
  • Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
  • +
  • Type: null or String
  • +
+

The shell to use for scripts run with the npm exec, npm run and npm init <pkg> commands.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-token.html b/node_modules/npm/docs/output/commands/npm-token.html new file mode 100644 index 0000000..a0ec36c --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-token.html @@ -0,0 +1,279 @@ + + +npm-token + + + + + +
+
+

npm-token

+Manage your authentication tokens +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
  npm token list [--json|--parseable]
+  npm token create [--read-only] [--cidr=1.1.1.1/24,2.2.2.2/16]
+  npm token revoke <id|token>
+
+

Note: This command is unaware of workspaces.

+

Description

+

This lets you list, create and revoke authentication tokens.

+
    +
  • npm token list: +Shows a table of all active authentication tokens. You can request +this as JSON with --json or tab-separated values with --parseable.
  • +
+
+--------+---------+------------+----------+----------------+
+| id     | token   | created    | read-only | CIDR whitelist |
++--------+---------+------------+----------+----------------+
+| 7f3134 | 1fa9ba… | 2017-10-02 | yes      |                |
++--------+---------+------------+----------+----------------+
+| c03241 | af7aef… | 2017-10-02 | no       | 192.168.0.1/24 |
++--------+---------+------------+----------+----------------+
+| e0cf92 | 3a436a… | 2017-10-02 | no       |                |
++--------+---------+------------+----------+----------------+
+| 63eb9d | 74ef35… | 2017-09-28 | no       |                |
++--------+---------+------------+----------+----------------+
+| 2daaa8 | cbad5f… | 2017-09-26 | no       |                |
++--------+---------+------------+----------+----------------+
+| 68c2fe | 127e51… | 2017-09-23 | no       |                |
++--------+---------+------------+----------+----------------+
+| 6334e1 | 1dadd1… | 2017-09-23 | no       |                |
++--------+---------+------------+----------+----------------+
+
+
    +
  • +

    npm token create [--read-only] [--cidr=<cidr-ranges>]: +Create a new authentication token. It can be --read-only, or accept +a list of +CIDR +ranges with which to limit use of this token. This will prompt you for +your password, and, if you have two-factor authentication enabled, an +otp.

    +

    Currently, the cli can not generate automation tokens. Please refer to +the docs +website +for more information on generating automation tokens.

    +
  • +
+
+----------------+--------------------------------------+
+| token          | a73c9572-f1b9-8983-983d-ba3ac3cc913d |
++----------------+--------------------------------------+
+| cidr_whitelist |                                      |
++----------------+--------------------------------------+
+| readonly       | false                                |
++----------------+--------------------------------------+
+| created        | 2017-10-02T07:52:24.838Z             |
++----------------+--------------------------------------+
+
+
    +
  • npm token revoke <token|id>: +Immediately removes an authentication token from the registry. You +will no longer be able to use it. This can accept both complete +tokens (such as those you get back from npm token create, and those +found in your .npmrc), and ids as seen in the parseable or json +output of npm token list. This will NOT accept the truncated token +found in the normal npm token list output.
  • +
+

Configuration

+ + + +

read-only

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

This is used to mark a token as unable to publish when configuring limited +access tokens with the npm token create command.

+ + +

cidr

+
    +
  • Default: null
  • +
  • Type: null or String (can be set multiple times)
  • +
+

This is a list of CIDR address to be used when configuring limited access +tokens with the npm token create command.

+ + +

registry

+ +

The base URL of the npm registry.

+ + +

otp

+
    +
  • Default: null
  • +
  • Type: null or String
  • +
+

This is a one-time password from a two-factor authenticator. It's needed +when publishing or changing package permissions with npm access.

+

If not set, and a registry response fails with a challenge for a one-time +password, npm will prompt on the command line for one.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-uninstall.html b/node_modules/npm/docs/output/commands/npm-uninstall.html new file mode 100644 index 0000000..cec9937 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-uninstall.html @@ -0,0 +1,267 @@ + + +npm-uninstall + + + + + +
+
+

npm-uninstall

+Remove a package +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm uninstall [<@scope>/]<pkg>[@<version>]... [-S|--save|--no-save]
+
+aliases: remove, rm, r, un, unlink
+
+

Description

+

This uninstalls a package, completely removing everything npm installed +on its behalf.

+

It also removes the package from the dependencies, devDependencies, +optionalDependencies, and peerDependencies objects in your +package.json.

+

Futher, if you have an npm-shrinkwrap.json or package-lock.json, npm +will update those files as well.

+

--no-save will tell npm not to remove the package from your +package.json, npm-shrinkwrap.json, or package-lock.json files.

+

--save or -S will tell npm to remove the package from your +package.json, npm-shrinkwrap.json, and package-lock.json files. +This is the default, but you may need to use this if you have for +instance save=false in your npmrc file

+

In global mode (ie, with -g or --global appended to the command), +it uninstalls the current package context as a global package. +--no-save is ignored in this case.

+

Scope is optional and follows the usual rules for scope.

+

Examples

+
npm uninstall sax
+
+

sax will no longer be in your package.json, npm-shrinkwrap.json, or +package-lock.json files.

+
npm uninstall lodash --no-save
+
+

lodash will not be removed from your package.json, +npm-shrinkwrap.json, or package-lock.json files.

+

Configuration

+ + + +

save

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Save installed packages to a package.json file as dependencies.

+

When used with the npm rm command, removes the dependency from +package.json.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-unpublish.html b/node_modules/npm/docs/output/commands/npm-unpublish.html new file mode 100644 index 0000000..857a08d --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-unpublish.html @@ -0,0 +1,278 @@ + + +npm-unpublish + + + + + +
+
+

npm-unpublish

+Remove a package from the registry +
+ +
+

Table of contents

+ +
+ +

Synopsis

+

To learn more about how the npm registry treats unpublish, see our unpublish policies

+

Unpublishing a single version of a package

+
npm unpublish [<@scope>/]<pkg>@<version>
+
+

Unpublishing an entire package

+
npm unpublish [<@scope>/]<pkg> --force
+
+

Warning

+

Consider using the deprecate command instead, +if your intent is to encourage users to upgrade, or if you no longer +want to maintain a package.

+

Description

+

This removes a package version from the registry, deleting its entry and +removing the tarball.

+

The npm registry will return an error if you are not logged +in.

+

If you do not specify a version or if you remove all of a package's +versions then the registry will remove the root package entry entirely.

+

Even if you unpublish a package version, that specific name and version +combination can never be reused. In order to publish the package again, +you must use a new version number. If you unpublish the entire package, +you may not publish any new versions of that package until 24 hours have +passed.

+

Configuration

+ + + +

dry-run

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Indicates that you don't want npm to make any changes and that it should +only report what it would have done. This can be passed into any of the +commands that modify your local installation, eg, install, update, +dedupe, uninstall, as well as pack and publish.

+

Note: This is NOT honored by other network related commands, eg dist-tags, +owner, etc.

+ + +

force

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Removes various protections against unfortunate side effects, common +mistakes, unnecessary performance degradation, and malicious input.

+
    +
  • Allow clobbering non-npm files in global installs.
  • +
  • Allow the npm version command to work on an unclean git repository.
  • +
  • Allow deleting the cache folder with npm cache clean.
  • +
  • Allow installing packages that have an engines declaration requiring a +different version of npm.
  • +
  • Allow installing packages that have an engines declaration requiring a +different version of node, even if --engine-strict is enabled.
  • +
  • Allow npm audit fix to install modules outside your stated dependency +range (including SemVer-major changes).
  • +
  • Allow unpublishing all versions of a published package.
  • +
  • Allow conflicting peerDependencies to be installed in the root project.
  • +
  • Implicitly set --yes during npm init.
  • +
  • Allow clobbering existing values in npm pkg
  • +
+

If you don't have a clear idea of what you want to do, it is strongly +recommended that you do not use this option!

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-unstar.html b/node_modules/npm/docs/output/commands/npm-unstar.html new file mode 100644 index 0000000..83bed97 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-unstar.html @@ -0,0 +1,217 @@ + + +npm-unstar + + + + + +
+
+

npm-unstar

+Remove an item from your favorite packages +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm unstar [<pkg>...]
+
+

Note: This command is unaware of workspaces.

+

Description

+

"Unstarring" a package is the opposite of npm star, +it removes an item from your list of favorite packages.

+

More

+

There's also these extra commands to help you manage your favorite packages:

+

Star

+

You can "star" a package using npm star

+

Listing stars

+

You can see all your starred packages using npm stars

+

Configuration

+ + + +

registry

+ +

The base URL of the npm registry.

+ + +

unicode

+
    +
  • Default: false on windows, true on mac/unix systems with a unicode locale, +as defined by the LC_ALL, LC_CTYPE, or LANG environment variables.
  • +
  • Type: Boolean
  • +
+

When set to true, npm uses unicode characters in the tree output. When +false, it uses ascii characters instead of unicode glyphs.

+ + +

otp

+
    +
  • Default: null
  • +
  • Type: null or String
  • +
+

This is a one-time password from a two-factor authenticator. It's needed +when publishing or changing package permissions with npm access.

+

If not set, and a registry response fails with a challenge for a one-time +password, npm will prompt on the command line for one.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-update.html b/node_modules/npm/docs/output/commands/npm-update.html new file mode 100644 index 0000000..6185df9 --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-update.html @@ -0,0 +1,474 @@ + + +npm-update + + + + + +
+
+

npm-update

+Update packages +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm update [-g] [<pkg>...]
+
+aliases: up, upgrade
+
+

Description

+

This command will update all the packages listed to the latest version +(specified by the tag config), respecting the semver constraints of +both your package and its dependencies (if they also require the same +package).

+

It will also install missing packages.

+

If the -g flag is specified, this command will update globally installed +packages.

+

If no package name is specified, all packages in the specified location (global +or local) will be updated.

+

Note that by default npm update will not update the semver values of direct +dependencies in your project package.json, if you want to also update +values in package.json you can run: npm update --save (or add the +save=true option to a configuration file +to make that the default behavior).

+

Example

+

For the examples below, assume that the current package is app and it depends +on dependencies, dep1 (dep2, .. etc.). The published versions of dep1 +are:

+
{
+  "dist-tags": { "latest": "1.2.2" },
+  "versions": [
+    "1.2.2",
+    "1.2.1",
+    "1.2.0",
+    "1.1.2",
+    "1.1.1",
+    "1.0.0",
+    "0.4.1",
+    "0.4.0",
+    "0.2.0"
+  ]
+}
+
+

Caret Dependencies

+

If app's package.json contains:

+
"dependencies": {
+  "dep1": "^1.1.1"
+}
+
+

Then npm update will install dep1@1.2.2, because 1.2.2 is latest and +1.2.2 satisfies ^1.1.1.

+

Tilde Dependencies

+

However, if app's package.json contains:

+
"dependencies": {
+  "dep1": "~1.1.1"
+}
+
+

In this case, running npm update will install dep1@1.1.2. Even though the +latest tag points to 1.2.2, this version do not satisfy ~1.1.1, which is +equivalent to >=1.1.1 <1.2.0. So the highest-sorting version that satisfies +~1.1.1 is used, which is 1.1.2.

+

Caret Dependencies below 1.0.0

+

Suppose app has a caret dependency on a version below 1.0.0, for example:

+
"dependencies": {
+  "dep1": "^0.2.0"
+}
+
+

npm update will install dep1@0.2.0, because there are no other +versions which satisfy ^0.2.0.

+

If the dependence were on ^0.4.0:

+
"dependencies": {
+  "dep1": "^0.4.0"
+}
+
+

Then npm update will install dep1@0.4.1, because that is the highest-sorting +version that satisfies ^0.4.0 (>= 0.4.0 <0.5.0)

+

Subdependencies

+

Suppose your app now also has a dependency on dep2

+
{
+  "name": "my-app",
+  "dependencies": {
+      "dep1": "^1.0.0",
+      "dep2": "1.0.0"
+  }
+}
+
+

and dep2 itself depends on this limited range of dep1

+
{
+"name": "dep2",
+  "dependencies": {
+    "dep1": "~1.1.1"
+  }
+}
+
+

Then npm update will install dep1@1.1.2 because that is the highest +version that dep2 allows. npm will prioritize having a single version +of dep1 in your tree rather than two when that single version can +satisfy the semver requirements of multiple dependencies in your tree. +In this case if you really did need your package to use a newer version +you would need to use npm install.

+

Updating Globally-Installed Packages

+

npm update -g will apply the update action to each globally installed +package that is outdated -- that is, has a version that is different from +wanted.

+

Note: Globally installed packages are treated as if they are installed with a +caret semver range specified. So if you require to update to latest you may +need to run npm install -g [<pkg>...]

+

NOTE: If a package has been upgraded to a version newer than latest, it will +be downgraded.

+

Configuration

+ + + +

global

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Operates in "global" mode, so that packages are installed into the prefix +folder instead of the current working directory. See +folders for more on the differences in behavior.

+
    +
  • packages are installed into the {prefix}/lib/node_modules folder, instead +of the current working directory.
  • +
  • bin files are linked to {prefix}/bin
  • +
  • man pages are linked to {prefix}/share/man
  • +
+ + +

global-style

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Causes npm to install the package into your local node_modules folder with +the same layout it uses with the global node_modules folder. Only your +direct dependencies will show in node_modules and everything they depend +on will be flattened in their node_modules folders. This obviously will +eliminate some deduping. If used with legacy-bundling, legacy-bundling +will be preferred.

+ + +

legacy-bundling

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Causes npm to install the package such that versions of npm prior to 1.4, +such as the one included with node 0.8, can install the package. This +eliminates all automatic deduping. If used with global-style this option +will be preferred.

+ + +

strict-peer-deps

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If set to true, and --legacy-peer-deps is not set, then any +conflicting peerDependencies will be treated as an install failure, even +if npm could reasonably guess the appropriate resolution based on non-peer +dependency relationships.

+

By default, conflicting peerDependencies deep in the dependency graph will +be resolved using the nearest non-peer dependency specification, even if +doing so will result in some packages receiving a peer dependency outside +the range set in their package's peerDependencies object.

+

When such and override is performed, a warning is printed, explaining the +conflict and the packages involved. If --strict-peer-deps is set, then +this warning is treated as a failure.

+ + +

package-lock

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

If set to false, then ignore package-lock.json files when installing. This +will also prevent writing package-lock.json if save is true.

+

When package package-locks are disabled, automatic pruning of extraneous +modules will also be disabled. To remove extraneous modules with +package-locks disabled use npm prune.

+ + +

omit

+
    +
  • Default: 'dev' if the NODE_ENV environment variable is set to +'production', otherwise empty.
  • +
  • Type: "dev", "optional", or "peer" (can be set multiple times)
  • +
+

Dependency types to omit from the installation tree on disk.

+

Note that these dependencies are still resolved and added to the +package-lock.json or npm-shrinkwrap.json file. They are just not +physically installed on disk.

+

If a package type appears in both the --include and --omit lists, then +it will be included.

+

If the resulting omit list includes 'dev', then the NODE_ENV environment +variable will be set to 'production' for all lifecycle scripts.

+ + +

ignore-scripts

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, npm does not run scripts specified in package.json files.

+

Note that commands explicitly intended to run a particular script, such as +npm start, npm stop, npm restart, npm test, and npm run-script +will still run their intended script if ignore-scripts is set, but they +will not run any pre- or post-scripts.

+ + +

audit

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

When "true" submit audit reports alongside the current npm command to the +default registry and all registries configured for scopes. See the +documentation for npm audit for details on what is +submitted.

+ + + +
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Tells npm to create symlinks (or .cmd shims on Windows) for package +executables.

+

Set to false to have it not do this. This can be used to work around the +fact that some file systems don't support symlinks, even on ostensibly Unix +systems.

+ + +

fund

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

When "true" displays the message at the end of each npm install +acknowledging the number of dependencies looking for funding. See npm fund for details.

+ + +

dry-run

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Indicates that you don't want npm to make any changes and that it should +only report what it would have done. This can be passed into any of the +commands that modify your local installation, eg, install, update, +dedupe, uninstall, as well as pack and publish.

+

Note: This is NOT honored by other network related commands, eg dist-tags, +owner, etc.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-version.html b/node_modules/npm/docs/output/commands/npm-version.html new file mode 100644 index 0000000..8c9521d --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-version.html @@ -0,0 +1,357 @@ + + +npm-version + + + + + +
+
+

npm-version

+Bump a package version +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git]
+
+'npm [-v | --version]' to print npm version
+'npm view <pkg> version' to view a package's published version
+'npm ls' to inspect current package/dependency versions
+
+

Configuration

+ + + +

allow-same-version

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Prevents throwing an error when npm version is used to set the new version +to the same value as the current version.

+ + +

commit-hooks

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Run git commit hooks when using the npm version command.

+ + +

git-tag-version

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Tag the commit when using the npm version command.

+ + +

json

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Whether or not to output JSON data, rather than the normal output.

+
    +
  • In npm pkg set it enables parsing set values with JSON.parse() before +saving them to your package.json.
  • +
+

Not supported by all npm commands.

+ + +

preid

+
    +
  • Default: ""
  • +
  • Type: String
  • +
+

The "prerelease identifier" to use as a prefix for the "prerelease" part of +a semver. Like the rc in 1.2.0-rc.8.

+ + +

sign-git-tag

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If set to true, then the npm version command will tag the version using +-s to add a signature.

+

Note that git requires you to have set up GPG keys in your git configs for +this to work properly.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

Description

+

Run this in a package directory to bump the version and write the new data +back to package.json, package-lock.json, and, if present, +npm-shrinkwrap.json.

+

The newversion argument should be a valid semver string, a valid second +argument to semver.inc (one +of patch, minor, major, prepatch, preminor, premajor, +prerelease), or from-git. In the second case, the existing version will +be incremented by 1 in the specified field. from-git will try to read +the latest git tag, and use that as the new npm version.

+

If run in a git repo, it will also create a version commit and tag. This +behavior is controlled by git-tag-version (see below), and can be +disabled on the command line by running npm --no-git-tag-version version. +It will fail if the working directory is not clean, unless the -f or +--force flag is set.

+

If supplied with -m or --message config option, npm will use it as a +commit message when creating a version commit. If the message config +contains %s then that will be replaced with the resulting version number. +For example:

+
npm version patch -m "Upgrade to %s for reasons"
+
+

If the sign-git-tag config is set, then the tag will be signed using the +-s flag to git. Note that you must have a default GPG key set up in your +git config for this to work properly. For example:

+
$ npm config set sign-git-tag true
+$ npm version patch
+
+You need a passphrase to unlock the secret key for
+user: "isaacs (http://blog.izs.me/) <i@izs.me>"
+2048-bit RSA key, ID 6C481CF6, created 2010-08-31
+
+Enter passphrase:
+
+

If preversion, version, or postversion are in the scripts property +of the package.json, they will be executed as part of running npm version.

+

The exact order of execution is as follows:

+
    +
  1. Check to make sure the git working directory is clean before we get +started. Your scripts may add files to the commit in future steps. +This step is skipped if the --force flag is set.
  2. +
  3. Run the preversion script. These scripts have access to the old +version in package.json. A typical use would be running your full +test suite before deploying. Any files you want added to the commit +should be explicitly added using git add.
  4. +
  5. Bump version in package.json as requested (patch, minor, +major, etc).
  6. +
  7. Run the version script. These scripts have access to the new version +in package.json (so they can incorporate it into file headers in +generated files for example). Again, scripts should explicitly add +generated files to the commit using git add.
  8. +
  9. Commit and tag.
  10. +
  11. Run the postversion script. Use it to clean up the file system or +automatically push the commit and/or tag.
  12. +
+

Take the following example:

+
{
+  "scripts": {
+    "preversion": "npm test",
+    "version": "npm run build && git add -A dist",
+    "postversion": "git push && git push --tags && rm -rf build/temp"
+  }
+}
+
+

This runs all your tests and proceeds only if they pass. Then runs your +build script, and adds everything in the dist directory to the commit. +After the commit, it pushes the new commit and tag up to the server, and +deletes the build/temp directory.

+

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-view.html b/node_modules/npm/docs/output/commands/npm-view.html new file mode 100644 index 0000000..991376c --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-view.html @@ -0,0 +1,301 @@ + + +npm-view + + + + + +
+
+

npm-view

+View registry info +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm view [<@scope>/]<name>[@<version>] [<field>[.<subfield>]...]
+
+aliases: info, show, v
+
+

Description

+

This command shows data about a package and prints it to stdout.

+

As an example, to view information about the connect package from the registry, you would run:

+
npm view connect
+
+

The default version is "latest" if unspecified.

+

Field names can be specified after the package descriptor. +For example, to show the dependencies of the ronn package at version +0.3.5, you could do the following:

+
npm view ronn@0.3.5 dependencies
+
+

You can view child fields by separating them with a period. +To view the git repository URL for the latest version of npm, you would run the following command:

+
npm view npm repository.url
+
+

This makes it easy to view information about a dependency with a bit of +shell scripting. For example, to view all the data about the version of +opts that ronn depends on, you could write the following:

+
npm view opts@$(npm view ronn dependencies.opts)
+
+

For fields that are arrays, requesting a non-numeric field will return +all of the values from the objects in the list. For example, to get all +the contributor email addresses for the express package, you would run:

+
npm view express contributors.email
+
+

You may also use numeric indices in square braces to specifically select +an item in an array field. To just get the email address of the first +contributor in the list, you can run:

+
npm view express contributors[0].email
+
+

Multiple fields may be specified, and will be printed one after another. +For example, to get all the contributor names and email addresses, you +can do this:

+
npm view express contributors.name contributors.email
+
+

"Person" fields are shown as a string if they would be shown as an +object. So, for example, this will show the list of npm contributors in +the shortened string format. (See package.json for more on this.)

+
npm view npm contributors
+
+

If a version range is provided, then data will be printed for every +matching version of the package. This will show which version of jsdom +was required by each matching version of yui3:

+
npm view yui3@'>0.5.4' dependencies.jsdom
+
+

To show the connect package version history, you can do +this:

+
npm view connect versions
+
+

Configuration

+ + + +

json

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Whether or not to output JSON data, rather than the normal output.

+
    +
  • In npm pkg set it enables parsing set values with JSON.parse() before +saving them to your package.json.
  • +
+

Not supported by all npm commands.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + + +

Output

+

If only a single string field for a single version is output, then it +will not be colorized or quoted, to enable piping the output to +another command. If the field is an object, it will be output as a JavaScript object literal.

+

If the --json flag is given, the outputted fields will be JSON.

+

If the version range matches multiple versions then each printed value +will be prefixed with the version it applies to.

+

If multiple fields are requested, then each of them is prefixed with +the field name.

+

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm-whoami.html b/node_modules/npm/docs/output/commands/npm-whoami.html new file mode 100644 index 0000000..f112f5e --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm-whoami.html @@ -0,0 +1,192 @@ + + +npm-whoami + + + + + +
+
+

npm-whoami

+Display npm username +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm whoami [--registry <registry>]
+
+

Note: This command is unaware of workspaces.

+

Description

+

Display the npm username of the currently logged-in user.

+

If logged into a registry that provides token-based authentication, then +connect to the /-/whoami registry endpoint to find the username +associated with the token, and print to standard output.

+

If logged into a registry that uses Basic Auth, then simply print the +username portion of the authentication string.

+

Configuration

+ + + +

registry

+ +

The base URL of the npm registry.

+ + + +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npm.html b/node_modules/npm/docs/output/commands/npm.html new file mode 100644 index 0000000..6ec841a --- /dev/null +++ b/node_modules/npm/docs/output/commands/npm.html @@ -0,0 +1,296 @@ + + +npm + + + + + +
+
+

npm

+javascript package manager +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm <command> [args]
+
+

Version

+

8.5.0

+

Description

+

npm is the package manager for the Node JavaScript platform. It puts +modules in place so that node can find them, and manages dependency +conflicts intelligently.

+

It is extremely configurable to support a variety of use cases. Most +commonly, you use it to publish, discover, install, and develop node +programs.

+

Run npm help to get a list of available commands.

+

Important

+

npm comes preconfigured to use npm's public registry at +https://registry.npmjs.org by default. Use of the npm public registry is +subject to terms of use available at +https://docs.npmjs.com/policies/terms.

+

You can configure npm to use any compatible registry you like, and even +run your own registry. Use of someone else's registry is governed by +their terms of use.

+

Introduction

+

You probably got npm because you want to install stuff.

+

The very first thing you will most likely want to run in any node +program is npm install to install its dependencies.

+

You can also run npm install blerg to install the latest version of +"blerg". Check out npm install for more +info. It can do a lot of stuff.

+

Use the npm search command to show everything that's available in the +public registry. Use npm ls to show everything you've installed.

+

Dependencies

+

If a package lists a dependency using a git URL, npm will install that +dependency using the git +command and will generate an error if it is not installed.

+

If one of the packages npm tries to install is a native node module and +requires compiling of C++ Code, npm will use +node-gyp for that task. +For a Unix system, node-gyp +needs Python, make and a buildchain like GCC. On Windows, +Python and Microsoft Visual Studio C++ are needed. For more information +visit the node-gyp repository and +the node-gyp Wiki.

+

Directories

+

See folders to learn about where npm puts +stuff.

+

In particular, npm has two modes of operation:

+
    +
  • local mode: +npm installs packages into the current project directory, which +defaults to the current working directory. Packages install to +./node_modules, and bins to ./node_modules/.bin.
  • +
  • global mode: +npm installs packages into the install prefix at +$npm_config_prefix/lib/node_modules and bins to +$npm_config_prefix/bin.
  • +
+

Local mode is the default. Use -g or --global on any command to +run in global mode instead.

+

Developer Usage

+

If you're using npm to develop and publish your code, check out the +following help topics:

+
    +
  • json: +Make a package.json file. See +package.json.
  • +
  • link: +Links your current working code into Node's path, so that you don't +have to reinstall every time you make a change. Use npm link to do this.
  • +
  • install: +It's a good idea to install things if you don't need the symbolic +link. Especially, installing other peoples code from the registry is +done via npm install
  • +
  • adduser: +Create an account or log in. When you do this, npm will store +credentials in the user config file config file.
  • +
  • publish: +Use the npm publish command to upload your +code to the registry.
  • +
+

Configuration

+

npm is extremely configurable. It reads its configuration options from +5 places.

+
    +
  • Command line switches: +Set a config with --key val. All keys take a value, even if they +are booleans (the config parser doesn't know what the options are at +the time of parsing). If you do not provide a value (--key) then +the option is set to boolean true.
  • +
  • Environment Variables: +Set any config by prefixing the name in an environment variable with +npm_config_. For example, export npm_config_key=val.
  • +
  • User Configs: +The file at $HOME/.npmrc is an ini-formatted list of configs. If +present, it is parsed. If the userconfig option is set in the cli +or env, that file will be used instead.
  • +
  • Global Configs: +The file found at ./etc/npmrc (relative to the global prefix will be +parsed if it is found. See npm prefix for +more info on the global prefix. If the globalconfig option is set +in the cli, env, or user config, then that file is parsed instead.
  • +
  • Defaults: +npm's default configuration options are defined in +lib/utils/config-defs.js. These must not be changed.
  • +
+

See config for much much more information.

+

Contributions

+

Patches welcome!

+

If you would like to help, but don't know what to work on, read the +contributing +guidelines and +check the issues list.

+

Bugs

+

When you find issues, please report them: +https://github.com/npm/cli/issues

+

Please be sure to follow the template and bug reporting guidelines.

+

Feature Requests

+

Discuss new feature ideas on our discussion forum:

+ +

Or suggest formal RFC proposals:

+ +

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/commands/npx.html b/node_modules/npm/docs/output/commands/npx.html new file mode 100644 index 0000000..095de7a --- /dev/null +++ b/node_modules/npm/docs/output/commands/npx.html @@ -0,0 +1,296 @@ + + +npx + + + + + +
+
+

npx

+Run a command from a local or remote npm package +
+ +
+

Table of contents

+ +
+ +

Synopsis

+
npm exec -- <pkg>[@<version>] [args...]
+npm exec --package=<pkg>[@<version>] -- <cmd> [args...]
+npm exec -c '<cmd> [args...]'
+npm exec --package=foo -c '<cmd> [args...]'
+
+npx <pkg>[@<specifier>] [args...]
+npx -p <pkg>[@<specifier>] <cmd> [args...]
+npx -c '<cmd> [args...]'
+npx -p <pkg>[@<specifier>] -c '<cmd> [args...]'
+
+alias: npm x, npx
+
+--package=<pkg> (may be specified multiple times)
+-p is a shorthand for --package only when using npx executable
+-c <cmd> --call=<cmd> (may not be mixed with positional arguments)
+
+

Description

+

This command allows you to run an arbitrary command from an npm package +(either one installed locally, or fetched remotely), in a similar context +as running it via npm run.

+

Whatever packages are specified by the --package option will be +provided in the PATH of the executed command, along with any locally +installed package executables. The --package option may be +specified multiple times, to execute the supplied command in an environment +where all specified packages are available.

+

If any requested packages are not present in the local project +dependencies, then they are installed to a folder in the npm cache, which +is added to the PATH environment variable in the executed process. A +prompt is printed (which can be suppressed by providing either --yes or +--no).

+

Package names provided without a specifier will be matched with whatever +version exists in the local project. Package names with a specifier will +only be considered a match if they have the exact same name and version as +the local dependency.

+

If no -c or --call option is provided, then the positional arguments +are used to generate the command string. If no --package options +are provided, then npm will attempt to determine the executable name from +the package specifier provided as the first positional argument according +to the following heuristic:

+
    +
  • If the package has a single entry in its bin field in package.json, +or if all entries are aliases of the same command, then that command +will be used.
  • +
  • If the package has multiple bin entries, and one of them matches the +unscoped portion of the name field, then that command will be used.
  • +
  • If this does not result in exactly one option (either because there are +no bin entries, or none of them match the name of the package), then +npm exec exits with an error.
  • +
+

To run a binary other than the named binary, specify one or more +--package options, which will prevent npm from inferring the package from +the first command argument.

+

npx vs npm exec

+

When run via the npx binary, all flags and options must be set prior to +any positional arguments. When run via npm exec, a double-hyphen -- +flag can be used to suppress npm's parsing of switches and options that +should be sent to the executed command.

+

For example:

+
$ npx foo@latest bar --package=@npmcli/foo
+
+

In this case, npm will resolve the foo package name, and run the +following command:

+
$ foo bar --package=@npmcli/foo
+
+

Since the --package option comes after the positional arguments, it is +treated as an argument to the executed command.

+

In contrast, due to npm's argument parsing logic, running this command is +different:

+
$ npm exec foo@latest bar --package=@npmcli/foo
+
+

In this case, npm will parse the --package option first, resolving the +@npmcli/foo package. Then, it will execute the following command in that +context:

+
$ foo@latest bar
+
+

The double-hyphen character is recommended to explicitly tell npm to stop +parsing command line options and switches. The following command would +thus be equivalent to the npx command above:

+
$ npm exec -- foo@latest bar --package=@npmcli/foo
+
+

Examples

+

Run the version of tap in the local dependencies, with the provided +arguments:

+
$ npm exec -- tap --bail test/foo.js
+$ npx tap --bail test/foo.js
+
+

Run a command other than the command whose name matches the package name +by specifying a --package option:

+
$ npm exec --package=foo -- bar --bar-argument
+# ~ or ~
+$ npx --package=foo bar --bar-argument
+
+

Run an arbitrary shell script, in the context of the current project:

+
$ npm x -c 'eslint && say "hooray, lint passed"'
+$ npx -c 'eslint && say "hooray, lint passed"'
+
+

Compatibility with Older npx Versions

+

The npx binary was rewritten in npm v7.0.0, and the standalone npx +package deprecated at that time. npx uses the npm exec +command instead of a separate argument parser and install process, with +some affordances to maintain backwards compatibility with the arguments it +accepted in previous versions.

+

This resulted in some shifts in its functionality:

+
    +
  • Any npm config value may be provided.
  • +
  • To prevent security and user-experience problems from mistyping package +names, npx prompts before installing anything. Suppress this +prompt with the -y or --yes option.
  • +
  • The --no-install option is deprecated, and will be converted to --no.
  • +
  • Shell fallback functionality is removed, as it is not advisable.
  • +
  • The -p argument is a shorthand for --parseable in npm, but shorthand +for --package in npx. This is maintained, but only for the npx +executable.
  • +
  • The --ignore-existing option is removed. Locally installed bins are +always present in the executed process PATH.
  • +
  • The --npm option is removed. npx will always use the npm it ships +with.
  • +
  • The --node-arg and -n options are removed.
  • +
  • The --always-spawn option is redundant, and thus removed.
  • +
  • The --shell option is replaced with --script-shell, but maintained +in the npx executable for backwards compatibility.
  • +
+

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/configuring-npm/folders.html b/node_modules/npm/docs/output/configuring-npm/folders.html new file mode 100644 index 0000000..6d72246 --- /dev/null +++ b/node_modules/npm/docs/output/configuring-npm/folders.html @@ -0,0 +1,324 @@ + + +folders + + + + + +
+
+

folders

+Folder Structures Used by npm +
+ +
+

Table of contents

+ +
+ +

Description

+

npm puts various things on your computer. That's its job.

+

This document will tell you what it puts where.

+

tl;dr

+
    +
  • Local install (default): puts stuff in ./node_modules of the current +package root.
  • +
  • Global install (with -g): puts stuff in /usr/local or wherever node +is installed.
  • +
  • Install it locally if you're going to require() it.
  • +
  • Install it globally if you're going to run it on the command line.
  • +
  • If you need both, then install it in both places, or use npm link.
  • +
+

prefix Configuration

+

The prefix config defaults to the location where node is installed. +On most systems, this is /usr/local. On Windows, it's %AppData%\npm. +On Unix systems, it's one level up, since node is typically installed at +{prefix}/bin/node rather than {prefix}/node.exe.

+

When the global flag is set, npm installs things into this prefix. +When it is not set, it uses the root of the current package, or the +current working directory if not in a package already.

+

Node Modules

+

Packages are dropped into the node_modules folder under the prefix. +When installing locally, this means that you can +require("packagename") to load its main module, or +require("packagename/lib/path/to/sub/module") to load other modules.

+

Global installs on Unix systems go to {prefix}/lib/node_modules. +Global installs on Windows go to {prefix}/node_modules (that is, no +lib folder.)

+

Scoped packages are installed the same way, except they are grouped together +in a sub-folder of the relevant node_modules folder with the name of that +scope prefix by the @ symbol, e.g. npm install @myorg/package would place +the package in {prefix}/node_modules/@myorg/package. See +scope for more details.

+

If you wish to require() a package, then install it locally.

+

Executables

+

When in global mode, executables are linked into {prefix}/bin on Unix, +or directly into {prefix} on Windows. Ensure that path is in your +terminal's PATH environment to run them.

+

When in local mode, executables are linked into +./node_modules/.bin so that they can be made available to scripts run +through npm. (For example, so that a test runner will be in the path +when you run npm test.)

+

Man Pages

+

When in global mode, man pages are linked into {prefix}/share/man.

+

When in local mode, man pages are not installed.

+

Man pages are not installed on Windows systems.

+

Cache

+

See npm cache. Cache files are stored in ~/.npm on Posix, or +%AppData%/npm-cache on Windows.

+

This is controlled by the cache configuration param.

+

Temp Files

+

Temporary files are stored by default in the folder specified by the +tmp config, which defaults to the TMPDIR, TMP, or TEMP environment +variables, or /tmp on Unix and c:\windows\temp on Windows.

+

Temp files are given a unique folder under this root for each run of the +program, and are deleted upon successful exit.

+

More Information

+

When installing locally, npm first tries to find an appropriate +prefix folder. This is so that npm install foo@1.2.3 will install +to the sensible root of your package, even if you happen to have cded +into some other folder.

+

Starting at the $PWD, npm will walk up the folder tree checking for a +folder that contains either a package.json file, or a node_modules +folder. If such a thing is found, then that is treated as the effective +"current directory" for the purpose of running npm commands. (This +behavior is inspired by and similar to git's .git-folder seeking +logic when running git commands in a working dir.)

+

If no package root is found, then the current folder is used.

+

When you run npm install foo@1.2.3, then the package is loaded into +the cache, and then unpacked into ./node_modules/foo. Then, any of +foo's dependencies are similarly unpacked into +./node_modules/foo/node_modules/....

+

Any bin files are symlinked to ./node_modules/.bin/, so that they may +be found by npm scripts when necessary.

+

Global Installation

+

If the global configuration is set to true, then npm will +install packages "globally".

+

For global installation, packages are installed roughly the same way, +but using the folders described above.

+

Cycles, Conflicts, and Folder Parsimony

+

Cycles are handled using the property of node's module system that it +walks up the directories looking for node_modules folders. So, at every +stage, if a package is already installed in an ancestor node_modules +folder, then it is not installed at the current location.

+

Consider the case above, where foo -> bar -> baz. Imagine if, in +addition to that, baz depended on bar, so you'd have: +foo -> bar -> baz -> bar -> baz .... However, since the folder +structure is: foo/node_modules/bar/node_modules/baz, there's no need to +put another copy of bar into .../baz/node_modules, since when it calls +require("bar"), it will get the copy that is installed in +foo/node_modules/bar.

+

This shortcut is only used if the exact same +version would be installed in multiple nested node_modules folders. It +is still possible to have a/node_modules/b/node_modules/a if the two +"a" packages are different versions. However, without repeating the +exact same package multiple times, an infinite regress will always be +prevented.

+

Another optimization can be made by installing dependencies at the +highest level possible, below the localized "target" folder.

+

Example

+

Consider this dependency graph:

+
foo
++-- blerg@1.2.5
++-- bar@1.2.3
+|   +-- blerg@1.x (latest=1.3.7)
+|   +-- baz@2.x
+|   |   `-- quux@3.x
+|   |       `-- bar@1.2.3 (cycle)
+|   `-- asdf@*
+`-- baz@1.2.3
+    `-- quux@3.x
+        `-- bar
+
+

In this case, we might expect a folder structure like this:

+
foo
++-- node_modules
+    +-- blerg (1.2.5) <---[A]
+    +-- bar (1.2.3) <---[B]
+    |   `-- node_modules
+    |       +-- baz (2.0.2) <---[C]
+    |       |   `-- node_modules
+    |       |       `-- quux (3.2.0)
+    |       `-- asdf (2.3.4)
+    `-- baz (1.2.3) <---[D]
+        `-- node_modules
+            `-- quux (3.2.0) <---[E]
+
+

Since foo depends directly on bar@1.2.3 and baz@1.2.3, those are +installed in foo's node_modules folder.

+

Even though the latest copy of blerg is 1.3.7, foo has a specific +dependency on version 1.2.5. So, that gets installed at [A]. Since the +parent installation of blerg satisfies bar's dependency on blerg@1.x, +it does not install another copy under [B].

+

Bar [B] also has dependencies on baz and asdf, so those are installed in +bar's node_modules folder. Because it depends on baz@2.x, it cannot +re-use the baz@1.2.3 installed in the parent node_modules folder [D], +and must install its own copy [C].

+

Underneath bar, the baz -> quux -> bar dependency creates a cycle. +However, because bar is already in quux's ancestry [B], it does not +unpack another copy of bar into that folder.

+

Underneath foo -> baz [D], quux's [E] folder tree is empty, because its +dependency on bar is satisfied by the parent folder copy installed at [B].

+

For a graphical breakdown of what is installed where, use npm ls.

+

Publishing

+

Upon publishing, npm will look in the node_modules folder. If any of +the items there are not in the bundledDependencies array, then they will +not be included in the package tarball.

+

This allows a package maintainer to install all of their dependencies +(and dev dependencies) locally, but only re-publish those items that +cannot be found elsewhere. See package.json for more information.

+

See also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/configuring-npm/install.html b/node_modules/npm/docs/output/configuring-npm/install.html new file mode 100644 index 0000000..6e24402 --- /dev/null +++ b/node_modules/npm/docs/output/configuring-npm/install.html @@ -0,0 +1,227 @@ + + +install + + + + + +
+
+

install

+Download and install node and npm +
+ +
+

Table of contents

+ +
+ +

Description

+

To publish and install packages to and from the public npm registry, you +must install Node.js and the npm command line interface using either a Node +version manager or a Node installer. We strongly recommend using a Node +version manager to install Node.js and npm. We do not recommend using a +Node installer, since the Node installation process installs npm in a +directory with local permissions and can cause permissions errors when you +run npm packages globally.

+

Overview

+ +

Checking your version of npm and Node.js

+

To see if you already have Node.js and npm installed and check the +installed version, run the following commands:

+
node -v
+npm -v
+
+

Using a Node version manager to install Node.js and npm

+

Node version managers allow you to install and switch between multiple +versions of Node.js and npm on your system so you can test your +applications on multiple versions of npm to ensure they work for users on +different versions.

+

OSX or Linux Node version managers

+ +

Windows Node version managers

+ +

Using a Node installer to install Node.js and npm

+

If you are unable to use a Node version manager, you can use a Node +installer to install both Node.js and npm on your system.

+ +

OS X or Windows Node installers

+

If you're using OS X or Windows, use one of the installers from the +Node.js download page. Be sure to +install the version labeled LTS. Other versions have not yet been +tested with npm.

+

Linux or other operating systems Node installers

+

If you're using Linux or another operating system, use one of the following +installers:

+ +

Or see this page to +install npm for Linux in the way many Linux developers prefer.

+

Less-common operating systems

+

For more information on installing Node.js on a variety of operating +systems, see this page.

+
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/configuring-npm/npm-shrinkwrap-json.html b/node_modules/npm/docs/output/configuring-npm/npm-shrinkwrap-json.html new file mode 100644 index 0000000..ce0de6d --- /dev/null +++ b/node_modules/npm/docs/output/configuring-npm/npm-shrinkwrap-json.html @@ -0,0 +1,185 @@ + + +npm-shrinkwrap.json + + + + + +
+
+

npm-shrinkwrap.json

+A publishable lockfile +
+ +
+

Table of contents

+ +
+ +

Description

+

npm-shrinkwrap.json is a file created by npm shrinkwrap. It is identical to +package-lock.json, with one major caveat: Unlike package-lock.json, +npm-shrinkwrap.json may be included when publishing a package.

+

The recommended use-case for npm-shrinkwrap.json is applications deployed +through the publishing process on the registry: for example, daemons and +command-line tools intended as global installs or devDependencies. It's +strongly discouraged for library authors to publish this file, since that +would prevent end users from having control over transitive dependency +updates.

+

If both package-lock.json and npm-shrinkwrap.json are present in a +package root, npm-shrinkwrap.json will be preferred over the +package-lock.json file.

+

For full details and description of the npm-shrinkwrap.json file format, +refer to the manual page for +package-lock.json.

+

See also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/configuring-npm/npmrc.html b/node_modules/npm/docs/output/configuring-npm/npmrc.html new file mode 100644 index 0000000..1f158d8 --- /dev/null +++ b/node_modules/npm/docs/output/configuring-npm/npmrc.html @@ -0,0 +1,229 @@ + + +npmrc + + + + + +
+
+

npmrc

+The npm config files +
+ +
+

Table of contents

+ +
+ +

Description

+

npm gets its config settings from the command line, environment variables, +and npmrc files.

+

The npm config command can be used to update and edit the contents of the +user and global npmrc files.

+

For a list of available configuration options, see +config.

+

Files

+

The four relevant files are:

+
    +
  • per-project config file (/path/to/my/project/.npmrc)
  • +
  • per-user config file (~/.npmrc)
  • +
  • global config file ($PREFIX/etc/npmrc)
  • +
  • npm builtin config file (/path/to/npm/npmrc)
  • +
+

All npm config files are an ini-formatted list of key = value parameters. +Environment variables can be replaced using ${VARIABLE_NAME}. For +example:

+
prefix = ${HOME}/.npm-packages
+
+

Each of these files is loaded, and config options are resolved in priority +order. For example, a setting in the userconfig file would override the +setting in the globalconfig file.

+

Array values are specified by adding "[]" after the key name. For example:

+
key[] = "first value"
+key[] = "second value"
+
+

Comments

+

Lines in .npmrc files are interpreted as comments when they begin with a +; or # character. .npmrc files are parsed by +npm/ini, which specifies this comment syntax.

+

For example:

+
# last modified: 01 Jan 2016
+; Set a new registry for a scoped package
+@myscope:registry=https://mycustomregistry.example.org
+
+

Per-project config file

+

When working locally in a project, a .npmrc file in the root of the +project (ie, a sibling of node_modules and package.json) will set +config values specific to this project.

+

Note that this only applies to the root of the project that you're running +npm in. It has no effect when your module is published. For example, you +can't publish a module that forces itself to install globally, or in a +different location.

+

Additionally, this file is not read in global mode, such as when running +npm install -g.

+

Per-user config file

+

$HOME/.npmrc (or the userconfig param, if set in the environment or on +the command line)

+

Global config file

+

$PREFIX/etc/npmrc (or the globalconfig param, if set above): This file +is an ini-file formatted list of key = value parameters. Environment +variables can be replaced as above.

+

Built-in config file

+

path/to/npm/itself/npmrc

+

This is an unchangeable "builtin" configuration file that npm keeps +consistent across updates. Set fields in here using the ./configure +script that comes with npm. This is primarily for distribution maintainers +to override default configs in a standard and consistent manner.

+

See also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/configuring-npm/package-json.html b/node_modules/npm/docs/output/configuring-npm/package-json.html new file mode 100644 index 0000000..9aed0d3 --- /dev/null +++ b/node_modules/npm/docs/output/configuring-npm/package-json.html @@ -0,0 +1,1030 @@ + + +package.json + + + + + +
+
+

package.json

+Specifics of npm's package.json handling +
+ +
+

Table of contents

+ +
+ +

Description

+

This document is all you need to know about what's required in your +package.json file. It must be actual JSON, not just a JavaScript object +literal.

+

A lot of the behavior described in this document is affected by the config +settings described in config.

+

name

+

If you plan to publish your package, the most important things in your +package.json are the name and version fields as they will be required. The +name and version together form an identifier that is assumed to be +completely unique. Changes to the package should come along with changes +to the version. If you don't plan to publish your package, the name and +version fields are optional.

+

The name is what your thing is called.

+

Some rules:

+
    +
  • The name must be less than or equal to 214 characters. This includes the +scope for scoped packages.
  • +
  • The names of scoped packages can begin with a dot or an underscore. This +is not permitted without a scope.
  • +
  • New packages must not have uppercase letters in the name.
  • +
  • The name ends up being part of a URL, an argument on the command line, +and a folder name. Therefore, the name can't contain any non-URL-safe +characters.
  • +
+

Some tips:

+
    +
  • Don't use the same name as a core Node module.
  • +
  • Don't put "js" or "node" in the name. It's assumed that it's js, since +you're writing a package.json file, and you can specify the engine using +the "engines" field. (See below.)
  • +
  • The name will probably be passed as an argument to require(), so it +should be something short, but also reasonably descriptive.
  • +
  • You may want to check the npm registry to see if there's something by +that name already, before you get too attached to it. +https://www.npmjs.com/
  • +
+

A name can be optionally prefixed by a scope, e.g. @myorg/mypackage. See +scope for more detail.

+

version

+

If you plan to publish your package, the most important things in your +package.json are the name and version fields as they will be required. The +name and version together form an identifier that is assumed to be +completely unique. Changes to the package should come along with changes +to the version. If you don't plan to publish your package, the name and +version fields are optional.

+

Version must be parseable by +node-semver, which is bundled with +npm as a dependency. (npm install semver to use it yourself.)

+

description

+

Put a description in it. It's a string. This helps people discover your +package, as it's listed in npm search.

+

keywords

+

Put keywords in it. It's an array of strings. This helps people discover +your package as it's listed in npm search.

+

homepage

+

The url to the project homepage.

+

Example:

+
"homepage": "https://github.com/owner/project#readme"
+
+

bugs

+

The url to your project's issue tracker and / or the email address to which +issues should be reported. These are helpful for people who encounter +issues with your package.

+

It should look like this:

+
{
+  "url" : "https://github.com/owner/project/issues",
+  "email" : "project@hostname.com"
+}
+
+

You can specify either one or both values. If you want to provide only a +url, you can specify the value for "bugs" as a simple string instead of an +object.

+

If a url is provided, it will be used by the npm bugs command.

+

license

+

You should specify a license for your package so that people know how they +are permitted to use it, and any restrictions you're placing on it.

+

If you're using a common license such as BSD-2-Clause or MIT, add a current +SPDX license identifier for the license you're using, like this:

+
{
+  "license" : "BSD-3-Clause"
+}
+
+

You can check the full list of SPDX license +IDs. Ideally you should pick one that is +OSI approved.

+

If your package is licensed under multiple common licenses, use an SPDX +license expression syntax version 2.0 +string, like this:

+
{
+  "license" : "(ISC OR GPL-3.0)"
+}
+
+

If you are using a license that hasn't been assigned an SPDX identifier, or if +you are using a custom license, use a string value like this one:

+
{
+  "license" : "SEE LICENSE IN <filename>"
+}
+
+

Then include a file named <filename> at the top level of the package.

+

Some old packages used license objects or a "licenses" property containing +an array of license objects:

+
// Not valid metadata
+{
+  "license" : {
+    "type" : "ISC",
+    "url" : "https://opensource.org/licenses/ISC"
+  }
+}
+
+// Not valid metadata
+{
+  "licenses" : [
+    {
+      "type": "MIT",
+      "url": "https://www.opensource.org/licenses/mit-license.php"
+    },
+    {
+      "type": "Apache-2.0",
+      "url": "https://opensource.org/licenses/apache2.0.php"
+    }
+  ]
+}
+
+

Those styles are now deprecated. Instead, use SPDX expressions, like this:

+
{
+  "license": "ISC"
+}
+
+
{
+  "license": "(MIT OR Apache-2.0)"
+}
+
+

Finally, if you do not wish to grant others the right to use a private or +unpublished package under any terms:

+
{
+  "license": "UNLICENSED"
+}
+
+

Consider also setting "private": true to prevent accidental publication.

+

people fields: author, contributors

+

The "author" is one person. "contributors" is an array of people. A +"person" is an object with a "name" field and optionally "url" and "email", +like this:

+
{
+  "name" : "Barney Rubble",
+  "email" : "b@rubble.com",
+  "url" : "http://barnyrubble.tumblr.com/"
+}
+
+

Or you can shorten that all into a single string, and npm will parse it for +you:

+
{
+  "author": "Barney Rubble <b@rubble.com> (http://barnyrubble.tumblr.com/)"
+}
+
+

Both email and url are optional either way.

+

npm also sets a top-level "maintainers" field with your npm user info.

+

funding

+

You can specify an object containing an URL that provides up-to-date +information about ways to help fund development of your package, or a +string URL, or an array of these:

+
{
+  "funding": {
+    "type" : "individual",
+    "url" : "http://example.com/donate"
+  },
+
+  "funding": {
+    "type" : "patreon",
+    "url" : "https://www.patreon.com/my-account"
+  },
+
+  "funding": "http://example.com/donate",
+
+  "funding": [
+    {
+      "type" : "individual",
+      "url" : "http://example.com/donate"
+    },
+    "http://example.com/donateAlso",
+    {
+      "type" : "patreon",
+      "url" : "https://www.patreon.com/my-account"
+    }
+  ]
+}
+
+

Users can use the npm fund subcommand to list the funding URLs of all +dependencies of their project, direct and indirect. A shortcut to visit +each funding url is also available when providing the project name such as: +npm fund <projectname> (when there are multiple URLs, the first one will +be visited)

+

files

+

The optional files field is an array of file patterns that describes the +entries to be included when your package is installed as a dependency. File +patterns follow a similar syntax to .gitignore, but reversed: including a +file, directory, or glob pattern (*, **/*, and such) will make it so +that file is included in the tarball when it's packed. Omitting the field +will make it default to ["*"], which means it will include all files.

+

Some special files and directories are also included or excluded regardless +of whether they exist in the files array (see below).

+

You can also provide a .npmignore file in the root of your package or in +subdirectories, which will keep files from being included. At the root of +your package it will not override the "files" field, but in subdirectories +it will. The .npmignore file works just like a .gitignore. If there is +a .gitignore file, and .npmignore is missing, .gitignore's contents +will be used instead.

+

Files included with the "package.json#files" field cannot be excluded +through .npmignore or .gitignore.

+

Certain files are always included, regardless of settings:

+
    +
  • package.json
  • +
  • README
  • +
  • LICENSE / LICENCE
  • +
  • The file in the "main" field
  • +
+

README & LICENSE can have any case and extension.

+

Conversely, some files are always ignored:

+
    +
  • .git
  • +
  • CVS
  • +
  • .svn
  • +
  • .hg
  • +
  • .lock-wscript
  • +
  • .wafpickle-N
  • +
  • .*.swp
  • +
  • .DS_Store
  • +
  • ._*
  • +
  • npm-debug.log
  • +
  • .npmrc
  • +
  • node_modules
  • +
  • config.gypi
  • +
  • *.orig
  • +
  • package-lock.json (use +npm-shrinkwrap.json if you wish +it to be published)
  • +
+

main

+

The main field is a module ID that is the primary entry point to your +program. That is, if your package is named foo, and a user installs it, +and then does require("foo"), then your main module's exports object will +be returned.

+

This should be a module relative to the root of your package folder.

+

For most modules, it makes the most sense to have a main script and often +not much else.

+

If main is not set it defaults to index.js in the packages root folder.

+

browser

+

If your module is meant to be used client-side the browser field should be +used instead of the main field. This is helpful to hint users that it might +rely on primitives that aren't available in Node.js modules. (e.g. +window)

+

bin

+

A lot of packages have one or more executable files that they'd like to +install into the PATH. npm makes this pretty easy (in fact, it uses this +feature to install the "npm" executable.)

+

To use this, supply a bin field in your package.json which is a map of +command name to local file name. When this package is installed +globally, that file will be linked where global bins go so it is +available to run by name. When this package is installed as a +dependency in another package, the file will be linked where it will be +available to that package either directly by npm exec or by name in other +scripts when invoking them via npm run-script.

+

For example, myapp could have this:

+
{
+  "bin": {
+    "myapp": "./cli.js"
+  }
+}
+
+

So, when you install myapp, it'll create a symlink from the cli.js script +to /usr/local/bin/myapp.

+

If you have a single executable, and its name should be the name of the +package, then you can just supply it as a string. For example:

+
{
+  "name": "my-program",
+  "version": "1.2.5",
+  "bin": "./path/to/program"
+}
+
+

would be the same as this:

+
{
+  "name": "my-program",
+  "version": "1.2.5",
+  "bin": {
+    "my-program": "./path/to/program"
+  }
+}
+
+

Please make sure that your file(s) referenced in bin starts with +#!/usr/bin/env node, otherwise the scripts are started without the node +executable!

+

Note that you can also set the executable files using directories.bin.

+

See folders for more info on +executables.

+

man

+

Specify either a single file or an array of filenames to put in place for +the man program to find.

+

If only a single file is provided, then it's installed such that it is the +result from man <pkgname>, regardless of its actual filename. For +example:

+
{
+  "name": "foo",
+  "version": "1.2.3",
+  "description": "A packaged foo fooer for fooing foos",
+  "main": "foo.js",
+  "man": "./man/doc.1"
+}
+
+

would link the ./man/doc.1 file in such that it is the target for man foo

+

If the filename doesn't start with the package name, then it's prefixed. +So, this:

+
{
+  "name": "foo",
+  "version": "1.2.3",
+  "description": "A packaged foo fooer for fooing foos",
+  "main": "foo.js",
+  "man": [
+    "./man/foo.1",
+    "./man/bar.1"
+  ]
+}
+
+

will create files to do man foo and man foo-bar.

+

Man files must end with a number, and optionally a .gz suffix if they are +compressed. The number dictates which man section the file is installed +into.

+
{
+  "name": "foo",
+  "version": "1.2.3",
+  "description": "A packaged foo fooer for fooing foos",
+  "main": "foo.js",
+  "man": [
+    "./man/foo.1",
+    "./man/foo.2"
+  ]
+}
+
+

will create entries for man foo and man 2 foo

+

directories

+

The CommonJS Packages spec +details a few ways that you can indicate the structure of your package +using a directories object. If you look at npm's +package.json, you'll see that it +has directories for doc, lib, and man.

+

In the future, this information may be used in other creative ways.

+

directories.bin

+

If you specify a bin directory in directories.bin, all the files in +that folder will be added.

+

Because of the way the bin directive works, specifying both a bin path +and setting directories.bin is an error. If you want to specify +individual files, use bin, and for all the files in an existing bin +directory, use directories.bin.

+

directories.man

+

A folder that is full of man pages. Sugar to generate a "man" array by +walking the folder.

+

repository

+

Specify the place where your code lives. This is helpful for people who +want to contribute. If the git repo is on GitHub, then the npm docs +command will be able to find you.

+

Do it like this:

+
{
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/npm/cli.git"
+  }
+}
+
+

The URL should be a publicly available (perhaps read-only) url that can be +handed directly to a VCS program without any modification. It should not +be a url to an html project page that you put in your browser. It's for +computers.

+

For GitHub, GitHub gist, Bitbucket, or GitLab repositories you can use the +same shortcut syntax you use for npm install:

+
{
+  "repository": "npm/npm",
+
+  "repository": "github:user/repo",
+
+  "repository": "gist:11081aaa281",
+
+  "repository": "bitbucket:user/repo",
+
+  "repository": "gitlab:user/repo"
+}
+
+

If the package.json for your package is not in the root directory (for +example if it is part of a monorepo), you can specify the directory in +which it lives:

+
{
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/facebook/react.git",
+    "directory": "packages/react-dom"
+  }
+}
+
+

scripts

+

The "scripts" property is a dictionary containing script commands that are +run at various times in the lifecycle of your package. The key is the +lifecycle event, and the value is the command to run at that point.

+

See scripts to find out more about writing package +scripts.

+

config

+

A "config" object can be used to set configuration parameters used in +package scripts that persist across upgrades. For instance, if a package +had the following:

+
{
+  "name": "foo",
+  "config": {
+    "port": "8080"
+  }
+}
+
+

It could also have a "start" command that referenced the +npm_package_config_port environment variable.

+

dependencies

+

Dependencies are specified in a simple object that maps a package name to a +version range. The version range is a string which has one or more +space-separated descriptors. Dependencies can also be identified with a +tarball or git URL.

+

Please do not put test harnesses or transpilers or other "development" +time tools in your dependencies object. See devDependencies, below.

+

See semver for more details about specifying version ranges.

+
    +
  • version Must match version exactly
  • +
  • >version Must be greater than version
  • +
  • >=version etc
  • +
  • <version
  • +
  • <=version
  • +
  • ~version "Approximately equivalent to version" See +semver
  • +
  • ^version "Compatible with version" See semver
  • +
  • 1.2.x 1.2.0, 1.2.1, etc., but not 1.3.0
  • +
  • http://... See 'URLs as Dependencies' below
  • +
  • * Matches any version
  • +
  • "" (just an empty string) Same as *
  • +
  • version1 - version2 Same as >=version1 <=version2.
  • +
  • range1 || range2 Passes if either range1 or range2 are satisfied.
  • +
  • git... See 'Git URLs as Dependencies' below
  • +
  • user/repo See 'GitHub URLs' below
  • +
  • tag A specific version tagged and published as tag See npm dist-tag
  • +
  • path/path/path See Local Paths below
  • +
+

For example, these are all valid:

+
{
+  "dependencies": {
+    "foo": "1.0.0 - 2.9999.9999",
+    "bar": ">=1.0.2 <2.1.2",
+    "baz": ">1.0.2 <=2.3.4",
+    "boo": "2.0.1",
+    "qux": "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0",
+    "asd": "http://asdf.com/asdf.tar.gz",
+    "til": "~1.2",
+    "elf": "~1.2.3",
+    "two": "2.x",
+    "thr": "3.3.x",
+    "lat": "latest",
+    "dyl": "file:../dyl"
+  }
+}
+
+

URLs as Dependencies

+

You may specify a tarball URL in place of a version range.

+

This tarball will be downloaded and installed locally to your package at +install time.

+

Git URLs as Dependencies

+

Git urls are of the form:

+
<protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>[#<commit-ish> | #semver:<semver>]
+
+

<protocol> is one of git, git+ssh, git+http, git+https, or +git+file.

+

If #<commit-ish> is provided, it will be used to clone exactly that +commit. If the commit-ish has the format #semver:<semver>, <semver> can +be any valid semver range or exact version, and npm will look for any tags +or refs matching that range in the remote repository, much as it would for +a registry dependency. If neither #<commit-ish> or #semver:<semver> is +specified, then master is used.

+

Examples:

+
git+ssh://git@github.com:npm/cli.git#v1.0.27
+git+ssh://git@github.com:npm/cli#semver:^5.0
+git+https://isaacs@github.com/npm/cli.git
+git://github.com/npm/cli.git#v1.0.27
+
+

GitHub URLs

+

As of version 1.1.65, you can refer to GitHub urls as just "foo": +"user/foo-project". Just as with git URLs, a commit-ish suffix can be +included. For example:

+
{
+  "name": "foo",
+  "version": "0.0.0",
+  "dependencies": {
+    "express": "expressjs/express",
+    "mocha": "mochajs/mocha#4727d357ea",
+    "module": "user/repo#feature\/branch"
+  }
+}
+
+

Local Paths

+

As of version 2.0.0 you can provide a path to a local directory that +contains a package. Local paths can be saved using npm install -S or npm install --save, using any of these forms:

+
../foo/bar
+~/foo/bar
+./foo/bar
+/foo/bar
+
+

in which case they will be normalized to a relative path and added to your +package.json. For example:

+
{
+  "name": "baz",
+  "dependencies": {
+    "bar": "file:../foo/bar"
+  }
+}
+
+

This feature is helpful for local offline development and creating tests +that require npm installing where you don't want to hit an external server, +but should not be used when publishing packages to the public registry.

+

devDependencies

+

If someone is planning on downloading and using your module in their +program, then they probably don't want or need to download and build the +external test or documentation framework that you use.

+

In this case, it's best to map these additional items in a +devDependencies object.

+

These things will be installed when doing npm link or npm install from +the root of a package, and can be managed like any other npm configuration +param. See config for more on the topic.

+

For build steps that are not platform-specific, such as compiling +CoffeeScript or other languages to JavaScript, use the prepare script to +do this, and make the required package a devDependency.

+

For example:

+
{
+  "name": "ethopia-waza",
+  "description": "a delightfully fruity coffee varietal",
+  "version": "1.2.3",
+  "devDependencies": {
+    "coffee-script": "~1.6.3"
+  },
+  "scripts": {
+    "prepare": "coffee -o lib/ -c src/waza.coffee"
+  },
+  "main": "lib/waza.js"
+}
+
+

The prepare script will be run before publishing, so that users can +consume the functionality without requiring them to compile it themselves. +In dev mode (ie, locally running npm install), it'll run this script as +well, so that you can test it easily.

+

peerDependencies

+

In some cases, you want to express the compatibility of your package with a +host tool or library, while not necessarily doing a require of this host. +This is usually referred to as a plugin. Notably, your module may be +exposing a specific interface, expected and specified by the host +documentation.

+

For example:

+
{
+  "name": "tea-latte",
+  "version": "1.3.5",
+  "peerDependencies": {
+    "tea": "2.x"
+  }
+}
+
+

This ensures your package tea-latte can be installed along with the +second major version of the host package tea only. npm install tea-latte could possibly yield the following dependency graph:

+
├── tea-latte@1.3.5
+└── tea@2.2.0
+
+

In npm versions 3 through 6, peerDependencies were not automatically +installed, and would raise a warning if an invalid version of the peer +dependency was found in the tree. As of npm v7, peerDependencies are +installed by default.

+

Trying to install another plugin with a conflicting requirement may cause +an error if the tree cannot be resolved correctly. For this reason, make +sure your plugin requirement is as broad as possible, and not to lock it +down to specific patch versions.

+

Assuming the host complies with semver, only changes +in the host package's major version will break your plugin. Thus, if you've +worked with every 1.x version of the host package, use "^1.0" or "1.x" +to express this. If you depend on features introduced in 1.5.2, use +"^1.5.2".

+

peerDependenciesMeta

+

When a user installs your package, npm will emit warnings if packages +specified in peerDependencies are not already installed. The +peerDependenciesMeta field serves to provide npm more information on how +your peer dependencies are to be used. Specifically, it allows peer +dependencies to be marked as optional.

+

For example:

+
{
+  "name": "tea-latte",
+  "version": "1.3.5",
+  "peerDependencies": {
+    "tea": "2.x",
+    "soy-milk": "1.2"
+  },
+  "peerDependenciesMeta": {
+    "soy-milk": {
+      "optional": true
+    }
+  }
+}
+
+

Marking a peer dependency as optional ensures npm will not emit a warning +if the soy-milk package is not installed on the host. This allows you to +integrate and interact with a variety of host packages without requiring +all of them to be installed.

+

bundledDependencies

+

This defines an array of package names that will be bundled when publishing +the package.

+

In cases where you need to preserve npm packages locally or have them +available through a single file download, you can bundle the packages in a +tarball file by specifying the package names in the bundledDependencies +array and executing npm pack.

+

For example:

+

If we define a package.json like this:

+
{
+  "name": "awesome-web-framework",
+  "version": "1.0.0",
+  "bundledDependencies": [
+    "renderized",
+    "super-streams"
+  ]
+}
+
+

we can obtain awesome-web-framework-1.0.0.tgz file by running npm pack. +This file contains the dependencies renderized and super-streams which +can be installed in a new project by executing npm install awesome-web-framework-1.0.0.tgz. Note that the package names do not +include any versions, as that information is specified in dependencies.

+

If this is spelled "bundleDependencies", then that is also honored.

+

Alternatively, "bundledDependencies" can be defined as a boolean value. A +value of true will bundle all dependencies, a value of false will bundle +none.

+

optionalDependencies

+

If a dependency can be used, but you would like npm to proceed if it cannot +be found or fails to install, then you may put it in the +optionalDependencies object. This is a map of package name to version or +url, just like the dependencies object. The difference is that build +failures do not cause installation to fail. Running npm install --no-optional will prevent these dependencies from being installed.

+

It is still your program's responsibility to handle the lack of the +dependency. For example, something like this:

+
try {
+  var foo = require('foo')
+  var fooVersion = require('foo/package.json').version
+} catch (er) {
+  foo = null
+}
+if ( notGoodFooVersion(fooVersion) ) {
+  foo = null
+}
+
+// .. then later in your program ..
+
+if (foo) {
+  foo.doFooThings()
+}
+
+

Entries in optionalDependencies will override entries of the same name in +dependencies, so it's usually best to only put in one place.

+

overrides

+

If you need to make specific changes to dependencies of your dependencies, for +example replacing the version of a dependency with a known security issue, +replacing an existing dependency with a fork, or making sure that the same +version of a package is used everywhere, then you may add an override.

+

Overrides provide a way to replace a package in your dependency tree with +another version, or another package entirely. These changes can be scoped as +specific or as vague as desired.

+

To make sure the package foo is always installed as version 1.0.0 no matter +what version your dependencies rely on:

+
{
+  "overrides": {
+    "foo": "1.0.0"
+  }
+}
+
+

The above is a short hand notation, the full object form can be used to allow +overriding a package itself as well as a child of the package. This will cause +foo to always be 1.0.0 while also making bar at any depth beyond foo +also 1.0.0:

+
{
+  "overrides": {
+    "foo": {
+      ".": "1.0.0",
+      "bar": "1.0.0"
+    }
+  }
+}
+
+

To only override foo to be 1.0.0 when it's a child (or grandchild, or great +grandchild, etc) of the package bar:

+
{
+  "overrides": {
+    "bar": {
+      "foo": "1.0.0"
+    }
+  }
+}
+
+

Keys can be nested to any arbitrary length. To override foo only when it's a +child of bar and only when bar is a child of baz:

+
{
+  "overrides": {
+    "baz": {
+      "bar": {
+        "foo": "1.0.0"
+      }
+    }
+  }
+}
+
+

The key of an override can also include a version, or range of versions. +To override foo to 1.0.0, but only when it's a child of bar@2.0.0:

+
{
+  "overrides": {
+    "bar@2.0.0": {
+      "foo": "1.0.0"
+    }
+  }
+}
+
+

You may not set an override for a package that you directly depend on unless +both the dependency and the override itself share the exact same spec. To make +this limitation easier to deal with, overrides may also be defined as a +reference to a spec for a direct dependency by prefixing the name of the +package you wish the version to match with a $.

+
{
+  "dependencies": {
+    "foo": "^1.0.0"
+  },
+  "overrides": {
+    // BAD, will throw an EOVERRIDE error
+    // "foo": "^2.0.0"
+    // GOOD, specs match so override is allowed
+    // "foo": "^1.0.0"
+    // BEST, the override is defined as a reference to the dependency
+    "foo": "$foo",
+    // the referenced package does not need to match the overridden one
+    "bar": "$foo"
+  }
+}
+
+

engines

+

You can specify the version of node that your stuff works on:

+
{
+  "engines": {
+    "node": ">=0.10.3 <15"
+  }
+}
+
+

And, like with dependencies, if you don't specify the version (or if you +specify "*" as the version), then any version of node will do.

+

You can also use the "engines" field to specify which versions of npm are +capable of properly installing your program. For example:

+
{
+  "engines": {
+    "npm": "~1.0.20"
+  }
+}
+
+

Unless the user has set the engine-strict config flag, this field is +advisory only and will only produce warnings when your package is installed +as a dependency.

+

os

+

You can specify which operating systems your +module will run on:

+
{
+  "os": [
+    "darwin",
+    "linux"
+  ]
+}
+
+

You can also block instead of allowing operating systems, just prepend the +blocked os with a '!':

+
{
+  "os": [
+    "!win32"
+  ]
+}
+
+

The host operating system is determined by process.platform

+

It is allowed to both block and allow an item, although there isn't any +good reason to do this.

+

cpu

+

If your code only runs on certain cpu architectures, +you can specify which ones.

+
{
+  "cpu": [
+    "x64",
+    "ia32"
+  ]
+}
+
+

Like the os option, you can also block architectures:

+
{
+  "cpu": [
+    "!arm",
+    "!mips"
+  ]
+}
+
+

The host architecture is determined by process.arch

+

private

+

If you set "private": true in your package.json, then npm will refuse to +publish it.

+

This is a way to prevent accidental publication of private repositories. +If you would like to ensure that a given package is only ever published to +a specific registry (for example, an internal registry), then use the +publishConfig dictionary described below to override the registry +config param at publish-time.

+

publishConfig

+

This is a set of config values that will be used at publish-time. It's +especially handy if you want to set the tag, registry or access, so that +you can ensure that a given package is not tagged with "latest", published +to the global public registry or that a scoped module is private by +default.

+

See config to see the list of config options that +can be overridden.

+

workspaces

+

The optional workspaces field is an array of file patterns that describes +locations within the local file system that the install client should look +up to find each workspace that needs to be +symlinked to the top level node_modules folder.

+

It can describe either the direct paths of the folders to be used as +workspaces or it can define globs that will resolve to these same folders.

+

In the following example, all folders located inside the folder +./packages will be treated as workspaces as long as they have valid +package.json files inside them:

+
{
+  "name": "workspace-example",
+  "workspaces": [
+    "./packages/*"
+  ]
+}
+
+

See workspaces for more examples.

+

DEFAULT VALUES

+

npm will default some values based on package contents.

+
    +
  • +

    "scripts": {"start": "node server.js"}

    +

    If there is a server.js file in the root of your package, then npm will +default the start command to node server.js.

    +
  • +
  • +

    "scripts":{"install": "node-gyp rebuild"}

    +

    If there is a binding.gyp file in the root of your package and you have +not defined an install or preinstall script, npm will default the +install command to compile using node-gyp.

    +
  • +
  • +

    "contributors": [...]

    +

    If there is an AUTHORS file in the root of your package, npm will treat +each line as a Name <email> (url) format, where email and url are +optional. Lines which start with a # or are blank, will be ignored.

    +
  • +
+

SEE ALSO

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/configuring-npm/package-lock-json.html b/node_modules/npm/docs/output/configuring-npm/package-lock-json.html new file mode 100644 index 0000000..47359d9 --- /dev/null +++ b/node_modules/npm/docs/output/configuring-npm/package-lock-json.html @@ -0,0 +1,394 @@ + + +package-lock.json + + + + + +
+
+

package-lock.json

+A manifestation of the manifest +
+ +
+

Table of contents

+ +
+ +

Description

+

package-lock.json is automatically generated for any operations where npm +modifies either the node_modules tree, or package.json. It describes the +exact tree that was generated, such that subsequent installs are able to +generate identical trees, regardless of intermediate dependency updates.

+

This file is intended to be committed into source repositories, and serves +various purposes:

+
    +
  • +

    Describe a single representation of a dependency tree such that +teammates, deployments, and continuous integration are guaranteed to +install exactly the same dependencies.

    +
  • +
  • +

    Provide a facility for users to "time-travel" to previous states of +node_modules without having to commit the directory itself.

    +
  • +
  • +

    Facilitate greater visibility of tree changes through readable source +control diffs.

    +
  • +
  • +

    Optimize the installation process by allowing npm to skip repeated +metadata resolutions for previously-installed packages.

    +
  • +
  • +

    As of npm v7, lockfiles include enough information to gain a complete +picture of the package tree, reducing the need to read package.json +files, and allowing for significant performance improvements.

    +
  • +
+

package-lock.json vs npm-shrinkwrap.json

+

Both of these files have the same format, and perform similar functions in +the root of a project.

+

The difference is that package-lock.json cannot be published, and it will +be ignored if found in any place other than the root project.

+

In contrast, npm-shrinkwrap.json allows +publication, and defines the dependency tree from the point encountered. +This is not recommended unless deploying a CLI tool or otherwise using the +publication process for producing production packages.

+

If both package-lock.json and npm-shrinkwrap.json are present in the +root of a project, npm-shrinkwrap.json will take precedence and +package-lock.json will be ignored.

+

Hidden Lockfiles

+

In order to avoid processing the node_modules folder repeatedly, npm as +of v7 uses a "hidden" lockfile present in +node_modules/.package-lock.json. This contains information about the +tree, and is used in lieu of reading the entire node_modules hierarchy +provided that the following conditions are met:

+
    +
  • All package folders it references exist in the node_modules hierarchy.
  • +
  • No package folders exist in the node_modules hierarchy that are not +listed in the lockfile.
  • +
  • The modified time of the file is at least as recent as all of the package +folders it references.
  • +
+

That is, the hidden lockfile will only be relevant if it was created as +part of the most recent update to the package tree. If another CLI mutates +the tree in any way, this will be detected, and the hidden lockfile will be +ignored.

+

Note that it is possible to manually change the contents of a package +in such a way that the modified time of the package folder is unaffected. +For example, if you add a file to node_modules/foo/lib/bar.js, then the +modified time on node_modules/foo will not reflect this change. If you +are manually editing files in node_modules, it is generally best to +delete the file at node_modules/.package-lock.json.

+

As the hidden lockfile is ignored by older npm versions, it does not +contain the backwards compatibility affordances present in "normal" +lockfiles. That is, it is lockfileVersion: 3, rather than +lockfileVersion: 2.

+

Handling Old Lockfiles

+

When npm detects a lockfile from npm v6 or before during the package +installation process, it is automatically updated to fetch missing +information from either the node_modules tree or (in the case of empty +node_modules trees or very old lockfile formats) the npm registry.

+

File Format

+

name

+

The name of the package this is a package-lock for. This will match what's +in package.json.

+

version

+

The version of the package this is a package-lock for. This will match +what's in package.json.

+

lockfileVersion

+

An integer version, starting at 1 with the version number of this +document whose semantics were used when generating this +package-lock.json.

+

Note that the file format changed significantly in npm v7 to track +information that would have otherwise required looking in node_modules or +the npm registry. Lockfiles generated by npm v7 will contain +lockfileVersion: 2.

+
    +
  • No version provided: an "ancient" shrinkwrap file from a version of npm +prior to npm v5.
  • +
  • 1: The lockfile version used by npm v5 and v6.
  • +
  • 2: The lockfile version used by npm v7, which is backwards compatible +to v1 lockfiles.
  • +
  • 3: The lockfile version used by npm v7, without backwards +compatibility affordances. This is used for the hidden lockfile at +node_modules/.package-lock.json, and will likely be used in a future +version of npm, once support for npm v6 is no longer relevant.
  • +
+

npm will always attempt to get whatever data it can out of a lockfile, even +if it is not a version that it was designed to support.

+

packages

+

This is an object that maps package locations to an object containing the +information about that package.

+

The root project is typically listed with a key of "", and all other +packages are listed with their relative paths from the root project folder.

+

Package descriptors have the following fields:

+
    +
  • +

    version: The version found in package.json

    +
  • +
  • +

    resolved: The place where the package was actually resolved from. In +the case of packages fetched from the registry, this will be a url to a +tarball. In the case of git dependencies, this will be the full git url +with commit sha. In the case of link dependencies, this will be the +location of the link target. registry.npmjs.org is a magic value meaning +"the currently configured registry".

    +
  • +
  • +

    integrity: A sha512 or sha1 Standard Subresource +Integrity +string for the artifact that was unpacked in this location.

    +
  • +
  • +

    link: A flag to indicate that this is a symbolic link. If this is +present, no other fields are specified, since the link target will also +be included in the lockfile.

    +
  • +
  • +

    dev, optional, devOptional: If the package is strictly part of the +devDependencies tree, then dev will be true. If it is strictly part +of the optionalDependencies tree, then optional will be set. If it +is both a dev dependency and an optional dependency of a non-dev +dependency, then devOptional will be set. (An optional dependency of +a dev dependency will have both dev and optional set.)

    +
  • +
  • +

    inBundle: A flag to indicate that the package is a bundled dependency.

    +
  • +
  • +

    hasInstallScript: A flag to indicate that the package has a preinstall, +install, or postinstall script.

    +
  • +
  • +

    hasShrinkwrap: A flag to indicate that the package has an +npm-shrinkwrap.json file.

    +
  • +
  • +

    bin, license, engines, dependencies, optionalDependencies: fields from +package.json

    +
  • +
+

dependencies

+

Legacy data for supporting versions of npm that use lockfileVersion: 1. +This is a mapping of package names to dependency objects. Because the +object structure is strictly hierarchical, symbolic link dependencies are +somewhat challenging to represent in some cases.

+

npm v7 ignores this section entirely if a packages section is present, +but does keep it up to date in order to support switching between npm v6 +and npm v7.

+

Dependency objects have the following fields:

+
    +
  • +

    version: a specifier that varies depending on the nature of the package, +and is usable in fetching a new copy of it.

    +
      +
    • bundled dependencies: Regardless of source, this is a version number +that is purely for informational purposes.
    • +
    • registry sources: This is a version number. (eg, 1.2.3)
    • +
    • git sources: This is a git specifier with resolved committish. (eg, +git+https://example.com/foo/bar#115311855adb0789a0466714ed48a1499ffea97e)
    • +
    • http tarball sources: This is the URL of the tarball. (eg, +https://example.com/example-1.3.0.tgz)
    • +
    • local tarball sources: This is the file URL of the tarball. (eg +file:///opt/storage/example-1.3.0.tgz)
    • +
    • local link sources: This is the file URL of the link. (eg +file:libs/our-module)
    • +
    +
  • +
  • +

    integrity: A sha512 or sha1 Standard Subresource +Integrity +string for the artifact that was unpacked in this location. For git +dependencies, this is the commit sha.

    +
  • +
  • +

    resolved: For registry sources this is path of the tarball relative to +the registry URL. If the tarball URL isn't on the same server as the +registry URL then this is a complete URL. registry.npmjs.org is a magic +value meaning "the currently configured registry".

    +
  • +
  • +

    bundled: If true, this is the bundled dependency and will be installed +by the parent module. When installing, this module will be extracted +from the parent module during the extract phase, not installed as a +separate dependency.

    +
  • +
  • +

    dev: If true then this dependency is either a development dependency ONLY +of the top level module or a transitive dependency of one. This is false +for dependencies that are both a development dependency of the top level +and a transitive dependency of a non-development dependency of the top +level.

    +
  • +
  • +

    optional: If true then this dependency is either an optional dependency +ONLY of the top level module or a transitive dependency of one. This is +false for dependencies that are both an optional dependency of the top +level and a transitive dependency of a non-optional dependency of the top +level.

    +
  • +
  • +

    requires: This is a mapping of module name to version. This is a list of +everything this module requires, regardless of where it will be +installed. The version should match via normal matching rules a +dependency either in our dependencies or in a level higher than us.

    +
  • +
  • +

    dependencies: The dependencies of this dependency, exactly as at the top +level.

    +
  • +
+

See also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/using-npm/config.html b/node_modules/npm/docs/output/using-npm/config.html new file mode 100644 index 0000000..ef5a0f9 --- /dev/null +++ b/node_modules/npm/docs/output/using-npm/config.html @@ -0,0 +1,1810 @@ + + +config + + + + + +
+
+

config

+More than you probably want to know about npm configuration +
+ +
+

Table of contents

+
+
+ +

Description

+

npm gets its configuration values from the following sources, sorted by priority:

+

Command Line Flags

+

Putting --foo bar on the command line sets the foo configuration +parameter to "bar". A -- argument tells the cli parser to stop +reading flags. Using --flag without specifying any value will set +the value to true.

+

Example: --flag1 --flag2 will set both configuration parameters +to true, while --flag1 --flag2 bar will set flag1 to true, +and flag2 to bar. Finally, --flag1 --flag2 -- bar will set +both configuration parameters to true, and the bar is taken +as a command argument.

+

Environment Variables

+

Any environment variables that start with npm_config_ will be +interpreted as a configuration parameter. For example, putting +npm_config_foo=bar in your environment will set the foo +configuration parameter to bar. Any environment configurations that +are not given a value will be given the value of true. Config +values are case-insensitive, so NPM_CONFIG_FOO=bar will work the +same. However, please note that inside scripts +npm will set its own environment variables and Node will prefer +those lowercase versions over any uppercase ones that you might set. +For details see this issue.

+

Notice that you need to use underscores instead of dashes, so --allow-same-version +would become npm_config_allow_same_version=true.

+

npmrc Files

+

The four relevant files are:

+
    +
  • per-project configuration file (/path/to/my/project/.npmrc)
  • +
  • per-user configuration file (defaults to $HOME/.npmrc; configurable via CLI +option --userconfig or environment variable $NPM_CONFIG_USERCONFIG)
  • +
  • global configuration file (defaults to $PREFIX/etc/npmrc; configurable via +CLI option --globalconfig or environment variable $NPM_CONFIG_GLOBALCONFIG)
  • +
  • npm's built-in configuration file (/path/to/npm/npmrc)
  • +
+

See npmrc for more details.

+

Default Configs

+

Run npm config ls -l to see a set of configuration parameters that are +internal to npm, and are defaults if nothing else is specified.

+

Shorthands and Other CLI Niceties

+

The following shorthands are parsed on the command-line:

+ + + +
    +
  • -a: --all
  • +
  • --enjoy-by: --before
  • +
  • -c: --call
  • +
  • --desc: --description
  • +
  • -f: --force
  • +
  • -g: --global
  • +
  • -L: --location
  • +
  • -d: --loglevel info
  • +
  • -s: --loglevel silent
  • +
  • --silent: --loglevel silent
  • +
  • --ddd: --loglevel silly
  • +
  • --dd: --loglevel verbose
  • +
  • --verbose: --loglevel verbose
  • +
  • -q: --loglevel warn
  • +
  • --quiet: --loglevel warn
  • +
  • -l: --long
  • +
  • -m: --message
  • +
  • --local: --no-global
  • +
  • -n: --no-yes
  • +
  • --no: --no-yes
  • +
  • -p: --parseable
  • +
  • --porcelain: --parseable
  • +
  • -C: --prefix
  • +
  • --readonly: --read-only
  • +
  • --reg: --registry
  • +
  • -S: --save
  • +
  • -B: --save-bundle
  • +
  • -D: --save-dev
  • +
  • -E: --save-exact
  • +
  • -O: --save-optional
  • +
  • -P: --save-prod
  • +
  • -?: --usage
  • +
  • -h: --usage
  • +
  • -H: --usage
  • +
  • --help: --usage
  • +
  • -v: --version
  • +
  • -w: --workspace
  • +
  • --ws: --workspaces
  • +
  • -y: --yes
  • +
+ + + +

If the specified configuration param resolves unambiguously to a known +configuration parameter, then it is expanded to that configuration +parameter. For example:

+
npm ls --par
+# same as:
+npm ls --parseable
+
+

If multiple single-character shorthands are strung together, and the +resulting combination is unambiguously not some other configuration +param, then it is expanded to its various component pieces. For +example:

+
npm ls -gpld
+# same as:
+npm ls --global --parseable --long --loglevel info
+
+

Config Settings

+ + + +

_auth

+
    +
  • Default: null
  • +
  • Type: null or String
  • +
+

A basic-auth string to use when authenticating against the npm registry.

+

Warning: This should generally not be set via a command-line option. It is +safer to use a registry-provided authentication bearer token stored in the +~/.npmrc file by running npm login.

+ + +

access

+
    +
  • Default: 'restricted' for scoped packages, 'public' for unscoped packages
  • +
  • Type: null, "restricted", or "public"
  • +
+

When publishing scoped packages, the access level defaults to restricted. +If you want your scoped package to be publicly viewable (and installable) +set --access=public. The only valid values for access are public and +restricted. Unscoped packages always have an access level of public.

+

Note: Using the --access flag on the npm publish command will only set +the package access level on the initial publish of the package. Any +subsequent npm publish commands using the --access flag will not have an +effect to the access level. To make changes to the access level after the +initial publish use npm access.

+ + +

all

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

When running npm outdated and npm ls, setting --all will show all +outdated or installed packages, rather than only those directly depended +upon by the current project.

+ + +

allow-same-version

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Prevents throwing an error when npm version is used to set the new version +to the same value as the current version.

+ + +

audit

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

When "true" submit audit reports alongside the current npm command to the +default registry and all registries configured for scopes. See the +documentation for npm audit for details on what is +submitted.

+ + +

audit-level

+
    +
  • Default: null
  • +
  • Type: null, "info", "low", "moderate", "high", "critical", or "none"
  • +
+

The minimum level of vulnerability for npm audit to exit with a non-zero +exit code.

+ + +

before

+
    +
  • Default: null
  • +
  • Type: null or Date
  • +
+

If passed to npm install, will rebuild the npm tree such that only +versions that were available on or before the --before time get +installed. If there's no versions available for the current set of direct +dependencies, the command will error.

+

If the requested version is a dist-tag and the given tag does not pass the +--before filter, the most recent version less than or equal to that tag +will be used. For example, foo@latest might install foo@1.2 even though +latest is 2.0.

+ + + +
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Tells npm to create symlinks (or .cmd shims on Windows) for package +executables.

+

Set to false to have it not do this. This can be used to work around the +fact that some file systems don't support symlinks, even on ostensibly Unix +systems.

+ + +

browser

+
    +
  • Default: OS X: "open", Windows: "start", Others: "xdg-open"
  • +
  • Type: null, Boolean, or String
  • +
+

The browser that is called by npm commands to open websites.

+

Set to false to suppress browser behavior and instead print urls to +terminal.

+

Set to true to use default system URL opener.

+ + +

ca

+
    +
  • Default: null
  • +
  • Type: null or String (can be set multiple times)
  • +
+

The Certificate Authority signing certificate that is trusted for SSL +connections to the registry. Values should be in PEM format (Windows calls +it "Base-64 encoded X.509 (.CER)") with newlines replaced by the string +"\n". For example:

+
ca="-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"
+
+

Set to null to only allow "known" registrars, or to a specific CA cert to +trust only that specific signing authority.

+

Multiple CAs can be trusted by specifying an array of certificates:

+
ca[]="..."
+ca[]="..."
+
+

See also the strict-ssl config.

+ + +

cache

+
    +
  • Default: Windows: %LocalAppData%\npm-cache, Posix: ~/.npm
  • +
  • Type: Path
  • +
+

The location of npm's cache directory. See npm cache

+ + +

cafile

+
    +
  • Default: null
  • +
  • Type: Path
  • +
+

A path to a file containing one or multiple Certificate Authority signing +certificates. Similar to the ca setting, but allows for multiple CA's, as +well as for the CA information to be stored in a file on disk.

+ + +

call

+
    +
  • Default: ""
  • +
  • Type: String
  • +
+

Optional companion option for npm exec, npx that allows for specifying a +custom command to be run along with the installed packages.

+
npm exec --package yo --package generator-node --call "yo node"
+
+ + +

cert

+
    +
  • Default: null
  • +
  • Type: null or String
  • +
+

A client certificate to pass when accessing the registry. Values should be +in PEM format (Windows calls it "Base-64 encoded X.509 (.CER)") with +newlines replaced by the string "\n". For example:

+
cert="-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"
+
+

It is not the path to a certificate file (and there is no "certfile" +option).

+ + +

ci-name

+
    +
  • Default: The name of the current CI system, or null when not on a known CI +platform.
  • +
  • Type: null or String
  • +
+

The name of a continuous integration system. If not set explicitly, npm will +detect the current CI environment using the +@npmcli/ci-detect module.

+ + +

cidr

+
    +
  • Default: null
  • +
  • Type: null or String (can be set multiple times)
  • +
+

This is a list of CIDR address to be used when configuring limited access +tokens with the npm token create command.

+ + +

color

+
    +
  • Default: true unless the NO_COLOR environ is set to something other than '0'
  • +
  • Type: "always" or Boolean
  • +
+

If false, never shows colors. If "always" then always shows colors. If +true, then only prints color codes for tty file descriptors.

+ + +

commit-hooks

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Run git commit hooks when using the npm version command.

+ + +

depth

+
    +
  • Default: Infinity if --all is set, otherwise 1
  • +
  • Type: null or Number
  • +
+

The depth to go when recursing packages for npm ls.

+

If not set, npm ls will show only the immediate dependencies of the root +project. If --all is set, then npm will show all dependencies by default.

+ + +

description

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Show the description in npm search

+ + +

diff

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Define arguments to compare in npm diff.

+ + +

diff-dst-prefix

+
    +
  • Default: "b/"
  • +
  • Type: String
  • +
+

Destination prefix to be used in npm diff output.

+ + +

diff-ignore-all-space

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Ignore whitespace when comparing lines in npm diff.

+ + +

diff-name-only

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Prints only filenames when using npm diff.

+ + +

diff-no-prefix

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Do not show any source or destination prefix in npm diff output.

+

Note: this causes npm diff to ignore the --diff-src-prefix and +--diff-dst-prefix configs.

+ + +

diff-src-prefix

+
    +
  • Default: "a/"
  • +
  • Type: String
  • +
+

Source prefix to be used in npm diff output.

+ + +

diff-text

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Treat all files as text in npm diff.

+ + +

diff-unified

+
    +
  • Default: 3
  • +
  • Type: Number
  • +
+

The number of lines of context to print in npm diff.

+ + +

dry-run

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Indicates that you don't want npm to make any changes and that it should +only report what it would have done. This can be passed into any of the +commands that modify your local installation, eg, install, update, +dedupe, uninstall, as well as pack and publish.

+

Note: This is NOT honored by other network related commands, eg dist-tags, +owner, etc.

+ + +

editor

+
    +
  • Default: The EDITOR or VISUAL environment variables, or 'notepad.exe' on +Windows, or 'vim' on Unix systems
  • +
  • Type: String
  • +
+

The command to run for npm edit and npm config edit.

+ + +

engine-strict

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If set to true, then npm will stubbornly refuse to install (or even consider +installing) any package that claims to not be compatible with the current +Node.js version.

+

This can be overridden by setting the --force flag.

+ + +

fetch-retries

+
    +
  • Default: 2
  • +
  • Type: Number
  • +
+

The "retries" config for the retry module to use when fetching packages +from the registry.

+

npm will retry idempotent read requests to the registry in the case of +network failures or 5xx HTTP errors.

+ + +

fetch-retry-factor

+
    +
  • Default: 10
  • +
  • Type: Number
  • +
+

The "factor" config for the retry module to use when fetching packages.

+ + +

fetch-retry-maxtimeout

+
    +
  • Default: 60000 (1 minute)
  • +
  • Type: Number
  • +
+

The "maxTimeout" config for the retry module to use when fetching +packages.

+ + +

fetch-retry-mintimeout

+
    +
  • Default: 10000 (10 seconds)
  • +
  • Type: Number
  • +
+

The "minTimeout" config for the retry module to use when fetching +packages.

+ + +

fetch-timeout

+
    +
  • Default: 300000 (5 minutes)
  • +
  • Type: Number
  • +
+

The maximum amount of time to wait for HTTP requests to complete.

+ + +

force

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Removes various protections against unfortunate side effects, common +mistakes, unnecessary performance degradation, and malicious input.

+
    +
  • Allow clobbering non-npm files in global installs.
  • +
  • Allow the npm version command to work on an unclean git repository.
  • +
  • Allow deleting the cache folder with npm cache clean.
  • +
  • Allow installing packages that have an engines declaration requiring a +different version of npm.
  • +
  • Allow installing packages that have an engines declaration requiring a +different version of node, even if --engine-strict is enabled.
  • +
  • Allow npm audit fix to install modules outside your stated dependency +range (including SemVer-major changes).
  • +
  • Allow unpublishing all versions of a published package.
  • +
  • Allow conflicting peerDependencies to be installed in the root project.
  • +
  • Implicitly set --yes during npm init.
  • +
  • Allow clobbering existing values in npm pkg
  • +
+

If you don't have a clear idea of what you want to do, it is strongly +recommended that you do not use this option!

+ + +

foreground-scripts

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Run all build scripts (ie, preinstall, install, and postinstall) +scripts for installed packages in the foreground process, sharing standard +input, output, and error with the main npm process.

+

Note that this will generally make installs run slower, and be much noisier, +but can be useful for debugging.

+ + +

format-package-lock

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Format package-lock.json or npm-shrinkwrap.json as a human readable +file.

+ + +

fund

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

When "true" displays the message at the end of each npm install +acknowledging the number of dependencies looking for funding. See npm fund for details.

+ + +

git

+
    +
  • Default: "git"
  • +
  • Type: String
  • +
+

The command to use for git commands. If git is installed on the computer, +but is not in the PATH, then set this to the full path to the git binary.

+ + +

git-tag-version

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Tag the commit when using the npm version command.

+ + +

global

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Operates in "global" mode, so that packages are installed into the prefix +folder instead of the current working directory. See +folders for more on the differences in behavior.

+
    +
  • packages are installed into the {prefix}/lib/node_modules folder, instead +of the current working directory.
  • +
  • bin files are linked to {prefix}/bin
  • +
  • man pages are linked to {prefix}/share/man
  • +
+ + +

global-style

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Causes npm to install the package into your local node_modules folder with +the same layout it uses with the global node_modules folder. Only your +direct dependencies will show in node_modules and everything they depend +on will be flattened in their node_modules folders. This obviously will +eliminate some deduping. If used with legacy-bundling, legacy-bundling +will be preferred.

+ + +

globalconfig

+
    +
  • Default: The global --prefix setting plus 'etc/npmrc'. For example, +'/usr/local/etc/npmrc'
  • +
  • Type: Path
  • +
+

The config file to read for global config options.

+ + +

heading

+
    +
  • Default: "npm"
  • +
  • Type: String
  • +
+

The string that starts all the debugging log output.

+ + +

https-proxy

+
    +
  • Default: null
  • +
  • Type: null or URL
  • +
+

A proxy to use for outgoing https requests. If the HTTPS_PROXY or +https_proxy or HTTP_PROXY or http_proxy environment variables are set, +proxy settings will be honored by the underlying make-fetch-happen +library.

+ + +

if-present

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, npm will not exit with an error code when run-script is invoked +for a script that isn't defined in the scripts section of package.json. +This option can be used when it's desirable to optionally run a script when +it's present and fail if the script fails. This is useful, for example, when +running scripts that may only apply for some builds in an otherwise generic +CI setup.

+ + +

ignore-scripts

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, npm does not run scripts specified in package.json files.

+

Note that commands explicitly intended to run a particular script, such as +npm start, npm stop, npm restart, npm test, and npm run-script +will still run their intended script if ignore-scripts is set, but they +will not run any pre- or post-scripts.

+ + +

include

+
    +
  • Default:
  • +
  • Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
  • +
+

Option that allows for defining which types of dependencies to install.

+

This is the inverse of --omit=<type>.

+

Dependency types specified in --include will not be omitted, regardless of +the order in which omit/include are specified on the command-line.

+ + +

include-staged

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Allow installing "staged" published packages, as defined by npm RFC PR +#92.

+

This is experimental, and not implemented by the npm public registry.

+ + +

include-workspace-root

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Include the workspace root when workspaces are enabled for a command.

+

When false, specifying individual workspaces via the workspace config, or +all workspaces via the workspaces flag, will cause npm to operate only on +the specified workspaces, and not on the root project.

+ + +

init-author-email

+
    +
  • Default: ""
  • +
  • Type: String
  • +
+

The value npm init should use by default for the package author's email.

+ + +

init-author-name

+
    +
  • Default: ""
  • +
  • Type: String
  • +
+

The value npm init should use by default for the package author's name.

+ + +

init-author-url

+
    +
  • Default: ""
  • +
  • Type: "" or URL
  • +
+

The value npm init should use by default for the package author's +homepage.

+ + +

init-license

+
    +
  • Default: "ISC"
  • +
  • Type: String
  • +
+

The value npm init should use by default for the package license.

+ + +

init-module

+
    +
  • Default: "~/.npm-init.js"
  • +
  • Type: Path
  • +
+

A module that will be loaded by the npm init command. See the +documentation for the +init-package-json module for +more information, or npm init.

+ + +

init-version

+
    +
  • Default: "1.0.0"
  • +
  • Type: SemVer string
  • +
+

The value that npm init should use by default for the package version +number, if not already set in package.json.

+ + +

json

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Whether or not to output JSON data, rather than the normal output.

+
    +
  • In npm pkg set it enables parsing set values with JSON.parse() before +saving them to your package.json.
  • +
+

Not supported by all npm commands.

+ + +

key

+
    +
  • Default: null
  • +
  • Type: null or String
  • +
+

A client key to pass when accessing the registry. Values should be in PEM +format with newlines replaced by the string "\n". For example:

+
key="-----BEGIN PRIVATE KEY-----\nXXXX\nXXXX\n-----END PRIVATE KEY-----"
+
+

It is not the path to a key file (and there is no "keyfile" option).

+ + +

legacy-bundling

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Causes npm to install the package such that versions of npm prior to 1.4, +such as the one included with node 0.8, can install the package. This +eliminates all automatic deduping. If used with global-style this option +will be preferred.

+ + +

legacy-peer-deps

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Causes npm to completely ignore peerDependencies when building a package +tree, as in npm versions 3 through 6.

+

If a package cannot be installed because of overly strict peerDependencies +that collide, it provides a way to move forward resolving the situation.

+

This differs from --omit=peer, in that --omit=peer will avoid unpacking +peerDependencies on disk, but will still design a tree such that +peerDependencies could be unpacked in a correct place.

+

Use of legacy-peer-deps is not recommended, as it will not enforce the +peerDependencies contract that meta-dependencies may rely on.

+ + + +
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Used with npm ls, limiting output to only those packages that are linked.

+ + +

local-address

+
    +
  • Default: null
  • +
  • Type: IP Address
  • +
+

The IP address of the local interface to use when making connections to the +npm registry. Must be IPv4 in versions of Node prior to 0.12.

+ + +

location

+
    +
  • Default: "user" unless --global is passed, which will also set this value +to "global"
  • +
  • Type: "global", "user", or "project"
  • +
+

When passed to npm config this refers to which config file to use.

+ + +

lockfile-version

+
    +
  • Default: Version 2 if no lockfile or current lockfile version less than or +equal to 2, otherwise maintain current lockfile version
  • +
  • Type: null, 1, 2, 3, "1", "2", or "3"
  • +
+

Set the lockfile format version to be used in package-lock.json and +npm-shrinkwrap-json files. Possible options are:

+

1: The lockfile version used by npm versions 5 and 6. Lacks some data that +is used during the install, resulting in slower and possibly less +deterministic installs. Prevents lockfile churn when interoperating with +older npm versions.

+

2: The default lockfile version used by npm version 7. Includes both the +version 1 lockfile data and version 3 lockfile data, for maximum determinism +and interoperability, at the expense of more bytes on disk.

+

3: Only the new lockfile information introduced in npm version 7. Smaller on +disk than lockfile version 2, but not interoperable with older npm versions. +Ideal if all users are on npm version 7 and higher.

+ + +

loglevel

+
    +
  • Default: "notice"
  • +
  • Type: "silent", "error", "warn", "notice", "http", "timing", "info", +"verbose", or "silly"
  • +
+

What level of logs to report. All logs are written to a debug log, with the +path to that file printed if the execution of a command fails.

+

Any logs of a higher level than the setting are shown. The default is +"notice".

+

See also the foreground-scripts config.

+ + +

logs-max

+
    +
  • Default: 10
  • +
  • Type: Number
  • +
+

The maximum number of log files to store.

+ + +

long

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Show extended information in ls, search, and help-search.

+ + +

maxsockets

+
    +
  • Default: 15
  • +
  • Type: Number
  • +
+

The maximum number of connections to use per origin (protocol/host/port +combination).

+ + +

message

+
    +
  • Default: "%s"
  • +
  • Type: String
  • +
+

Commit message which is used by npm version when creating version commit.

+

Any "%s" in the message will be replaced with the version number.

+ + +

node-options

+
    +
  • Default: null
  • +
  • Type: null or String
  • +
+

Options to pass through to Node.js via the NODE_OPTIONS environment +variable. This does not impact how npm itself is executed but it does impact +how lifecycle scripts are called.

+ + +

node-version

+
    +
  • Default: Node.js process.version value
  • +
  • Type: SemVer string
  • +
+

The node version to use when checking a package's engines setting.

+ + +

noproxy

+
    +
  • Default: The value of the NO_PROXY environment variable
  • +
  • Type: String (can be set multiple times)
  • +
+

Domain extensions that should bypass any proxies.

+

Also accepts a comma-delimited string.

+ + +

npm-version

+
    +
  • Default: Output of npm --version
  • +
  • Type: SemVer string
  • +
+

The npm version to use when checking a package's engines setting.

+ + +

offline

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Force offline mode: no network requests will be done during install. To +allow the CLI to fill in missing cache data, see --prefer-offline.

+ + +

omit

+
    +
  • Default: 'dev' if the NODE_ENV environment variable is set to +'production', otherwise empty.
  • +
  • Type: "dev", "optional", or "peer" (can be set multiple times)
  • +
+

Dependency types to omit from the installation tree on disk.

+

Note that these dependencies are still resolved and added to the +package-lock.json or npm-shrinkwrap.json file. They are just not +physically installed on disk.

+

If a package type appears in both the --include and --omit lists, then +it will be included.

+

If the resulting omit list includes 'dev', then the NODE_ENV environment +variable will be set to 'production' for all lifecycle scripts.

+ + +

otp

+
    +
  • Default: null
  • +
  • Type: null or String
  • +
+

This is a one-time password from a two-factor authenticator. It's needed +when publishing or changing package permissions with npm access.

+

If not set, and a registry response fails with a challenge for a one-time +password, npm will prompt on the command line for one.

+ + +

pack-destination

+
    +
  • Default: "."
  • +
  • Type: String
  • +
+

Directory in which npm pack will save tarballs.

+ + +

package

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

The package to install for npm exec

+ + +

package-lock

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

If set to false, then ignore package-lock.json files when installing. This +will also prevent writing package-lock.json if save is true.

+

When package package-locks are disabled, automatic pruning of extraneous +modules will also be disabled. To remove extraneous modules with +package-locks disabled use npm prune.

+

This configuration does not affect npm ci.

+ + +

package-lock-only

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If set to true, the current operation will only use the package-lock.json, +ignoring node_modules.

+

For update this means only the package-lock.json will be updated, +instead of checking node_modules and downloading dependencies.

+

For list this means the output will be based on the tree described by the +package-lock.json, rather than the contents of node_modules.

+ + +

parseable

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Output parseable results from commands that write to standard output. For +npm search, this will be tab-separated table format.

+ + +

prefer-offline

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, staleness checks for cached data will be bypassed, but missing data +will be requested from the server. To force full offline mode, use +--offline.

+ + +

prefer-online

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, staleness checks for cached data will be forced, making the CLI +look for updates immediately even for fresh package data.

+ + +

prefix

+
    +
  • Default: In global mode, the folder where the node executable is installed. +In local mode, the nearest parent folder containing either a package.json +file or a node_modules folder.
  • +
  • Type: Path
  • +
+

The location to install global items. If set on the command line, then it +forces non-global commands to run in the specified folder.

+ + +

preid

+
    +
  • Default: ""
  • +
  • Type: String
  • +
+

The "prerelease identifier" to use as a prefix for the "prerelease" part of +a semver. Like the rc in 1.2.0-rc.8.

+ + +

progress

+
    +
  • Default: true unless running in a known CI system
  • +
  • Type: Boolean
  • +
+

When set to true, npm will display a progress bar during time intensive +operations, if process.stderr is a TTY.

+

Set to false to suppress the progress bar.

+ + +

proxy

+
    +
  • Default: null
  • +
  • Type: null, false, or URL
  • +
+

A proxy to use for outgoing http requests. If the HTTP_PROXY or +http_proxy environment variables are set, proxy settings will be honored +by the underlying request library.

+ + +

read-only

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

This is used to mark a token as unable to publish when configuring limited +access tokens with the npm token create command.

+ + +

rebuild-bundle

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Rebuild bundled dependencies after installation.

+ + +

registry

+ +

The base URL of the npm registry.

+ + +

save

+
    +
  • Default: true unless when using npm update or npm dedupe where it +defaults to false
  • +
  • Type: Boolean
  • +
+

Save installed packages to a package.json file as dependencies.

+

When used with the npm rm command, removes the dependency from +package.json.

+

Will also prevent writing to package-lock.json if set to false.

+ + +

save-bundle

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If a package would be saved at install time by the use of --save, +--save-dev, or --save-optional, then also put it in the +bundleDependencies list.

+

Ignored if --save-peer is set, since peerDependencies cannot be bundled.

+ + +

save-dev

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Save installed packages to a package.json file as devDependencies.

+ + +

save-exact

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Dependencies saved to package.json will be configured with an exact version +rather than using npm's default semver range operator.

+ + +

save-optional

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Save installed packages to a package.json file as optionalDependencies.

+ + +

save-peer

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Save installed packages to a package.json file as peerDependencies

+ + +

save-prefix

+
    +
  • Default: "^"
  • +
  • Type: String
  • +
+

Configure how versions of packages installed to a package.json file via +--save or --save-dev get prefixed.

+

For example if a package has version 1.2.3, by default its version is set +to ^1.2.3 which allows minor upgrades for that package, but after npm config set save-prefix='~' it would be set to ~1.2.3 which only allows +patch upgrades.

+ + +

save-prod

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Save installed packages into dependencies specifically. This is useful if +a package already exists in devDependencies or optionalDependencies, but +you want to move it to be a non-optional production dependency.

+

This is the default behavior if --save is true, and neither --save-dev +or --save-optional are true.

+ + +

scope

+
    +
  • Default: the scope of the current project, if any, or ""
  • +
  • Type: String
  • +
+

Associate an operation with a scope for a scoped registry.

+

Useful when logging in to or out of a private registry:

+
# log in, linking the scope to the custom registry
+npm login --scope=@mycorp --registry=https://registry.mycorp.com
+
+# log out, removing the link and the auth token
+npm logout --scope=@mycorp
+
+

This will cause @mycorp to be mapped to the registry for future +installation of packages specified according to the pattern +@mycorp/package.

+

This will also cause npm init to create a scoped package.

+
# accept all defaults, and create a package named "@foo/whatever",
+# instead of just named "whatever"
+npm init --scope=@foo --yes
+
+ + +

script-shell

+
    +
  • Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
  • +
  • Type: null or String
  • +
+

The shell to use for scripts run with the npm exec, npm run and npm init <pkg> commands.

+ + +

searchexclude

+
    +
  • Default: ""
  • +
  • Type: String
  • +
+

Space-separated options that limit the results from search.

+ + +

searchlimit

+
    +
  • Default: 20
  • +
  • Type: Number
  • +
+

Number of items to limit search results to. Will not apply at all to legacy +searches.

+ + +

searchopts

+
    +
  • Default: ""
  • +
  • Type: String
  • +
+

Space-separated options that are always passed to search.

+ + +

searchstaleness

+
    +
  • Default: 900
  • +
  • Type: Number
  • +
+

The age of the cache, in seconds, before another registry request is made if +using legacy search endpoint.

+ + +

shell

+
    +
  • Default: SHELL environment variable, or "bash" on Posix, or "cmd.exe" on +Windows
  • +
  • Type: String
  • +
+

The shell to run for the npm explore command.

+ + +

sign-git-commit

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If set to true, then the npm version command will commit the new package +version using -S to add a signature.

+

Note that git requires you to have set up GPG keys in your git configs for +this to work properly.

+ + +

sign-git-tag

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If set to true, then the npm version command will tag the version using +-s to add a signature.

+

Note that git requires you to have set up GPG keys in your git configs for +this to work properly.

+ + +

strict-peer-deps

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If set to true, and --legacy-peer-deps is not set, then any +conflicting peerDependencies will be treated as an install failure, even +if npm could reasonably guess the appropriate resolution based on non-peer +dependency relationships.

+

By default, conflicting peerDependencies deep in the dependency graph will +be resolved using the nearest non-peer dependency specification, even if +doing so will result in some packages receiving a peer dependency outside +the range set in their package's peerDependencies object.

+

When such and override is performed, a warning is printed, explaining the +conflict and the packages involved. If --strict-peer-deps is set, then +this warning is treated as a failure.

+ + +

strict-ssl

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Whether or not to do SSL key validation when making requests to the registry +via https.

+

See also the ca config.

+ + +

tag

+
    +
  • Default: "latest"
  • +
  • Type: String
  • +
+

If you ask npm to install a package and don't tell it a specific version, +then it will install the specified tag.

+

Also the tag that is added to the package@version specified by the npm tag +command, if no explicit tag is given.

+

When used by the npm diff command, this is the tag used to fetch the +tarball that will be compared with the local files by default.

+ + +

tag-version-prefix

+
    +
  • Default: "v"
  • +
  • Type: String
  • +
+

If set, alters the prefix used when tagging a new version when performing a +version increment using npm-version. To remove the prefix altogether, set +it to the empty string: "".

+

Because other tools may rely on the convention that npm version tags look +like v1.0.0, only use this property if it is absolutely necessary. In +particular, use care when overriding this setting for public packages.

+ + +

timing

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, writes an npm-debug log to _logs and timing information to +_timing.json, both in your cache, even if the command completes +successfully. _timing.json is a newline delimited list of JSON objects.

+

You can quickly view it with this json command line: +npm exec -- json -g < ~/.npm/_timing.json.

+ + +

umask

+
    +
  • Default: 0
  • +
  • Type: Octal numeric string in range 0000..0777 (0..511)
  • +
+

The "umask" value to use when setting the file creation mode on files and +folders.

+

Folders and executables are given a mode which is 0o777 masked against +this value. Other files are given a mode which is 0o666 masked against +this value.

+

Note that the underlying system will also apply its own umask value to +files and folders that are created, and npm does not circumvent this, but +rather adds the --umask config to it.

+

Thus, the effective default umask value on most POSIX systems is 0o22, +meaning that folders and executables are created with a mode of 0o755 and +other files are created with a mode of 0o644.

+ + +

unicode

+
    +
  • Default: false on windows, true on mac/unix systems with a unicode locale, +as defined by the LC_ALL, LC_CTYPE, or LANG environment variables.
  • +
  • Type: Boolean
  • +
+

When set to true, npm uses unicode characters in the tree output. When +false, it uses ascii characters instead of unicode glyphs.

+ + +

update-notifier

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
+

Set to false to suppress the update notification when using an older version +of npm than the latest.

+ + +

usage

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

Show short usage output about the command specified.

+ + +

user-agent

+
    +
  • Default: "npm/{npm-version} node/{node-version} {platform} {arch} +workspaces/{workspaces} {ci}"
  • +
  • Type: String
  • +
+

Sets the User-Agent request header. The following fields are replaced with +their actual counterparts:

+
    +
  • {npm-version} - The npm version in use
  • +
  • {node-version} - The Node.js version in use
  • +
  • {platform} - The value of process.platform
  • +
  • {arch} - The value of process.arch
  • +
  • {workspaces} - Set to true if the workspaces or workspace options +are set.
  • +
  • {ci} - The value of the ci-name config, if set, prefixed with ci/, or +an empty string if ci-name is empty.
  • +
+ + +

userconfig

+
    +
  • Default: "~/.npmrc"
  • +
  • Type: Path
  • +
+

The location of user-level configuration settings.

+

This may be overridden by the npm_config_userconfig environment variable +or the --userconfig command line option, but may not be overridden by +settings in the globalconfig file.

+ + +

version

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, output the npm version and exit successfully.

+

Only relevant when specified explicitly on the command line.

+ + +

versions

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
+

If true, output the npm version as well as node's process.versions map and +the version in the current working directory's package.json file if one +exists, and exit successfully.

+

Only relevant when specified explicitly on the command line.

+ + +

viewer

+
    +
  • Default: "man" on Posix, "browser" on Windows
  • +
  • Type: String
  • +
+

The program to use to view help content.

+

Set to "browser" to view html help content in the default web browser.

+ + +

which

+
    +
  • Default: null
  • +
  • Type: null or Number
  • +
+

If there are multiple funding sources, which 1-indexed source URL to open.

+ + +

workspace

+
    +
  • Default:
  • +
  • Type: String (can be set multiple times)
  • +
+

Enable running a command in the context of the configured workspaces of the +current project while filtering by running only the workspaces defined by +this configuration option.

+

Valid values for the workspace config are either:

+
    +
  • Workspace names
  • +
  • Path to a workspace directory
  • +
  • Path to a parent workspace directory (will result in selecting all +workspaces within that folder)
  • +
+

When set for the npm init command, this may be set to the folder of a +workspace which does not yet exist, to create the folder and set it up as a +brand new workspace within the project.

+

This value is not exported to the environment for child processes.

+ + +

workspaces

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Set to true to run the command in the context of all configured +workspaces.

+

Explicitly setting this to false will cause commands like install to +ignore workspaces altogether. When not set explicitly:

+
    +
  • Commands that operate on the node_modules tree (install, update, etc.) +will link workspaces into the node_modules folder. - Commands that do +other things (test, exec, publish, etc.) will operate on the root project, +unless one or more workspaces are specified in the workspace config.
  • +
+

This value is not exported to the environment for child processes.

+ + +

yes

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
+

Automatically answer "yes" to any prompts that npm might print on the +command line.

+ + +

also

+
    +
  • Default: null
  • +
  • Type: null, "dev", or "development"
  • +
  • DEPRECATED: Please use --include=dev instead.
  • +
+

When set to dev or development, this is an alias for --include=dev.

+ + +

auth-type

+
    +
  • Default: "legacy"
  • +
  • Type: "legacy", "sso", "saml", or "oauth"
  • +
  • DEPRECATED: This method of SSO/SAML/OAuth is deprecated and will be removed +in a future version of npm in favor of web-based login.
  • +
+

What authentication strategy to use with adduser/login.

+ + +

cache-max

+
    +
  • Default: Infinity
  • +
  • Type: Number
  • +
  • DEPRECATED: This option has been deprecated in favor of --prefer-online
  • +
+

--cache-max=0 is an alias for --prefer-online

+ + +

cache-min

+
    +
  • Default: 0
  • +
  • Type: Number
  • +
  • DEPRECATED: This option has been deprecated in favor of --prefer-offline.
  • +
+

--cache-min=9999 (or bigger) is an alias for --prefer-offline.

+ + +

dev

+
    +
  • Default: false
  • +
  • Type: Boolean
  • +
  • DEPRECATED: Please use --include=dev instead.
  • +
+

Alias for --include=dev.

+ + +

init.author.email

+
    +
  • Default: ""
  • +
  • Type: String
  • +
  • DEPRECATED: Use --init-author-email instead.
  • +
+

Alias for --init-author-email

+ + +

init.author.name

+
    +
  • Default: ""
  • +
  • Type: String
  • +
  • DEPRECATED: Use --init-author-name instead.
  • +
+

Alias for --init-author-name

+ + +

init.author.url

+
    +
  • Default: ""
  • +
  • Type: "" or URL
  • +
  • DEPRECATED: Use --init-author-url instead.
  • +
+

Alias for --init-author-url

+ + +

init.license

+
    +
  • Default: "ISC"
  • +
  • Type: String
  • +
  • DEPRECATED: Use --init-license instead.
  • +
+

Alias for --init-license

+ + +

init.module

+
    +
  • Default: "~/.npm-init.js"
  • +
  • Type: Path
  • +
  • DEPRECATED: Use --init-module instead.
  • +
+

Alias for --init-module

+ + +

init.version

+
    +
  • Default: "1.0.0"
  • +
  • Type: SemVer string
  • +
  • DEPRECATED: Use --init-version instead.
  • +
+

Alias for --init-version

+ + +

only

+
    +
  • Default: null
  • +
  • Type: null, "prod", or "production"
  • +
  • DEPRECATED: Use --omit=dev to omit dev dependencies from the install.
  • +
+

When set to prod or production, this is an alias for --omit=dev.

+ + +

optional

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
  • DEPRECATED: Use --omit=optional to exclude optional dependencies, or +--include=optional to include them.
  • +
+

Default value does install optional deps unless otherwise omitted.

+

Alias for --include=optional or --omit=optional

+ + +

production

+
    +
  • Default: null
  • +
  • Type: null or Boolean
  • +
  • DEPRECATED: Use --omit=dev instead.
  • +
+

Alias for --omit=dev

+ + +

shrinkwrap

+
    +
  • Default: true
  • +
  • Type: Boolean
  • +
  • DEPRECATED: Use the --package-lock setting instead.
  • +
+

Alias for --package-lock

+ + +

sso-poll-frequency

+
    +
  • Default: 500
  • +
  • Type: Number
  • +
  • DEPRECATED: The --auth-type method of SSO/SAML/OAuth will be removed in a +future version of npm in favor of web-based login.
  • +
+

When used with SSO-enabled auth-types, configures how regularly the +registry should be polled while the user is completing authentication.

+ + +

sso-type

+
    +
  • Default: "oauth"
  • +
  • Type: null, "oauth", or "saml"
  • +
  • DEPRECATED: The --auth-type method of SSO/SAML/OAuth will be removed in a +future version of npm in favor of web-based login.
  • +
+

If --auth-type=sso, the type of SSO type to use.

+ + +

tmp

+
    +
  • Default: The value returned by the Node.js os.tmpdir() method +https://nodejs.org/api/os.html#os_os_tmpdir
  • +
  • Type: Path
  • +
  • DEPRECATED: This setting is no longer used. npm stores temporary files in a +special location in the cache, and they are managed by +cacache.
  • +
+

Historically, the location where temporary files were stored. No longer +relevant.

+ + + +

See also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/using-npm/developers.html b/node_modules/npm/docs/output/using-npm/developers.html new file mode 100644 index 0000000..3522122 --- /dev/null +++ b/node_modules/npm/docs/output/using-npm/developers.html @@ -0,0 +1,353 @@ + + +developers + + + + + +
+
+

developers

+Developer Guide +
+ +
+

Table of contents

+ +
+ +

Description

+

So, you've decided to use npm to develop (and maybe publish/deploy) +your project.

+

Fantastic!

+

There are a few things that you need to do above the simple steps +that your users will do to install your program.

+

About These Documents

+

These are man pages. If you install npm, you should be able to +then do man npm-thing to get the documentation on a particular +topic, or npm help thing to see the same information.

+

What is a Package

+

A package is:

+
    +
  • a) a folder containing a program described by a package.json file
  • +
  • b) a gzipped tarball containing (a)
  • +
  • c) a url that resolves to (b)
  • +
  • d) a <name>@<version> that is published on the registry with (c)
  • +
  • e) a <name>@<tag> that points to (d)
  • +
  • f) a <name> that has a "latest" tag satisfying (e)
  • +
  • g) a git url that, when cloned, results in (a).
  • +
+

Even if you never publish your package, you can still get a lot of +benefits of using npm if you just want to write a node program (a), and +perhaps if you also want to be able to easily install it elsewhere +after packing it up into a tarball (b).

+

Git urls can be of the form:

+
git://github.com/user/project.git#commit-ish
+git+ssh://user@hostname:project.git#commit-ish
+git+http://user@hostname/project/blah.git#commit-ish
+git+https://user@hostname/project/blah.git#commit-ish
+
+

The commit-ish can be any tag, sha, or branch which can be supplied as +an argument to git checkout. The default is whatever the repository uses +as its default branch.

+

The package.json File

+

You need to have a package.json file in the root of your project to do +much of anything with npm. That is basically the whole interface.

+

See package.json for details about what +goes in that file. At the very least, you need:

+
    +
  • +

    name: This should be a string that identifies your project. Please do +not use the name to specify that it runs on node, or is in JavaScript. +You can use the "engines" field to explicitly state the versions of node +(or whatever else) that your program requires, and it's pretty well +assumed that it's JavaScript.

    +

    It does not necessarily need to match your github repository name.

    +

    So, node-foo and bar-js are bad names. foo or bar are better.

    +
  • +
  • +

    version: A semver-compatible version.

    +
  • +
  • +

    engines: Specify the versions of node (or whatever else) that your +program runs on. The node API changes a lot, and there may be bugs or +new functionality that you depend on. Be explicit.

    +
  • +
  • +

    author: Take some credit.

    +
  • +
  • +

    scripts: If you have a special compilation or installation script, then +you should put it in the scripts object. You should definitely have at +least a basic smoke-test command as the "scripts.test" field. See +scripts.

    +
  • +
  • +

    main: If you have a single module that serves as the entry point to your +program (like what the "foo" package gives you at require("foo")), then +you need to specify that in the "main" field.

    +
  • +
  • +

    directories: This is an object mapping names to folders. The best ones +to include are "lib" and "doc", but if you use "man" to specify a folder +full of man pages, they'll get installed just like these ones.

    +
  • +
+

You can use npm init in the root of your package in order to get you +started with a pretty basic package.json file. See npm init for more info.

+

Keeping files out of your Package

+

Use a .npmignore file to keep stuff out of your package. If there's no +.npmignore file, but there is a .gitignore file, then npm will ignore +the stuff matched by the .gitignore file. If you want to include +something that is excluded by your .gitignore file, you can create an +empty .npmignore file to override it. Like git, npm looks for +.npmignore and .gitignore files in all subdirectories of your package, +not only the root directory.

+

.npmignore files follow the same pattern +rules +as .gitignore files:

+
    +
  • Blank lines or lines starting with # are ignored.
  • +
  • Standard glob patterns work.
  • +
  • You can end patterns with a forward slash / to specify a directory.
  • +
  • You can negate a pattern by starting it with an exclamation point !.
  • +
+

By default, the following paths and files are ignored, so there's no +need to add them to .npmignore explicitly:

+
    +
  • .*.swp
  • +
  • ._*
  • +
  • .DS_Store
  • +
  • .git
  • +
  • .gitignore
  • +
  • .hg
  • +
  • .npmignore
  • +
  • .npmrc
  • +
  • .lock-wscript
  • +
  • .svn
  • +
  • .wafpickle-*
  • +
  • config.gypi
  • +
  • CVS
  • +
  • npm-debug.log
  • +
+

Additionally, everything in node_modules is ignored, except for +bundled dependencies. npm automatically handles this for you, so don't +bother adding node_modules to .npmignore.

+

The following paths and files are never ignored, so adding them to +.npmignore is pointless:

+
    +
  • package.json
  • +
  • README (and its variants)
  • +
  • CHANGELOG (and its variants)
  • +
  • LICENSE / LICENCE
  • +
+

If, given the structure of your project, you find .npmignore to be a +maintenance headache, you might instead try populating the files +property of package.json, which is an array of file or directory names +that should be included in your package. Sometimes manually picking +which items to allow is easier to manage than building a block list.

+

Testing whether your .npmignore or files config works

+

If you want to double check that your package will include only the files +you intend it to when published, you can run the npm pack command locally +which will generate a tarball in the working directory, the same way it +does for publishing.

+ +

npm link is designed to install a development package and see the +changes in real time without having to keep re-installing it. (You do +need to either re-link or npm rebuild -g to update compiled packages, +of course.)

+

More info at npm link.

+

Before Publishing: Make Sure Your Package Installs and Works

+

This is important.

+

If you can not install it locally, you'll have +problems trying to publish it. Or, worse yet, you'll be able to +publish it, but you'll be publishing a broken or pointless package. +So don't do that.

+

In the root of your package, do this:

+
npm install . -g
+
+

That'll show you that it's working. If you'd rather just create a symlink +package that points to your working directory, then do this:

+
npm link
+
+

Use npm ls -g to see if it's there.

+

To test a local install, go into some other folder, and then do:

+
cd ../some-other-folder
+npm install ../my-package
+
+

to install it locally into the node_modules folder in that other place.

+

Then go into the node-repl, and try using require("my-thing") to +bring in your module's main module.

+

Create a User Account

+

Create a user with the adduser command. It works like this:

+
npm adduser
+
+

and then follow the prompts.

+

This is documented better in npm adduser.

+

Publish your Package

+

This part's easy. In the root of your folder, do this:

+
npm publish
+
+

You can give publish a url to a tarball, or a filename of a tarball, +or a path to a folder.

+

Note that pretty much everything in that folder will be exposed +by default. So, if you have secret stuff in there, use a +.npmignore file to list out the globs to ignore, or publish +from a fresh checkout.

+

Brag about it

+

Send emails, write blogs, blab in IRC.

+

Tell the world how easy it is to install your program!

+

See also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/using-npm/logging.html b/node_modules/npm/docs/output/using-npm/logging.html new file mode 100644 index 0000000..d4b9760 --- /dev/null +++ b/node_modules/npm/docs/output/using-npm/logging.html @@ -0,0 +1,203 @@ + + +Logging + + + + + +
+
+

Logging

+Why, What & How we Log +
+ +
+

Table of contents

+ +
+ +

Description

+

The npm CLI has various mechanisms for showing different levels of information back to end-users for certain commands, configurations & environments.

+

Setting Log Levels

+

loglevel

+

loglevel is a global argument/config that can be set to determine the type of information to be displayed.

+

The default value of loglevel is "notice" but there are several levels/types of logs available, including:

+
    +
  • "silent"
  • +
  • "error"
  • +
  • "warn"
  • +
  • "notice"
  • +
  • "http"
  • +
  • "timing"
  • +
  • "info"
  • +
  • "verbose"
  • +
  • "silly"
  • +
+

All logs pertaining to a level proceeding the current setting will be shown.

+

All logs are written to a debug log, with the path to that file printed if the execution of a command fails.

+
Aliases
+

The log levels listed above have various corresponding aliases, including:

+
    +
  • -d: --loglevel info
  • +
  • --dd: --loglevel verbose
  • +
  • --verbose: --loglevel verbose
  • +
  • --ddd: --loglevel silly
  • +
  • -q: --loglevel warn
  • +
  • --quiet: --loglevel warn
  • +
  • -s: --loglevel silent
  • +
  • --silent: --loglevel silent
  • +
+

foreground-scripts

+

The npm CLI began hiding the output of lifecycle scripts for npm install as of v7. Notably, this means you will not see logs/output from packages that may be using "install scripts" to display information back to you or from your own project's scripts defined in package.json. If you'd like to change this behavior & log this output you can set foreground-scripts to true.

+

Registry Response Headers

+

npm-notice

+

The npm CLI reads from & logs any npm-notice headers that are returned from the configured registry. This mechanism can be used by third-party registries to provide useful information when network-dependent requests occur.

+

This header is not cached, and will not be logged if the request is served from the cache.

+

See also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/using-npm/orgs.html b/node_modules/npm/docs/output/using-npm/orgs.html new file mode 100644 index 0000000..173ad3c --- /dev/null +++ b/node_modules/npm/docs/output/using-npm/orgs.html @@ -0,0 +1,237 @@ + + +orgs + + + + + +
+
+

orgs

+Working with Teams & Orgs +
+ +
+

Table of contents

+ +
+ +

Description

+

There are three levels of org users:

+
    +
  1. Super admin, controls billing & adding people to the org.
  2. +
  3. Team admin, manages team membership & package access.
  4. +
  5. Developer, works on packages they are given access to.
  6. +
+

The super admin is the only person who can add users to the org because it impacts the monthly bill. The super admin will use the website to manage membership. Every org has a developers team that all users are automatically added to.

+

The team admin is the person who manages team creation, team membership, and package access for teams. The team admin grants package access to teams, not individuals.

+

The developer will be able to access packages based on the teams they are on. Access is either read-write or read-only.

+

There are two main commands:

+
    +
  1. npm team see npm team for more details
  2. +
  3. npm access see npm access for more details
  4. +
+

Team Admins create teams

+
    +
  • Check who you’ve added to your org:
  • +
+
npm team ls <org>:developers
+
+
    +
  • +

    Each org is automatically given a developers team, so you can see the whole list of team members in your org. This team automatically gets read-write access to all packages, but you can change that with the access command.

    +
  • +
  • +

    Create a new team:

    +
  • +
+
npm team create <org:team>
+
+
    +
  • Add members to that team:
  • +
+
npm team add <org:team> <user>
+
+

Publish a package and adjust package access

+
    +
  • In package directory, run
  • +
+
npm init --scope=<org>
+
+

to scope it for your org & publish as usual

+
    +
  • Grant access:
  • +
+
npm access grant <read-only|read-write> <org:team> [<package>]
+
+
    +
  • Revoke access:
  • +
+
npm access revoke <org:team> [<package>]
+
+

Monitor your package access

+
    +
  • See what org packages a team member can access:
  • +
+
npm access ls-packages <org> <user>
+
+
    +
  • See packages available to a specific team:
  • +
+
npm access ls-packages <org:team>
+
+
    +
  • Check which teams are collaborating on a package:
  • +
+
npm access ls-collaborators <pkg>
+
+

See also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/using-npm/registry.html b/node_modules/npm/docs/output/using-npm/registry.html new file mode 100644 index 0000000..b55bce9 --- /dev/null +++ b/node_modules/npm/docs/output/using-npm/registry.html @@ -0,0 +1,222 @@ + + +registry + + + + + +
+
+

registry

+The JavaScript Package Registry +
+ +
+

Table of contents

+ +
+ +

Description

+

To resolve packages by name and version, npm talks to a registry website +that implements the CommonJS Package Registry specification for reading +package info.

+

npm is configured to use the npm public registry at +https://registry.npmjs.org by default. Use of the npm public registry is +subject to terms of use available at https://docs.npmjs.com/policies/terms.

+

You can configure npm to use any compatible registry you like, and even run +your own registry. Use of someone else's registry may be governed by their +terms of use.

+

npm's package registry implementation supports several +write APIs as well, to allow for publishing packages and managing user +account information.

+

The npm public registry is powered by a CouchDB database, +of which there is a public mirror at https://skimdb.npmjs.com/registry.

+

The registry URL used is determined by the scope of the package (see +scope. If no scope is specified, the default registry is used, which is +supplied by the registry config parameter. See npm config, +npmrc, and config for more on managing npm's configuration.

+

When the default registry is used in a package-lock or shrinkwrap is has the +special meaning of "the currently configured registry". If you create a lock +file while using the default registry you can switch to another registry and +npm will install packages from the new registry, but if you create a lock +file while using a custom registry packages will be installed from that +registry even after you change to another registry.

+

Does npm send any information about me back to the registry?

+

Yes.

+

When making requests of the registry npm adds two headers with information +about your environment:

+
    +
  • Npm-Scope – If your project is scoped, this header will contain its +scope. In the future npm hopes to build registry features that use this +information to allow you to customize your experience for your +organization.
  • +
  • Npm-In-CI – Set to "true" if npm believes this install is running in a +continuous integration environment, "false" otherwise. This is detected by +looking for the following environment variables: CI, TDDIUM, +JENKINS_URL, bamboo.buildKey. If you'd like to learn more you may find +the original PR +interesting. +This is used to gather better metrics on how npm is used by humans, versus +build farms.
  • +
+

The npm registry does not try to correlate the information in these headers +with any authenticated accounts that may be used in the same requests.

+

How can I prevent my package from being published in the official registry?

+

Set "private": true in your package.json to prevent it from being +published at all, or +"publishConfig":{"registry":"http://my-internal-registry.local"} +to force it to be published only to your internal/private registry.

+

See package.json for more info on what goes in the package.json file.

+

Where can I find my own, & other's, published packages?

+

https://www.npmjs.com/

+

See also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/using-npm/removal.html b/node_modules/npm/docs/output/using-npm/removal.html new file mode 100644 index 0000000..955209a --- /dev/null +++ b/node_modules/npm/docs/output/using-npm/removal.html @@ -0,0 +1,200 @@ + + +removal + + + + + +
+
+

removal

+Cleaning the Slate +
+ +
+

Table of contents

+ +
+ +

Synopsis

+

So sad to see you go.

+
sudo npm uninstall npm -g
+
+

Or, if that fails, get the npm source code, and do:

+
sudo make uninstall
+
+

More Severe Uninstalling

+

Usually, the above instructions are sufficient. That will remove +npm, but leave behind anything you've installed.

+

If that doesn't work, or if you require more drastic measures, +continue reading.

+

Note that this is only necessary for globally-installed packages. Local +installs are completely contained within a project's node_modules +folder. Delete that folder, and everything is gone less a package's +install script is particularly ill-behaved).

+

This assumes that you installed node and npm in the default place. If +you configured node with a different --prefix, or installed npm with a +different prefix setting, then adjust the paths accordingly, replacing +/usr/local with your install prefix.

+

To remove everything npm-related manually:

+
rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*
+
+

If you installed things with npm, then your best bet is to uninstall +them with npm first, and then install them again once you have a +proper install. This can help find any symlinks that are lying +around:

+
ls -laF /usr/local/{lib/node{,/.npm},bin,share/man} | grep npm
+
+

Prior to version 0.3, npm used shim files for executables and node +modules. To track those down, you can do the following:

+
find /usr/local/{lib/node,bin} -exec grep -l npm \{\} \; ;
+
+

See also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/using-npm/scope.html b/node_modules/npm/docs/output/using-npm/scope.html new file mode 100644 index 0000000..db6fc2a --- /dev/null +++ b/node_modules/npm/docs/output/using-npm/scope.html @@ -0,0 +1,245 @@ + + +scope + + + + + +
+
+

scope

+Scoped packages +
+ +
+

Table of contents

+ +
+ +

Description

+

All npm packages have a name. Some package names also have a scope. A scope +follows the usual rules for package names (URL-safe characters, no leading dots +or underscores). When used in package names, scopes are preceded by an @ symbol +and followed by a slash, e.g.

+
@somescope/somepackagename
+
+

Scopes are a way of grouping related packages together, and also affect a few +things about the way npm treats the package.

+

Each npm user/organization has their own scope, and only you can add packages +in your scope. This means you don't have to worry about someone taking your +package name ahead of you. Thus it is also a good way to signal official packages +for organizations.

+

Scoped packages can be published and installed as of npm@2 and are supported +by the primary npm registry. Unscoped packages can depend on scoped packages and +vice versa. The npm client is backwards-compatible with unscoped registries, +so it can be used to work with scoped and unscoped registries at the same time.

+

Installing scoped packages

+

Scoped packages are installed to a sub-folder of the regular installation +folder, e.g. if your other packages are installed in node_modules/packagename, +scoped modules will be installed in node_modules/@myorg/packagename. The scope +folder (@myorg) is simply the name of the scope preceded by an @ symbol, and can +contain any number of scoped packages.

+

A scoped package is installed by referencing it by name, preceded by an +@ symbol, in npm install:

+
npm install @myorg/mypackage
+
+

Or in package.json:

+
"dependencies": {
+  "@myorg/mypackage": "^1.3.0"
+}
+
+

Note that if the @ symbol is omitted, in either case, npm will instead attempt to +install from GitHub; see npm install.

+

Requiring scoped packages

+

Because scoped packages are installed into a scope folder, you have to +include the name of the scope when requiring them in your code, e.g.

+
require('@myorg/mypackage')
+
+

There is nothing special about the way Node treats scope folders. This +simply requires the mypackage module in the folder named @myorg.

+

Publishing scoped packages

+

Scoped packages can be published from the CLI as of npm@2 and can be +published to any registry that supports them, including the primary npm +registry.

+

(As of 2015-04-19, and with npm 2.0 or better, the primary npm registry +does support scoped packages.)

+

If you wish, you may associate a scope with a registry; see below.

+

Publishing public scoped packages to the primary npm registry

+

To publish a public scoped package, you must specify --access public with +the initial publication. This will publish the package and set access +to public as if you had run npm access public after publishing.

+

Publishing private scoped packages to the npm registry

+

To publish a private scoped package to the npm registry, you must have +an npm Private Modules +account.

+

You can then publish the module with npm publish or npm publish --access restricted, and it will be present in the npm registry, with +restricted access. You can then change the access permissions, if +desired, with npm access or on the npmjs.com website.

+

Associating a scope with a registry

+

Scopes can be associated with a separate registry. This allows you to +seamlessly use a mix of packages from the primary npm registry and one or more +private registries, such as GitHub Packages or the open source Verdaccio +project.

+

You can associate a scope with a registry at login, e.g.

+
npm login --registry=http://reg.example.com --scope=@myco
+
+

Scopes have a many-to-one relationship with registries: one registry can +host multiple scopes, but a scope only ever points to one registry.

+

You can also associate a scope with a registry using npm config:

+
npm config set @myco:registry http://reg.example.com
+
+

Once a scope is associated with a registry, any npm install for a package +with that scope will request packages from that registry instead. Any +npm publish for a package name that contains the scope will be published to +that registry instead.

+

See also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/using-npm/scripts.html b/node_modules/npm/docs/output/using-npm/scripts.html new file mode 100644 index 0000000..1908271 --- /dev/null +++ b/node_modules/npm/docs/output/using-npm/scripts.html @@ -0,0 +1,472 @@ + + +scripts + + + + + +
+
+

scripts

+How npm handles the "scripts" field +
+ +
+

Table of contents

+ +
+ +

Description

+

The "scripts" property of your package.json file supports a number +of built-in scripts and their preset life cycle events as well as +arbitrary scripts. These all can be executed by running +npm run-script <stage> or npm run <stage> for short. Pre and post +commands with matching names will be run for those as well (e.g. premyscript, +myscript, postmyscript). Scripts from dependencies can be run with +npm explore <pkg> -- npm run <stage>.

+

Pre & Post Scripts

+

To create "pre" or "post" scripts for any scripts defined in the +"scripts" section of the package.json, simply create another script +with a matching name and add "pre" or "post" to the beginning of them.

+
{
+  "scripts": {
+    "precompress": "{{ executes BEFORE the `compress` script }}",
+    "compress": "{{ run command to compress files }}",
+    "postcompress": "{{ executes AFTER `compress` script }}"
+  }
+}
+
+

In this example npm run compress would execute these scripts as +described.

+

Life Cycle Scripts

+

There are some special life cycle scripts that happen only in certain +situations. These scripts happen in addition to the pre<event>, post<event>, and +<event> scripts.

+
    +
  • prepare, prepublish, prepublishOnly, prepack, postpack
  • +
+

prepare (since npm@4.0.0)

+
    +
  • +

    Runs any time before the package is packed, i.e. during npm publish +and npm pack

    +
  • +
  • +

    Runs BEFORE the package is packed

    +
  • +
  • +

    Runs BEFORE the package is published

    +
  • +
  • +

    Runs on local npm install without any arguments

    +
  • +
  • +

    Run AFTER prepublish, but BEFORE prepublishOnly

    +
  • +
  • +

    NOTE: If a package being installed through git contains a prepare +script, its dependencies and devDependencies will be installed, and +the prepare script will be run, before the package is packaged and +installed.

    +
  • +
  • +

    As of npm@7 these scripts run in the background. +To see the output, run with: --foreground-scripts.

    +
  • +
+

prepublish (DEPRECATED)

+
    +
  • Does not run during npm publish, but does run during npm ci +and npm install. See below for more info.
  • +
+

prepublishOnly

+
    +
  • Runs BEFORE the package is prepared and packed, ONLY on npm publish.
  • +
+

prepack

+
    +
  • Runs BEFORE a tarball is packed (on "npm pack", "npm publish", and when installing a git dependencies).
  • +
  • NOTE: "npm run pack" is NOT the same as "npm pack". "npm run pack" is an arbitrary user defined script name, where as, "npm pack" is a CLI defined command.
  • +
+

postpack

+
    +
  • Runs AFTER the tarball has been generated but before it is moved to its final destination (if at all, publish does not save the tarball locally)
  • +
+

Prepare and Prepublish

+

Deprecation Note: prepublish

+

Since npm@1.1.71, the npm CLI has run the prepublish script for both npm publish and npm install, because it's a convenient way to prepare a package for use (some common use cases are described in the section below). It has also turned out to be, in practice, very confusing. As of npm@4.0.0, a new event has been introduced, prepare, that preserves this existing behavior. A new event, prepublishOnly has been added as a transitional strategy to allow users to avoid the confusing behavior of existing npm versions and only run on npm publish (for instance, running the tests one last time to ensure they're in good shape).

+

See https://github.com/npm/npm/issues/10074 for a much lengthier justification, with further reading, for this change.

+

Use Cases

+

If you need to perform operations on your package before it is used, in a way that is not dependent on the operating system or architecture of the target system, use a prepublish script. This includes tasks such as:

+
    +
  • Compiling CoffeeScript source code into JavaScript.
  • +
  • Creating minified versions of JavaScript source code.
  • +
  • Fetching remote resources that your package will use.
  • +
+

The advantage of doing these things at prepublish time is that they can be done once, in a single place, thus reducing complexity and variability. Additionally, this means that:

+
    +
  • You can depend on coffee-script as a devDependency, and thus +your users don't need to have it installed.
  • +
  • You don't need to include minifiers in your package, reducing +the size for your users.
  • +
  • You don't need to rely on your users having curl or wget or +other system tools on the target machines.
  • +
+

Life Cycle Operation Order

+

npm cache add

+
    +
  • prepare
  • +
+

npm ci

+
    +
  • preinstall
  • +
  • install
  • +
  • postinstall
  • +
  • prepublish
  • +
  • preprepare
  • +
  • prepare
  • +
  • postprepare
  • +
+

These all run after the actual installation of modules into +node_modules, in order, with no internal actions happening in between

+

npm diff

+
    +
  • prepare
  • +
+

npm install

+

These also run when you run npm install -g <pkg-name>

+
    +
  • preinstall
  • +
  • install
  • +
  • postinstall
  • +
  • prepublish
  • +
  • preprepare
  • +
  • prepare
  • +
  • postprepare
  • +
+

If there is a binding.gyp file in the root of your package and you +haven't defined your own install or preinstall scripts, npm will +default the install command to compile using node-gyp via node-gyp rebuild

+

These are run from the scripts of <pkg-name>

+

npm pack

+
    +
  • prepack
  • +
  • prepare
  • +
  • postpack
  • +
+

npm publish

+
    +
  • prepublishOnly
  • +
  • prepack
  • +
  • prepare
  • +
  • postpack
  • +
  • publish
  • +
  • postpublish
  • +
+

prepare will not run during --dry-run

+

npm rebuild

+
    +
  • preinstall
  • +
  • install
  • +
  • postinstall
  • +
  • prepare
  • +
+

prepare is only run if the current directory is a symlink (e.g. with +linked packages)

+

npm restart

+

If there is a restart script defined, these events are run, otherwise +stop and start are both run if present, including their pre and +post iterations)

+
    +
  • prerestart
  • +
  • restart
  • +
  • postrestart
  • +
+

npm run <user defined>

+
    +
  • pre<user-defined>
  • +
  • <user-defined>
  • +
  • post<user-defined>
  • +
+

npm start

+
    +
  • prestart
  • +
  • start
  • +
  • poststart
  • +
+

If there is a server.js file in the root of your package, then npm +will default the start command to node server.js. prestart and +poststart will still run in this case.

+

npm stop

+
    +
  • prestop
  • +
  • stop
  • +
  • poststop
  • +
+

npm test

+
    +
  • pretest
  • +
  • test
  • +
  • posttest
  • +
+

A Note on a lack of npm uninstall scripts

+

While npm v6 had uninstall lifecycle scripts, npm v7 does not. Removal of a package can happen for a wide variety of reasons, and there's no clear way to currently give the script enough context to be useful.

+

Reasons for a package removal include:

+
    +
  • a user directly uninstalled this package
  • +
  • a user uninstalled a dependant package and so this dependency is being uninstalled
  • +
  • a user uninstalled a dependant package but another package also depends on this version
  • +
  • this version has been merged as a duplicate with another version
  • +
  • etc.
  • +
+

Due to the lack of necessary context, uninstall lifecycle scripts are not implemented and will not function.

+

User

+

When npm is run as root, scripts are always run with the effective uid +and gid of the working directory owner.

+

Environment

+

Package scripts run in an environment where many pieces of information +are made available regarding the setup of npm and the current state of +the process.

+

path

+

If you depend on modules that define executable scripts, like test +suites, then those executables will be added to the PATH for +executing the scripts. So, if your package.json has this:

+
{
+  "name" : "foo",
+  "dependencies" : {
+    "bar" : "0.1.x"
+  },
+  "scripts": {
+    "start" : "bar ./test"
+  }
+}
+
+

then you could run npm start to execute the bar script, which is +exported into the node_modules/.bin directory on npm install.

+

package.json vars

+

The package.json fields are tacked onto the npm_package_ prefix. So, +for instance, if you had {"name":"foo", "version":"1.2.5"} in your +package.json file, then your package scripts would have the +npm_package_name environment variable set to "foo", and the +npm_package_version set to "1.2.5". You can access these variables +in your code with process.env.npm_package_name and +process.env.npm_package_version, and so on for other fields.

+

See package.json for more on package configs.

+

current lifecycle event

+

Lastly, the npm_lifecycle_event environment variable is set to +whichever stage of the cycle is being executed. So, you could have a +single script used for different parts of the process which switches +based on what's currently happening.

+

Objects are flattened following this format, so if you had +{"scripts":{"install":"foo.js"}} in your package.json, then you'd +see this in the script:

+
process.env.npm_package_scripts_install === "foo.js"
+
+

Examples

+

For example, if your package.json contains this:

+
{
+  "scripts" : {
+    "install" : "scripts/install.js",
+    "postinstall" : "scripts/install.js",
+    "uninstall" : "scripts/uninstall.js"
+  }
+}
+
+

then scripts/install.js will be called for the install +and post-install stages of the lifecycle, and scripts/uninstall.js +will be called when the package is uninstalled. Since +scripts/install.js is running for two different phases, it would +be wise in this case to look at the npm_lifecycle_event environment +variable.

+

If you want to run a make command, you can do so. This works just +fine:

+
{
+  "scripts" : {
+    "preinstall" : "./configure",
+    "install" : "make && make install",
+    "test" : "make test"
+  }
+}
+
+

Exiting

+

Scripts are run by passing the line as a script argument to sh.

+

If the script exits with a code other than 0, then this will abort the +process.

+

Note that these script files don't have to be Node.js or even +JavaScript programs. They just have to be some kind of executable +file.

+

Best Practices

+
    +
  • Don't exit with a non-zero error code unless you really mean it. +Except for uninstall scripts, this will cause the npm action to +fail, and potentially be rolled back. If the failure is minor or +only will prevent some optional features, then it's better to just +print a warning and exit successfully.
  • +
  • Try not to use scripts to do what npm can do for you. Read through +package.json to see all the things that you can specify and enable +by simply describing your package appropriately. In general, this +will lead to a more robust and consistent state.
  • +
  • Inspect the env to determine where to put things. For instance, if +the npm_config_binroot environment variable is set to /home/user/bin, then +don't try to install executables into /usr/local/bin. The user +probably set it up that way for a reason.
  • +
  • Don't prefix your script commands with "sudo". If root permissions +are required for some reason, then it'll fail with that error, and +the user will sudo the npm command in question.
  • +
  • Don't use install. Use a .gyp file for compilation, and prepublish +for anything else. You should almost never have to explicitly set a +preinstall or install script. If you are doing this, please consider if +there is another option. The only valid use of install or preinstall +scripts is for compilation which must be done on the target architecture.
  • +
+

See Also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/docs/output/using-npm/workspaces.html b/node_modules/npm/docs/output/using-npm/workspaces.html new file mode 100644 index 0000000..42f10e5 --- /dev/null +++ b/node_modules/npm/docs/output/using-npm/workspaces.html @@ -0,0 +1,304 @@ + + +workspaces + + + + + +
+
+

workspaces

+Working with workspaces +
+ +
+

Table of contents

+ +
+ +

Description

+

Workspaces is a generic term that refers to the set of features in the +npm cli that provides support to managing multiple packages from your local +file system from within a singular top-level, root package.

+

This set of features makes up for a much more streamlined workflow handling +linked packages from the local file system. Automating the linking process +as part of npm install and avoiding manually having to use npm link in +order to add references to packages that should be symlinked into the current +node_modules folder.

+

We also refer to these packages being auto-symlinked during npm install as a +single workspace, meaning it's a nested package within the current local +file system that is explicitly defined in the package.json +workspaces configuration.

+

Defining workspaces

+

Workspaces are usually defined via the workspaces property of the +package.json file, e.g:

+
{
+  "name": "my-workspaces-powered-project",
+  "workspaces": [
+    "workspace-a"
+  ]
+}
+
+

Given the above package.json example living at a current working +directory . that contains a folder named workspace-a that itself contains +a package.json inside it, defining a Node.js package, e.g:

+
.
++-- package.json
+`-- workspace-a
+   `-- package.json
+
+

The expected result once running npm install in this current working +directory . is that the folder workspace-a will get symlinked to the +node_modules folder of the current working dir.

+

Below is a post npm install example, given that same previous example +structure of files and folders:

+
.
++-- node_modules
+|  `-- workspace-a -> ../workspace-a
++-- package-lock.json
++-- package.json
+`-- workspace-a
+   `-- package.json
+
+

Getting started with workspaces

+

You may automate the required steps to define a new workspace using +npm init. For example in a project that already has a +package.json defined you can run:

+
npm init -w ./packages/a
+
+

This command will create the missing folders and a new package.json +file (if needed) while also making sure to properly configure the +"workspaces" property of your root project package.json.

+

Adding dependencies to a workspace

+

It's possible to directly add/remove/update dependencies of your workspaces +using the workspace config.

+

For example, assuming the following structure:

+
.
++-- package.json
+`-- packages
+   +-- a
+   |   `-- package.json
+   `-- b
+       `-- package.json
+
+

If you want to add a dependency named abbrev from the registry as a +dependency of your workspace a, you may use the workspace config to tell +the npm installer that package should be added as a dependency of the provided +workspace:

+
npm install abbrev -w a
+
+

Note: other installing commands such as uninstall, ci, etc will also +respect the provided workspace configuration.

+

Using workspaces

+

Given the specifities of how Node.js handles module resolution it's possible to consume any defined workspace +by its declared package.json name. Continuing from the example defined +above, let's also create a Node.js script that will require the workspace-a +example module, e.g:

+
// ./workspace-a/index.js
+module.exports = 'a'
+
+// ./lib/index.js
+const moduleA = require('workspace-a')
+console.log(moduleA) // -> a
+
+

When running it with:

+

node lib/index.js

+

This demonstrates how the nature of node_modules resolution allows for +workspaces to enable a portable workflow for requiring each workspace +in such a way that is also easy to publish these +nested workspaces to be consumed elsewhere.

+

Running commands in the context of workspaces

+

You can use the workspace configuration option to run commands in the context +of a configured workspace.

+

Following is a quick example on how to use the npm run command in the context +of nested workspaces. For a project containing multiple workspaces, e.g:

+
.
++-- package.json
+`-- packages
+   +-- a
+   |   `-- package.json
+   `-- b
+       `-- package.json
+
+

By running a command using the workspace option, it's possible to run the +given command in the context of that specific workspace. e.g:

+
npm run test --workspace=a
+
+

This will run the test script defined within the +./packages/a/package.json file.

+

Please note that you can also specify this argument multiple times in the +command-line in order to target multiple workspaces, e.g:

+
npm run test --workspace=a --workspace=b
+
+

It's also possible to use the workspaces (plural) configuration option to +enable the same behavior but running that command in the context of all +configured workspaces. e.g:

+
npm run test --workspaces
+
+

Will run the test script in both ./packages/a and ./packages/b.

+

Commands will be run in each workspace in the order they appear in your package.json

+
{
+  "workspaces": [ "packages/a", "packages/b" ]
+}
+
+

Order of run is different with:

+
{
+  "workspaces": [ "packages/b", "packages/a" ]
+}
+
+

Ignoring missing scripts

+

It is not required for all of the workspaces to implement scripts run with the npm run command.

+

By running the command with the --if-present flag, npm will ignore workspaces missing target script.

+
npm run test --workspaces --if-present
+
+

See also

+ +
+ + +
+ + + + \ No newline at end of file diff --git a/node_modules/npm/index.js b/node_modules/npm/index.js new file mode 100644 index 0000000..5447643 --- /dev/null +++ b/node_modules/npm/index.js @@ -0,0 +1,5 @@ +if (require.main === module) { + require('./lib/cli.js')(process) +} else { + throw new Error('The programmatic API was removed in npm v8.0.0') +} diff --git a/node_modules/npm/lib/arborist-cmd.js b/node_modules/npm/lib/arborist-cmd.js new file mode 100644 index 0000000..931ead8 --- /dev/null +++ b/node_modules/npm/lib/arborist-cmd.js @@ -0,0 +1,23 @@ +// This is the base for all commands whose execWorkspaces just gets +// a list of workspace names and passes it on to new Arborist() to +// be able to run a filtered Arborist.reify() at some point. + +const BaseCommand = require('./base-command.js') +class ArboristCmd extends BaseCommand { + get isArboristCmd () { + return true + } + + static params = [ + 'workspace', + 'workspaces', + 'include-workspace-root', + ] + + async execWorkspaces (args, filters) { + await this.setWorkspaces(filters) + return this.exec(args) + } +} + +module.exports = ArboristCmd diff --git a/node_modules/npm/lib/auth/legacy.js b/node_modules/npm/lib/auth/legacy.js new file mode 100644 index 0000000..d1401ce --- /dev/null +++ b/node_modules/npm/lib/auth/legacy.js @@ -0,0 +1,92 @@ +const profile = require('npm-profile') +const log = require('../utils/log-shim') +const openUrl = require('../utils/open-url.js') +const read = require('../utils/read-user-info.js') + +const loginPrompter = async (creds) => { + creds.username = await read.username('Username:', creds.username) + creds.password = await read.password('Password:', creds.password) + creds.email = await read.email('Email: (this IS public) ', creds.email) + + return creds +} + +const login = async (npm, opts) => { + let res + + const requestOTP = async () => { + const otp = await read.otp( + 'Enter one-time password: ' + ) + + return profile.loginCouch( + opts.creds.username, + opts.creds.password, + { ...opts, otp } + ) + } + + const addNewUser = async () => { + let newUser + + try { + newUser = await profile.adduserCouch( + opts.creds.username, + opts.creds.email, + opts.creds.password, + opts + ) + } catch (err) { + if (err.code === 'EOTP') { + newUser = await requestOTP() + } else { + throw err + } + } + + return newUser + } + + const openerPromise = (url) => openUrl(npm, url, 'to complete your login please visit') + try { + res = await profile.login(openerPromise, loginPrompter, opts) + } catch (err) { + const needsMoreInfo = !(opts && + opts.creds && + opts.creds.username && + opts.creds.password && + opts.creds.email) + if (err.code === 'EOTP') { + res = await requestOTP() + } else if (needsMoreInfo) { + throw err + } else { + // TODO: maybe this needs to check for err.code === 'E400' instead? + res = await addNewUser() + } + } + + const newCreds = {} + if (res && res.token) { + newCreds.token = res.token + } else { + newCreds.username = opts.creds.username + newCreds.password = opts.creds.password + newCreds.email = opts.creds.email + newCreds.alwaysAuth = opts.creds.alwaysAuth + } + + const usermsg = opts.creds.username ? ` user ${opts.creds.username}` : '' + const scopeMessage = opts.scope ? ` to scope ${opts.scope}` : '' + const userout = opts.creds.username ? ` as ${opts.creds.username}` : '' + const message = `Logged in${userout}${scopeMessage} on ${opts.registry}.` + + log.info('login', `Authorized${usermsg}`) + + return { + message, + newCreds, + } +} + +module.exports = login diff --git a/node_modules/npm/lib/auth/oauth.js b/node_modules/npm/lib/auth/oauth.js new file mode 100644 index 0000000..99c2ca0 --- /dev/null +++ b/node_modules/npm/lib/auth/oauth.js @@ -0,0 +1,8 @@ +const sso = require('./sso.js') + +const login = (npm, opts) => { + npm.config.set('sso-type', 'oauth') + return sso(npm, opts) +} + +module.exports = login diff --git a/node_modules/npm/lib/auth/saml.js b/node_modules/npm/lib/auth/saml.js new file mode 100644 index 0000000..3dd31ca --- /dev/null +++ b/node_modules/npm/lib/auth/saml.js @@ -0,0 +1,8 @@ +const sso = require('./sso.js') + +const login = (npm, opts) => { + npm.config.set('sso-type', 'saml') + return sso(npm, opts) +} + +module.exports = login diff --git a/node_modules/npm/lib/auth/sso.js b/node_modules/npm/lib/auth/sso.js new file mode 100644 index 0000000..795eb89 --- /dev/null +++ b/node_modules/npm/lib/auth/sso.js @@ -0,0 +1,83 @@ +// XXX: To date, npm Enterprise Legacy is the only system that ever +// implemented support for this type of login. A better way to do +// SSO is to use the WebLogin type of login supported by the npm-login +// module. This more forward-looking login style is, ironically, +// supported by the '--auth-type=legacy' type of login. +// When and if npm Enterprise Legacy is no longer supported by the npm +// CLI, we can remove this, and fold the lib/auth/legacy.js back into +// lib/adduser.js + +const profile = require('npm-profile') +const npmFetch = require('npm-registry-fetch') +const log = require('../utils/log-shim') +const openUrl = require('../utils/open-url.js') +const otplease = require('../utils/otplease.js') + +const pollForSession = ({ registry, token, opts }) => { + log.info('adduser', 'Polling for validated SSO session') + return npmFetch.json( + '/-/whoami', { ...opts, registry, forceAuth: { token } } + ).then( + ({ username }) => username, + err => { + if (err.code === 'E401') { + return sleep(opts.ssoPollFrequency).then(() => { + return pollForSession({ registry, token, opts }) + }) + } else { + throw err + } + } + ) +} + +function sleep (time) { + return new Promise((resolve) => setTimeout(resolve, time)) +} + +const login = async (npm, { creds, registry, scope }) => { + log.warn('deprecated', 'SSO --auth-type is deprecated') + + const opts = { ...npm.flatOptions, creds, registry, scope } + const { ssoType } = opts + + if (!ssoType) { + throw new Error('Missing option: sso-type') + } + + // We're reusing the legacy login endpoint, so we need some dummy + // stuff here to pass validation. They're never used. + const auth = { + username: 'npm_' + ssoType + '_auth_dummy_user', + password: 'placeholder', + email: 'support@npmjs.com', + authType: ssoType, + } + + const { token, sso } = await otplease(opts, + opts => profile.loginCouch(auth.username, auth.password, opts) + ) + + if (!token) { + throw new Error('no SSO token returned') + } + if (!sso) { + throw new Error('no SSO URL returned by services') + } + + await openUrl(npm, sso, 'to complete your login please visit') + + const username = await pollForSession({ registry, token, opts }) + + log.info('adduser', `Authorized user ${username}`) + + const scopeMessage = scope ? ' to scope ' + scope : '' + const message = `Logged in as ${username}${scopeMessage} on ${registry}.` + + return { + message, + newCreds: { token }, + } +} + +module.exports = login diff --git a/node_modules/npm/lib/base-command.js b/node_modules/npm/lib/base-command.js new file mode 100644 index 0000000..f67f99f --- /dev/null +++ b/node_modules/npm/lib/base-command.js @@ -0,0 +1,98 @@ +// Base class for npm commands + +const { relative } = require('path') + +const usageUtil = require('./utils/usage.js') +const ConfigDefinitions = require('./utils/config/definitions.js') +const getWorkspaces = require('./workspaces/get-workspaces.js') + +class BaseCommand { + constructor (npm) { + this.wrapWidth = 80 + this.npm = npm + } + + get name () { + return this.constructor.name + } + + get description () { + return this.constructor.description + } + + get usage () { + let usage = `npm ${this.constructor.name}\n\n` + if (this.constructor.description) { + usage = `${usage}${this.constructor.description}\n\n` + } + + usage = `${usage}Usage:\n` + if (!this.constructor.usage) { + usage = `${usage}npm ${this.constructor.name}` + } else { + usage = `${usage}${this.constructor.usage + .map(u => `npm ${this.constructor.name} ${u}`) + .join('\n')}` + } + + if (this.constructor.params) { + usage = `${usage}\n\nOptions:\n${this.wrappedParams}` + } + + // Mostly this just appends aliases, this could be more clear + usage = usageUtil(this.constructor.name, usage) + usage = `${usage}\n\nRun "npm help ${this.constructor.name}" for more info` + return usage + } + + get wrappedParams () { + let results = '' + let line = '' + + for (const param of this.constructor.params) { + const usage = `[${ConfigDefinitions[param].usage}]` + if (line.length && line.length + usage.length > this.wrapWidth) { + results = [results, line].filter(Boolean).join('\n') + line = '' + } + line = [line, usage].filter(Boolean).join(' ') + } + results = [results, line].filter(Boolean).join('\n') + return results + } + + usageError (prefix = '') { + if (prefix) { + prefix += '\n\n' + } + return Object.assign(new Error(`\nUsage: ${prefix}${this.usage}`), { + code: 'EUSAGE', + }) + } + + async execWorkspaces (args, filters) { + throw Object.assign(new Error('This command does not support workspaces.'), { + code: 'ENOWORKSPACES', + }) + } + + async setWorkspaces (filters) { + if (this.isArboristCmd) { + this.includeWorkspaceRoot = false + } + + const relativeFrom = relative(this.npm.localPrefix, process.cwd()).startsWith('..') + ? this.npm.localPrefix + : process.cwd() + + const ws = await getWorkspaces(filters, { + path: this.npm.localPrefix, + includeWorkspaceRoot: this.includeWorkspaceRoot, + relativeFrom, + }) + this.workspaces = ws + this.workspaceNames = [...ws.keys()] + this.workspacePaths = [...ws.values()] + } +} +module.exports = BaseCommand diff --git a/node_modules/npm/lib/cli.js b/node_modules/npm/lib/cli.js new file mode 100644 index 0000000..3d0c32d --- /dev/null +++ b/node_modules/npm/lib/cli.js @@ -0,0 +1,79 @@ +// Separated out for easier unit testing +module.exports = async process => { + // set it here so that regardless of what happens later, we don't + // leak any private CLI configs to other programs + process.title = 'npm' + + // We used to differentiate between known broken and unsupported + // versions of node and attempt to only log unsupported but still run. + // After we dropped node 10 support, we can use new features + // (like static, private, etc) which will only give vague syntax errors, + // so now both broken and unsupported use console, but only broken + // will process.exit. It is important to now perform *both* of these + // checks as early as possible so the user gets the error message. + const { checkForBrokenNode, checkForUnsupportedNode } = require('./utils/unsupported.js') + checkForBrokenNode() + checkForUnsupportedNode() + + const exitHandler = require('./utils/exit-handler.js') + process.on('uncaughtException', exitHandler) + process.on('unhandledRejection', exitHandler) + + const Npm = require('./npm.js') + const npm = new Npm() + exitHandler.setNpm(npm) + + // if npm is called as "npmg" or "npm_g", then + // run in global mode. + if (process.argv[1][process.argv[1].length - 1] === 'g') { + process.argv.splice(1, 1, 'npm', '-g') + } + + const log = require('./utils/log-shim.js') + const replaceInfo = require('./utils/replace-info.js') + log.verbose('cli', replaceInfo(process.argv)) + + log.info('using', 'npm@%s', npm.version) + log.info('using', 'node@%s', process.version) + + const updateNotifier = require('./utils/update-notifier.js') + + let cmd + // now actually fire up npm and run the command. + // this is how to use npm programmatically: + try { + await npm.load() + if (npm.config.get('version', 'cli')) { + npm.output(npm.version) + return exitHandler() + } + + // npm --versions=cli + if (npm.config.get('versions', 'cli')) { + npm.argv = ['version'] + npm.config.set('usage', false, 'cli') + } + + updateNotifier(npm) + + cmd = npm.argv.shift() + if (!cmd) { + npm.output(await npm.usage) + process.exitCode = 1 + return exitHandler() + } + + await npm.exec(cmd, npm.argv) + return exitHandler() + } catch (err) { + if (err.code === 'EUNKNOWNCOMMAND') { + const didYouMean = require('./utils/did-you-mean.js') + const suggestions = await didYouMean(npm, npm.localPrefix, cmd) + npm.output(`Unknown command: "${cmd}"${suggestions}\n`) + npm.output('To see a list of supported npm commands, run:\n npm help') + process.exitCode = 1 + return exitHandler() + } + return exitHandler(err) + } +} diff --git a/node_modules/npm/lib/commands/access.js b/node_modules/npm/lib/commands/access.js new file mode 100644 index 0000000..7d3930d --- /dev/null +++ b/node_modules/npm/lib/commands/access.js @@ -0,0 +1,212 @@ +const path = require('path') + +const libaccess = require('libnpmaccess') +const readPackageJson = require('read-package-json-fast') + +const log = require('../utils/log-shim.js') +const otplease = require('../utils/otplease.js') +const getIdentity = require('../utils/get-identity.js') +const BaseCommand = require('../base-command.js') + +const subcommands = [ + 'public', + 'restricted', + 'grant', + 'revoke', + 'ls-packages', + 'ls-collaborators', + 'edit', + '2fa-required', + '2fa-not-required', +] + +class Access extends BaseCommand { + static description = 'Set access level on published packages' + static name = 'access' + static params = [ + 'registry', + 'otp', + ] + + static usage = [ + 'public []', + 'restricted []', + 'grant []', + 'revoke []', + '2fa-required []', + '2fa-not-required []', + 'ls-packages [||]', + 'ls-collaborators [ []]', + 'edit []', + ] + + async completion (opts) { + const argv = opts.conf.argv.remain + if (argv.length === 2) { + return subcommands + } + + switch (argv[2]) { + case 'grant': + if (argv.length === 3) { + return ['read-only', 'read-write'] + } else { + return [] + } + + case 'public': + case 'restricted': + case 'ls-packages': + case 'ls-collaborators': + case 'edit': + case '2fa-required': + case '2fa-not-required': + case 'revoke': + return [] + default: + throw new Error(argv[2] + ' not recognized') + } + } + + async exec ([cmd, ...args]) { + if (!cmd) { + throw this.usageError('Subcommand is required.') + } + + if (!subcommands.includes(cmd) || !this[cmd]) { + throw this.usageError(`${cmd} is not a recognized subcommand.`) + } + + return this[cmd](args, { + ...this.npm.flatOptions, + log, + }) + } + + public ([pkg], opts) { + return this.modifyPackage(pkg, opts, libaccess.public) + } + + restricted ([pkg], opts) { + return this.modifyPackage(pkg, opts, libaccess.restricted) + } + + async grant ([perms, scopeteam, pkg], opts) { + if (!perms || (perms !== 'read-only' && perms !== 'read-write')) { + throw this.usageError('First argument must be either `read-only` or `read-write`.') + } + + if (!scopeteam) { + throw this.usageError('`` argument is required.') + } + + const [, scope, team] = scopeteam.match(/^@?([^:]+):(.*)$/) || [] + + if (!scope && !team) { + throw this.usageError( + 'Second argument used incorrect format.\n' + + 'Example: @example:developers' + ) + } + + return this.modifyPackage(pkg, opts, (pkgName, opts) => + libaccess.grant(pkgName, scopeteam, perms, opts), false) + } + + async revoke ([scopeteam, pkg], opts) { + if (!scopeteam) { + throw this.usageError('`` argument is required.') + } + + const [, scope, team] = scopeteam.match(/^@?([^:]+):(.*)$/) || [] + + if (!scope || !team) { + throw this.usageError( + 'First argument used incorrect format.\n' + + 'Example: @example:developers' + ) + } + + return this.modifyPackage(pkg, opts, (pkgName, opts) => + libaccess.revoke(pkgName, scopeteam, opts)) + } + + get ['2fa-required'] () { + return this.tfaRequired + } + + tfaRequired ([pkg], opts) { + return this.modifyPackage(pkg, opts, libaccess.tfaRequired, false) + } + + get ['2fa-not-required'] () { + return this.tfaNotRequired + } + + tfaNotRequired ([pkg], opts) { + return this.modifyPackage(pkg, opts, libaccess.tfaNotRequired, false) + } + + get ['ls-packages'] () { + return this.lsPackages + } + + async lsPackages ([owner], opts) { + if (!owner) { + owner = await getIdentity(this.npm, opts) + } + + const pkgs = await libaccess.lsPackages(owner, opts) + + // TODO - print these out nicely (breaking change) + this.npm.output(JSON.stringify(pkgs, null, 2)) + } + + get ['ls-collaborators'] () { + return this.lsCollaborators + } + + async lsCollaborators ([pkg, usr], opts) { + const pkgName = await this.getPackage(pkg, false) + const collabs = await libaccess.lsCollaborators(pkgName, usr, opts) + + // TODO - print these out nicely (breaking change) + this.npm.output(JSON.stringify(collabs, null, 2)) + } + + async edit () { + throw new Error('edit subcommand is not implemented yet') + } + + modifyPackage (pkg, opts, fn, requireScope = true) { + return this.getPackage(pkg, requireScope) + .then(pkgName => otplease(opts, opts => fn(pkgName, opts))) + } + + async getPackage (name, requireScope) { + if (name && name.trim()) { + return name.trim() + } else { + try { + const pkg = await readPackageJson(path.resolve(this.npm.prefix, 'package.json')) + name = pkg.name + } catch (err) { + if (err.code === 'ENOENT') { + throw new Error( + 'no package name passed to command and no package.json found' + ) + } else { + throw err + } + } + + if (requireScope && !name.match(/^@[^/]+\/.*$/)) { + throw this.usageError('This command is only available for scoped packages.') + } else { + return name + } + } + } +} + +module.exports = Access diff --git a/node_modules/npm/lib/commands/adduser.js b/node_modules/npm/lib/commands/adduser.js new file mode 100644 index 0000000..1cf70ff --- /dev/null +++ b/node_modules/npm/lib/commands/adduser.js @@ -0,0 +1,76 @@ +const log = require('../utils/log-shim.js') +const replaceInfo = require('../utils/replace-info.js') +const BaseCommand = require('../base-command.js') +const authTypes = { + legacy: require('../auth/legacy.js'), + oauth: require('../auth/oauth.js'), + saml: require('../auth/saml.js'), + sso: require('../auth/sso.js'), +} + +class AddUser extends BaseCommand { + static description = 'Add a registry user account' + static name = 'adduser' + static params = [ + 'registry', + 'scope', + ] + + async exec (args) { + const { scope } = this.npm.flatOptions + const registry = this.getRegistry(this.npm.flatOptions) + const auth = this.getAuthType(this.npm.flatOptions) + const creds = this.npm.config.getCredentialsByURI(registry) + + log.disableProgress() + + log.notice('', `Log in on ${replaceInfo(registry)}`) + + const { message, newCreds } = await auth(this.npm, { + ...this.npm.flatOptions, + creds, + registry, + scope, + log, + }) + + await this.updateConfig({ + newCreds, + registry, + scope, + }) + + this.npm.output(message) + } + + getRegistry ({ scope, registry }) { + if (scope) { + const scopedRegistry = this.npm.config.get(`${scope}:registry`) + const cliRegistry = this.npm.config.get('registry', 'cli') + if (scopedRegistry && !cliRegistry) { + return scopedRegistry + } + } + return registry + } + + getAuthType ({ authType }) { + const type = authTypes[authType] + + if (!type) { + throw new Error('no such auth module') + } + + return type + } + + async updateConfig ({ newCreds, registry, scope }) { + this.npm.config.delete('_token', 'user') // prevent legacy pollution + this.npm.config.setCredentialsByURI(registry, newCreds) + if (scope) { + this.npm.config.set(scope + ':registry', registry, 'user') + } + await this.npm.config.save('user') + } +} +module.exports = AddUser diff --git a/node_modules/npm/lib/commands/audit.js b/node_modules/npm/lib/commands/audit.js new file mode 100644 index 0000000..fad43fe --- /dev/null +++ b/node_modules/npm/lib/commands/audit.js @@ -0,0 +1,62 @@ +const Arborist = require('@npmcli/arborist') +const auditReport = require('npm-audit-report') +const reifyFinish = require('../utils/reify-finish.js') +const auditError = require('../utils/audit-error.js') +const ArboristWorkspaceCmd = require('../arborist-cmd.js') + +class Audit extends ArboristWorkspaceCmd { + static description = 'Run a security audit' + static name = 'audit' + static params = [ + 'audit-level', + 'dry-run', + 'force', + 'json', + 'package-lock-only', + 'omit', + ...super.params, + ] + + static usage = ['[fix]'] + + async completion (opts) { + const argv = opts.conf.argv.remain + + if (argv.length === 2) { + return ['fix'] + } + + switch (argv[2]) { + case 'fix': + return [] + default: + throw new Error(argv[2] + ' not recognized') + } + } + + async exec (args) { + const reporter = this.npm.config.get('json') ? 'json' : 'detail' + const opts = { + ...this.npm.flatOptions, + audit: true, + path: this.npm.prefix, + reporter, + workspaces: this.workspaceNames, + } + + const arb = new Arborist(opts) + const fix = args[0] === 'fix' + await arb.audit({ fix }) + if (fix) { + await reifyFinish(this.npm, arb) + } else { + // will throw if there's an error, because this is an audit command + auditError(this.npm, arb.auditReport) + const result = auditReport(arb.auditReport, opts) + process.exitCode = process.exitCode || result.exitCode + this.npm.output(result.report) + } + } +} + +module.exports = Audit diff --git a/node_modules/npm/lib/commands/bin.js b/node_modules/npm/lib/commands/bin.js new file mode 100644 index 0000000..bb700d4 --- /dev/null +++ b/node_modules/npm/lib/commands/bin.js @@ -0,0 +1,18 @@ +const envPath = require('../utils/path.js') +const BaseCommand = require('../base-command.js') + +class Bin extends BaseCommand { + static description = 'Display npm bin folder' + static name = 'bin' + static params = ['global'] + + async exec (args) { + const b = this.npm.bin + this.npm.output(b) + if (this.npm.config.get('global') && !envPath.includes(b)) { + // XXX: does this need to be console? + console.error('(not in PATH env variable)') + } + } +} +module.exports = Bin diff --git a/node_modules/npm/lib/commands/birthday.js b/node_modules/npm/lib/commands/birthday.js new file mode 100644 index 0000000..27fe2c5 --- /dev/null +++ b/node_modules/npm/lib/commands/birthday.js @@ -0,0 +1,11 @@ +const BaseCommand = require('../base-command.js') + +class Birthday extends BaseCommand { + static name = 'birthday' + async exec () { + this.npm.config.set('yes', true) + return this.npm.exec('exec', ['@npmcli/npm-birthday']) + } +} + +module.exports = Birthday diff --git a/node_modules/npm/lib/commands/bugs.js b/node_modules/npm/lib/commands/bugs.js new file mode 100644 index 0000000..5dfd1eb --- /dev/null +++ b/node_modules/npm/lib/commands/bugs.js @@ -0,0 +1,55 @@ +const pacote = require('pacote') +const log = require('../utils/log-shim') +const openUrl = require('../utils/open-url.js') +const hostedFromMani = require('../utils/hosted-git-info-from-manifest.js') +const BaseCommand = require('../base-command.js') + +class Bugs extends BaseCommand { + static description = 'Report bugs for a package in a web browser' + static name = 'bugs' + static usage = ['[]'] + static params = ['browser', 'registry'] + + async exec (args) { + if (!args || !args.length) { + args = ['.'] + } + + await Promise.all(args.map(pkg => this.getBugs(pkg))) + } + + async getBugs (pkg) { + const opts = { ...this.npm.flatOptions, fullMetadata: true } + const mani = await pacote.manifest(pkg, opts) + const url = this.getBugsUrl(mani) + log.silly('bugs', 'url', url) + await openUrl(this.npm, url, `${mani.name} bug list available at the following URL`) + } + + getBugsUrl (mani) { + if (mani.bugs) { + if (typeof mani.bugs === 'string') { + return mani.bugs + } + + if (typeof mani.bugs === 'object' && mani.bugs.url) { + return mani.bugs.url + } + + if (typeof mani.bugs === 'object' && mani.bugs.email) { + return `mailto:${mani.bugs.email}` + } + } + + // try to get it from the repo, if possible + const info = hostedFromMani(mani) + if (info) { + return info.bugs() + } + + // just send them to the website, hopefully that has some info! + return `https://www.npmjs.com/package/${mani.name}` + } +} + +module.exports = Bugs diff --git a/node_modules/npm/lib/commands/cache.js b/node_modules/npm/lib/commands/cache.js new file mode 100644 index 0000000..ecb34cb --- /dev/null +++ b/node_modules/npm/lib/commands/cache.js @@ -0,0 +1,217 @@ +const cacache = require('cacache') +const { promisify } = require('util') +const pacote = require('pacote') +const path = require('path') +const rimraf = promisify(require('rimraf')) +const semver = require('semver') +const BaseCommand = require('../base-command.js') +const npa = require('npm-package-arg') +const jsonParse = require('json-parse-even-better-errors') +const localeCompare = require('@isaacs/string-locale-compare')('en') +const log = require('../utils/log-shim') + +const searchCachePackage = async (path, spec, cacheKeys) => { + const parsed = npa(spec) + if (parsed.rawSpec !== '' && parsed.type === 'tag') { + throw new Error(`Cannot list cache keys for a tagged package.`) + } + /* eslint-disable-next-line max-len */ + const searchMFH = new RegExp(`^make-fetch-happen:request-cache:.*(?', + 'add ', + 'add ', + 'add ', + 'add @', + 'clean []', + 'ls [@]', + 'verify', + ] + + async completion (opts) { + const argv = opts.conf.argv.remain + if (argv.length === 2) { + return ['add', 'clean', 'verify', 'ls', 'delete'] + } + + // TODO - eventually... + switch (argv[2]) { + case 'verify': + case 'clean': + case 'add': + case 'ls': + case 'delete': + return [] + } + } + + async exec (args) { + const cmd = args.shift() + switch (cmd) { + case 'rm': case 'clear': case 'clean': + return await this.clean(args) + case 'add': + return await this.add(args) + case 'verify': case 'check': + return await this.verify() + case 'ls': + return await this.ls(args) + default: + throw this.usageError() + } + } + + // npm cache clean [pkg]* + async clean (args) { + const cachePath = path.join(this.npm.cache, '_cacache') + if (args.length === 0) { + if (!this.npm.config.get('force')) { + throw new Error(`As of npm@5, the npm cache self-heals from corruption issues + by treating integrity mismatches as cache misses. As a result, + data extracted from the cache is guaranteed to be valid. If you + want to make sure everything is consistent, use \`npm cache verify\` + instead. Deleting the cache can only make npm go slower, and is + not likely to correct any problems you may be encountering! + + On the other hand, if you're debugging an issue with the installer, + or race conditions that depend on the timing of writing to an empty + cache, you can use \`npm install --cache /tmp/empty-cache\` to use a + temporary cache instead of nuking the actual one. + + If you're sure you want to delete the entire cache, rerun this command + with --force.`) + } + return rimraf(cachePath) + } + for (const key of args) { + let entry + try { + entry = await cacache.get(cachePath, key) + } catch (err) { + log.warn(`Not Found: ${key}`) + break + } + this.npm.output(`Deleted: ${key}`) + await cacache.rm.entry(cachePath, key) + await cacache.rm.content(cachePath, entry.integrity) + } + } + + // npm cache add ... + // npm cache add ... + // npm cache add ... + // npm cache add ... + async add (args) { + log.silly('cache add', 'args', args) + if (args.length === 0) { + throw this.usageError('First argument to `add` is required') + } + + return Promise.all(args.map(spec => { + log.silly('cache add', 'spec', spec) + // we ask pacote for the thing, and then just throw the data + // away so that it tee-pipes it into the cache like it does + // for a normal request. + return pacote.tarball.stream(spec, stream => { + stream.resume() + return stream.promise() + }, this.npm.flatOptions) + })) + } + + async verify () { + const cache = path.join(this.npm.cache, '_cacache') + const prefix = cache.indexOf(process.env.HOME) === 0 + ? `~${cache.substr(process.env.HOME.length)}` + : cache + const stats = await cacache.verify(cache) + this.npm.output(`Cache verified and compressed (${prefix})`) + this.npm.output(`Content verified: ${stats.verifiedContent} (${stats.keptSize} bytes)`) + if (stats.badContentCount) { + this.npm.output(`Corrupted content removed: ${stats.badContentCount}`) + } + if (stats.reclaimedCount) { + /* eslint-disable-next-line max-len */ + this.npm.output(`Content garbage-collected: ${stats.reclaimedCount} (${stats.reclaimedSize} bytes)`) + } + if (stats.missingContent) { + this.npm.output(`Missing content: ${stats.missingContent}`) + } + this.npm.output(`Index entries: ${stats.totalEntries}`) + this.npm.output(`Finished in ${stats.runTime.total / 1000}s`) + } + + // npm cache ls [--package ...] + async ls (specs) { + const cachePath = path.join(this.npm.cache, '_cacache') + const cacheKeys = Object.keys(await cacache.ls(cachePath)) + if (specs.length > 0) { + // get results for each package spec specified + const results = new Set() + for (const spec of specs) { + const keySet = await searchCachePackage(cachePath, spec, cacheKeys) + for (const key of keySet) { + results.add(key) + } + } + [...results].sort(localeCompare).forEach(key => this.npm.output(key)) + return + } + cacheKeys.sort(localeCompare).forEach(key => this.npm.output(key)) + } +} + +module.exports = Cache diff --git a/node_modules/npm/lib/commands/ci.js b/node_modules/npm/lib/commands/ci.js new file mode 100644 index 0000000..5e862a4 --- /dev/null +++ b/node_modules/npm/lib/commands/ci.js @@ -0,0 +1,113 @@ +const util = require('util') +const Arborist = require('@npmcli/arborist') +const rimraf = util.promisify(require('rimraf')) +const reifyFinish = require('../utils/reify-finish.js') +const runScript = require('@npmcli/run-script') +const fs = require('fs') +const readdir = util.promisify(fs.readdir) +const log = require('../utils/log-shim.js') +const validateLockfile = require('../utils/validate-lockfile.js') + +const removeNodeModules = async where => { + const rimrafOpts = { glob: false } + process.emit('time', 'npm-ci:rm') + const path = `${where}/node_modules` + // get the list of entries so we can skip the glob for performance + const entries = await readdir(path, null).catch(er => []) + await Promise.all(entries.map(f => rimraf(`${path}/${f}`, rimrafOpts))) + process.emit('timeEnd', 'npm-ci:rm') +} +const ArboristWorkspaceCmd = require('../arborist-cmd.js') + +class CI extends ArboristWorkspaceCmd { + static description = 'Install a project with a clean slate' + static name = 'ci' + static params = [ + 'audit', + 'ignore-scripts', + 'script-shell', + ] + + async exec () { + if (this.npm.config.get('global')) { + const err = new Error('`npm ci` does not work for global packages') + err.code = 'ECIGLOBAL' + throw err + } + + const where = this.npm.prefix + const opts = { + ...this.npm.flatOptions, + packageLock: true, // npm ci should never skip lock files + path: where, + log, + save: false, // npm ci should never modify the lockfile or package.json + workspaces: this.workspaceNames, + } + + const arb = new Arborist(opts) + await Promise.all([ + arb.loadVirtual().catch(er => { + log.verbose('loadVirtual', er.stack) + const msg = + 'The `npm ci` command can only install with an existing package-lock.json or\n' + + 'npm-shrinkwrap.json with lockfileVersion >= 1. Run an install with npm@5 or\n' + + 'later to generate a package-lock.json file, then try again.' + throw new Error(msg) + }), + removeNodeModules(where), + ]) + + // retrieves inventory of packages from loaded virtual tree (lock file) + const virtualInventory = new Map(arb.virtualTree.inventory) + + // build ideal tree step needs to come right after retrieving the virtual + // inventory since it's going to erase the previous ref to virtualTree + await arb.buildIdealTree() + + // verifies that the packages from the ideal tree will match + // the same versions that are present in the virtual tree (lock file) + // throws a validation error in case of mismatches + const errors = validateLockfile(virtualInventory, arb.idealTree.inventory) + if (errors.length) { + throw new Error( + '`npm ci` can only install packages when your package.json and ' + + 'package-lock.json or npm-shrinkwrap.json are in sync. Please ' + + 'update your lock file with `npm install` ' + + 'before continuing.\n\n' + + errors.join('\n') + '\n' + ) + } + + await arb.reify(opts) + + const ignoreScripts = this.npm.config.get('ignore-scripts') + // run the same set of scripts that `npm install` runs. + if (!ignoreScripts) { + const scripts = [ + 'preinstall', + 'install', + 'postinstall', + 'prepublish', // XXX should we remove this finally?? + 'preprepare', + 'prepare', + 'postprepare', + ] + const scriptShell = this.npm.config.get('script-shell') || undefined + for (const event of scripts) { + await runScript({ + path: where, + args: [], + scriptShell, + stdio: 'inherit', + stdioString: true, + banner: log.level !== 'silent', + event, + }) + } + } + await reifyFinish(this.npm, arb) + } +} + +module.exports = CI diff --git a/node_modules/npm/lib/commands/completion.js b/node_modules/npm/lib/commands/completion.js new file mode 100644 index 0000000..4ded2de --- /dev/null +++ b/node_modules/npm/lib/commands/completion.js @@ -0,0 +1,285 @@ +// Each command has a completion function that takes an options object and a cb +// The callback gets called with an error and an array of possible completions. +// The options object is built up based on the environment variables set by +// zsh or bash when calling a function for completion, based on the cursor +// position and the command line thus far. These are: +// COMP_CWORD: the index of the "word" in the command line being completed +// COMP_LINE: the full command line thusfar as a string +// COMP_POINT: the cursor index at the point of triggering completion +// +// We parse the command line with nopt, like npm does, and then create an +// options object containing: +// words: array of words in the command line +// w: the index of the word being completed (ie, COMP_CWORD) +// word: the word being completed +// line: the COMP_LINE +// lineLength +// point: the COMP_POINT, usually equal to line length, but not always, eg if +// the user has pressed the left-arrow to complete an earlier word +// partialLine: the line up to the point +// partialWord: the word being completed (which might be ''), up to the point +// conf: a nopt parse of the command line +// +// When the implementation completion method returns its list of strings, +// and arrays of strings, we filter that by any that start with the +// partialWord, since only those can possibly be valid matches. +// +// Matches are wrapped with ' to escape them, if necessary, and then printed +// one per line for the shell completion method to consume in IFS=$'\n' mode +// as an array. +// + +const { definitions, shorthands } = require('../utils/config/index.js') +const deref = require('../utils/deref-command.js') +const { aliases, cmdList, plumbing } = require('../utils/cmd-list.js') +const aliasNames = Object.keys(aliases) +const fullList = cmdList.concat(aliasNames).filter(c => !plumbing.includes(c)) +const nopt = require('nopt') +const configNames = Object.keys(definitions) +const shorthandNames = Object.keys(shorthands) +const allConfs = configNames.concat(shorthandNames) +const isWindowsShell = require('../utils/is-windows-shell.js') +const fileExists = require('../utils/file-exists.js') + +const { promisify } = require('util') +const BaseCommand = require('../base-command.js') + +class Completion extends BaseCommand { + static description = 'Tab Completion for npm' + static name = 'completion' + + // completion for the completion command + async completion (opts) { + if (opts.w > 2) { + return + } + + const { resolve } = require('path') + const [bashExists, zshExists] = await Promise.all([ + fileExists(resolve(process.env.HOME, '.bashrc')), + fileExists(resolve(process.env.HOME, '.zshrc')), + ]) + const out = [] + if (zshExists) { + out.push(['>>', '~/.zshrc']) + } + + if (bashExists) { + out.push(['>>', '~/.bashrc']) + } + + return out + } + + async exec (args) { + if (isWindowsShell) { + const msg = 'npm completion supported only in MINGW / Git bash on Windows' + throw Object.assign(new Error(msg), { + code: 'ENOTSUP', + }) + } + + const { COMP_CWORD, COMP_LINE, COMP_POINT } = process.env + + // if the COMP_* isn't in the env, then just dump the script. + if (COMP_CWORD === undefined || + COMP_LINE === undefined || + COMP_POINT === undefined) { + return dumpScript() + } + + // ok we're actually looking at the envs and outputting the suggestions + // get the partial line and partial word, + // if the point isn't at the end. + // ie, tabbing at: npm foo b|ar + const w = +COMP_CWORD + const words = args.map(unescape) + const word = words[w] + const line = COMP_LINE + const point = +COMP_POINT + const partialLine = line.substr(0, point) + const partialWords = words.slice(0, w) + + // figure out where in that last word the point is. + const partialWordRaw = args[w] + let i = partialWordRaw.length + while (partialWordRaw.substr(0, i) !== partialLine.substr(-1 * i) && i > 0) { + i-- + } + + const partialWord = unescape(partialWordRaw.substr(0, i)) + partialWords.push(partialWord) + + const opts = { + words, + w, + word, + line, + lineLength: line.length, + point, + partialLine, + partialWords, + partialWord, + raw: args, + } + + if (partialWords.slice(0, -1).indexOf('--') === -1) { + if (word.charAt(0) === '-') { + return this.wrap(opts, configCompl(opts)) + } + + if (words[w - 1] && + words[w - 1].charAt(0) === '-' && + !isFlag(words[w - 1])) { + // awaiting a value for a non-bool config. + // don't even try to do this for now + return this.wrap(opts, configValueCompl(opts)) + } + } + + // try to find the npm command. + // it's the first thing after all the configs. + // take a little shortcut and use npm's arg parsing logic. + // don't have to worry about the last arg being implicitly + // boolean'ed, since the last block will catch that. + const types = Object.entries(definitions).reduce((types, [key, def]) => { + types[key] = def.type + return types + }, {}) + const parsed = opts.conf = + nopt(types, shorthands, partialWords.slice(0, -1), 0) + // check if there's a command already. + const cmd = parsed.argv.remain[1] + if (!cmd) { + return this.wrap(opts, cmdCompl(opts)) + } + + Object.keys(parsed).forEach(k => this.npm.config.set(k, parsed[k])) + + // at this point, if words[1] is some kind of npm command, + // then complete on it. + // otherwise, do nothing + const impl = await this.npm.cmd(cmd) + if (impl.completion) { + const comps = await impl.completion(opts) + return this.wrap(opts, comps) + } + } + + // The command should respond with an array. Loop over that, + // wrapping quotes around any that have spaces, and writing + // them to stdout. + // If any of the items are arrays, then join them with a space. + // Ie, returning ['a', 'b c', ['d', 'e']] would allow it to expand + // to: 'a', 'b c', or 'd' 'e' + wrap (opts, compls) { + // TODO this was dead code, leaving it in case we find some command we + // forgot that requires this. if so *that command should fix its + // completions* + // compls = compls.map(w => !/\s+/.test(w) ? w : '\'' + w + '\'') + + if (opts.partialWord) { + compls = compls.filter(c => c.startsWith(opts.partialWord)) + } + + if (compls.length > 0) { + this.npm.output(compls.join('\n')) + } + } +} + +const dumpScript = async () => { + const fs = require('fs') + const readFile = promisify(fs.readFile) + const { resolve } = require('path') + const p = resolve(__dirname, '..', 'utils', 'completion.sh') + + const d = (await readFile(p, 'utf8')).replace(/^#!.*?\n/, '') + await new Promise((res, rej) => { + let done = false + process.stdout.on('error', er => { + if (done) { + return + } + + done = true + + // Darwin is a pain sometimes. + // + // This is necessary because the "source" or "." program in + // bash on OS X closes its file argument before reading + // from it, meaning that you get exactly 1 write, which will + // work most of the time, and will always raise an EPIPE. + // + // Really, one should not be tossing away EPIPE errors, or any + // errors, so casually. But, without this, `. <(npm completion)` + // can never ever work on OS X. + // TODO Ignoring coverage, see 'non EPIPE errors cause failures' test. + /* istanbul ignore next */ + if (er.errno === 'EPIPE') { + res() + } else { + rej(er) + } + }) + + process.stdout.write(d, () => { + if (done) { + return + } + + done = true + res() + }) + }) +} + +const unescape = w => w.charAt(0) === '\'' ? w.replace(/^'|'$/g, '') + : w.replace(/\\ /g, ' ') + +// the current word has a dash. Return the config names, +// with the same number of dashes as the current word has. +const configCompl = opts => { + const word = opts.word + const split = word.match(/^(-+)((?:no-)*)(.*)$/) + const dashes = split[1] + const no = split[2] + const flags = configNames.filter(isFlag) + return allConfs.map(c => dashes + c) + .concat(flags.map(f => dashes + (no || 'no-') + f)) +} + +// expand with the valid values of various config values. +// not yet implemented. +const configValueCompl = opts => [] + +// check if the thing is a flag or not. +const isFlag = word => { + // shorthands never take args. + const split = word.match(/^(-*)((?:no-)+)?(.*)$/) + const no = split[2] + const conf = split[3] + const { type } = definitions[conf] + return no || + type === Boolean || + (Array.isArray(type) && type.includes(Boolean)) || + shorthands[conf] +} + +// complete against the npm commands +// if they all resolve to the same thing, just return the thing it already is +const cmdCompl = opts => { + const matches = fullList.filter(c => c.startsWith(opts.partialWord)) + if (!matches.length) { + return matches + } + + const derefs = new Set([...matches.map(c => deref(c))]) + if (derefs.size === 1) { + return [...derefs] + } + + return fullList +} + +module.exports = Completion diff --git a/node_modules/npm/lib/commands/config.js b/node_modules/npm/lib/commands/config.js new file mode 100644 index 0000000..96524e0 --- /dev/null +++ b/node_modules/npm/lib/commands/config.js @@ -0,0 +1,306 @@ +// don't expand so that we only assemble the set of defaults when needed +const configDefs = require('../utils/config/index.js') + +const mkdirp = require('mkdirp-infer-owner') +const { dirname, resolve } = require('path') +const { promisify } = require('util') +const fs = require('fs') +const readFile = promisify(fs.readFile) +const writeFile = promisify(fs.writeFile) +const { spawn } = require('child_process') +const { EOL } = require('os') +const ini = require('ini') +const localeCompare = require('@isaacs/string-locale-compare')('en') +const rpj = require('read-package-json-fast') +const log = require('../utils/log-shim.js') + +// take an array of `[key, value, k2=v2, k3, v3, ...]` and turn into +// { key: value, k2: v2, k3: v3 } +const keyValues = args => { + const kv = {} + for (let i = 0; i < args.length; i++) { + const arg = args[i].split('=') + const key = arg.shift() + const val = arg.length ? arg.join('=') + : i < args.length - 1 ? args[++i] + : '' + kv[key.trim()] = val.trim() + } + return kv +} + +const publicVar = k => { + // _password + if (k.startsWith('_')) { + return false + } + // //localhost:8080/:_password + if (k.startsWith('//') && k.includes(':_')) { + return false + } + return true +} + +const BaseCommand = require('../base-command.js') +class Config extends BaseCommand { + static description = 'Manage the npm configuration files' + static name = 'config' + static usage = [ + 'set = [= ...]', + 'get [ [ ...]]', + 'delete [ ...]', + 'list [--json]', + 'edit', + ] + + static params = [ + 'json', + 'global', + 'editor', + 'location', + 'long', + ] + + async completion (opts) { + const argv = opts.conf.argv.remain + if (argv[1] !== 'config') { + argv.unshift('config') + } + + if (argv.length === 2) { + const cmds = ['get', 'set', 'delete', 'ls', 'rm', 'edit'] + if (opts.partialWord !== 'l') { + cmds.push('list') + } + + return cmds + } + + const action = argv[2] + switch (action) { + case 'set': + // todo: complete with valid values, if possible. + if (argv.length > 3) { + return [] + } + + // fallthrough + /* eslint no-fallthrough:0 */ + case 'get': + case 'delete': + case 'rm': + return Object.keys(configDefs.definitions) + case 'edit': + case 'list': + case 'ls': + default: + return [] + } + } + + async execWorkspaces (args, filters) { + log.warn('config', 'This command does not support workspaces.') + return this.exec(args) + } + + async exec ([action, ...args]) { + log.disableProgress() + try { + switch (action) { + case 'set': + await this.set(args) + break + case 'get': + await this.get(args) + break + case 'delete': + case 'rm': + case 'del': + await this.del(args) + break + case 'list': + case 'ls': + await (this.npm.flatOptions.json ? this.listJson() : this.list()) + break + case 'edit': + await this.edit() + break + default: + throw this.usageError() + } + } finally { + log.enableProgress() + } + } + + async set (args) { + if (!args.length) { + throw this.usageError() + } + + const where = this.npm.flatOptions.location + for (const [key, val] of Object.entries(keyValues(args))) { + log.info('config', 'set %j %j', key, val) + this.npm.config.set(key, val || '', where) + if (!this.npm.config.validate(where)) { + log.warn('config', 'omitting invalid config values') + } + } + + await this.npm.config.save(where) + } + + async get (keys) { + if (!keys.length) { + return this.list() + } + + const out = [] + for (const key of keys) { + if (!publicVar(key)) { + throw new Error(`The ${key} option is protected, and cannot be retrieved in this way`) + } + + const pref = keys.length > 1 ? `${key}=` : '' + out.push(pref + this.npm.config.get(key)) + } + this.npm.output(out.join('\n')) + } + + async del (keys) { + if (!keys.length) { + throw this.usageError() + } + + const where = this.npm.flatOptions.location + for (const key of keys) { + this.npm.config.delete(key, where) + } + await this.npm.config.save(where) + } + + async edit () { + const e = this.npm.flatOptions.editor + const where = this.npm.flatOptions.location + const file = this.npm.config.data.get(where).source + + // save first, just to make sure it's synced up + // this also removes all the comments from the last time we edited it. + await this.npm.config.save(where) + + const data = ( + await readFile(file, 'utf8').catch(() => '') + ).replace(/\r\n/g, '\n') + const entries = Object.entries(configDefs.defaults) + const defData = entries.reduce((str, [key, val]) => { + const obj = { [key]: val } + const i = ini.stringify(obj) + .replace(/\r\n/g, '\n') // normalizes output from ini.stringify + .replace(/\n$/m, '') + .replace(/^/g, '; ') + .replace(/\n/g, '\n; ') + .split('\n') + return str + '\n' + i + }, '') + + const tmpData = `;;;; +; npm ${where}config file: ${file} +; this is a simple ini-formatted file +; lines that start with semi-colons are comments +; run \`npm help 7 config\` for documentation of the various options +; +; Configs like \`@scope:registry\` map a scope to a given registry url. +; +; Configs like \`///:_authToken\` are auth that is restricted +; to the registry host specified. + +${data.split('\n').sort(localeCompare).join('\n').trim()} + +;;;; +; all available options shown below with default values +;;;; + +${defData} +`.split('\n').join(EOL) + await mkdirp(dirname(file)) + await writeFile(file, tmpData, 'utf8') + await new Promise((resolve, reject) => { + const [bin, ...args] = e.split(/\s+/) + const editor = spawn(bin, [...args, file], { stdio: 'inherit' }) + editor.on('exit', (code) => { + if (code) { + return reject(new Error(`editor process exited with code: ${code}`)) + } + return resolve() + }) + }) + } + + async list () { + const msg = [] + // long does not have a flattener + const long = this.npm.config.get('long') + for (const [where, { data, source }] of this.npm.config.data.entries()) { + if (where === 'default' && !long) { + continue + } + + const keys = Object.keys(data).sort(localeCompare) + if (!keys.length) { + continue + } + + msg.push(`; "${where}" config from ${source}`, '') + for (const k of keys) { + const v = publicVar(k) ? JSON.stringify(data[k]) : '(protected)' + const src = this.npm.config.find(k) + const overridden = src !== where + msg.push((overridden ? '; ' : '') + + `${k} = ${v} ${overridden ? `; overridden by ${src}` : ''}`) + } + msg.push('') + } + + if (!long) { + msg.push( + `; node bin location = ${process.execPath}`, + `; cwd = ${process.cwd()}`, + `; HOME = ${process.env.HOME}`, + '; Run `npm config ls -l` to show all defaults.' + ) + msg.push('') + } + + if (!this.npm.config.get('global')) { + const pkgPath = resolve(this.npm.prefix, 'package.json') + const pkg = await rpj(pkgPath).catch(() => ({})) + + if (pkg.publishConfig) { + msg.push(`; "publishConfig" from ${pkgPath}`) + msg.push('; This set of config values will be used at publish-time.', '') + const pkgKeys = Object.keys(pkg.publishConfig).sort(localeCompare) + for (const k of pkgKeys) { + const v = publicVar(k) ? JSON.stringify(pkg.publishConfig[k]) : '(protected)' + msg.push(`${k} = ${v}`) + } + msg.push('') + } + } + + this.npm.output(msg.join('\n').trim()) + } + + async listJson () { + const publicConf = {} + for (const key in this.npm.config.list[0]) { + if (!publicVar(key)) { + continue + } + + publicConf[key] = this.npm.config.get(key) + } + this.npm.output(JSON.stringify(publicConf, null, 2)) + } +} + +module.exports = Config diff --git a/node_modules/npm/lib/commands/dedupe.js b/node_modules/npm/lib/commands/dedupe.js new file mode 100644 index 0000000..1c27024 --- /dev/null +++ b/node_modules/npm/lib/commands/dedupe.js @@ -0,0 +1,55 @@ +// dedupe duplicated packages, or find them in the tree +const Arborist = require('@npmcli/arborist') +const reifyFinish = require('../utils/reify-finish.js') +const log = require('../utils/log-shim.js') + +const ArboristWorkspaceCmd = require('../arborist-cmd.js') + +class Dedupe extends ArboristWorkspaceCmd { + static description = 'Reduce duplication in the package tree' + static name = 'dedupe' + static params = [ + 'global-style', + 'legacy-bundling', + 'strict-peer-deps', + 'package-lock', + 'save', + 'omit', + 'ignore-scripts', + 'audit', + 'bin-links', + 'fund', + 'dry-run', + ...super.params, + ] + + async exec (args) { + if (this.npm.config.get('global')) { + const er = new Error('`npm dedupe` does not work in global mode.') + er.code = 'EDEDUPEGLOBAL' + throw er + } + + // In the context of `npm dedupe` the save + // config value should default to `false` + const save = this.npm.config.isDefault('save') + ? false + : this.npm.config.get('save') + + const dryRun = this.npm.config.get('dry-run') + const where = this.npm.prefix + const opts = { + ...this.npm.flatOptions, + log, + path: where, + dryRun, + save, + workspaces: this.workspaceNames, + } + const arb = new Arborist(opts) + await arb.dedupe(opts) + await reifyFinish(this.npm, arb) + } +} + +module.exports = Dedupe diff --git a/node_modules/npm/lib/commands/deprecate.js b/node_modules/npm/lib/commands/deprecate.js new file mode 100644 index 0000000..5505b9b --- /dev/null +++ b/node_modules/npm/lib/commands/deprecate.js @@ -0,0 +1,74 @@ +const fetch = require('npm-registry-fetch') +const log = require('../utils/log-shim.js') +const otplease = require('../utils/otplease.js') +const npa = require('npm-package-arg') +const semver = require('semver') +const getIdentity = require('../utils/get-identity.js') +const libaccess = require('libnpmaccess') +const BaseCommand = require('../base-command.js') + +class Deprecate extends BaseCommand { + static description = 'Deprecate a version of a package' + static name = 'deprecate' + static usage = ['[@] '] + static params = [ + 'registry', + 'otp', + ] + + async completion (opts) { + if (opts.conf.argv.remain.length > 1) { + return [] + } + + const username = await getIdentity(this.npm, this.npm.flatOptions) + const packages = await libaccess.lsPackages(username, this.npm.flatOptions) + return Object.keys(packages) + .filter((name) => + packages[name] === 'write' && + (opts.conf.argv.remain.length === 0 || + name.startsWith(opts.conf.argv.remain[0]))) + } + + async exec ([pkg, msg]) { + // msg == null because '' is a valid value, it indicates undeprecate + if (!pkg || msg == null) { + throw this.usageError() + } + + // fetch the data and make sure it exists. + const p = npa(pkg) + // npa makes the default spec "latest", but for deprecation + // "*" is the appropriate default. + const spec = p.rawSpec === '' ? '*' : p.fetchSpec + + if (semver.validRange(spec, true) === null) { + throw new Error(`invalid version range: ${spec}`) + } + + const uri = '/' + p.escapedName + const packument = await fetch.json(uri, { + ...this.npm.flatOptions, + spec: p, + query: { write: true }, + log, + }) + + Object.keys(packument.versions) + .filter(v => semver.satisfies(v, spec, { includePrerelease: true })) + .forEach(v => { + packument.versions[v].deprecated = msg + }) + + return otplease(this.npm.flatOptions, opts => fetch(uri, { + ...opts, + spec: p, + method: 'PUT', + body: packument, + ignoreBody: true, + log, + })) + } +} + +module.exports = Deprecate diff --git a/node_modules/npm/lib/commands/diff.js b/node_modules/npm/lib/commands/diff.js new file mode 100644 index 0000000..b3855aa --- /dev/null +++ b/node_modules/npm/lib/commands/diff.js @@ -0,0 +1,286 @@ +const { resolve } = require('path') +const semver = require('semver') +const libnpmdiff = require('libnpmdiff') +const npa = require('npm-package-arg') +const Arborist = require('@npmcli/arborist') +const pacote = require('pacote') +const pickManifest = require('npm-pick-manifest') +const log = require('../utils/log-shim') +const readPackageName = require('../utils/read-package-name.js') +const BaseCommand = require('../base-command.js') + +class Diff extends BaseCommand { + static description = 'The registry diff command' + static name = 'diff' + static usage = [ + '[...]', + ] + + static params = [ + 'diff', + 'diff-name-only', + 'diff-unified', + 'diff-ignore-all-space', + 'diff-no-prefix', + 'diff-src-prefix', + 'diff-dst-prefix', + 'diff-text', + 'global', + 'tag', + 'workspace', + 'workspaces', + 'include-workspace-root', + ] + + async exec (args) { + const specs = this.npm.config.get('diff').filter(d => d) + if (specs.length > 2) { + throw this.usageError(`Can't use more than two --diff arguments.`) + } + + // execWorkspaces may have set this already + if (!this.prefix) { + this.prefix = this.npm.prefix + } + + // this is the "top" directory, one up from node_modules + // in global mode we have to walk one up from globalDir because our + // node_modules is sometimes under ./lib, and in global mode we're only ever + // walking through node_modules (because we will have been given a package + // name already) + if (this.npm.config.get('global')) { + this.top = resolve(this.npm.globalDir, '..') + } else { + this.top = this.prefix + } + + const [a, b] = await this.retrieveSpecs(specs) + log.info('diff', { src: a, dst: b }) + + const res = await libnpmdiff([a, b], { + ...this.npm.flatOptions, + diffFiles: args, + where: this.top, + log, + }) + return this.npm.output(res) + } + + async execWorkspaces (args, filters) { + await this.setWorkspaces(filters) + for (const workspacePath of this.workspacePaths) { + this.top = workspacePath + this.prefix = workspacePath + await this.exec(args) + } + } + + // get the package name from the packument at `path` + // throws if no packument is present OR if it does not have `name` attribute + async packageName (path) { + let name + try { + name = await readPackageName(this.prefix) + } catch (e) { + log.verbose('diff', 'could not read project dir package.json') + } + + if (!name) { + throw this.usageError('Needs multiple arguments to compare or run from a project dir.') + } + + return name + } + + async retrieveSpecs ([a, b]) { + if (a && b) { + const specs = await this.convertVersionsToSpecs([a, b]) + return this.findVersionsByPackageName(specs) + } + + // no arguments, defaults to comparing cwd + // to its latest published registry version + if (!a) { + const pkgName = await this.packageName(this.prefix) + return [ + `${pkgName}@${this.npm.config.get('tag')}`, + `file:${this.prefix}`, + ] + } + + // single argument, used to compare wanted versions of an + // installed dependency or to compare the cwd to a published version + let noPackageJson + let pkgName + try { + pkgName = await readPackageName(this.prefix) + } catch (e) { + log.verbose('diff', 'could not read project dir package.json') + noPackageJson = true + } + + const missingPackageJson = + this.usageError('Needs multiple arguments to compare or run from a project dir.') + + // using a valid semver range, that means it should just diff + // the cwd against a published version to the registry using the + // same project name and the provided semver range + if (semver.validRange(a)) { + if (!pkgName) { + throw missingPackageJson + } + return [ + `${pkgName}@${a}`, + `file:${this.prefix}`, + ] + } + + // when using a single package name as arg and it's part of the current + // install tree, then retrieve the current installed version and compare + // it against the same value `npm outdated` would suggest you to update to + const spec = npa(a) + if (spec.registry) { + let actualTree + let node + try { + const opts = { + ...this.npm.flatOptions, + path: this.top, + } + const arb = new Arborist(opts) + actualTree = await arb.loadActual(opts) + node = actualTree && + actualTree.inventory.query('name', spec.name) + .values().next().value + } catch (e) { + log.verbose('diff', 'failed to load actual install tree') + } + + if (!node || !node.name || !node.package || !node.package.version) { + if (noPackageJson) { + throw missingPackageJson + } + return [ + `${spec.name}@${spec.fetchSpec}`, + `file:${this.prefix}`, + ] + } + + const tryRootNodeSpec = () => + (actualTree && actualTree.edgesOut.get(spec.name) || {}).spec + + const tryAnySpec = () => { + for (const edge of node.edgesIn) { + return edge.spec + } + } + + const aSpec = `file:${node.realpath}` + + // finds what version of the package to compare against, if a exact + // version or tag was passed than it should use that, otherwise + // work from the top of the arborist tree to find the original semver + // range declared in the package that depends on the package. + let bSpec + if (spec.rawSpec) { + bSpec = spec.rawSpec + } else { + const bTargetVersion = + tryRootNodeSpec() + || tryAnySpec() + + // figure out what to compare against, + // follows same logic to npm outdated "Wanted" results + const packument = await pacote.packument(spec, { + ...this.npm.flatOptions, + preferOnline: true, + log, + }) + bSpec = pickManifest( + packument, + bTargetVersion, + { ...this.npm.flatOptions } + ).version + } + + return [ + `${spec.name}@${aSpec}`, + `${spec.name}@${bSpec}`, + ] + } else if (spec.type === 'directory') { + return [ + `file:${spec.fetchSpec}`, + `file:${this.prefix}`, + ] + } else { + throw this.usageError(`Spec type ${spec.type} not supported.`) + } + } + + async convertVersionsToSpecs ([a, b]) { + const semverA = semver.validRange(a) + const semverB = semver.validRange(b) + + // both specs are semver versions, assume current project dir name + if (semverA && semverB) { + let pkgName + try { + pkgName = await readPackageName(this.prefix) + } catch (e) { + log.verbose('diff', 'could not read project dir package.json') + } + + if (!pkgName) { + throw this.usageError('Needs to be run from a project dir in order to diff two versions.') + } + + return [`${pkgName}@${a}`, `${pkgName}@${b}`] + } + + // otherwise uses the name from the other arg to + // figure out the spec.name of what to compare + if (!semverA && semverB) { + return [a, `${npa(a).name}@${b}`] + } + + if (semverA && !semverB) { + return [`${npa(b).name}@${a}`, b] + } + + // no valid semver ranges used + return [a, b] + } + + async findVersionsByPackageName (specs) { + let actualTree + try { + const opts = { + ...this.npm.flatOptions, + path: this.top, + } + const arb = new Arborist(opts) + actualTree = await arb.loadActual(opts) + } catch (e) { + log.verbose('diff', 'failed to load actual install tree') + } + + return specs.map(i => { + const spec = npa(i) + if (spec.rawSpec) { + return i + } + + const node = actualTree + && actualTree.inventory.query('name', spec.name) + .values().next().value + + const res = !node || !node.package || !node.package.version + ? spec.fetchSpec + : `file:${node.realpath}` + + return `${spec.name}@${res}` + }) + } +} + +module.exports = Diff diff --git a/node_modules/npm/lib/commands/dist-tag.js b/node_modules/npm/lib/commands/dist-tag.js new file mode 100644 index 0000000..e2b0132 --- /dev/null +++ b/node_modules/npm/lib/commands/dist-tag.js @@ -0,0 +1,203 @@ +const npa = require('npm-package-arg') +const regFetch = require('npm-registry-fetch') +const semver = require('semver') +const log = require('../utils/log-shim') +const otplease = require('../utils/otplease.js') +const readPackageName = require('../utils/read-package-name.js') +const BaseCommand = require('../base-command.js') + +class DistTag extends BaseCommand { + static description = 'Modify package distribution tags' + static params = ['workspace', 'workspaces', 'include-workspace-root'] + static name = 'dist-tag' + static usage = [ + 'add @ []', + 'rm ', + 'ls []', + ] + + async completion (opts) { + const argv = opts.conf.argv.remain + if (argv.length === 2) { + return ['add', 'rm', 'ls'] + } + + switch (argv[2]) { + default: + return [] + } + } + + async exec ([cmdName, pkg, tag]) { + const opts = { + ...this.npm.flatOptions, + log, + } + + if (['add', 'a', 'set', 's'].includes(cmdName)) { + return this.add(pkg, tag, opts) + } + + if (['rm', 'r', 'del', 'd', 'remove'].includes(cmdName)) { + return this.remove(pkg, tag, opts) + } + + if (['ls', 'l', 'sl', 'list'].includes(cmdName)) { + return this.list(pkg, opts) + } + + if (!pkg) { + // when only using the pkg name the default behavior + // should be listing the existing tags + return this.list(cmdName, opts) + } else { + throw this.usageError() + } + } + + async execWorkspaces ([cmdName, pkg, tag], filters) { + // cmdName is some form of list + // pkg is one of: + // - unset + // - . + // - .@version + if (['ls', 'l', 'sl', 'list'].includes(cmdName) && (!pkg || pkg === '.' || /^\.@/.test(pkg))) { + return this.listWorkspaces(filters) + } + + // pkg is unset + // cmdName is one of: + // - unset + // - . + // - .@version + if (!pkg && (!cmdName || cmdName === '.' || /^\.@/.test(cmdName))) { + return this.listWorkspaces(filters) + } + + // anything else is just a regular dist-tag command + // so we fallback to the non-workspaces implementation + log.warn('Ignoring workspaces for specified package') + return this.exec([cmdName, pkg, tag]) + } + + async add (spec, tag, opts) { + spec = npa(spec || '') + const version = spec.rawSpec + const defaultTag = tag || this.npm.config.get('tag') + + log.verbose('dist-tag add', defaultTag, 'to', spec.name + '@' + version) + + if (!spec.name || !version || !defaultTag) { + throw this.usageError() + } + + const t = defaultTag.trim() + + if (semver.validRange(t)) { + throw new Error('Tag name must not be a valid SemVer range: ' + t) + } + + const tags = await this.fetchTags(spec, opts) + if (tags[t] === version) { + log.warn('dist-tag add', t, 'is already set to version', version) + return + } + tags[t] = version + const url = + `/-/package/${spec.escapedName}/dist-tags/${encodeURIComponent(t)}` + const reqOpts = { + ...opts, + method: 'PUT', + body: JSON.stringify(version), + headers: { + 'content-type': 'application/json', + }, + spec, + } + await otplease(reqOpts, reqOpts => regFetch(url, reqOpts)) + this.npm.output(`+${t}: ${spec.name}@${version}`) + } + + async remove (spec, tag, opts) { + spec = npa(spec || '') + log.verbose('dist-tag del', tag, 'from', spec.name) + + if (!spec.name) { + throw this.usageError() + } + + const tags = await this.fetchTags(spec, opts) + if (!tags[tag]) { + log.info('dist-tag del', tag, 'is not a dist-tag on', spec.name) + throw new Error(tag + ' is not a dist-tag on ' + spec.name) + } + const version = tags[tag] + delete tags[tag] + const url = + `/-/package/${spec.escapedName}/dist-tags/${encodeURIComponent(tag)}` + const reqOpts = { + ...opts, + method: 'DELETE', + spec, + } + await otplease(reqOpts, reqOpts => regFetch(url, reqOpts)) + this.npm.output(`-${tag}: ${spec.name}@${version}`) + } + + async list (spec, opts) { + if (!spec) { + if (this.npm.config.get('global')) { + throw this.usageError() + } + const pkg = await readPackageName(this.npm.prefix) + if (!pkg) { + throw this.usageError() + } + + return this.list(pkg, opts) + } + spec = npa(spec) + + try { + const tags = await this.fetchTags(spec, opts) + const msg = + Object.keys(tags).map(k => `${k}: ${tags[k]}`).sort().join('\n') + this.npm.output(msg) + return tags + } catch (err) { + log.error('dist-tag ls', "Couldn't get dist-tag data for", spec) + throw err + } + } + + async listWorkspaces (filters) { + await this.setWorkspaces(filters) + + for (const name of this.workspaceNames) { + try { + this.npm.output(`${name}:`) + await this.list(npa(name), this.npm.flatOptions) + } catch (err) { + // set the exitCode directly, but ignore the error + // since it will have already been logged by this.list() + process.exitCode = 1 + } + } + } + + async fetchTags (spec, opts) { + const data = await regFetch.json( + `/-/package/${spec.escapedName}/dist-tags`, + { ...opts, 'prefer-online': true, spec } + ) + if (data && typeof data === 'object') { + delete data._etag + } + if (!data || !Object.keys(data).length) { + throw new Error('No dist-tags found for ' + spec.name) + } + + return data + } +} +module.exports = DistTag diff --git a/node_modules/npm/lib/commands/docs.js b/node_modules/npm/lib/commands/docs.js new file mode 100644 index 0000000..19cd735 --- /dev/null +++ b/node_modules/npm/lib/commands/docs.js @@ -0,0 +1,53 @@ +const pacote = require('pacote') +const openUrl = require('../utils/open-url.js') +const hostedFromMani = require('../utils/hosted-git-info-from-manifest.js') +const log = require('../utils/log-shim') +const BaseCommand = require('../base-command.js') +class Docs extends BaseCommand { + static description = 'Open documentation for a package in a web browser' + static name = 'docs' + static params = [ + 'browser', + 'registry', + 'workspace', + 'workspaces', + 'include-workspace-root', + ] + + static usage = ['[ [ ...]]'] + + async exec (args) { + if (!args || !args.length) { + args = ['.'] + } + + await Promise.all(args.map(pkg => this.getDocs(pkg))) + } + + async execWorkspaces (args, filters) { + await this.setWorkspaces(filters) + return this.exec(this.workspacePaths) + } + + async getDocs (pkg) { + const opts = { ...this.npm.flatOptions, fullMetadata: true } + const mani = await pacote.manifest(pkg, opts) + const url = this.getDocsUrl(mani) + log.silly('docs', 'url', url) + await openUrl(this.npm, url, `${mani.name} docs available at the following URL`) + } + + getDocsUrl (mani) { + if (mani.homepage) { + return mani.homepage + } + + const info = hostedFromMani(mani) + if (info) { + return info.docs() + } + + return 'https://www.npmjs.com/package/' + mani.name + } +} +module.exports = Docs diff --git a/node_modules/npm/lib/commands/doctor.js b/node_modules/npm/lib/commands/doctor.js new file mode 100644 index 0000000..47a522e --- /dev/null +++ b/node_modules/npm/lib/commands/doctor.js @@ -0,0 +1,328 @@ +const cacache = require('cacache') +const chalk = require('chalk') +const fs = require('fs') +const fetch = require('make-fetch-happen') +const table = require('text-table') +const which = require('which') +const pacote = require('pacote') +const { resolve } = require('path') +const semver = require('semver') +const { promisify } = require('util') +const log = require('../utils/log-shim.js') +const ansiTrim = require('../utils/ansi-trim.js') +const isWindows = require('../utils/is-windows.js') +const ping = require('../utils/ping.js') +const { + registry: { default: defaultRegistry }, +} = require('../utils/config/definitions.js') +const lstat = promisify(fs.lstat) +const readdir = promisify(fs.readdir) +const access = promisify(fs.access) +const { R_OK, W_OK, X_OK } = fs.constants +const maskLabel = mask => { + const label = [] + if (mask & R_OK) { + label.push('readable') + } + + if (mask & W_OK) { + label.push('writable') + } + + if (mask & X_OK) { + label.push('executable') + } + + return label.join(', ') +} + +const BaseCommand = require('../base-command.js') +class Doctor extends BaseCommand { + static description = 'Check your npm environment' + static name = 'doctor' + static params = ['registry'] + + async exec (args) { + log.info('Running checkup') + + // each message is [title, ok, message] + const messages = [] + + const actions = [ + ['npm ping', 'checkPing', []], + ['npm -v', 'getLatestNpmVersion', []], + ['node -v', 'getLatestNodejsVersion', []], + ['npm config get registry', 'checkNpmRegistry', []], + ['which git', 'getGitPath', []], + ...(isWindows + ? [] + : [ + ['Perms check on cached files', 'checkFilesPermission', [this.npm.cache, true, R_OK]], + [ + 'Perms check on local node_modules', + 'checkFilesPermission', + [this.npm.localDir, true], + ], + [ + 'Perms check on global node_modules', + 'checkFilesPermission', + [this.npm.globalDir, false], + ], + [ + 'Perms check on local bin folder', + 'checkFilesPermission', + [this.npm.localBin, false, R_OK | W_OK | X_OK], + ], + [ + 'Perms check on global bin folder', + 'checkFilesPermission', + [this.npm.globalBin, false, X_OK], + ], + ]), + ['Verify cache contents', 'verifyCachedFiles', [this.npm.flatOptions.cache]], + // TODO: + // - ensure arborist.loadActual() runs without errors and no invalid edges + // - ensure package-lock.json matches loadActual() + // - verify loadActual without hidden lock file matches hidden lockfile + // - verify all local packages have bins linked + ] + + // Do the actual work + for (const [msg, fn, args] of actions) { + const line = [msg] + try { + line.push(true, await this[fn](...args)) + } catch (er) { + line.push(false, er) + } + messages.push(line) + } + + const outHead = ['Check', 'Value', 'Recommendation/Notes'].map( + !this.npm.color ? h => h : h => chalk.underline(h) + ) + let allOk = true + const outBody = messages.map( + !this.npm.color + ? item => { + allOk = allOk && item[1] + item[1] = item[1] ? 'ok' : 'not ok' + item[2] = String(item[2]) + return item + } + : item => { + allOk = allOk && item[1] + if (!item[1]) { + item[0] = chalk.red(item[0]) + item[2] = chalk.magenta(String(item[2])) + } + item[1] = item[1] ? chalk.green('ok') : chalk.red('not ok') + return item + } + ) + const outTable = [outHead, ...outBody] + const tableOpts = { + stringLength: s => ansiTrim(s).length, + } + + const silent = log.levels[log.level] > log.levels.error + if (!silent) { + this.npm.output(table(outTable, tableOpts)) + if (!allOk) { + console.error('') + } + } + if (!allOk) { + throw new Error('Some problems found. See above for recommendations.') + } + } + + async checkPing () { + const tracker = log.newItem('checkPing', 1) + tracker.info('checkPing', 'Pinging registry') + try { + await ping(this.npm.flatOptions) + return '' + } catch (er) { + if (/^E\d{3}$/.test(er.code || '')) { + throw er.code.substr(1) + ' ' + er.message + } else { + throw er.message + } + } finally { + tracker.finish() + } + } + + async getLatestNpmVersion () { + const tracker = log.newItem('getLatestNpmVersion', 1) + tracker.info('getLatestNpmVersion', 'Getting npm package information') + try { + const latest = (await pacote.manifest('npm@latest', this.npm.flatOptions)).version + if (semver.gte(this.npm.version, latest)) { + return `current: v${this.npm.version}, latest: v${latest}` + } else { + throw `Use npm v${latest}` + } + } finally { + tracker.finish() + } + } + + async getLatestNodejsVersion () { + // XXX get the latest in the current major as well + const current = process.version + const currentRange = `^${current}` + const url = 'https://nodejs.org/dist/index.json' + const tracker = log.newItem('getLatestNodejsVersion', 1) + tracker.info('getLatestNodejsVersion', 'Getting Node.js release information') + try { + const res = await fetch(url, { method: 'GET', ...this.npm.flatOptions }) + const data = await res.json() + let maxCurrent = '0.0.0' + let maxLTS = '0.0.0' + for (const { lts, version } of data) { + if (lts && semver.gt(version, maxLTS)) { + maxLTS = version + } + + if (semver.satisfies(version, currentRange) && semver.gt(version, maxCurrent)) { + maxCurrent = version + } + } + const recommended = semver.gt(maxCurrent, maxLTS) ? maxCurrent : maxLTS + if (semver.gte(process.version, recommended)) { + return `current: ${current}, recommended: ${recommended}` + } else { + throw `Use node ${recommended} (current: ${current})` + } + } finally { + tracker.finish() + } + } + + async checkFilesPermission (root, shouldOwn, mask = null) { + if (mask === null) { + mask = shouldOwn ? R_OK | W_OK : R_OK + } + + let ok = true + + const tracker = log.newItem(root, 1) + + try { + const uid = process.getuid() + const gid = process.getgid() + const files = new Set([root]) + for (const f of files) { + tracker.silly('checkFilesPermission', f.substr(root.length + 1)) + const st = await lstat(f).catch(er => { + ok = false + tracker.warn('checkFilesPermission', 'error getting info for ' + f) + }) + + tracker.completeWork(1) + + if (!st) { + continue + } + + if (shouldOwn && (uid !== st.uid || gid !== st.gid)) { + tracker.warn('checkFilesPermission', 'should be owner of ' + f) + ok = false + } + + if (!st.isDirectory() && !st.isFile()) { + continue + } + + try { + await access(f, mask) + } catch (er) { + ok = false + const msg = `Missing permissions on ${f} (expect: ${maskLabel(mask)})` + tracker.error('checkFilesPermission', msg) + continue + } + + if (st.isDirectory()) { + const entries = await readdir(f).catch(er => { + ok = false + tracker.warn('checkFilesPermission', 'error reading directory ' + f) + return [] + }) + for (const entry of entries) { + files.add(resolve(f, entry)) + } + } + } + } finally { + tracker.finish() + if (!ok) { + throw ( + `Check the permissions of files in ${root}` + + (shouldOwn ? ' (should be owned by current user)' : '') + ) + } else { + return '' + } + } + } + + async getGitPath () { + const tracker = log.newItem('getGitPath', 1) + tracker.info('getGitPath', 'Finding git in your PATH') + try { + return await which('git').catch(er => { + tracker.warn(er) + throw "Install git and ensure it's in your PATH." + }) + } finally { + tracker.finish() + } + } + + async verifyCachedFiles () { + const tracker = log.newItem('verifyCachedFiles', 1) + tracker.info('verifyCachedFiles', 'Verifying the npm cache') + try { + const stats = await cacache.verify(this.npm.flatOptions.cache) + const { badContentCount, reclaimedCount, missingContent, reclaimedSize } = stats + if (badContentCount || reclaimedCount || missingContent) { + if (badContentCount) { + tracker.warn('verifyCachedFiles', `Corrupted content removed: ${badContentCount}`) + } + + if (reclaimedCount) { + tracker.warn( + 'verifyCachedFiles', + `Content garbage-collected: ${reclaimedCount} (${reclaimedSize} bytes)` + ) + } + + if (missingContent) { + tracker.warn('verifyCachedFiles', `Missing content: ${missingContent}`) + } + + tracker.warn('verifyCachedFiles', 'Cache issues have been fixed') + } + tracker.info( + 'verifyCachedFiles', + `Verification complete. Stats: ${JSON.stringify(stats, null, 2)}` + ) + return `verified ${stats.verifiedContent} tarballs` + } finally { + tracker.finish() + } + } + + async checkNpmRegistry () { + if (this.npm.flatOptions.registry !== defaultRegistry) { + throw `Try \`npm config set registry=${defaultRegistry}\`` + } else { + return `using default registry (${defaultRegistry})` + } + } +} + +module.exports = Doctor diff --git a/node_modules/npm/lib/commands/edit.js b/node_modules/npm/lib/commands/edit.js new file mode 100644 index 0000000..5f069c4 --- /dev/null +++ b/node_modules/npm/lib/commands/edit.js @@ -0,0 +1,49 @@ +// npm edit +// open the package folder in the $EDITOR + +const { resolve } = require('path') +const fs = require('graceful-fs') +const { spawn } = require('child_process') +const splitPackageNames = require('../utils/split-package-names.js') +const completion = require('../utils/completion/installed-shallow.js') +const BaseCommand = require('../base-command.js') + +class Edit extends BaseCommand { + static description = 'Edit an installed package' + static name = 'edit' + static usage = ['[/...]'] + static params = ['editor'] + + // TODO + /* istanbul ignore next */ + async completion (opts) { + return completion(this.npm, opts) + } + + async exec (args) { + if (args.length !== 1) { + throw this.usageError() + } + + const path = splitPackageNames(args[0]) + const dir = resolve(this.npm.dir, path) + + // graceful-fs does not promisify + await new Promise((resolve, reject) => { + fs.lstat(dir, (err) => { + if (err) { + return reject(err) + } + const [bin, ...args] = this.npm.config.get('editor').split(/\s+/) + const editor = spawn(bin, [...args, dir], { stdio: 'inherit' }) + editor.on('exit', (code) => { + if (code) { + return reject(new Error(`editor process exited with code: ${code}`)) + } + this.npm.exec('rebuild', [dir]).catch(reject).then(resolve) + }) + }) + }) + } +} +module.exports = Edit diff --git a/node_modules/npm/lib/commands/exec.js b/node_modules/npm/lib/commands/exec.js new file mode 100644 index 0000000..61a6d96 --- /dev/null +++ b/node_modules/npm/lib/commands/exec.js @@ -0,0 +1,102 @@ +const libexec = require('libnpmexec') +const BaseCommand = require('../base-command.js') +const getLocationMsg = require('../exec/get-workspace-location-msg.js') +const log = require('../utils/log-shim') + +// it's like this: +// +// npm x pkg@version <-- runs the bin named "pkg" or the only bin if only 1 +// +// { name: 'pkg', bin: { pkg: 'pkg.js', foo: 'foo.js' }} <-- run pkg +// { name: 'pkg', bin: { foo: 'foo.js' }} <-- run foo? +// +// npm x -p pkg@version -- foo +// +// npm x -p pkg@version -- foo --registry=/dev/null +// +// const pkg = npm.config.get('package') || getPackageFrom(args[0]) +// const cmd = getCommand(pkg, args[0]) +// --> npm x -c 'cmd ...args.slice(1)' +// +// we've resolved cmd and args, and escaped them properly, and installed the +// relevant packages. +// +// Add the ${npx install prefix}/node_modules/.bin to PATH +// +// pkg = readPackageJson('./package.json') +// pkg.scripts.___npx = ${the -c arg} +// runScript({ pkg, event: 'npx', ... }) +// process.env.npm_lifecycle_event = 'npx' + +class Exec extends BaseCommand { + static description = 'Run a command from a local or remote npm package' + static params = [ + 'package', + 'call', + 'workspace', + 'workspaces', + 'include-workspace-root', + ] + + static name = 'exec' + static usage = [ + '-- [@] [args...]', + '--package=[@] -- [args...]', + '-c \' [args...]\'', + '--package=foo -c \' [args...]\'', + ] + + async exec (_args, { locationMsg, path, runPath } = {}) { + if (!path) { + path = this.npm.localPrefix + } + + if (!runPath) { + runPath = process.cwd() + } + + const args = [..._args] + const call = this.npm.config.get('call') + const { + flatOptions, + localBin, + globalBin, + } = this.npm + const output = (...outputArgs) => this.npm.output(...outputArgs) + const scriptShell = this.npm.config.get('script-shell') || undefined + const packages = this.npm.config.get('package') + const yes = this.npm.config.get('yes') + + if (call && _args.length) { + throw this.usageError() + } + + return libexec({ + ...flatOptions, + args, + call, + localBin, + locationMsg, + log, + globalBin, + output, + packages, + path, + runPath, + scriptShell, + yes, + }) + } + + async execWorkspaces (args, filters) { + await this.setWorkspaces(filters) + const color = this.npm.color + + for (const path of this.workspacePaths) { + const locationMsg = await getLocationMsg({ color, path }) + await this.exec(args, { locationMsg, path, runPath: path }) + } + } +} + +module.exports = Exec diff --git a/node_modules/npm/lib/commands/explain.js b/node_modules/npm/lib/commands/explain.js new file mode 100644 index 0000000..fd62b87 --- /dev/null +++ b/node_modules/npm/lib/commands/explain.js @@ -0,0 +1,125 @@ +const { explainNode } = require('../utils/explain-dep.js') +const completion = require('../utils/completion/installed-deep.js') +const Arborist = require('@npmcli/arborist') +const npa = require('npm-package-arg') +const semver = require('semver') +const { relative, resolve } = require('path') +const validName = require('validate-npm-package-name') +const ArboristWorkspaceCmd = require('../arborist-cmd.js') + +class Explain extends ArboristWorkspaceCmd { + static description = 'Explain installed packages' + static name = 'explain' + static usage = [''] + static params = [ + 'json', + 'workspace', + ] + + // TODO + /* istanbul ignore next */ + async completion (opts) { + return completion(this.npm, opts) + } + + async exec (args) { + if (!args.length) { + throw this.usageError() + } + + const arb = new Arborist({ path: this.npm.prefix, ...this.npm.flatOptions }) + const tree = await arb.loadActual() + + if (this.npm.flatOptions.workspacesEnabled + && this.workspaceNames + && this.workspaceNames.length + ) { + this.filterSet = arb.workspaceDependencySet(tree, this.workspaceNames) + } else if (!this.npm.flatOptions.workspacesEnabled) { + this.filterSet = + arb.excludeWorkspacesDependencySet(tree) + } + + const nodes = new Set() + for (const arg of args) { + for (const node of this.getNodes(tree, arg)) { + const filteredOut = this.filterSet + && this.filterSet.size > 0 + && !this.filterSet.has(node) + if (!filteredOut) { + nodes.add(node) + } + } + } + if (nodes.size === 0) { + throw new Error(`No dependencies found matching ${args.join(', ')}`) + } + + const expls = [] + for (const node of nodes) { + const { extraneous, dev, optional, devOptional, peer, inBundle } = node + const expl = node.explain() + if (extraneous) { + expl.extraneous = true + } else { + expl.dev = dev + expl.optional = optional + expl.devOptional = devOptional + expl.peer = peer + expl.bundled = inBundle + } + expls.push(expl) + } + + if (this.npm.flatOptions.json) { + this.npm.output(JSON.stringify(expls, null, 2)) + } else { + this.npm.output(expls.map(expl => { + return explainNode(expl, Infinity, this.npm.color) + }).join('\n\n')) + } + } + + getNodes (tree, arg) { + // if it's just a name, return packages by that name + const { validForOldPackages: valid } = validName(arg) + if (valid) { + return tree.inventory.query('packageName', arg) + } + + // if it's a location, get that node + const maybeLoc = arg.replace(/\\/g, '/').replace(/\/+$/, '') + const nodeByLoc = tree.inventory.get(maybeLoc) + if (nodeByLoc) { + return [nodeByLoc] + } + + // maybe a path to a node_modules folder + const maybePath = relative(this.npm.prefix, resolve(maybeLoc)) + .replace(/\\/g, '/').replace(/\/+$/, '') + const nodeByPath = tree.inventory.get(maybePath) + if (nodeByPath) { + return [nodeByPath] + } + + // otherwise, try to select all matching nodes + try { + return this.getNodesByVersion(tree, arg) + } catch (er) { + return [] + } + } + + getNodesByVersion (tree, arg) { + const spec = npa(arg, this.npm.prefix) + if (spec.type !== 'version' && spec.type !== 'range') { + return [] + } + + return tree.inventory.filter(node => { + return node.package.name === spec.name && + semver.satisfies(node.package.version, spec.rawSpec) + }) + } +} +module.exports = Explain diff --git a/node_modules/npm/lib/commands/explore.js b/node_modules/npm/lib/commands/explore.js new file mode 100644 index 0000000..90e6af6 --- /dev/null +++ b/node_modules/npm/lib/commands/explore.js @@ -0,0 +1,79 @@ +// npm explore [@] +// open a subshell to the package folder. + +const rpj = require('read-package-json-fast') +const runScript = require('@npmcli/run-script') +const { join, resolve, relative } = require('path') +const log = require('../utils/log-shim.js') +const completion = require('../utils/completion/installed-shallow.js') +const BaseCommand = require('../base-command.js') + +class Explore extends BaseCommand { + static description = 'Browse an installed package' + static name = 'explore' + static usage = [' [ -- ]'] + static params = ['shell'] + + // TODO + /* istanbul ignore next */ + async completion (opts) { + return completion(this.npm, opts) + } + + async exec (args) { + if (args.length < 1 || !args[0]) { + throw this.usageError() + } + + const pkgname = args.shift() + + // detect and prevent any .. shenanigans + const path = join(this.npm.dir, join('/', pkgname)) + if (relative(path, this.npm.dir) === '') { + throw this.usageError() + } + + // run as if running a script named '_explore', which we set to either + // the set of arguments, or the shell config, and let @npmcli/run-script + // handle all the escaping and PATH setup stuff. + + const pkg = await rpj(resolve(path, 'package.json')).catch(er => { + log.error('explore', `It doesn't look like ${pkgname} is installed.`) + throw er + }) + + const { shell } = this.npm.flatOptions + pkg.scripts = { + ...(pkg.scripts || {}), + _explore: args.join(' ').trim() || shell, + } + + if (!args.length) { + this.npm.output(`\nExploring ${path}\nType 'exit' or ^D when finished\n`) + } + log.disableProgress() + try { + return await runScript({ + ...this.npm.flatOptions, + pkg, + banner: false, + path, + stdioString: true, + event: '_explore', + stdio: 'inherit', + }).catch(er => { + process.exitCode = typeof er.code === 'number' && er.code !== 0 ? er.code + : 1 + // if it's not an exit error, or non-interactive, throw it + const isProcExit = er.message === 'command failed' && + (typeof er.code === 'number' || /^SIG/.test(er.signal || '')) + if (args.length || !isProcExit) { + throw er + } + }) + } finally { + log.enableProgress() + } + } +} +module.exports = Explore diff --git a/node_modules/npm/lib/commands/find-dupes.js b/node_modules/npm/lib/commands/find-dupes.js new file mode 100644 index 0000000..a9de241 --- /dev/null +++ b/node_modules/npm/lib/commands/find-dupes.js @@ -0,0 +1,25 @@ +// dedupe duplicated packages, or find them in the tree +const ArboristWorkspaceCmd = require('../arborist-cmd.js') + +class FindDupes extends ArboristWorkspaceCmd { + static description = 'Find duplication in the package tree' + static name = 'find-dupes' + static params = [ + 'global-style', + 'legacy-bundling', + 'strict-peer-deps', + 'package-lock', + 'omit', + 'ignore-scripts', + 'audit', + 'bin-links', + 'fund', + ...super.params, + ] + + async exec (args, cb) { + this.npm.config.set('dry-run', true) + return this.npm.exec('dedupe', []) + } +} +module.exports = FindDupes diff --git a/node_modules/npm/lib/commands/fund.js b/node_modules/npm/lib/commands/fund.js new file mode 100644 index 0000000..47a51c3 --- /dev/null +++ b/node_modules/npm/lib/commands/fund.js @@ -0,0 +1,211 @@ +const archy = require('archy') +const Arborist = require('@npmcli/arborist') +const chalk = require('chalk') +const pacote = require('pacote') +const semver = require('semver') +const npa = require('npm-package-arg') +const { depth } = require('treeverse') +const log = require('../utils/log-shim.js') +const { readTree: getFundingInfo, normalizeFunding, isValidFunding } = require('libnpmfund') + +const completion = require('../utils/completion/installed-deep.js') +const openUrl = require('../utils/open-url.js') +const ArboristWorkspaceCmd = require('../arborist-cmd.js') + +const getPrintableName = ({ name, version }) => { + const printableVersion = version ? `@${version}` : '' + return `${name}${printableVersion}` +} + +class Fund extends ArboristWorkspaceCmd { + static description = 'Retrieve funding information' + static name = 'fund' + static params = ['json', 'browser', 'unicode', 'workspace', 'which'] + static usage = ['[[<@scope>/]]'] + + // TODO + /* istanbul ignore next */ + async completion (opts) { + return completion(this.npm, opts) + } + + async exec (args) { + const spec = args[0] + const numberArg = this.npm.config.get('which') + + const fundingSourceNumber = numberArg && parseInt(numberArg, 10) + + const badFundingSourceNumber = + numberArg !== null && (String(fundingSourceNumber) !== numberArg || fundingSourceNumber < 1) + + if (badFundingSourceNumber) { + const err = new Error( + '`npm fund [<@scope>/] [--which=fundingSourceNumber]` must be given a positive integer' + ) + err.code = 'EFUNDNUMBER' + throw err + } + + if (this.npm.config.get('global')) { + const err = new Error('`npm fund` does not support global packages') + err.code = 'EFUNDGLOBAL' + throw err + } + + const where = this.npm.prefix + const arb = new Arborist({ ...this.npm.flatOptions, path: where }) + const tree = await arb.loadActual() + + if (spec) { + await this.openFundingUrl({ + path: where, + tree, + spec, + fundingSourceNumber, + }) + return + } + + // TODO: add !workspacesEnabled option handling to libnpmfund + const fundingInfo = getFundingInfo(tree, { + ...this.flatOptions, + log, + workspaces: this.workspaceNames, + }) + + if (this.npm.config.get('json')) { + this.npm.output(this.printJSON(fundingInfo)) + } else { + this.npm.output(this.printHuman(fundingInfo)) + } + } + + printJSON (fundingInfo) { + return JSON.stringify(fundingInfo, null, 2) + } + + printHuman (fundingInfo) { + const color = this.npm.color + const unicode = this.npm.config.get('unicode') + const seenUrls = new Map() + + const tree = obj => archy(obj, '', { unicode }) + + const result = depth({ + tree: fundingInfo, + + // composes human readable package name + // and creates a new archy item for readable output + visit: ({ name, version, funding }) => { + const [fundingSource] = [].concat(normalizeFunding(funding)).filter(isValidFunding) + const { url } = fundingSource || {} + const pkgRef = getPrintableName({ name, version }) + let item = { + label: pkgRef, + } + + if (url) { + item.label = tree({ + label: color ? chalk.bgBlack.white(url) : url, + nodes: [pkgRef], + }).trim() + + // stacks all packages together under the same item + if (seenUrls.has(url)) { + item = seenUrls.get(url) + item.label += `, ${pkgRef}` + return null + } else { + seenUrls.set(url, item) + } + } + + return item + }, + + // puts child nodes back into returned archy + // output while also filtering out missing items + leave: (item, children) => { + if (item) { + item.nodes = children.filter(Boolean) + } + + return item + }, + + // turns tree-like object return by libnpmfund + // into children to be properly read by treeverse + getChildren: node => + Object.keys(node.dependencies || {}).map(key => ({ + name: key, + ...node.dependencies[key], + })), + }) + + const res = tree(result) + return color ? chalk.reset(res) : res + } + + async openFundingUrl ({ path, tree, spec, fundingSourceNumber }) { + const arg = npa(spec, path) + const retrievePackageMetadata = () => { + if (arg.type === 'directory') { + if (tree.path === arg.fetchSpec) { + // matches cwd, e.g: npm fund . + return tree.package + } else { + // matches any file path within current arborist inventory + for (const item of tree.inventory.values()) { + if (item.path === arg.fetchSpec) { + return item.package + } + } + } + } else { + // tries to retrieve a package from arborist inventory + // by matching resulted package name from the provided spec + const [item] = [...tree.inventory.query('name', arg.name)] + .filter(i => semver.valid(i.package.version)) + .sort((a, b) => semver.rcompare(a.package.version, b.package.version)) + + if (item) { + return item.package + } + } + } + + const { funding } = + retrievePackageMetadata() || + (await pacote.manifest(arg, this.npm.flatOptions).catch(() => ({}))) + + const validSources = [].concat(normalizeFunding(funding)).filter(isValidFunding) + + const matchesValidSource = + validSources.length === 1 || + (fundingSourceNumber > 0 && fundingSourceNumber <= validSources.length) + + if (matchesValidSource) { + const index = fundingSourceNumber ? fundingSourceNumber - 1 : 0 + const { type, url } = validSources[index] + const typePrefix = type ? `${type} funding` : 'Funding' + const msg = `${typePrefix} available at the following URL` + return openUrl(this.npm, url, msg) + } else if (validSources.length && !(fundingSourceNumber >= 1)) { + validSources.forEach(({ type, url }, i) => { + const typePrefix = type ? `${type} funding` : 'Funding' + const msg = `${typePrefix} available at the following URL` + this.npm.output(`${i + 1}: ${msg}: ${url}`) + }) + this.npm.output( + /* eslint-disable-next-line max-len */ + 'Run `npm fund [<@scope>/] --which=1`, for example, to open the first funding URL listed in that package' + ) + } else { + const noFundingError = new Error(`No valid funding method available for: ${spec}`) + noFundingError.code = 'ENOFUND' + + throw noFundingError + } + } +} +module.exports = Fund diff --git a/node_modules/npm/lib/commands/get.js b/node_modules/npm/lib/commands/get.js new file mode 100644 index 0000000..7583ade --- /dev/null +++ b/node_modules/npm/lib/commands/get.js @@ -0,0 +1,19 @@ +const BaseCommand = require('../base-command.js') + +class Get extends BaseCommand { + static description = 'Get a value from the npm configuration' + static name = 'get' + static usage = ['[ ...] (See `npm config`)'] + + // TODO + /* istanbul ignore next */ + async completion (opts) { + const config = await this.npm.cmd('config') + return config.completion(opts) + } + + async exec (args) { + return this.npm.exec('config', ['get'].concat(args)) + } +} +module.exports = Get diff --git a/node_modules/npm/lib/commands/help-search.js b/node_modules/npm/lib/commands/help-search.js new file mode 100644 index 0000000..6025a6d --- /dev/null +++ b/node_modules/npm/lib/commands/help-search.js @@ -0,0 +1,197 @@ +const fs = require('fs') +const path = require('path') +const color = require('ansicolors') +const { promisify } = require('util') +const glob = promisify(require('glob')) +const readFile = promisify(fs.readFile) +const BaseCommand = require('../base-command.js') + +class HelpSearch extends BaseCommand { + static description = 'Search npm help documentation' + static name = 'help-search' + static usage = [''] + static params = ['long'] + + async exec (args) { + if (!args.length) { + throw this.usageError() + } + + const docPath = path.resolve(__dirname, '..', '..', 'docs/content') + const files = await glob(`${docPath}/*/*.md`) + const data = await this.readFiles(files) + const results = await this.searchFiles(args, data, files) + const formatted = this.formatResults(args, results) + if (!formatted.trim()) { + this.npm.output(`No matches in help for: ${args.join(' ')}\n`) + } else { + this.npm.output(formatted) + } + } + + async readFiles (files) { + const res = {} + await Promise.all(files.map(async file => { + res[file] = (await readFile(file, 'utf8')) + .replace(/^---\n(.*\n)*?---\n/, '').trim() + })) + return res + } + + async searchFiles (args, data, files) { + const results = [] + for (const [file, content] of Object.entries(data)) { + const lowerCase = content.toLowerCase() + // skip if no matches at all + if (!args.some(a => lowerCase.includes(a.toLowerCase()))) { + continue + } + + const lines = content.split(/\n+/) + + // if a line has a search term, then skip it and the next line. + // if the next line has a search term, then skip all 3 + // otherwise, set the line to null. then remove the nulls. + for (let i = 0; i < lines.length; i++) { + const line = lines[i] + const nextLine = lines[i + 1] + let match = false + if (nextLine) { + match = args.some(a => + nextLine.toLowerCase().includes(a.toLowerCase())) + if (match) { + // skip over the next line, and the line after it. + i += 2 + continue + } + } + + match = args.some(a => line.toLowerCase().includes(a.toLowerCase())) + + if (match) { + // skip over the next line + i++ + continue + } + + lines[i] = null + } + + // now squish any string of nulls into a single null + const pruned = lines.reduce((l, r) => { + if (!(r === null && l[l.length - 1] === null)) { + l.push(r) + } + + return l + }, []) + + if (pruned[pruned.length - 1] === null) { + pruned.pop() + } + + if (pruned[0] === null) { + pruned.shift() + } + + // now count how many args were found + const found = {} + let totalHits = 0 + for (const line of pruned) { + for (const arg of args) { + const hit = (line || '').toLowerCase() + .split(arg.toLowerCase()).length - 1 + + if (hit > 0) { + found[arg] = (found[arg] || 0) + hit + totalHits += hit + } + } + } + + const cmd = 'npm help ' + + path.basename(file, '.md').replace(/^npm-/, '') + results.push({ + file, + cmd, + lines: pruned, + found: Object.keys(found), + hits: found, + totalHits, + }) + } + + // sort results by number of results found, then by number of hits + // then by number of matching lines + + // coverage is ignored here because the contents of results are + // nondeterministic due to either glob or readFiles or Object.entries + return results.sort(/* istanbul ignore next */ (a, b) => + a.found.length > b.found.length ? -1 + : a.found.length < b.found.length ? 1 + : a.totalHits > b.totalHits ? -1 + : a.totalHits < b.totalHits ? 1 + : a.lines.length > b.lines.length ? -1 + : a.lines.length < b.lines.length ? 1 + : 0).slice(0, 10) + } + + formatResults (args, results) { + const cols = Math.min(process.stdout.columns || Infinity, 80) + 1 + + const out = results.map(res => { + const out = [res.cmd] + const r = Object.keys(res.hits) + .map(k => `${k}:${res.hits[k]}`) + .sort((a, b) => a > b ? 1 : -1) + .join(' ') + + out.push(' '.repeat((Math.max(1, cols - out.join(' ').length - r.length - 1)))) + out.push(r) + + if (!this.npm.config.get('long')) { + return out.join('') + } + + out.unshift('\n\n') + out.push('\n') + out.push('-'.repeat(cols - 1) + '\n') + res.lines.forEach((line, i) => { + if (line === null || i > 3) { + return + } + + if (!this.npm.color) { + out.push(line + '\n') + return + } + const hilitLine = [] + for (const arg of args) { + const finder = line.toLowerCase().split(arg.toLowerCase()) + let p = 0 + for (const f of finder) { + hilitLine.push(line.substr(p, f.length)) + const word = line.substr(p + f.length, arg.length) + const hilit = color.bgBlack(color.red(word)) + hilitLine.push(hilit) + p += f.length + arg.length + } + } + out.push(hilitLine.join('') + '\n') + }) + + return out.join('') + }).join('\n') + + const finalOut = results.length && !this.npm.config.get('long') + ? 'Top hits for ' + (args.map(JSON.stringify).join(' ')) + '\n' + + '—'.repeat(cols - 1) + '\n' + + out + '\n' + + '—'.repeat(cols - 1) + '\n' + + '(run with -l or --long to see more context)' + : out + + return finalOut.trim() + } +} +module.exports = HelpSearch diff --git a/node_modules/npm/lib/commands/help.js b/node_modules/npm/lib/commands/help.js new file mode 100644 index 0000000..f94178d --- /dev/null +++ b/node_modules/npm/lib/commands/help.js @@ -0,0 +1,146 @@ +const { spawn } = require('child_process') +const path = require('path') +const openUrl = require('../utils/open-url.js') +const { promisify } = require('util') +const glob = promisify(require('glob')) +const localeCompare = require('@isaacs/string-locale-compare')('en') + +const BaseCommand = require('../base-command.js') + +// Strips out the number from foo.7 or foo.7. or foo.7.tgz +// We don't currently compress our man pages but if we ever did this would +// seemlessly continue supporting it +const manNumberRegex = /\.(\d+)(\.[^/\\]*)?$/ + +class Help extends BaseCommand { + static description = 'Get help on npm' + static name = 'help' + static usage = [' []'] + static params = ['viewer'] + + async completion (opts) { + if (opts.conf.argv.remain.length > 2) { + return [] + } + const g = path.resolve(__dirname, '../../man/man[0-9]/*.[0-9]') + const files = await glob(g) + + return Object.keys(files.reduce(function (acc, file) { + file = path.basename(file).replace(/\.[0-9]+$/, '') + file = file.replace(/^npm-/, '') + acc[file] = true + return acc + }, { help: true })) + } + + async exec (args) { + // By default we search all of our man subdirectories, but if the user has + // asked for a specific one we limit the search to just there + let manSearch = 'man*' + if (/^\d+$/.test(args[0])) { + manSearch = `man${args.shift()}` + } + + if (!args.length) { + return this.npm.output(await this.npm.usage) + } + + // npm help foo bar baz: search topics + if (args.length > 1) { + return this.helpSearch(args) + } + + let section = this.npm.deref(args[0]) || args[0] + + // support `npm help package.json` + section = section.replace('.json', '-json') + + const manroot = path.resolve(__dirname, '..', '..', 'man') + // find either section.n or npm-section.n + const f = `${manroot}/${manSearch}/?(npm-)${section}.[0-9]*` + let mans = await glob(f) + mans = mans.sort((a, b) => { + // Because of the glob we know the manNumberRegex will pass + const aManNumber = a.match(manNumberRegex)[1] + const bManNumber = b.match(manNumberRegex)[1] + + // man number sort first so that 1 aka commands are preferred + if (aManNumber !== bManNumber) { + return aManNumber - bManNumber + } + + return localeCompare(a, b) + }) + const man = mans[0] + + if (man) { + await this.viewMan(man) + } else { + return this.helpSearch(args) + } + } + + helpSearch (args) { + return this.npm.exec('help-search', args) + } + + async viewMan (man) { + const env = {} + Object.keys(process.env).forEach(function (i) { + env[i] = process.env[i] + }) + const viewer = this.npm.config.get('viewer') + + const opts = { + env, + stdio: 'inherit', + } + + let bin = 'man' + const args = [] + switch (viewer) { + case 'woman': + bin = 'emacsclient' + args.push('-e', `(woman-find-file '${man}')`) + break + + case 'browser': + await openUrl(this.npm, this.htmlMan(man), 'help available at the following URL', true) + return + + default: + args.push(man) + break + } + + const proc = spawn(bin, args, opts) + return new Promise((resolve, reject) => { + proc.on('exit', (code) => { + if (code) { + return reject(new Error(`help process exited with code: ${code}`)) + } + + return resolve() + }) + }) + } + + // Returns the path to the html version of the man page + htmlMan (man) { + let sect = man.match(manNumberRegex)[1] + const f = path.basename(man).replace(manNumberRegex, '') + switch (sect) { + case '1': + sect = 'commands' + break + case '5': + sect = 'configuring-npm' + break + case '7': + sect = 'using-npm' + break + } + return 'file:///' + path.resolve(__dirname, '..', '..', 'docs', 'output', sect, f + '.html') + } +} +module.exports = Help diff --git a/node_modules/npm/lib/commands/hook.js b/node_modules/npm/lib/commands/hook.js new file mode 100644 index 0000000..c99a995 --- /dev/null +++ b/node_modules/npm/lib/commands/hook.js @@ -0,0 +1,138 @@ +const hookApi = require('libnpmhook') +const otplease = require('../utils/otplease.js') +const relativeDate = require('tiny-relative-date') +const Table = require('cli-table3') +const log = require('../utils/log-shim.js') + +const BaseCommand = require('../base-command.js') +class Hook extends BaseCommand { + static description = 'Manage registry hooks' + static name = 'hook' + static params = [ + 'registry', + 'otp', + ] + + static usage = [ + 'add [--type=]', + 'ls [pkg]', + 'rm ', + 'update ', + ] + + async exec (args) { + return otplease({ + ...this.npm.flatOptions, + log, + }, (opts) => { + switch (args[0]) { + case 'add': + return this.add(args[1], args[2], args[3], opts) + case 'ls': + return this.ls(args[1], opts) + case 'rm': + return this.rm(args[1], opts) + case 'update': + case 'up': + return this.update(args[1], args[2], args[3], opts) + default: + throw this.usageError() + } + }) + } + + async add (pkg, uri, secret, opts) { + const hook = await hookApi.add(pkg, uri, secret, opts) + if (opts.json) { + this.npm.output(JSON.stringify(hook, null, 2)) + } else if (opts.parseable) { + this.npm.output(Object.keys(hook).join('\t')) + this.npm.output(Object.keys(hook).map(k => hook[k]).join('\t')) + } else if (!opts.silent && opts.loglevel !== 'silent') { + this.npm.output(`+ ${this.hookName(hook)} ${ + opts.unicode ? ' ➜ ' : ' -> ' + } ${hook.endpoint}`) + } + } + + async ls (pkg, opts) { + const hooks = await hookApi.ls({ ...opts, package: pkg }) + if (opts.json) { + this.npm.output(JSON.stringify(hooks, null, 2)) + } else if (opts.parseable) { + this.npm.output(Object.keys(hooks[0]).join('\t')) + hooks.forEach(hook => { + this.npm.output(Object.keys(hook).map(k => hook[k]).join('\t')) + }) + } else if (!hooks.length) { + this.npm.output("You don't have any hooks configured yet.") + } else if (!opts.silent && opts.loglevel !== 'silent') { + if (hooks.length === 1) { + this.npm.output('You have one hook configured.') + } else { + this.npm.output(`You have ${hooks.length} hooks configured.`) + } + + const table = new Table({ head: ['id', 'target', 'endpoint'] }) + hooks.forEach((hook) => { + table.push([ + { rowSpan: 2, content: hook.id }, + this.hookName(hook), + hook.endpoint, + ]) + if (hook.last_delivery) { + table.push([ + { + colSpan: 1, + content: `triggered ${relativeDate(hook.last_delivery)}`, + }, + hook.response_code, + ]) + } else { + table.push([{ colSpan: 2, content: 'never triggered' }]) + } + }) + this.npm.output(table.toString()) + } + } + + async rm (id, opts) { + const hook = await hookApi.rm(id, opts) + if (opts.json) { + this.npm.output(JSON.stringify(hook, null, 2)) + } else if (opts.parseable) { + this.npm.output(Object.keys(hook).join('\t')) + this.npm.output(Object.keys(hook).map(k => hook[k]).join('\t')) + } else if (!opts.silent && opts.loglevel !== 'silent') { + this.npm.output(`- ${this.hookName(hook)} ${ + opts.unicode ? ' ✘ ' : ' X ' + } ${hook.endpoint}`) + } + } + + async update (id, uri, secret, opts) { + const hook = await hookApi.update(id, uri, secret, opts) + if (opts.json) { + this.npm.output(JSON.stringify(hook, null, 2)) + } else if (opts.parseable) { + this.npm.output(Object.keys(hook).join('\t')) + this.npm.output(Object.keys(hook).map(k => hook[k]).join('\t')) + } else if (!opts.silent && opts.loglevel !== 'silent') { + this.npm.output(`+ ${this.hookName(hook)} ${ + opts.unicode ? ' ➜ ' : ' -> ' + } ${hook.endpoint}`) + } + } + + hookName (hook) { + let target = hook.name + if (hook.type === 'scope') { + target = '@' + target + } + if (hook.type === 'owner') { + target = '~' + target + } + return target + } +} +module.exports = Hook diff --git a/node_modules/npm/lib/commands/init.js b/node_modules/npm/lib/commands/init.js new file mode 100644 index 0000000..7e8a8f7 --- /dev/null +++ b/node_modules/npm/lib/commands/init.js @@ -0,0 +1,200 @@ +const fs = require('fs') +const { relative, resolve } = require('path') +const mkdirp = require('mkdirp-infer-owner') +const initJson = require('init-package-json') +const npa = require('npm-package-arg') +const rpj = require('read-package-json-fast') +const libexec = require('libnpmexec') +const mapWorkspaces = require('@npmcli/map-workspaces') +const PackageJson = require('@npmcli/package-json') +const log = require('../utils/log-shim.js') + +const getLocationMsg = require('../exec/get-workspace-location-msg.js') +const BaseCommand = require('../base-command.js') + +class Init extends BaseCommand { + static description = 'Create a package.json file' + static params = ['yes', 'force', 'workspace', 'workspaces', 'include-workspace-root'] + static name = 'init' + static usage = [ + '[--force|-f|--yes|-y|--scope]', + '<@scope> (same as `npx <@scope>/create`)', + '[<@scope>/] (same as `npx [<@scope>/]create-`)', + ] + + async exec (args) { + // npm exec style + if (args.length) { + return (await this.execCreate({ args, path: process.cwd() })) + } + + // no args, uses classic init-package-json boilerplate + await this.template() + } + + async execWorkspaces (args, filters) { + // if the root package is uninitiated, take care of it first + if (this.npm.flatOptions.includeWorkspaceRoot) { + await this.exec(args) + } + + // reads package.json for the top-level folder first, by doing this we + // ensure the command throw if no package.json is found before trying + // to create a workspace package.json file or its folders + const pkg = await rpj(resolve(this.npm.localPrefix, 'package.json')) + const wPath = filterArg => resolve(this.npm.localPrefix, filterArg) + + // npm-exec style, runs in the context of each workspace filter + if (args.length) { + for (const filterArg of filters) { + const path = wPath(filterArg) + await mkdirp(path) + await this.execCreate({ args, path }) + await this.setWorkspace({ pkg, workspacePath: path }) + } + return + } + + // no args, uses classic init-package-json boilerplate + for (const filterArg of filters) { + const path = wPath(filterArg) + await mkdirp(path) + await this.template(path) + await this.setWorkspace({ pkg, workspacePath: path }) + } + } + + async execCreate ({ args, path }) { + const [initerName, ...otherArgs] = args + let packageName = initerName + + if (/^@[^/]+$/.test(initerName)) { + packageName = initerName + '/create' + } else { + const req = npa(initerName) + if (req.type === 'git' && req.hosted) { + const { user, project } = req.hosted + packageName = initerName + .replace(user + '/' + project, user + '/create-' + project) + } else if (req.registry) { + packageName = req.name.replace(/^(@[^/]+\/)?/, '$1create-') + if (req.rawSpec) { + packageName += '@' + req.rawSpec + } + } else { + throw Object.assign(new Error( + 'Unrecognized initializer: ' + initerName + + '\nFor more package binary executing power check out `npx`:' + + '\nhttps://www.npmjs.com/package/npx' + ), { code: 'EUNSUPPORTED' }) + } + } + + const newArgs = [packageName, ...otherArgs] + const { color } = this.npm.flatOptions + const { + flatOptions, + localBin, + globalBin, + } = this.npm + // this function is definitely called. But because of coverage map stuff + // it ends up both uncovered, and the coverage report doesn't even mention. + // the tests do assert that some output happens, so we know this line is + // being hit. + /* istanbul ignore next */ + const output = (...outputArgs) => this.npm.output(...outputArgs) + const locationMsg = await getLocationMsg({ color, path }) + const runPath = path + const scriptShell = this.npm.config.get('script-shell') || undefined + const yes = this.npm.config.get('yes') + + await libexec({ + ...flatOptions, + args: newArgs, + color, + localBin, + locationMsg, + log, + globalBin, + output, + path, + runPath, + scriptShell, + yes, + }) + } + + async template (path = process.cwd()) { + log.pause() + log.disableProgress() + + const initFile = this.npm.config.get('init-module') + if (!this.npm.config.get('yes') && !this.npm.config.get('force')) { + this.npm.output([ + 'This utility will walk you through creating a package.json file.', + 'It only covers the most common items, and tries to guess sensible defaults.', + '', + 'See `npm help init` for definitive documentation on these fields', + 'and exactly what they do.', + '', + 'Use `npm install ` afterwards to install a package and', + 'save it as a dependency in the package.json file.', + '', + 'Press ^C at any time to quit.', + ].join('\n')) + } + + // XXX promisify init-package-json + await new Promise((res, rej) => { + initJson(path, initFile, this.npm.config, (er, data) => { + log.resume() + log.enableProgress() + log.silly('package data', data) + if (er && er.message === 'canceled') { + log.warn('init', 'canceled') + return res() + } + if (er) { + rej(er) + } else { + log.info('init', 'written successfully') + res(data) + } + }) + }) + } + + async setWorkspace ({ pkg, workspacePath }) { + const workspaces = await mapWorkspaces({ cwd: this.npm.localPrefix, pkg }) + + // skip setting workspace if current package.json glob already satisfies it + for (const wPath of workspaces.values()) { + if (wPath === workspacePath) { + return + } + } + + // if a create-pkg didn't generate a package.json at the workspace + // folder level, it might not be recognized as a workspace by + // mapWorkspaces, so we're just going to avoid touching the + // top-level package.json + try { + fs.statSync(resolve(workspacePath, 'package.json')) + } catch (err) { + return + } + + const pkgJson = await PackageJson.load(this.npm.localPrefix) + + pkgJson.update({ + workspaces: [ + ...(pkgJson.content.workspaces || []), + relative(this.npm.localPrefix, workspacePath), + ], + }) + + await pkgJson.save() + } +} + +module.exports = Init diff --git a/node_modules/npm/lib/commands/install-ci-test.js b/node_modules/npm/lib/commands/install-ci-test.js new file mode 100644 index 0000000..9977a2e --- /dev/null +++ b/node_modules/npm/lib/commands/install-ci-test.js @@ -0,0 +1,15 @@ +// npm install-ci-test +// Runs `npm ci` and then runs `npm test` + +const CI = require('./ci.js') + +class InstallCITest extends CI { + static description = 'Install a project with a clean slate and run tests' + static name = 'install-ci-test' + + async exec (args, cb) { + await this.npm.exec('ci', args) + return this.npm.exec('test', []) + } +} +module.exports = InstallCITest diff --git a/node_modules/npm/lib/commands/install-test.js b/node_modules/npm/lib/commands/install-test.js new file mode 100644 index 0000000..191d709 --- /dev/null +++ b/node_modules/npm/lib/commands/install-test.js @@ -0,0 +1,15 @@ +// npm install-test +// Runs `npm install` and then runs `npm test` + +const Install = require('./install.js') + +class InstallTest extends Install { + static description = 'Install package(s) and run tests' + static name = 'install-test' + + async exec (args, cb) { + await this.npm.exec('install', args) + return this.npm.exec('test', []) + } +} +module.exports = InstallTest diff --git a/node_modules/npm/lib/commands/install.js b/node_modules/npm/lib/commands/install.js new file mode 100644 index 0000000..a92a5ed --- /dev/null +++ b/node_modules/npm/lib/commands/install.js @@ -0,0 +1,184 @@ +/* eslint-disable camelcase */ +const fs = require('fs') +const util = require('util') +const readdir = util.promisify(fs.readdir) +const reifyFinish = require('../utils/reify-finish.js') +const log = require('../utils/log-shim.js') +const { resolve, join } = require('path') +const Arborist = require('@npmcli/arborist') +const runScript = require('@npmcli/run-script') +const pacote = require('pacote') +const checks = require('npm-install-checks') + +const ArboristWorkspaceCmd = require('../arborist-cmd.js') +class Install extends ArboristWorkspaceCmd { + static description = 'Install a package' + static name = 'install' + static params = [ + 'save', + 'save-exact', + 'global', + 'global-style', + 'legacy-bundling', + 'strict-peer-deps', + 'package-lock', + 'omit', + 'ignore-scripts', + 'audit', + 'bin-links', + 'fund', + 'dry-run', + ...super.params, + ] + + static usage = [ + '[<@scope>/]', + '[<@scope>/]@', + '[<@scope>/]@', + '[<@scope>/]@', + '@npm:', + '', + '', + '', + '', + '/', + ] + + async completion (opts) { + const { partialWord } = opts + // install can complete to a folder with a package.json, or any package. + // if it has a slash, then it's gotta be a folder + // if it starts with https?://, then just give up, because it's a url + if (/^https?:\/\//.test(partialWord)) { + // do not complete to URLs + return [] + } + + if (/\//.test(partialWord)) { + // Complete fully to folder if there is exactly one match and it + // is a folder containing a package.json file. If that is not the + // case we return 0 matches, which will trigger the default bash + // complete. + const lastSlashIdx = partialWord.lastIndexOf('/') + const partialName = partialWord.slice(lastSlashIdx + 1) + const partialPath = partialWord.slice(0, lastSlashIdx) || '/' + + const isDirMatch = async sibling => { + if (sibling.slice(0, partialName.length) !== partialName) { + return false + } + + try { + const contents = await readdir(join(partialPath, sibling)) + const result = (contents.indexOf('package.json') !== -1) + return result + } catch (er) { + return false + } + } + + try { + const siblings = await readdir(partialPath) + const matches = [] + for (const sibling of siblings) { + if (await isDirMatch(sibling)) { + matches.push(sibling) + } + } + if (matches.length === 1) { + return [join(partialPath, matches[0])] + } + // no matches + return [] + } catch (er) { + return [] // invalid dir: no matching + } + } + // Note: there used to be registry completion here, + // but it stopped making sense somewhere around + // 50,000 packages on the registry + } + + async exec (args) { + // the /path/to/node_modules/.. + const globalTop = resolve(this.npm.globalDir, '..') + const ignoreScripts = this.npm.config.get('ignore-scripts') + const isGlobalInstall = this.npm.config.get('global') + const where = isGlobalInstall ? globalTop : this.npm.prefix + const forced = this.npm.config.get('force') + const isDev = this.npm.config.get('dev') + const scriptShell = this.npm.config.get('script-shell') || undefined + + // be very strict about engines when trying to update npm itself + const npmInstall = args.find(arg => arg.startsWith('npm@') || arg === 'npm') + if (isGlobalInstall && npmInstall) { + const npmOptions = this.npm.flatOptions + const npmManifest = await pacote.manifest(npmInstall, npmOptions) + try { + checks.checkEngine(npmManifest, npmManifest.version, process.version) + } catch (e) { + if (forced) { + log.warn( + 'install', + /* eslint-disable-next-line max-len */ + `Forcing global npm install with incompatible version ${npmManifest.version} into node ${process.version}` + ) + } else { + throw e + } + } + } + + // don't try to install the prefix into itself + args = args.filter(a => resolve(a) !== this.npm.prefix) + + // `npm i -g` => "install this package globally" + if (where === globalTop && !args.length) { + args = ['.'] + } + + // TODO: Add warnings for other deprecated flags? or remove this one? + if (isDev) { + log.warn( + 'install', + 'Usage of the `--dev` option is deprecated. Use `--include=dev` instead.' + ) + } + + const opts = { + ...this.npm.flatOptions, + log, + auditLevel: null, + path: where, + add: args, + workspaces: this.workspaceNames, + } + const arb = new Arborist(opts) + await arb.reify(opts) + + if (!args.length && !isGlobalInstall && !ignoreScripts) { + const scripts = [ + 'preinstall', + 'install', + 'postinstall', + 'prepublish', // XXX should we remove this finally?? + 'preprepare', + 'prepare', + 'postprepare', + ] + for (const event of scripts) { + await runScript({ + path: where, + args: [], + scriptShell, + stdio: 'inherit', + stdioString: true, + banner: log.level !== 'silent', + event, + }) + } + } + await reifyFinish(this.npm, arb) + } +} +module.exports = Install diff --git a/node_modules/npm/lib/commands/link.js b/node_modules/npm/lib/commands/link.js new file mode 100644 index 0000000..e8e2c6b --- /dev/null +++ b/node_modules/npm/lib/commands/link.js @@ -0,0 +1,191 @@ +const fs = require('fs') +const util = require('util') +const readdir = util.promisify(fs.readdir) +const { resolve } = require('path') + +const Arborist = require('@npmcli/arborist') +const npa = require('npm-package-arg') +const rpj = require('read-package-json-fast') +const semver = require('semver') +const log = require('../utils/log-shim.js') + +const reifyFinish = require('../utils/reify-finish.js') + +const ArboristWorkspaceCmd = require('../arborist-cmd.js') +class Link extends ArboristWorkspaceCmd { + static description = 'Symlink a package folder' + static name = 'link' + static usage = [ + '(in package dir)', + '[<@scope>/][@]', + ] + + static params = [ + 'save', + 'save-exact', + 'global', + 'global-style', + 'legacy-bundling', + 'strict-peer-deps', + 'package-lock', + 'omit', + 'ignore-scripts', + 'audit', + 'bin-links', + 'fund', + 'dry-run', + ...super.params, + ] + + async completion (opts) { + const dir = this.npm.globalDir + const files = await readdir(dir) + return files.filter(f => !/^[._-]/.test(f)) + } + + async exec (args) { + if (this.npm.config.get('global')) { + throw Object.assign( + new Error( + 'link should never be --global.\n' + + 'Please re-run this command with --local' + ), + { code: 'ELINKGLOBAL' } + ) + } + + // link with no args: symlink the folder to the global location + // link with package arg: symlink the global to the local + args = args.filter(a => resolve(a) !== this.npm.prefix) + return args.length + ? this.linkInstall(args) + : this.linkPkg() + } + + async linkInstall (args) { + // load current packages from the global space, + // and then add symlinks installs locally + const globalTop = resolve(this.npm.globalDir, '..') + const globalOpts = { + ...this.npm.flatOptions, + path: globalTop, + log, + global: true, + prune: false, + } + const globalArb = new Arborist(globalOpts) + + // get only current top-level packages from the global space + const globals = await globalArb.loadActual({ + filter: (node, kid) => + !node.isRoot || args.some(a => npa(a).name === kid), + }) + + // any extra arg that is missing from the current + // global space should be reified there first + const missing = this.missingArgsFromTree(globals, args) + if (missing.length) { + await globalArb.reify({ + ...globalOpts, + add: missing, + }) + } + + // get a list of module names that should be linked in the local prefix + const names = [] + for (const a of args) { + const arg = npa(a) + names.push( + arg.type === 'directory' + ? (await rpj(resolve(arg.fetchSpec, 'package.json'))).name + : arg.name + ) + } + + // npm link should not save=true by default unless you're + // using any of --save-dev or other types + const save = + Boolean( + this.npm.config.find('save') !== 'default' || + this.npm.config.get('save-optional') || + this.npm.config.get('save-peer') || + this.npm.config.get('save-dev') || + this.npm.config.get('save-prod') + ) + + // create a new arborist instance for the local prefix and + // reify all the pending names as symlinks there + const localArb = new Arborist({ + ...this.npm.flatOptions, + prune: false, + log, + path: this.npm.prefix, + save, + }) + await localArb.reify({ + ...this.npm.flatOptions, + prune: false, + path: this.npm.prefix, + log, + add: names.map(l => `file:${resolve(globalTop, 'node_modules', l)}`), + save, + workspaces: this.workspaceNames, + }) + + await reifyFinish(this.npm, localArb) + } + + async linkPkg () { + const wsp = this.workspacePaths + const paths = wsp && wsp.length ? wsp : [this.npm.prefix] + const add = paths.map(path => `file:${path}`) + const globalTop = resolve(this.npm.globalDir, '..') + const arb = new Arborist({ + ...this.npm.flatOptions, + path: globalTop, + log, + global: true, + }) + await arb.reify({ + add, + log, + }) + await reifyFinish(this.npm, arb) + } + + // Returns a list of items that can't be fulfilled by + // things found in the current arborist inventory + missingArgsFromTree (tree, args) { + if (tree.isLink) { + return this.missingArgsFromTree(tree.target, args) + } + + const foundNodes = [] + const missing = args.filter(a => { + const arg = npa(a) + const nodes = tree.children.values() + const argFound = [...nodes].every(node => { + // TODO: write tests for unmatching version specs, this is hard to test + // atm but should be simple once we have a mocked registry again + if (arg.name !== node.name /* istanbul ignore next */ || ( + arg.version && + /* istanbul ignore next */ + !semver.satisfies(node.version, arg.version) + )) { + foundNodes.push(node) + return true + } + }) + return argFound + }) + + // remote nodes from the loaded tree in order + // to avoid dropping them later when reifying + for (const node of foundNodes) { + node.parent = null + } + + return missing + } +} +module.exports = Link diff --git a/node_modules/npm/lib/commands/ll.js b/node_modules/npm/lib/commands/ll.js new file mode 100644 index 0000000..99a144f --- /dev/null +++ b/node_modules/npm/lib/commands/ll.js @@ -0,0 +1,13 @@ +const LS = require('./ls.js') + +class LL extends LS { + static name = 'll' + static usage = ['[[<@scope>/] ...]'] + + async exec (args) { + this.npm.config.set('long', true) + return super.exec(args) + } +} + +module.exports = LL diff --git a/node_modules/npm/lib/commands/logout.js b/node_modules/npm/lib/commands/logout.js new file mode 100644 index 0000000..34fbace --- /dev/null +++ b/node_modules/npm/lib/commands/logout.js @@ -0,0 +1,46 @@ +const getAuth = require('npm-registry-fetch/lib/auth.js') +const npmFetch = require('npm-registry-fetch') +const log = require('../utils/log-shim') +const BaseCommand = require('../base-command.js') + +class Logout extends BaseCommand { + static description = 'Log out of the registry' + static name = 'logout' + static params = [ + 'registry', + 'scope', + ] + + async exec (args) { + const registry = this.npm.config.get('registry') + const scope = this.npm.config.get('scope') + const regRef = scope ? `${scope}:registry` : 'registry' + const reg = this.npm.config.get(regRef) || registry + + const auth = getAuth(reg, this.npm.flatOptions) + + if (auth.token) { + log.verbose('logout', `clearing token for ${reg}`) + await npmFetch(`/-/user/token/${encodeURIComponent(auth.token)}`, { + ...this.npm.flatOptions, + method: 'DELETE', + ignoreBody: true, + log, + }) + } else if (auth.isBasicAuth) { + log.verbose('logout', `clearing user credentials for ${reg}`) + } else { + const msg = `not logged in to ${reg}, so can't log out!` + throw Object.assign(new Error(msg), { code: 'ENEEDAUTH' }) + } + + if (scope) { + this.npm.config.delete(regRef, 'user') + } + + this.npm.config.clearCredentialsByURI(reg) + + await this.npm.config.save('user') + } +} +module.exports = Logout diff --git a/node_modules/npm/lib/commands/ls.js b/node_modules/npm/lib/commands/ls.js new file mode 100644 index 0000000..8c338c0 --- /dev/null +++ b/node_modules/npm/lib/commands/ls.js @@ -0,0 +1,581 @@ +const { resolve, relative, sep } = require('path') +const relativePrefix = `.${sep}` +const { EOL } = require('os') + +const archy = require('archy') +const chalk = require('chalk') +const Arborist = require('@npmcli/arborist') +const { breadth } = require('treeverse') +const npa = require('npm-package-arg') + +const completion = require('../utils/completion/installed-deep.js') + +const _depth = Symbol('depth') +const _dedupe = Symbol('dedupe') +const _filteredBy = Symbol('filteredBy') +const _include = Symbol('include') +const _invalid = Symbol('invalid') +const _name = Symbol('name') +const _missing = Symbol('missing') +const _parent = Symbol('parent') +const _problems = Symbol('problems') +const _required = Symbol('required') +const _type = Symbol('type') +const ArboristWorkspaceCmd = require('../arborist-cmd.js') +const localeCompare = require('@isaacs/string-locale-compare')('en') + +class LS extends ArboristWorkspaceCmd { + static description = 'List installed packages' + static name = 'ls' + static usage = ['[[<@scope>/] ...]'] + static params = [ + 'all', + 'json', + 'long', + 'parseable', + 'global', + 'depth', + 'omit', + 'link', + 'package-lock-only', + 'unicode', + ...super.params, + ] + + // TODO + /* istanbul ignore next */ + async completion (opts) { + return completion(this.npm, opts) + } + + async exec (args) { + const all = this.npm.config.get('all') + const color = this.npm.color + const depth = this.npm.config.get('depth') + const dev = this.npm.config.get('dev') + const development = this.npm.config.get('development') + const global = this.npm.config.get('global') + const json = this.npm.config.get('json') + const link = this.npm.config.get('link') + const long = this.npm.config.get('long') + const only = this.npm.config.get('only') + const parseable = this.npm.config.get('parseable') + const prod = this.npm.config.get('prod') + const production = this.npm.config.get('production') + const unicode = this.npm.config.get('unicode') + const packageLockOnly = this.npm.config.get('package-lock-only') + const workspacesEnabled = this.npm.flatOptions.workspacesEnabled + + const path = global ? resolve(this.npm.globalDir, '..') : this.npm.prefix + + const arb = new Arborist({ + global, + ...this.npm.flatOptions, + legacyPeerDeps: false, + path, + }) + const tree = await this.initTree({ arb, args, packageLockOnly }) + + // filters by workspaces nodes when using -w + // We only have to filter the first layer of edges, so we don't + // explore anything that isn't part of the selected workspace set. + let wsNodes + if (this.workspaceNames && this.workspaceNames.length) { + wsNodes = arb.workspaceNodes(tree, this.workspaceNames) + } + const filterBySelectedWorkspaces = edge => { + if (!workspacesEnabled + && edge.from.isProjectRoot + && edge.to.isWorkspace + ) { + return false + } + + if (!wsNodes || !wsNodes.length) { + return true + } + + if (edge.from.isProjectRoot) { + return edge.to && + edge.to.isWorkspace && + wsNodes.includes(edge.to.target) + } + + return true + } + + const seenItems = new Set() + const seenNodes = new Map() + const problems = new Set() + + // defines special handling of printed depth when filtering with args + const filterDefaultDepth = depth === null ? Infinity : depth + const depthToPrint = (all || args.length) + ? filterDefaultDepth + : (depth || 0) + + // add root node of tree to list of seenNodes + seenNodes.set(tree.path, tree) + + // tree traversal happens here, using treeverse.breadth + const result = await breadth({ + tree, + // recursive method, `node` is going to be the current elem (starting from + // the `tree` obj) that was just visited in the `visit` method below + // `nodeResult` is going to be the returned `item` from `visit` + getChildren (node, nodeResult) { + const seenPaths = new Set() + const workspace = node.isWorkspace + const currentDepth = workspace ? 0 : node[_depth] + const shouldSkipChildren = + !(node instanceof Arborist.Node) || (currentDepth > depthToPrint) + return (shouldSkipChildren) + ? [] + : [...(node.target).edgesOut.values()] + .filter(filterBySelectedWorkspaces) + .filter(filterByEdgesTypes({ + currentDepth, + dev, + development, + link, + prod, + production, + only, + })) + .map(mapEdgesToNodes({ seenPaths })) + .concat(appendExtraneousChildren({ node, seenPaths })) + .sort(sortAlphabetically) + .map(augmentNodesWithMetadata({ + args, + currentDepth, + nodeResult, + seenNodes, + })) + }, + // visit each `node` of the `tree`, returning an `item` - these are + // the elements that will be used to build the final output + visit (node) { + node[_problems] = getProblems(node, { global }) + + const item = json + ? getJsonOutputItem(node, { global, long }) + : parseable + ? null + : getHumanOutputItem(node, { args, color, global, long }) + + // loop through list of node problems to add them to global list + if (node[_include]) { + for (const problem of node[_problems]) { + problems.add(problem) + } + } + + seenItems.add(item) + + // return a promise so we don't blow the stack + return Promise.resolve(item) + }, + }) + + // handle the special case of a broken package.json in the root folder + const [rootError] = tree.errors.filter(e => + e.code === 'EJSONPARSE' && e.path === resolve(path, 'package.json')) + + this.npm.output( + json + ? jsonOutput({ path, problems, result, rootError, seenItems }) + : parseable + ? parseableOutput({ seenNodes, global, long }) + : humanOutput({ color, result, seenItems, unicode }) + ) + + // if filtering items, should exit with error code on no results + if (result && !result[_include] && args.length) { + process.exitCode = 1 + } + + if (rootError) { + throw Object.assign( + new Error('Failed to parse root package.json'), + { code: 'EJSONPARSE' } + ) + } + + const shouldThrow = problems.size && + ![...problems].every(problem => problem.startsWith('extraneous:')) + + if (shouldThrow) { + throw Object.assign( + new Error([...problems].join(EOL)), + { code: 'ELSPROBLEMS' } + ) + } + } + + async initTree ({ arb, args, packageLockOnly }) { + const tree = await ( + packageLockOnly + ? arb.loadVirtual() + : arb.loadActual() + ) + + tree[_include] = args.length === 0 + tree[_depth] = 0 + + return tree + } +} +module.exports = LS + +const isGitNode = (node) => { + if (!node.resolved) { + return + } + + try { + const { type } = npa(node.resolved) + return type === 'git' || type === 'hosted' + } catch (err) { + return false + } +} + +const isOptional = (node) => + node[_type] === 'optional' || node[_type] === 'peerOptional' + +const isExtraneous = (node, { global }) => + node.extraneous && !global + +const getProblems = (node, { global }) => { + const problems = new Set() + + if (node[_missing] && !isOptional(node)) { + problems.add(`missing: ${node.pkgid}, required by ${node[_missing]}`) + } + + if (node[_invalid]) { + problems.add(`invalid: ${node.pkgid} ${node.path}`) + } + + if (isExtraneous(node, { global })) { + problems.add(`extraneous: ${node.pkgid} ${node.path}`) + } + + return problems +} + +// annotates _parent and _include metadata into the resulting +// item obj allowing for filtering out results during output +const augmentItemWithIncludeMetadata = (node, item) => { + item[_parent] = node[_parent] + item[_include] = node[_include] + + // append current item to its parent.nodes which is the + // structure expected by archy in order to print tree + if (node[_include]) { + // includes all ancestors of included node + let p = node[_parent] + while (p) { + p[_include] = true + p = p[_parent] + } + } + + return item +} + +const getHumanOutputItem = (node, { args, color, global, long }) => { + const { pkgid, path } = node + const workspacePkgId = color ? chalk.green(pkgid) : pkgid + let printable = node.isWorkspace ? workspacePkgId : pkgid + + // special formatting for top-level package name + if (node.isRoot) { + const hasNoPackageJson = !Object.keys(node.package).length + if (hasNoPackageJson || global) { + printable = path + } else { + printable += `${long ? EOL : ' '}${path}` + } + } + + const highlightDepName = + color && args.length && node[_filteredBy] + const missingColor = isOptional(node) + ? chalk.yellow.bgBlack + : chalk.red.bgBlack + const missingMsg = `UNMET ${isOptional(node) ? 'OPTIONAL ' : ''}DEPENDENCY` + const targetLocation = node.root + ? relative(node.root.realpath, node.realpath) + : node.targetLocation + const invalid = node[_invalid] + ? `invalid: ${node[_invalid]}` + : '' + const label = + ( + node[_missing] + ? (color ? missingColor(missingMsg) : missingMsg) + ' ' + : '' + ) + + `${highlightDepName ? chalk.yellow.bgBlack(printable) : printable}` + + ( + node[_dedupe] + ? ' ' + (color ? chalk.gray('deduped') : 'deduped') + : '' + ) + + ( + invalid + ? ' ' + (color ? chalk.red.bgBlack(invalid) : invalid) + : '' + ) + + ( + isExtraneous(node, { global }) + ? ' ' + (color ? chalk.green.bgBlack('extraneous') : 'extraneous') + : '' + ) + + (isGitNode(node) ? ` (${node.resolved})` : '') + + (node.isLink ? ` -> ${relativePrefix}${targetLocation}` : '') + + (long ? `${EOL}${node.package.description || ''}` : '') + + return augmentItemWithIncludeMetadata(node, { label, nodes: [] }) +} + +const getJsonOutputItem = (node, { global, long }) => { + const item = {} + + if (node.version) { + item.version = node.version + } + + if (node.resolved) { + item.resolved = node.resolved + } + + item[_name] = node.name + + // special formatting for top-level package name + const hasPackageJson = + node && node.package && Object.keys(node.package).length + if (node.isRoot && hasPackageJson) { + item.name = node.package.name || node.name + } + + if (long && !node[_missing]) { + item.name = item[_name] + const { dependencies, ...packageInfo } = node.package + Object.assign(item, packageInfo) + item.extraneous = false + item.path = node.path + item._dependencies = { + ...node.package.dependencies, + ...node.package.optionalDependencies, + } + item.devDependencies = node.package.devDependencies || {} + item.peerDependencies = node.package.peerDependencies || {} + } + + // augment json output items with extra metadata + if (isExtraneous(node, { global })) { + item.extraneous = true + } + + if (node[_invalid]) { + item.invalid = node[_invalid] + } + + if (node[_missing] && !isOptional(node)) { + item.required = node[_required] + item.missing = true + } + if (node[_include] && node[_problems] && node[_problems].size) { + item.problems = [...node[_problems]] + } + + return augmentItemWithIncludeMetadata(node, item) +} + +const filterByEdgesTypes = ({ + currentDepth, + dev, + development, + link, + prod, + production, + only, +}) => { + // filter deps by type, allows for: `npm ls --dev`, `npm ls --prod`, + // `npm ls --link`, `npm ls --only=dev`, etc + const filterDev = currentDepth === 0 && + (dev || development || /^dev(elopment)?$/.test(only)) + const filterProd = currentDepth === 0 && + (prod || production || /^prod(uction)?$/.test(only)) + const filterLink = currentDepth === 0 && link + + return (edge) => + (filterDev ? edge.dev : true) && + (filterProd ? (!edge.dev && !edge.peer && !edge.peerOptional) : true) && + (filterLink ? (edge.to && edge.to.isLink) : true) +} + +const appendExtraneousChildren = ({ node, seenPaths }) => + // extraneous children are not represented + // in edges out, so here we add them to the list: + [...node.children.values()] + .filter(i => !seenPaths.has(i.path) && i.extraneous) + +const mapEdgesToNodes = ({ seenPaths }) => (edge) => { + let node = edge.to + + // if the edge is linking to a missing node, we go ahead + // and create a new obj that will represent the missing node + if (edge.missing || (edge.optional && !node)) { + const { name, spec } = edge + const pkgid = `${name}@${spec}` + node = { name, pkgid, [_missing]: edge.from.pkgid } + } + + // keeps track of a set of seen paths to avoid the edge case in which a tree + // item would appear twice given that it's a children of an extraneous item, + // so it's marked extraneous but it will ALSO show up in edgesOuts of + // its parent so it ends up as two diff nodes if we don't track it + if (node.path) { + seenPaths.add(node.path) + } + + node[_required] = edge.spec || '*' + node[_type] = edge.type + + if (edge.invalid) { + const spec = JSON.stringify(node[_required]) + const from = edge.from.location || 'the root project' + node[_invalid] = (node[_invalid] ? node[_invalid] + ', ' : '') + + (`${spec} from ${from}`) + } + + return node +} + +const filterByPositionalArgs = (args, { node }) => + args.length > 0 ? args.some( + (spec) => (node.satisfies && node.satisfies(spec)) + ) : true + +const augmentNodesWithMetadata = ({ + args, + currentDepth, + nodeResult, + seenNodes, +}) => (node) => { + // if the original edge was a deduped dep, treeverse will fail to + // revisit that node in tree traversal logic, so we make it so that + // we have a diff obj for deduped nodes: + if (seenNodes.has(node.path)) { + const { realpath, root } = node + const targetLocation = root ? relative(root.realpath, realpath) + : node.targetLocation + node = { + name: node.name, + version: node.version, + pkgid: node.pkgid, + package: node.package, + path: node.path, + isLink: node.isLink, + realpath: node.realpath, + targetLocation, + [_type]: node[_type], + [_invalid]: node[_invalid], + [_missing]: node[_missing], + // if it's missing, it's not deduped, it's just missing + [_dedupe]: !node[_missing], + } + } else { + // keeps track of already seen nodes in order to check for dedupes + seenNodes.set(node.path, node) + } + + // _parent is going to be a ref to a treeverse-visited node (returned from + // getHumanOutputItem, getJsonOutputItem, etc) so that we have an easy + // shortcut to place new nodes in their right place during tree traversal + node[_parent] = nodeResult + // _include is the property that allow us to filter based on position args + // e.g: `npm ls foo`, `npm ls simple-output@2` + // _filteredBy is used to apply extra color info to the item that + // was used in args in order to filter + node[_filteredBy] = node[_include] = + filterByPositionalArgs(args, { node: seenNodes.get(node.path) }) + // _depth keeps track of how many levels deep tree traversal currently is + // so that we can `npm ls --depth=1` + node[_depth] = currentDepth + 1 + + return node +} + +const sortAlphabetically = ({ pkgid: a }, { pkgid: b }) => localeCompare(a, b) + +const humanOutput = ({ color, result, seenItems, unicode }) => { + // we need to traverse the entire tree in order to determine which items + // should be included (since a nested transitive included dep will make it + // so that all its ancestors should be displayed) + // here is where we put items in their expected place for archy output + for (const item of seenItems) { + if (item[_include] && item[_parent]) { + item[_parent].nodes.push(item) + } + } + + if (!result.nodes.length) { + result.nodes = ['(empty)'] + } + + const archyOutput = archy(result, '', { unicode }) + return color ? chalk.reset(archyOutput) : archyOutput +} + +const jsonOutput = ({ path, problems, result, rootError, seenItems }) => { + if (problems.size) { + result.problems = [...problems] + } + + if (rootError) { + result.problems = [ + ...(result.problems || []), + ...[`error in ${path}: Failed to parse root package.json`], + ] + result.invalid = true + } + + // we need to traverse the entire tree in order to determine which items + // should be included (since a nested transitive included dep will make it + // so that all its ancestors should be displayed) + // here is where we put items in their expected place for json output + for (const item of seenItems) { + // append current item to its parent item.dependencies obj in order + // to provide a json object structure that represents the installed tree + if (item[_include] && item[_parent]) { + if (!item[_parent].dependencies) { + item[_parent].dependencies = {} + } + + item[_parent].dependencies[item[_name]] = item + } + } + + return JSON.stringify(result, null, 2) +} + +const parseableOutput = ({ global, long, seenNodes }) => { + let out = '' + for (const node of seenNodes.values()) { + if (node.path && node[_include]) { + out += node.path + if (long) { + out += `:${node.pkgid}` + out += node.path !== node.realpath ? `:${node.realpath}` : '' + out += isExtraneous(node, { global }) ? ':EXTRANEOUS' : '' + out += node[_invalid] ? ':INVALID' : '' + } + out += EOL + } + } + return out.trim() +} diff --git a/node_modules/npm/lib/commands/org.js b/node_modules/npm/lib/commands/org.js new file mode 100644 index 0000000..8985920 --- /dev/null +++ b/node_modules/npm/lib/commands/org.js @@ -0,0 +1,164 @@ +const liborg = require('libnpmorg') +const otplease = require('../utils/otplease.js') +const Table = require('cli-table3') +const BaseCommand = require('../base-command.js') +const log = require('../utils/log-shim.js') + +class Org extends BaseCommand { + static description = 'Manage orgs' + static name = 'org' + static usage = [ + 'set orgname username [developer | admin | owner]', + 'rm orgname username', + 'ls orgname []', + ] + + static params = ['registry', 'otp', 'json', 'parseable'] + + async completion (opts) { + const argv = opts.conf.argv.remain + if (argv.length === 2) { + return ['set', 'rm', 'ls'] + } + + switch (argv[2]) { + case 'ls': + case 'add': + case 'rm': + case 'set': + return [] + default: + throw new Error(argv[2] + ' not recognized') + } + } + + async exec ([cmd, orgname, username, role], cb) { + return otplease({ + ...this.npm.flatOptions, + log, + }, opts => { + switch (cmd) { + case 'add': + case 'set': + return this.set(orgname, username, role, opts) + case 'rm': + return this.rm(orgname, username, opts) + case 'ls': + return this.ls(orgname, username, opts) + default: + throw this.usageError() + } + }) + } + + set (org, user, role, opts) { + role = role || 'developer' + if (!org) { + throw new Error('First argument `orgname` is required.') + } + + if (!user) { + throw new Error('Second argument `username` is required.') + } + + if (!['owner', 'admin', 'developer'].find(x => x === role)) { + throw new Error( + /* eslint-disable-next-line max-len */ + 'Third argument `role` must be one of `owner`, `admin`, or `developer`, with `developer` being the default value if omitted.' + ) + } + + return liborg.set(org, user, role, opts).then(memDeets => { + if (opts.json) { + this.npm.output(JSON.stringify(memDeets, null, 2)) + } else if (opts.parseable) { + this.npm.output(['org', 'orgsize', 'user', 'role'].join('\t')) + this.npm.output( + [memDeets.org.name, memDeets.org.size, memDeets.user, memDeets.role].join('\t') + ) + } else if (!opts.silent && opts.loglevel !== 'silent') { + this.npm.output( + `Added ${memDeets.user} as ${memDeets.role} to ${memDeets.org.name}. You now have ${ + memDeets.org.size + } member${memDeets.org.size === 1 ? '' : 's'} in this org.` + ) + } + + return memDeets + }) + } + + rm (org, user, opts) { + if (!org) { + throw new Error('First argument `orgname` is required.') + } + + if (!user) { + throw new Error('Second argument `username` is required.') + } + + return liborg + .rm(org, user, opts) + .then(() => { + return liborg.ls(org, opts) + }) + .then(roster => { + user = user.replace(/^[~@]?/, '') + org = org.replace(/^[~@]?/, '') + const userCount = Object.keys(roster).length + if (opts.json) { + this.npm.output( + JSON.stringify({ + user, + org, + userCount, + deleted: true, + }) + ) + } else if (opts.parseable) { + this.npm.output(['user', 'org', 'userCount', 'deleted'].join('\t')) + this.npm.output([user, org, userCount, true].join('\t')) + } else if (!opts.silent && opts.loglevel !== 'silent') { + this.npm.output( + `Successfully removed ${user} from ${org}. You now have ${userCount} member${ + userCount === 1 ? '' : 's' + } in this org.` + ) + } + }) + } + + ls (org, user, opts) { + if (!org) { + throw new Error('First argument `orgname` is required.') + } + + return liborg.ls(org, opts).then(roster => { + if (user) { + const newRoster = {} + if (roster[user]) { + newRoster[user] = roster[user] + } + + roster = newRoster + } + if (opts.json) { + this.npm.output(JSON.stringify(roster, null, 2)) + } else if (opts.parseable) { + this.npm.output(['user', 'role'].join('\t')) + Object.keys(roster).forEach(user => { + this.npm.output([user, roster[user]].join('\t')) + }) + } else if (!opts.silent && opts.loglevel !== 'silent') { + const table = new Table({ head: ['user', 'role'] }) + Object.keys(roster) + .sort() + .forEach(user => { + table.push([user, roster[user]]) + }) + this.npm.output(table.toString()) + } + }) + } +} +module.exports = Org diff --git a/node_modules/npm/lib/commands/outdated.js b/node_modules/npm/lib/commands/outdated.js new file mode 100644 index 0000000..0cb5b42 --- /dev/null +++ b/node_modules/npm/lib/commands/outdated.js @@ -0,0 +1,375 @@ +const os = require('os') +const path = require('path') +const pacote = require('pacote') +const table = require('text-table') +const color = require('chalk') +const styles = require('ansistyles') +const npa = require('npm-package-arg') +const pickManifest = require('npm-pick-manifest') +const localeCompare = require('@isaacs/string-locale-compare')('en') + +const Arborist = require('@npmcli/arborist') + +const ansiTrim = require('../utils/ansi-trim.js') +const ArboristWorkspaceCmd = require('../arborist-cmd.js') + +class Outdated extends ArboristWorkspaceCmd { + static description = 'Check for outdated packages' + static name = 'outdated' + static usage = ['[[<@scope>/] ...]'] + static params = [ + 'all', + 'json', + 'long', + 'parseable', + 'global', + 'workspace', + ] + + async exec (args) { + const global = path.resolve(this.npm.globalDir, '..') + const where = this.npm.config.get('global') + ? global + : this.npm.prefix + + const arb = new Arborist({ + ...this.npm.flatOptions, + path: where, + }) + + this.edges = new Set() + this.list = [] + this.tree = await arb.loadActual() + + if (this.workspaceNames && this.workspaceNames.length) { + this.filterSet = + arb.workspaceDependencySet( + this.tree, + this.workspaceNames, + this.npm.flatOptions.includeWorkspaceRoot + ) + } else if (!this.npm.flatOptions.workspacesEnabled) { + this.filterSet = + arb.excludeWorkspacesDependencySet(this.tree) + } + + if (args.length !== 0) { + // specific deps + for (let i = 0; i < args.length; i++) { + const nodes = this.tree.inventory.query('name', args[i]) + this.getEdges(nodes, 'edgesIn') + } + } else { + if (this.npm.config.get('all')) { + // all deps in tree + const nodes = this.tree.inventory.values() + this.getEdges(nodes, 'edgesOut') + } + // top-level deps + this.getEdges() + } + + await Promise.all(Array.from(this.edges).map((edge) => { + return this.getOutdatedInfo(edge) + })) + + // sorts list alphabetically + const outdated = this.list.sort((a, b) => localeCompare(a.name, b.name)) + + if (outdated.length > 0) { + process.exitCode = 1 + } + + // return if no outdated packages + if (outdated.length === 0 && !this.npm.config.get('json')) { + return + } + + // display results + if (this.npm.config.get('json')) { + this.npm.output(this.makeJSON(outdated)) + } else if (this.npm.config.get('parseable')) { + this.npm.output(this.makeParseable(outdated)) + } else { + const outList = outdated.map(x => this.makePretty(x)) + const outHead = ['Package', + 'Current', + 'Wanted', + 'Latest', + 'Location', + 'Depended by', + ] + + if (this.npm.config.get('long')) { + outHead.push('Package Type', 'Homepage') + } + const outTable = [outHead].concat(outList) + + if (this.npm.color) { + outTable[0] = outTable[0].map(heading => styles.underline(heading)) + } + + const tableOpts = { + align: ['l', 'r', 'r', 'r', 'l'], + stringLength: s => ansiTrim(s).length, + } + this.npm.output(table(outTable, tableOpts)) + } + } + + getEdges (nodes, type) { + // when no nodes are provided then it should only read direct deps + // from the root node and its workspaces direct dependencies + if (!nodes) { + this.getEdgesOut(this.tree) + this.getWorkspacesEdges() + return + } + + for (const node of nodes) { + type === 'edgesOut' + ? this.getEdgesOut(node) + : this.getEdgesIn(node) + } + } + + getEdgesIn (node) { + for (const edge of node.edgesIn) { + this.trackEdge(edge) + } + } + + getEdgesOut (node) { + // TODO: normalize usage of edges and avoid looping through nodes here + if (this.npm.config.get('global')) { + for (const child of node.children.values()) { + this.trackEdge(child) + } + } else { + for (const edge of node.edgesOut.values()) { + this.trackEdge(edge) + } + } + } + + trackEdge (edge) { + const filteredOut = + edge.from + && this.filterSet + && this.filterSet.size > 0 + && !this.filterSet.has(edge.from.target) + + if (filteredOut) { + return + } + + this.edges.add(edge) + } + + getWorkspacesEdges (node) { + if (this.npm.config.get('global')) { + return + } + + for (const edge of this.tree.edgesOut.values()) { + const workspace = edge + && edge.to + && edge.to.target + && edge.to.target.isWorkspace + + if (workspace) { + this.getEdgesOut(edge.to.target) + } + } + } + + async getPackument (spec) { + const packument = await pacote.packument(spec, { + ...this.npm.flatOptions, + fullMetadata: this.npm.config.get('long'), + preferOnline: true, + }) + return packument + } + + async getOutdatedInfo (edge) { + let alias = false + try { + alias = npa(edge.spec).subSpec + } catch (err) { + } + const spec = npa(alias ? alias.name : edge.name) + const node = edge.to || edge + const { path, location } = node + const { version: current } = node.package || {} + + const type = edge.optional ? 'optionalDependencies' + : edge.peer ? 'peerDependencies' + : edge.dev ? 'devDependencies' + : 'dependencies' + + for (const omitType of this.npm.config.get('omit')) { + if (node[omitType]) { + return + } + } + + // deps different from prod not currently + // on disk are not included in the output + if (edge.error === 'MISSING' && type !== 'dependencies') { + return + } + + try { + const packument = await this.getPackument(spec) + const expected = alias ? alias.fetchSpec : edge.spec + // if it's not a range, version, or tag, skip it + try { + if (!npa(`${edge.name}@${edge.spec}`).registry) { + return null + } + } catch (err) { + return null + } + const wanted = pickManifest(packument, expected, this.npm.flatOptions) + const latest = pickManifest(packument, '*', this.npm.flatOptions) + + if ( + !current || + current !== wanted.version || + wanted.version !== latest.version + ) { + const dependent = edge.from ? + this.maybeWorkspaceName(edge.from) + : 'global' + + this.list.push({ + name: alias ? edge.spec.replace('npm', edge.name) : edge.name, + path, + type, + current, + location, + wanted: wanted.version, + latest: latest.version, + dependent, + homepage: packument.homepage, + }) + } + } catch (err) { + // silently catch and ignore ETARGET, E403 & + // E404 errors, deps are just skipped + if (!( + err.code === 'ETARGET' || + err.code === 'E403' || + err.code === 'E404') + ) { + throw err + } + } + } + + maybeWorkspaceName (node) { + if (!node.isWorkspace) { + return node.name + } + + const humanOutput = + !this.npm.config.get('json') && !this.npm.config.get('parseable') + + const workspaceName = + humanOutput + ? node.pkgid + : node.name + + return this.npm.color && humanOutput + ? color.green(workspaceName) + : workspaceName + } + + // formatting functions + makePretty (dep) { + const { + current = 'MISSING', + location = '-', + homepage = '', + name, + wanted, + latest, + type, + dependent, + } = dep + + const columns = [name, current, wanted, latest, location, dependent] + + if (this.npm.config.get('long')) { + columns[6] = type + columns[7] = homepage + } + + if (this.npm.color) { + columns[0] = color[current === wanted ? 'yellow' : 'red'](columns[0]) // current + columns[2] = color.green(columns[2]) // wanted + columns[3] = color.magenta(columns[3]) // latest + } + + return columns + } + + // --parseable creates output like this: + // :::: + makeParseable (list) { + return list.map(dep => { + const { + name, + current, + wanted, + latest, + path, + dependent, + type, + homepage, + } = dep + const out = [ + path, + name + '@' + wanted, + current ? (name + '@' + current) : 'MISSING', + name + '@' + latest, + dependent, + ] + if (this.npm.config.get('long')) { + out.push(type, homepage) + } + + return out.join(':') + }).join(os.EOL) + } + + makeJSON (list) { + const out = {} + list.forEach(dep => { + const { + name, + current, + wanted, + latest, + path, + type, + dependent, + homepage, + } = dep + out[name] = { + current, + wanted, + latest, + dependent, + location: path, + } + if (this.npm.config.get('long')) { + out[name].type = type + out[name].homepage = homepage + } + }) + return JSON.stringify(out, null, 2) + } +} +module.exports = Outdated diff --git a/node_modules/npm/lib/commands/owner.js b/node_modules/npm/lib/commands/owner.js new file mode 100644 index 0000000..7b76b7b --- /dev/null +++ b/node_modules/npm/lib/commands/owner.js @@ -0,0 +1,262 @@ +const npa = require('npm-package-arg') +const npmFetch = require('npm-registry-fetch') +const pacote = require('pacote') +const log = require('../utils/log-shim') +const otplease = require('../utils/otplease.js') +const readLocalPkgName = require('../utils/read-package-name.js') +const BaseCommand = require('../base-command.js') + +class Owner extends BaseCommand { + static description = 'Manage package owners' + static name = 'owner' + static params = [ + 'registry', + 'otp', + ] + + static usage = [ + 'add [<@scope>/]', + 'rm [<@scope>/]', + 'ls [<@scope>/]', + ] + + async completion (opts) { + const argv = opts.conf.argv.remain + if (argv.length > 3) { + return [] + } + + if (argv[1] !== 'owner') { + argv.unshift('owner') + } + + if (argv.length === 2) { + return ['add', 'rm', 'ls'] + } + + // reaches registry in order to autocomplete rm + if (argv[2] === 'rm') { + if (this.npm.config.get('global')) { + return [] + } + const pkgName = await readLocalPkgName(this.npm.prefix) + if (!pkgName) { + return [] + } + + const spec = npa(pkgName) + const data = await pacote.packument(spec, { + ...this.npm.flatOptions, + fullMetadata: true, + }) + if (data && data.maintainers && data.maintainers.length) { + return data.maintainers.map(m => m.name) + } + } + return [] + } + + async exec ([action, ...args]) { + const opts = { + ...this.npm.flatOptions, + log, + } + switch (action) { + case 'ls': + case 'list': + return this.ls(args[0], opts) + case 'add': + return this.add(args[0], args[1], opts) + case 'rm': + case 'remove': + return this.rm(args[0], args[1], opts) + default: + throw this.usageError() + } + } + + async ls (pkg, opts) { + if (!pkg) { + if (this.npm.config.get('global')) { + throw this.usageError() + } + + const pkgName = await readLocalPkgName(this.npm.prefix) + if (!pkgName) { + throw this.usageError() + } + + pkg = pkgName + } + + const spec = npa(pkg) + + try { + const packumentOpts = { ...opts, fullMetadata: true } + const { maintainers } = await pacote.packument(spec, packumentOpts) + if (!maintainers || !maintainers.length) { + this.npm.output('no admin found') + } else { + this.npm.output(maintainers.map(o => `${o.name} <${o.email}>`).join('\n')) + } + + return maintainers + } catch (err) { + log.error('owner ls', "Couldn't get owner data", pkg) + throw err + } + } + + async add (user, pkg, opts) { + if (!user) { + throw this.usageError() + } + + if (!pkg) { + if (this.npm.config.get('global')) { + throw this.usageError() + } + const pkgName = await readLocalPkgName(this.npm.prefix) + if (!pkgName) { + throw this.usageError() + } + + pkg = pkgName + } + log.verbose('owner add', '%s to %s', user, pkg) + + const spec = npa(pkg) + return this.putOwners(spec, user, opts, + (newOwner, owners) => this.validateAddOwner(newOwner, owners)) + } + + async rm (user, pkg, opts) { + if (!user) { + throw this.usageError() + } + + if (!pkg) { + if (this.npm.config.get('global')) { + throw this.usageError() + } + const pkgName = await readLocalPkgName(this.npm.prefix) + if (!pkgName) { + throw this.usageError() + } + + pkg = pkgName + } + log.verbose('owner rm', '%s from %s', user, pkg) + + const spec = npa(pkg) + return this.putOwners(spec, user, opts, + (rmOwner, owners) => this.validateRmOwner(rmOwner, owners)) + } + + async putOwners (spec, user, opts, validation) { + const uri = `/-/user/org.couchdb.user:${encodeURIComponent(user)}` + let u = '' + + try { + u = await npmFetch.json(uri, opts) + } catch (err) { + log.error('owner mutate', `Error getting user data for ${user}`) + throw err + } + + if (user && (!u || !u.name || u.error)) { + throw Object.assign( + new Error( + "Couldn't get user data for " + user + ': ' + JSON.stringify(u) + ), + { code: 'EOWNERUSER' } + ) + } + + // normalize user data + u = { name: u.name, email: u.email } + + const data = await pacote.packument(spec, { ...opts, fullMetadata: true }) + + // save the number of maintainers before validation for comparison + const before = data.maintainers ? data.maintainers.length : 0 + + const m = validation(u, data.maintainers) + if (!m) { + return + } // invalid owners + + const body = { + _id: data._id, + _rev: data._rev, + maintainers: m, + } + const dataPath = `/${spec.escapedName}/-rev/${encodeURIComponent(data._rev)}` + const res = await otplease(opts, opts => { + return npmFetch.json(dataPath, { + ...opts, + method: 'PUT', + body, + spec, + log, + }) + }) + + if (!res.error) { + if (m.length < before) { + this.npm.output(`- ${user} (${spec.name})`) + } else { + this.npm.output(`+ ${user} (${spec.name})`) + } + } else { + throw Object.assign( + new Error('Failed to update package: ' + JSON.stringify(res)), + { code: 'EOWNERMUTATE' } + ) + } + return res + } + + validateAddOwner (newOwner, owners) { + owners = owners || [] + for (const o of owners) { + if (o.name === newOwner.name) { + log.info( + 'owner add', + 'Already a package owner: ' + o.name + ' <' + o.email + '>' + ) + return false + } + } + return [ + ...owners, + newOwner, + ] + } + + validateRmOwner (rmOwner, owners) { + let found = false + const m = owners.filter(function (o) { + var match = (o.name === rmOwner.name) + found = found || match + return !match + }) + + if (!found) { + log.info('owner rm', 'Not a package owner: ' + rmOwner.name) + return false + } + + if (!m.length) { + throw Object.assign( + new Error( + 'Cannot remove all owners of a package. Add someone else first.' + ), + { code: 'EOWNERRM' } + ) + } + + return m + } +} +module.exports = Owner diff --git a/node_modules/npm/lib/commands/pack.js b/node_modules/npm/lib/commands/pack.js new file mode 100644 index 0000000..74c2969 --- /dev/null +++ b/node_modules/npm/lib/commands/pack.js @@ -0,0 +1,77 @@ +const pacote = require('pacote') +const libpack = require('libnpmpack') +const npa = require('npm-package-arg') +const log = require('../utils/log-shim') +const { getContents, logTar } = require('../utils/tar.js') +const BaseCommand = require('../base-command.js') + +class Pack extends BaseCommand { + static description = 'Create a tarball from a package' + static name = 'pack' + static params = [ + 'dry-run', + 'json', + 'pack-destination', + 'workspace', + 'workspaces', + 'include-workspace-root', + ] + + static usage = ['[[<@scope>/]...]'] + + async exec (args) { + if (args.length === 0) { + args = ['.'] + } + + const unicode = this.npm.config.get('unicode') + const json = this.npm.config.get('json') + + // Get the manifests and filenames first so we can bail early on manifest + // errors before making any tarballs + const manifests = [] + for (const arg of args) { + const spec = npa(arg) + const manifest = await pacote.manifest(spec, this.npm.flatOptions) + if (!manifest._id) { + throw new Error('Invalid package, must have name and version') + } + manifests.push({ arg, manifest }) + } + + // Load tarball names up for printing afterward to isolate from the + // noise generated during packing + const tarballs = [] + for (const { arg, manifest } of manifests) { + const tarballData = await libpack(arg, this.npm.flatOptions) + const pkgContents = await getContents(manifest, tarballData) + tarballs.push(pkgContents) + } + + if (json) { + this.npm.output(JSON.stringify(tarballs, null, 2)) + return + } + + for (const tar of tarballs) { + logTar(tar, { unicode }) + this.npm.output(tar.filename.replace(/^@/, '').replace(/\//, '-')) + } + } + + async execWorkspaces (args, filters) { + // If they either ask for nothing, or explicitly include '.' in the args, + // we effectively translate that into each workspace requested + + const useWorkspaces = args.length === 0 || args.includes('.') + + if (!useWorkspaces) { + log.warn('Ignoring workspaces for specified package(s)') + return this.exec(args) + } + + await this.setWorkspaces(filters) + return this.exec([...this.workspacePaths, ...args.filter(a => a !== '.')]) + } +} +module.exports = Pack diff --git a/node_modules/npm/lib/commands/ping.js b/node_modules/npm/lib/commands/ping.js new file mode 100644 index 0000000..27089be --- /dev/null +++ b/node_modules/npm/lib/commands/ping.js @@ -0,0 +1,27 @@ +const log = require('../utils/log-shim') +const pingUtil = require('../utils/ping.js') +const BaseCommand = require('../base-command.js') + +class Ping extends BaseCommand { + static description = 'Ping npm registry' + static params = ['registry'] + static name = 'ping' + + async exec (args) { + log.notice('PING', this.npm.config.get('registry')) + const start = Date.now() + const details = await pingUtil({ ...this.npm.flatOptions, log }) + const time = Date.now() - start + log.notice('PONG', `${time}ms`) + if (this.npm.config.get('json')) { + this.npm.output(JSON.stringify({ + registry: this.npm.config.get('registry'), + time, + details, + }, null, 2)) + } else if (Object.keys(details).length) { + log.notice('PONG', `${JSON.stringify(details, null, 2)}`) + } + } +} +module.exports = Ping diff --git a/node_modules/npm/lib/commands/pkg.js b/node_modules/npm/lib/commands/pkg.js new file mode 100644 index 0000000..0079324 --- /dev/null +++ b/node_modules/npm/lib/commands/pkg.js @@ -0,0 +1,136 @@ +const PackageJson = require('@npmcli/package-json') +const BaseCommand = require('../base-command.js') +const Queryable = require('../utils/queryable.js') + +class Pkg extends BaseCommand { + static description = 'Manages your package.json' + static name = 'pkg' + static usage = [ + 'set = [= ...]', + 'get [ [ ...]]', + 'delete [ ...]', + ] + + static params = [ + 'force', + 'json', + 'workspace', + 'workspaces', + ] + + async exec (args, { prefix } = {}) { + if (!prefix) { + this.prefix = this.npm.localPrefix + } else { + this.prefix = prefix + } + + if (this.npm.config.get('global')) { + throw Object.assign( + new Error(`There's no package.json file to manage on global mode`), + { code: 'EPKGGLOBAL' } + ) + } + + const [cmd, ..._args] = args + switch (cmd) { + case 'get': + return this.get(_args) + case 'set': + return this.set(_args) + case 'delete': + return this.delete(_args) + default: + throw this.usageError() + } + } + + async execWorkspaces (args, filters) { + await this.setWorkspaces(filters) + const result = {} + for (const [workspaceName, workspacePath] of this.workspaces.entries()) { + this.prefix = workspacePath + result[workspaceName] = await this.exec(args, { prefix: workspacePath }) + } + // when running in workspaces names, make sure to key by workspace + // name the results of each value retrieved in each ws + this.npm.output(JSON.stringify(result, null, 2)) + } + + async get (args) { + const pkgJson = await PackageJson.load(this.prefix) + + const { content } = pkgJson + let result = !args.length && content + + if (!result) { + const q = new Queryable(content) + result = q.query(args) + + // in case there's only a single result from the query + // just prints that one element to stdout + if (Object.keys(result).length === 1) { + result = result[args] + } + } + + // only outputs if not running with workspaces config, + // in case you're retrieving info for workspaces the pkgWorkspaces + // will handle the output to make sure it get keyed by ws name + if (!this.workspaces) { + this.npm.output(JSON.stringify(result, null, 2)) + } + + return result + } + + async set (args) { + const setError = () => + this.usageError('npm pkg set expects a key=value pair of args.') + + if (!args.length) { + throw setError() + } + + const force = this.npm.config.get('force') + const json = this.npm.config.get('json') + const pkgJson = await PackageJson.load(this.prefix) + const q = new Queryable(pkgJson.content) + for (const arg of args) { + const [key, ...rest] = arg.split('=') + const value = rest.join('=') + if (!key || !value) { + throw setError() + } + + q.set(key, json ? JSON.parse(value) : value, { force }) + } + + pkgJson.update(q.toJSON()) + await pkgJson.save() + } + + async delete (args) { + const setError = () => + this.usageError('npm pkg delete expects key args.') + + if (!args.length) { + throw setError() + } + + const pkgJson = await PackageJson.load(this.prefix) + const q = new Queryable(pkgJson.content) + for (const key of args) { + if (!key) { + throw setError() + } + + q.delete(key) + } + + pkgJson.update(q.toJSON()) + await pkgJson.save() + } +} + +module.exports = Pkg diff --git a/node_modules/npm/lib/commands/prefix.js b/node_modules/npm/lib/commands/prefix.js new file mode 100644 index 0000000..264b819 --- /dev/null +++ b/node_modules/npm/lib/commands/prefix.js @@ -0,0 +1,13 @@ +const BaseCommand = require('../base-command.js') + +class Prefix extends BaseCommand { + static description = 'Display prefix' + static name = 'prefix' + static params = ['global'] + static usage = ['[-g]'] + + async exec (args) { + return this.npm.output(this.npm.prefix) + } +} +module.exports = Prefix diff --git a/node_modules/npm/lib/commands/profile.js b/node_modules/npm/lib/commands/profile.js new file mode 100644 index 0000000..9786e9b --- /dev/null +++ b/node_modules/npm/lib/commands/profile.js @@ -0,0 +1,408 @@ +const inspect = require('util').inspect +const { URL } = require('url') +const ansistyles = require('ansistyles') +const log = require('../utils/log-shim.js') +const npmProfile = require('npm-profile') +const qrcodeTerminal = require('qrcode-terminal') +const Table = require('cli-table3') + +const otplease = require('../utils/otplease.js') +const pulseTillDone = require('../utils/pulse-till-done.js') +const readUserInfo = require('../utils/read-user-info.js') + +const qrcode = url => + new Promise((resolve) => qrcodeTerminal.generate(url, resolve)) + +const knownProfileKeys = [ + 'name', + 'email', + 'two-factor auth', + 'fullname', + 'homepage', + 'freenode', + 'twitter', + 'github', + 'created', + 'updated', +] + +const writableProfileKeys = [ + 'email', + 'password', + 'fullname', + 'homepage', + 'freenode', + 'twitter', + 'github', +] + +const BaseCommand = require('../base-command.js') +class Profile extends BaseCommand { + static description = 'Change settings on your registry profile' + static name = 'profile' + static usage = [ + 'enable-2fa [auth-only|auth-and-writes]', + 'disable-2fa', + 'get []', + 'set ', + ] + + static params = [ + 'registry', + 'json', + 'parseable', + 'otp', + ] + + async completion (opts) { + var argv = opts.conf.argv.remain + + if (!argv[2]) { + return ['enable-2fa', 'disable-2fa', 'get', 'set'] + } + + switch (argv[2]) { + case 'enable-2fa': + case 'enable-tfa': + return ['auth-and-writes', 'auth-only'] + + case 'disable-2fa': + case 'disable-tfa': + case 'get': + case 'set': + return [] + default: + throw new Error(argv[2] + ' not recognized') + } + } + + async exec (args) { + if (args.length === 0) { + throw this.usageError() + } + + log.gauge.show('profile') + + const [subcmd, ...opts] = args + + switch (subcmd) { + case 'enable-2fa': + case 'enable-tfa': + case 'enable2fa': + case 'enabletfa': + return this.enable2fa(opts) + case 'disable-2fa': + case 'disable-tfa': + case 'disable2fa': + case 'disabletfa': + return this.disable2fa() + case 'get': + return this.get(opts) + case 'set': + return this.set(opts) + default: + throw new Error('Unknown profile command: ' + subcmd) + } + } + + async get (args) { + const tfa = 'two-factor auth' + const info = await pulseTillDone.withPromise( + npmProfile.get({ ...this.npm.flatOptions, log }) + ) + + if (!info.cidr_whitelist) { + delete info.cidr_whitelist + } + + if (this.npm.config.get('json')) { + this.npm.output(JSON.stringify(info, null, 2)) + return + } + + // clean up and format key/values for output + const cleaned = {} + for (const key of knownProfileKeys) { + cleaned[key] = info[key] || '' + } + + const unknownProfileKeys = Object.keys(info).filter((k) => !(k in cleaned)) + for (const key of unknownProfileKeys) { + cleaned[key] = info[key] || '' + } + + delete cleaned.tfa + delete cleaned.email_verified + cleaned.email += info.email_verified ? ' (verified)' : '(unverified)' + + if (info.tfa && !info.tfa.pending) { + cleaned[tfa] = info.tfa.mode + } else { + cleaned[tfa] = 'disabled' + } + + if (args.length) { + const values = args // comma or space separated + .join(',') + .split(/,/) + .filter((arg) => arg.trim() !== '') + .map((arg) => cleaned[arg]) + .join('\t') + this.npm.output(values) + } else { + if (this.npm.config.get('parseable')) { + for (const key of Object.keys(info)) { + if (key === 'tfa') { + this.npm.output(`${key}\t${cleaned[tfa]}`) + } else { + this.npm.output(`${key}\t${info[key]}`) + } + } + } else { + const table = new Table() + for (const key of Object.keys(cleaned)) { + table.push({ [ansistyles.bright(key)]: cleaned[key] }) + } + + this.npm.output(table.toString()) + } + } + } + + async set (args) { + const conf = { ...this.npm.flatOptions, log } + const prop = (args[0] || '').toLowerCase().trim() + + let value = args.length > 1 ? args.slice(1).join(' ') : null + + const readPasswords = async () => { + const newpassword = await readUserInfo.password('New password: ') + const confirmedpassword = await readUserInfo.password(' Again: ') + + if (newpassword !== confirmedpassword) { + log.warn('profile', 'Passwords do not match, please try again.') + return readPasswords() + } + + return newpassword + } + + if (prop !== 'password' && value === null) { + throw new Error('npm profile set ') + } + + if (prop === 'password' && value !== null) { + throw new Error( + 'npm profile set password\n' + + 'Do not include your current or new passwords on the command line.') + } + + if (writableProfileKeys.indexOf(prop) === -1) { + throw new Error(`"${prop}" is not a property we can set. ` + + `Valid properties are: ` + writableProfileKeys.join(', ')) + } + + if (prop === 'password') { + const current = await readUserInfo.password('Current password: ') + const newpassword = await readPasswords() + + value = { old: current, new: newpassword } + } + + // FIXME: Work around to not clear everything other than what we're setting + const user = await pulseTillDone.withPromise(npmProfile.get(conf)) + const newUser = {} + + for (const key of writableProfileKeys) { + newUser[key] = user[key] + } + + newUser[prop] = value + + const result = await otplease(conf, conf => npmProfile.set(newUser, conf)) + + if (this.npm.config.get('json')) { + this.npm.output(JSON.stringify({ [prop]: result[prop] }, null, 2)) + } else if (this.npm.config.get('parseable')) { + this.npm.output(prop + '\t' + result[prop]) + } else if (result[prop] != null) { + this.npm.output('Set', prop, 'to', result[prop]) + } else { + this.npm.output('Set', prop) + } + } + + async enable2fa (args) { + if (args.length > 1) { + throw new Error('npm profile enable-2fa [auth-and-writes|auth-only]') + } + + const mode = args[0] || 'auth-and-writes' + if (mode !== 'auth-only' && mode !== 'auth-and-writes') { + throw new Error( + `Invalid two-factor authentication mode "${mode}".\n` + + 'Valid modes are:\n' + + ' auth-only - Require two-factor authentication only when logging in\n' + + ' auth-and-writes - Require two-factor authentication when logging in ' + + 'AND when publishing' + ) + } + + if (this.npm.config.get('json') || this.npm.config.get('parseable')) { + throw new Error( + 'Enabling two-factor authentication is an interactive operation and ' + + (this.npm.config.get('json') ? 'JSON' : 'parseable') + ' output mode is not available' + ) + } + + const info = { + tfa: { + mode: mode, + }, + } + + // if they're using legacy auth currently then we have to + // update them to a bearer token before continuing. + const creds = this.npm.config.getCredentialsByURI(this.npm.config.get('registry')) + const auth = {} + + if (creds.token) { + auth.token = creds.token + } else if (creds.username) { + auth.basic = { username: creds.username, password: creds.password } + } else if (creds.auth) { + const basic = Buffer.from(creds.auth, 'base64').toString().split(':', 2) + auth.basic = { username: basic[0], password: basic[1] } + } + + if (!auth.basic && !auth.token) { + throw new Error( + 'You need to be logged in to registry ' + + `${this.npm.config.get('registry')} in order to enable 2fa` + ) + } + + if (auth.basic) { + log.info('profile', 'Updating authentication to bearer token') + const result = await npmProfile.createToken( + auth.basic.password, false, [], { ...this.npm.flatOptions, log } + ) + + if (!result.token) { + throw new Error( + `Your registry ${this.npm.config.get('registry')} does not seem to ` + + 'support bearer tokens. Bearer tokens are required for ' + + 'two-factor authentication' + ) + } + + this.npm.config.setCredentialsByURI( + this.npm.config.get('registry'), + { token: result.token } + ) + await this.npm.config.save('user') + } + + log.notice('profile', 'Enabling two factor authentication for ' + mode) + const password = await readUserInfo.password() + info.tfa.password = password + + log.info('profile', 'Determine if tfa is pending') + const userInfo = await pulseTillDone.withPromise( + npmProfile.get({ ...this.npm.flatOptions, log }) + ) + + const conf = { ...this.npm.flatOptions } + if (userInfo && userInfo.tfa && userInfo.tfa.pending) { + log.info('profile', 'Resetting two-factor authentication') + await pulseTillDone.withPromise( + npmProfile.set({ tfa: { password, mode: 'disable' } }, conf) + ) + } else if (userInfo && userInfo.tfa) { + if (!conf.otp) { + conf.otp = await readUserInfo.otp( + 'Enter one-time password: ' + ) + } + } + + log.info('profile', 'Setting two-factor authentication to ' + mode) + const challenge = await pulseTillDone.withPromise( + npmProfile.set(info, conf) + ) + + if (challenge.tfa === null) { + this.npm.output('Two factor authentication mode changed to: ' + mode) + return + } + + const badResponse = typeof challenge.tfa !== 'string' + || !/^otpauth:[/][/]/.test(challenge.tfa) + if (badResponse) { + throw new Error( + 'Unknown error enabling two-factor authentication. Expected otpauth URL' + + ', got: ' + inspect(challenge.tfa) + ) + } + + const otpauth = new URL(challenge.tfa) + const secret = otpauth.searchParams.get('secret') + const code = await qrcode(challenge.tfa) + + this.npm.output( + 'Scan into your authenticator app:\n' + code + '\n Or enter code:', secret + ) + + const interactiveOTP = + await readUserInfo.otp('And an OTP code from your authenticator: ') + + log.info('profile', 'Finalizing two-factor authentication') + + const result = await npmProfile.set({ tfa: [interactiveOTP] }, conf) + + this.npm.output( + '2FA successfully enabled. Below are your recovery codes, ' + + 'please print these out.' + ) + this.npm.output( + 'You will need these to recover access to your account ' + + 'if you lose your authentication device.' + ) + + for (const tfaCode of result.tfa) { + this.npm.output('\t' + tfaCode) + } + } + + async disable2fa (args) { + const conf = { ...this.npm.flatOptions } + const info = await pulseTillDone.withPromise(npmProfile.get(conf)) + + if (!info.tfa || info.tfa.pending) { + this.npm.output('Two factor authentication not enabled.') + return + } + + const password = await readUserInfo.password() + + if (!conf.otp) { + const msg = 'Enter one-time password: ' + conf.otp = await readUserInfo.otp(msg) + } + + log.info('profile', 'disabling tfa') + + await pulseTillDone.withPromise(npmProfile.set({ + tfa: { password: password, mode: 'disable' }, + }, conf)) + + if (this.npm.config.get('json')) { + this.npm.output(JSON.stringify({ tfa: false }, null, 2)) + } else if (this.npm.config.get('parseable')) { + this.npm.output('tfa\tfalse') + } else { + this.npm.output('Two factor authentication disabled.') + } + } +} +module.exports = Profile diff --git a/node_modules/npm/lib/commands/prune.js b/node_modules/npm/lib/commands/prune.js new file mode 100644 index 0000000..5831df6 --- /dev/null +++ b/node_modules/npm/lib/commands/prune.js @@ -0,0 +1,26 @@ +// prune extraneous packages +const Arborist = require('@npmcli/arborist') +const log = require('../utils/log-shim.js') +const reifyFinish = require('../utils/reify-finish.js') + +const ArboristWorkspaceCmd = require('../arborist-cmd.js') +class Prune extends ArboristWorkspaceCmd { + static description = 'Remove extraneous packages' + static name = 'prune' + static params = ['omit', 'dry-run', 'json', ...super.params] + static usage = ['[[<@scope>/]...]'] + + async exec () { + const where = this.npm.prefix + const opts = { + ...this.npm.flatOptions, + path: where, + log, + workspaces: this.workspaceNames, + } + const arb = new Arborist(opts) + await arb.prune(opts) + await reifyFinish(this.npm, arb) + } +} +module.exports = Prune diff --git a/node_modules/npm/lib/commands/publish.js b/node_modules/npm/lib/commands/publish.js new file mode 100644 index 0000000..63106c5 --- /dev/null +++ b/node_modules/npm/lib/commands/publish.js @@ -0,0 +1,201 @@ +const util = require('util') +const log = require('../utils/log-shim.js') +const semver = require('semver') +const pack = require('libnpmpack') +const libpub = require('libnpmpublish').publish +const runScript = require('@npmcli/run-script') +const pacote = require('pacote') +const npa = require('npm-package-arg') +const npmFetch = require('npm-registry-fetch') +const chalk = require('chalk') +const replaceInfo = require('../utils/replace-info.js') + +const otplease = require('../utils/otplease.js') +const { getContents, logTar } = require('../utils/tar.js') + +// for historical reasons, publishConfig in package.json can contain ANY config +// keys that npm supports in .npmrc files and elsewhere. We *may* want to +// revisit this at some point, and have a minimal set that's a SemVer-major +// change that ought to get a RFC written on it. +const flatten = require('../utils/config/flatten.js') + +// this is the only case in the CLI where we want to use the old full slow +// 'read-package-json' module, because we want to pull in all the defaults and +// metadata, like git sha's and default scripts and all that. +const readJson = util.promisify(require('read-package-json')) + +const BaseCommand = require('../base-command.js') +class Publish extends BaseCommand { + static description = 'Publish a package' + static name = 'publish' + static params = [ + 'tag', + 'access', + 'dry-run', + 'otp', + 'workspace', + 'workspaces', + 'include-workspace-root', + ] + + static usage = ['[]'] + + async exec (args) { + if (args.length === 0) { + args = ['.'] + } + if (args.length !== 1) { + throw this.usageError() + } + + log.verbose('publish', replaceInfo(args)) + + const unicode = this.npm.config.get('unicode') + const dryRun = this.npm.config.get('dry-run') + const json = this.npm.config.get('json') + const defaultTag = this.npm.config.get('tag') + const ignoreScripts = this.npm.config.get('ignore-scripts') + const silent = log.level === 'silent' + + if (semver.validRange(defaultTag)) { + throw new Error('Tag name must not be a valid SemVer range: ' + defaultTag.trim()) + } + + const opts = { ...this.npm.flatOptions, log } + + // you can publish name@version, ./foo.tgz, etc. + // even though the default is the 'file:.' cwd. + const spec = npa(args[0]) + let manifest = await this.getManifest(spec, opts) + + if (manifest.publishConfig) { + flatten(manifest.publishConfig, opts) + } + + // only run scripts for directory type publishes + if (spec.type === 'directory' && !ignoreScripts) { + await runScript({ + event: 'prepublishOnly', + path: spec.fetchSpec, + stdio: 'inherit', + pkg: manifest, + banner: !silent, + }) + } + + // we pass dryRun: true to libnpmpack so it doesn't write the file to disk + const tarballData = await pack(spec, { ...opts, dryRun: true }) + const pkgContents = await getContents(manifest, tarballData) + + // The purpose of re-reading the manifest is in case it changed, + // so that we send the latest and greatest thing to the registry + // note that publishConfig might have changed as well! + manifest = await this.getManifest(spec, opts) + if (manifest.publishConfig) { + flatten(manifest.publishConfig, opts) + } + + // note that logTar calls log.notice(), so if we ARE in silent mode, + // this will do nothing, but we still want it in the debuglog if it fails. + if (!json) { + logTar(pkgContents, { unicode }) + } + + if (!dryRun) { + const resolved = npa.resolve(manifest.name, manifest.version) + const registry = npmFetch.pickRegistry(resolved, opts) + const creds = this.npm.config.getCredentialsByURI(registry) + const outputRegistry = replaceInfo(registry) + if (!creds.token && !creds.username) { + throw Object.assign( + new Error(`This command requires you to be logged in to ${outputRegistry}`), { + code: 'ENEEDAUTH', + } + ) + } + log.notice('', `Publishing to ${outputRegistry}`) + await otplease(opts, opts => libpub(manifest, tarballData, opts)) + } + + if (spec.type === 'directory' && !ignoreScripts) { + await runScript({ + event: 'publish', + path: spec.fetchSpec, + stdio: 'inherit', + pkg: manifest, + banner: !silent, + }) + + await runScript({ + event: 'postpublish', + path: spec.fetchSpec, + stdio: 'inherit', + pkg: manifest, + banner: !silent, + }) + } + + if (!this.suppressOutput) { + if (!silent && json) { + this.npm.output(JSON.stringify(pkgContents, null, 2)) + } else if (!silent) { + this.npm.output(`+ ${pkgContents.id}`) + } + } + + return pkgContents + } + + async execWorkspaces (args, filters) { + // Suppresses JSON output in publish() so we can handle it here + this.suppressOutput = true + + const results = {} + const json = this.npm.config.get('json') + const silent = log.level === 'silent' + const noop = a => a + const color = this.npm.color ? chalk : { green: noop, bold: noop } + await this.setWorkspaces(filters) + + for (const [name, workspace] of this.workspaces.entries()) { + let pkgContents + try { + pkgContents = await this.exec([workspace]) + } catch (err) { + if (err.code === 'EPRIVATE') { + log.warn( + 'publish', + `Skipping workspace ${ + color.green(name) + }, marked as ${ + color.bold('private') + }` + ) + continue + } + throw err + } + // This needs to be in-line w/ the rest of the output that non-JSON + // publish generates + if (!silent && !json) { + this.npm.output(`+ ${pkgContents.id}`) + } else { + results[name] = pkgContents + } + } + + if (!silent && json) { + this.npm.output(JSON.stringify(results, null, 2)) + } + } + + // if it's a directory, read it from the file system + // otherwise, get the full metadata from whatever it is + getManifest (spec, opts) { + if (spec.type === 'directory') { + return readJson(`${spec.fetchSpec}/package.json`) + } + return pacote.manifest(spec, { ...opts, fullMetadata: true }) + } +} +module.exports = Publish diff --git a/node_modules/npm/lib/commands/rebuild.js b/node_modules/npm/lib/commands/rebuild.js new file mode 100644 index 0000000..471d60b --- /dev/null +++ b/node_modules/npm/lib/commands/rebuild.js @@ -0,0 +1,81 @@ +const { resolve } = require('path') +const Arborist = require('@npmcli/arborist') +const npa = require('npm-package-arg') +const semver = require('semver') +const completion = require('../utils/completion/installed-deep.js') + +const ArboristWorkspaceCmd = require('../arborist-cmd.js') +class Rebuild extends ArboristWorkspaceCmd { + static description = 'Rebuild a package' + static name = 'rebuild' + static params = [ + 'global', + 'bin-links', + 'ignore-scripts', + ...super.params, + ] + + static usage = ['[[<@scope>/][@] ...]'] + + // TODO + /* istanbul ignore next */ + async completion (opts) { + return completion(this.npm, opts) + } + + async exec (args) { + const globalTop = resolve(this.npm.globalDir, '..') + const where = this.npm.config.get('global') ? globalTop : this.npm.prefix + const arb = new Arborist({ + ...this.npm.flatOptions, + path: where, + // TODO when extending ReifyCmd + // workspaces: this.workspaceNames, + }) + + if (args.length) { + // get the set of nodes matching the name that we want rebuilt + const tree = await arb.loadActual() + const specs = args.map(arg => { + const spec = npa(arg) + if (spec.type === 'tag' && spec.rawSpec === '') { + return spec + } + + if (spec.type !== 'range' && spec.type !== 'version' && spec.type !== 'directory') { + throw new Error('`npm rebuild` only supports SemVer version/range specifiers') + } + + return spec + }) + const nodes = tree.inventory.filter(node => this.isNode(specs, node)) + + await arb.rebuild({ nodes }) + } else { + await arb.rebuild() + } + + this.npm.output('rebuilt dependencies successfully') + } + + isNode (specs, node) { + return specs.some(spec => { + if (spec.type === 'directory') { + return node.path === spec.fetchSpec + } + + if (spec.name !== node.name) { + return false + } + + if (spec.rawSpec === '' || spec.rawSpec === '*') { + return true + } + + const { version } = node.package + // TODO: add tests for a package with missing version + return semver.satisfies(version, spec.fetchSpec) + }) + } +} +module.exports = Rebuild diff --git a/node_modules/npm/lib/commands/repo.js b/node_modules/npm/lib/commands/repo.js new file mode 100644 index 0000000..8ac4178 --- /dev/null +++ b/node_modules/npm/lib/commands/repo.js @@ -0,0 +1,84 @@ +const pacote = require('pacote') +const { URL } = require('url') +const log = require('../utils/log-shim') +const hostedFromMani = require('../utils/hosted-git-info-from-manifest.js') +const openUrl = require('../utils/open-url.js') + +const BaseCommand = require('../base-command.js') +class Repo extends BaseCommand { + static description = 'Open package repository page in the browser' + static name = 'repo' + static params = ['browser', 'workspace', 'workspaces', 'include-workspace-root'] + static usage = ['[ [ ...]]'] + + async exec (args) { + if (!args || !args.length) { + args = ['.'] + } + + await Promise.all(args.map(pkg => this.get(pkg))) + } + + async execWorkspaces (args, filters) { + await this.setWorkspaces(filters) + return this.exec(this.workspacePaths) + } + + async get (pkg) { + // XXX It is very odd that `where` is how pacote knows to look anywhere + // other than the cwd. + const opts = { + ...this.npm.flatOptions, + where: this.npm.localPrefix, + fullMetadata: true, + } + const mani = await pacote.manifest(pkg, opts) + + const r = mani.repository + const rurl = !r ? null + : typeof r === 'string' ? r + : typeof r === 'object' && typeof r.url === 'string' ? r.url + : null + + if (!rurl) { + throw Object.assign(new Error('no repository'), { + pkgid: pkg, + }) + } + + const info = hostedFromMani(mani) + const url = info ? + info.browse(mani.repository.directory) : unknownHostedUrl(rurl) + + if (!url) { + throw Object.assign(new Error('no repository: could not get url'), { + pkgid: pkg, + }) + } + + log.silly('docs', 'url', url) + await openUrl(this.npm, url, `${mani.name} repo available at the following URL`) + } +} +module.exports = Repo + +const unknownHostedUrl = url => { + try { + const { + protocol, + hostname, + pathname, + } = new URL(url) + + /* istanbul ignore next - URL ctor should prevent this */ + if (!protocol || !hostname) { + return null + } + + const proto = /(git\+)http:$/.test(protocol) ? 'http:' : 'https:' + const path = pathname.replace(/\.git$/, '') + return `${proto}//${hostname}${path}` + } catch (e) { + return null + } +} diff --git a/node_modules/npm/lib/commands/restart.js b/node_modules/npm/lib/commands/restart.js new file mode 100644 index 0000000..a123686 --- /dev/null +++ b/node_modules/npm/lib/commands/restart.js @@ -0,0 +1,12 @@ +const LifecycleCmd = require('../lifecycle-cmd.js') + +// This ends up calling run-script(['restart', ...args]) +class Restart extends LifecycleCmd { + static description = 'Restart a package' + static name = 'restart' + static params = [ + 'ignore-scripts', + 'script-shell', + ] +} +module.exports = Restart diff --git a/node_modules/npm/lib/commands/root.js b/node_modules/npm/lib/commands/root.js new file mode 100644 index 0000000..7749c60 --- /dev/null +++ b/node_modules/npm/lib/commands/root.js @@ -0,0 +1,11 @@ +const BaseCommand = require('../base-command.js') +class Root extends BaseCommand { + static description = 'Display npm root' + static name = 'root' + static params = ['global'] + + async exec () { + this.npm.output(this.npm.dir) + } +} +module.exports = Root diff --git a/node_modules/npm/lib/commands/run-script.js b/node_modules/npm/lib/commands/run-script.js new file mode 100644 index 0000000..cd877e0 --- /dev/null +++ b/node_modules/npm/lib/commands/run-script.js @@ -0,0 +1,266 @@ +const { resolve } = require('path') +const chalk = require('chalk') +const runScript = require('@npmcli/run-script') +const { isServerPackage } = runScript +const rpj = require('read-package-json-fast') +const log = require('../utils/log-shim.js') +const didYouMean = require('../utils/did-you-mean.js') +const isWindowsShell = require('../utils/is-windows-shell.js') + +const cmdList = [ + 'publish', + 'install', + 'uninstall', + 'test', + 'stop', + 'start', + 'restart', + 'version', +].reduce((l, p) => l.concat(['pre' + p, p, 'post' + p]), []) + +const nocolor = { + reset: s => s, + bold: s => s, + dim: s => s, + blue: s => s, + green: s => s, +} + +const BaseCommand = require('../base-command.js') +class RunScript extends BaseCommand { + static description = 'Run arbitrary package scripts' + static params = [ + 'workspace', + 'workspaces', + 'include-workspace-root', + 'if-present', + 'ignore-scripts', + 'script-shell', + ] + + static name = 'run-script' + static usage = [' [-- ]'] + + async completion (opts) { + const argv = opts.conf.argv.remain + if (argv.length === 2) { + // find the script name + const json = resolve(this.npm.localPrefix, 'package.json') + const { scripts = {} } = await rpj(json).catch(er => ({})) + return Object.keys(scripts) + } + } + + async exec (args) { + if (args.length) { + return this.run(args) + } else { + return this.list(args) + } + } + + async execWorkspaces (args, filters) { + if (args.length) { + return this.runWorkspaces(args, filters) + } else { + return this.listWorkspaces(args, filters) + } + } + + async run ([event, ...args], { path = this.npm.localPrefix, pkg } = {}) { + // this || undefined is because runScript will be unhappy with the default + // null value + const scriptShell = this.npm.config.get('script-shell') || undefined + + pkg = pkg || (await rpj(`${path}/package.json`)) + const { scripts = {} } = pkg + + if (event === 'restart' && !scripts.restart) { + scripts.restart = 'npm stop --if-present && npm start' + } else if (event === 'env' && !scripts.env) { + scripts.env = isWindowsShell ? 'SET' : 'env' + } + + pkg.scripts = scripts + + if ( + !Object.prototype.hasOwnProperty.call(scripts, event) && + !(event === 'start' && (await isServerPackage(path))) + ) { + if (this.npm.config.get('if-present')) { + return + } + + const suggestions = await didYouMean(this.npm, path, event) + throw new Error( + `Missing script: "${event}"${suggestions}\n\nTo see a list of scripts, run:\n npm run` + ) + } + + // positional args only added to the main event, not pre/post + const events = [[event, args]] + if (!this.npm.config.get('ignore-scripts')) { + if (scripts[`pre${event}`]) { + events.unshift([`pre${event}`, []]) + } + + if (scripts[`post${event}`]) { + events.push([`post${event}`, []]) + } + } + + const opts = { + path, + args, + scriptShell, + stdio: 'inherit', + stdioString: true, + pkg, + banner: log.level !== 'silent', + } + + for (const [event, args] of events) { + await runScript({ + ...opts, + event, + args, + }) + } + } + + async list (args, path) { + path = path || this.npm.localPrefix + const { scripts, name, _id } = await rpj(`${path}/package.json`) + const pkgid = _id || name + const color = this.npm.color + + if (!scripts) { + return [] + } + + const allScripts = Object.keys(scripts) + if (log.level === 'silent') { + return allScripts + } + + if (this.npm.config.get('json')) { + this.npm.output(JSON.stringify(scripts, null, 2)) + return allScripts + } + + if (this.npm.config.get('parseable')) { + for (const [script, cmd] of Object.entries(scripts)) { + this.npm.output(`${script}:${cmd}`) + } + + return allScripts + } + + const indent = '\n ' + const prefix = ' ' + const cmds = [] + const runScripts = [] + for (const script of allScripts) { + const list = cmdList.includes(script) ? cmds : runScripts + list.push(script) + } + const colorize = color ? chalk : nocolor + + if (cmds.length) { + this.npm.output( + `${colorize.reset(colorize.bold('Lifecycle scripts'))} included in ${colorize.green( + pkgid + )}:` + ) + } + + for (const script of cmds) { + this.npm.output(prefix + script + indent + colorize.dim(scripts[script])) + } + + if (!cmds.length && runScripts.length) { + this.npm.output( + `${colorize.bold('Scripts')} available in ${colorize.green(pkgid)} via \`${colorize.blue( + 'npm run-script' + )}\`:` + ) + } else if (runScripts.length) { + this.npm.output(`\navailable via \`${colorize.blue('npm run-script')}\`:`) + } + + for (const script of runScripts) { + this.npm.output(prefix + script + indent + colorize.dim(scripts[script])) + } + + this.npm.output('') + return allScripts + } + + async runWorkspaces (args, filters) { + const res = [] + await this.setWorkspaces(filters) + + for (const workspacePath of this.workspacePaths) { + const pkg = await rpj(`${workspacePath}/package.json`) + const runResult = await this.run(args, { + path: workspacePath, + pkg, + }).catch(err => { + log.error(`Lifecycle script \`${args[0]}\` failed with error:`) + log.error(err) + log.error(` in workspace: ${pkg._id || pkg.name}`) + log.error(` at location: ${workspacePath}`) + + const scriptMissing = err.message.startsWith('Missing script') + + // avoids exiting with error code in case there's scripts missing + // in some workspaces since other scripts might have succeeded + if (!scriptMissing) { + process.exitCode = 1 + } + + return scriptMissing + }) + res.push(runResult) + } + + // in case **all** tests are missing, then it should exit with error code + if (res.every(Boolean)) { + throw new Error(`Missing script: ${args[0]}`) + } + } + + async listWorkspaces (args, filters) { + await this.setWorkspaces(filters) + + if (log.level === 'silent') { + return + } + + if (this.npm.config.get('json')) { + const res = {} + for (const workspacePath of this.workspacePaths) { + const { scripts, name } = await rpj(`${workspacePath}/package.json`) + res[name] = { ...scripts } + } + this.npm.output(JSON.stringify(res, null, 2)) + return + } + + if (this.npm.config.get('parseable')) { + for (const workspacePath of this.workspacePaths) { + const { scripts, name } = await rpj(`${workspacePath}/package.json`) + for (const [script, cmd] of Object.entries(scripts || {})) { + this.npm.output(`${name}:${script}:${cmd}`) + } + } + return + } + + for (const workspacePath of this.workspacePaths) { + await this.list(args, workspacePath) + } + } +} + +module.exports = RunScript diff --git a/node_modules/npm/lib/commands/search.js b/node_modules/npm/lib/commands/search.js new file mode 100644 index 0000000..bdeeffe --- /dev/null +++ b/node_modules/npm/lib/commands/search.js @@ -0,0 +1,103 @@ +const Minipass = require('minipass') +const Pipeline = require('minipass-pipeline') +const libSearch = require('libnpmsearch') +const log = require('../utils/log-shim.js') + +const formatPackageStream = require('../search/format-package-stream.js') +const packageFilter = require('../search/package-filter.js') + +function prepareIncludes (args) { + return args + .map(s => s.toLowerCase()) + .filter(s => s) +} + +function prepareExcludes (searchexclude) { + var exclude + if (typeof searchexclude === 'string') { + exclude = searchexclude.split(/\s+/) + } else { + exclude = [] + } + + return exclude + .map(s => s.toLowerCase()) + .filter(s => s) +} + +const BaseCommand = require('../base-command.js') +class Search extends BaseCommand { + static description = 'Search for packages' + static name = 'search' + static params = [ + 'long', + 'json', + 'color', + 'parseable', + 'description', + 'searchopts', + 'searchexclude', + 'registry', + 'prefer-online', + 'prefer-offline', + 'offline', + ] + + static usage = ['[search terms ...]'] + + async exec (args) { + const opts = { + ...this.npm.flatOptions, + ...this.npm.flatOptions.search, + include: prepareIncludes(args), + exclude: prepareExcludes(this.npm.flatOptions.search.exclude), + } + + if (opts.include.length === 0) { + throw new Error('search must be called with arguments') + } + + // Used later to figure out whether we had any packages go out + let anyOutput = false + + class FilterStream extends Minipass { + write (pkg) { + if (packageFilter(pkg, opts.include, opts.exclude)) { + super.write(pkg) + } + } + } + + const filterStream = new FilterStream() + + // Grab a configured output stream that will spit out packages in the + // desired format. + const outputStream = formatPackageStream({ + args, // --searchinclude options are not highlighted + ...opts, + }) + + log.silly('search', 'searching packages') + const p = new Pipeline( + libSearch.stream(opts.include, opts), + filterStream, + outputStream + ) + + p.on('data', chunk => { + if (!anyOutput) { + anyOutput = true + } + this.npm.output(chunk.toString('utf8')) + }) + + await p.promise() + if (!anyOutput && !this.npm.config.get('json') && !this.npm.config.get('parseable')) { + this.npm.output('No matches found for ' + (args.map(JSON.stringify).join(' '))) + } + + log.silly('search', 'search completed') + log.clearProgress() + } +} +module.exports = Search diff --git a/node_modules/npm/lib/commands/set-script.js b/node_modules/npm/lib/commands/set-script.js new file mode 100644 index 0000000..7c73ff0 --- /dev/null +++ b/node_modules/npm/lib/commands/set-script.js @@ -0,0 +1,93 @@ +const { resolve } = require('path') +const rpj = require('read-package-json-fast') +const PackageJson = require('@npmcli/package-json') +const log = require('../utils/log-shim') + +const BaseCommand = require('../base-command.js') +class SetScript extends BaseCommand { + static description = 'Set tasks in the scripts section of package.json' + static params = ['workspace', 'workspaces', 'include-workspace-root'] + static name = 'set-script' + static usage = ['[ + + + + diff --git a/node_modules/npm/node_modules/unique-filename/coverage/__root__/index.js.html b/node_modules/npm/node_modules/unique-filename/coverage/__root__/index.js.html new file mode 100644 index 0000000..02e5768 --- /dev/null +++ b/node_modules/npm/node_modules/unique-filename/coverage/__root__/index.js.html @@ -0,0 +1,69 @@ + + + + Code coverage report for index.js + + + + + + +
+

Code coverage report for index.js

+

+ Statements: 100% (4 / 4)      + Branches: 100% (2 / 2)      + Functions: 100% (1 / 1)      + Lines: 100% (4 / 4)      + Ignored: none      +

+
All files » __root__/ » index.js
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9  +1 +  +1 +  +1 +6 +  + 
'use strict'
+var path = require('path')
+ 
+var uniqueSlug = require('unique-slug')
+ 
+module.exports = function (filepath, prefix, uniq) {
+  return path.join(filepath, (prefix ? prefix + '-' : '') + uniqueSlug(uniq))
+}
+ 
+ +
+ + + + + + diff --git a/node_modules/npm/node_modules/unique-filename/coverage/base.css b/node_modules/npm/node_modules/unique-filename/coverage/base.css new file mode 100644 index 0000000..a6a2f32 --- /dev/null +++ b/node_modules/npm/node_modules/unique-filename/coverage/base.css @@ -0,0 +1,182 @@ +body, html { + margin:0; padding: 0; +} +body { + font-family: Helvetica Neue, Helvetica,Arial; + font-size: 10pt; +} +div.header, div.footer { + background: #eee; + padding: 1em; +} +div.header { + z-index: 100; + position: fixed; + top: 0; + border-bottom: 1px solid #666; + width: 100%; +} +div.footer { + border-top: 1px solid #666; +} +div.body { + margin-top: 10em; +} +div.meta { + font-size: 90%; + text-align: center; +} +h1, h2, h3 { + font-weight: normal; +} +h1 { + font-size: 12pt; +} +h2 { + font-size: 10pt; +} +pre { + font-family: Consolas, Menlo, Monaco, monospace; + margin: 0; + padding: 0; + line-height: 1.3; + font-size: 14px; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} + +div.path { font-size: 110%; } +div.path a:link, div.path a:visited { color: #000; } +table.coverage { border-collapse: collapse; margin:0; padding: 0 } + +table.coverage td { + margin: 0; + padding: 0; + color: #111; + vertical-align: top; +} +table.coverage td.line-count { + width: 50px; + text-align: right; + padding-right: 5px; +} +table.coverage td.line-coverage { + color: #777 !important; + text-align: right; + border-left: 1px solid #666; + border-right: 1px solid #666; +} + +table.coverage td.text { +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 40px; +} +table.coverage td span.cline-neutral { + background: #eee; +} +table.coverage td span.cline-yes { + background: #b5d592; + color: #999; +} +table.coverage td span.cline-no { + background: #fc8c84; +} + +.cstat-yes { color: #111; } +.cstat-no { background: #fc8c84; color: #111; } +.fstat-no { background: #ffc520; color: #111 !important; } +.cbranch-no { background: yellow !important; color: #111; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +.missing-if-branch { + display: inline-block; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: black; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} + +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} + +.entity, .metric { font-weight: bold; } +.metric { display: inline-block; border: 1px solid #333; padding: 0.3em; background: white; } +.metric small { font-size: 80%; font-weight: normal; color: #666; } + +div.coverage-summary table { border-collapse: collapse; margin: 3em; font-size: 110%; } +div.coverage-summary td, div.coverage-summary table th { margin: 0; padding: 0.25em 1em; border-top: 1px solid #666; border-bottom: 1px solid #666; } +div.coverage-summary th { text-align: left; border: 1px solid #666; background: #eee; font-weight: normal; } +div.coverage-summary th.file { border-right: none !important; } +div.coverage-summary th.pic { border-left: none !important; text-align: right; } +div.coverage-summary th.pct { border-right: none !important; } +div.coverage-summary th.abs { border-left: none !important; text-align: right; } +div.coverage-summary td.pct { text-align: right; border-left: 1px solid #666; } +div.coverage-summary td.abs { text-align: right; font-size: 90%; color: #444; border-right: 1px solid #666; } +div.coverage-summary td.file { border-left: 1px solid #666; white-space: nowrap; } +div.coverage-summary td.pic { min-width: 120px !important; } +div.coverage-summary a:link { text-decoration: none; color: #000; } +div.coverage-summary a:visited { text-decoration: none; color: #777; } +div.coverage-summary a:hover { text-decoration: underline; } +div.coverage-summary tfoot td { border-top: 1px solid #666; } + +div.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +div.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +div.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} + +.high { background: #b5d592 !important; } +.medium { background: #ffe87c !important; } +.low { background: #fc8c84 !important; } + +span.cover-fill, span.cover-empty { + display:inline-block; + border:1px solid #444; + background: white; + height: 12px; +} +span.cover-fill { + background: #ccc; + border-right: 1px solid #444; +} +span.cover-empty { + background: white; + border-left: none; +} +span.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } diff --git a/node_modules/npm/node_modules/unique-filename/coverage/index.html b/node_modules/npm/node_modules/unique-filename/coverage/index.html new file mode 100644 index 0000000..b10d186 --- /dev/null +++ b/node_modules/npm/node_modules/unique-filename/coverage/index.html @@ -0,0 +1,73 @@ + + + + Code coverage report for All files + + + + + + +
+

Code coverage report for All files

+

+ Statements: 100% (4 / 4)      + Branches: 100% (2 / 2)      + Functions: 100% (1 / 1)      + Lines: 100% (4 / 4)      + Ignored: none      +

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
__root__/100%(4 / 4)100%(2 / 2)100%(1 / 1)100%(4 / 4)
+
+
+ + + + + + diff --git a/node_modules/npm/node_modules/unique-filename/coverage/prettify.css b/node_modules/npm/node_modules/unique-filename/coverage/prettify.css new file mode 100644 index 0000000..b317a7c --- /dev/null +++ b/node_modules/npm/node_modules/unique-filename/coverage/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/node_modules/npm/node_modules/unique-filename/coverage/prettify.js b/node_modules/npm/node_modules/unique-filename/coverage/prettify.js new file mode 100644 index 0000000..ef51e03 --- /dev/null +++ b/node_modules/npm/node_modules/unique-filename/coverage/prettify.js @@ -0,0 +1 @@ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/node_modules/npm/node_modules/unique-filename/coverage/sort-arrow-sprite.png b/node_modules/npm/node_modules/unique-filename/coverage/sort-arrow-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..03f704a609c6fd0dbfdac63466a7d7c958b5cbf3 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jii$m5978H@?Fn+^JD|Y9yzj{W`447Gxa{7*dM7nnnD-Lb z6^}Hx2)'; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function (a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function (a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function () { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i =0 ; i < cols.length; i += 1) { + if (cols[i].sortable) { + el = getNthColumn(i).querySelector('.sorter'); + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function () { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(cols); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/node_modules/npm/node_modules/unique-filename/index.js b/node_modules/npm/node_modules/unique-filename/index.js new file mode 100644 index 0000000..02bf1e2 --- /dev/null +++ b/node_modules/npm/node_modules/unique-filename/index.js @@ -0,0 +1,8 @@ +'use strict' +var path = require('path') + +var uniqueSlug = require('unique-slug') + +module.exports = function (filepath, prefix, uniq) { + return path.join(filepath, (prefix ? prefix + '-' : '') + uniqueSlug(uniq)) +} diff --git a/node_modules/npm/node_modules/unique-filename/package.json b/node_modules/npm/node_modules/unique-filename/package.json new file mode 100644 index 0000000..bc429aa --- /dev/null +++ b/node_modules/npm/node_modules/unique-filename/package.json @@ -0,0 +1,27 @@ +{ + "name": "unique-filename", + "version": "1.1.1", + "description": "Generate a unique filename for use in temporary directories or caches.", + "main": "index.js", + "scripts": { + "test": "standard && tap test" + }, + "repository": { + "type": "git", + "url": "https://github.com/iarna/unique-filename.git" + }, + "keywords": [], + "author": "Rebecca Turner (http://re-becca.org/)", + "license": "ISC", + "bugs": { + "url": "https://github.com/iarna/unique-filename/issues" + }, + "homepage": "https://github.com/iarna/unique-filename", + "devDependencies": { + "standard": "^5.4.1", + "tap": "^2.3.1" + }, + "dependencies": { + "unique-slug": "^2.0.0" + } +} diff --git a/node_modules/npm/node_modules/unique-filename/test/index.js b/node_modules/npm/node_modules/unique-filename/test/index.js new file mode 100644 index 0000000..105b4e5 --- /dev/null +++ b/node_modules/npm/node_modules/unique-filename/test/index.js @@ -0,0 +1,23 @@ +'sue strict' +var t = require('tap') +var uniqueFilename = require('../index.js') + +t.plan(6) + +var randomTmpfile = uniqueFilename('tmp') +t.like(randomTmpfile, /^tmp.[a-f0-9]{8}$/, 'random tmp file') + +var randomAgain = uniqueFilename('tmp') +t.notEqual(randomAgain, randomTmpfile, 'random tmp files are not the same') + +var randomPrefixedTmpfile = uniqueFilename('tmp', 'my-test') +t.like(randomPrefixedTmpfile, /^tmp.my-test-[a-f0-9]{8}$/, 'random prefixed tmp file') + +var randomPrefixedAgain = uniqueFilename('tmp', 'my-test') +t.notEqual(randomPrefixedAgain, randomPrefixedTmpfile, 'random prefixed tmp files are not the same') + +var uniqueTmpfile = uniqueFilename('tmp', 'testing', '/my/thing/to/uniq/on') +t.like(uniqueTmpfile, /^tmp.testing-7ddd44c0$/, 'unique filename') + +var uniqueAgain = uniqueFilename('tmp', 'testing', '/my/thing/to/uniq/on') +t.is(uniqueTmpfile, uniqueAgain, 'same unique string component produces same filename') diff --git a/node_modules/npm/node_modules/unique-slug/LICENSE b/node_modules/npm/node_modules/unique-slug/LICENSE new file mode 100644 index 0000000..7953647 --- /dev/null +++ b/node_modules/npm/node_modules/unique-slug/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright npm, Inc + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/npm/node_modules/unique-slug/index.js b/node_modules/npm/node_modules/unique-slug/index.js new file mode 100644 index 0000000..fa4761a --- /dev/null +++ b/node_modules/npm/node_modules/unique-slug/index.js @@ -0,0 +1,11 @@ +'use strict' +var MurmurHash3 = require('imurmurhash') + +module.exports = function (uniq) { + if (uniq) { + var hash = new MurmurHash3(uniq) + return ('00000000' + hash.result().toString(16)).substr(-8) + } else { + return (Math.random().toString(16) + '0000000').substr(2, 8) + } +} diff --git a/node_modules/npm/node_modules/unique-slug/package.json b/node_modules/npm/node_modules/unique-slug/package.json new file mode 100644 index 0000000..2142e68 --- /dev/null +++ b/node_modules/npm/node_modules/unique-slug/package.json @@ -0,0 +1,23 @@ +{ + "name": "unique-slug", + "version": "2.0.2", + "description": "Generate a unique character string suitible for use in files and URLs.", + "main": "index.js", + "scripts": { + "test": "standard && tap --coverage test" + }, + "keywords": [], + "author": "Rebecca Turner (http://re-becca.org)", + "license": "ISC", + "devDependencies": { + "standard": "^12.0.1", + "tap": "^12.7.0" + }, + "repository": { + "type": "git", + "url": "git://github.com/iarna/unique-slug.git" + }, + "dependencies": { + "imurmurhash": "^0.1.4" + } +} diff --git a/node_modules/npm/node_modules/unique-slug/test/index.js b/node_modules/npm/node_modules/unique-slug/test/index.js new file mode 100644 index 0000000..0f4ccad --- /dev/null +++ b/node_modules/npm/node_modules/unique-slug/test/index.js @@ -0,0 +1,13 @@ +'use strict' +var t = require('tap') +var uniqueSlug = require('../index.js') + +t.plan(5) +var slugA = uniqueSlug() +t.is(slugA.length, 8, 'random slugs are 8 chars') +t.notEqual(slugA, uniqueSlug(), "two slugs aren't the same") +var base = '/path/to/thingy' +var slugB = uniqueSlug(base) +t.is(slugB.length, 8, 'string based slugs are 8 chars') +t.is(slugB, uniqueSlug(base), 'two string based slugs, from the same string are the same') +t.notEqual(slugB, uniqueSlug(slugA), 'two string based slongs, from diff strings are different') diff --git a/node_modules/npm/node_modules/util-deprecate/History.md b/node_modules/npm/node_modules/util-deprecate/History.md new file mode 100644 index 0000000..acc8675 --- /dev/null +++ b/node_modules/npm/node_modules/util-deprecate/History.md @@ -0,0 +1,16 @@ + +1.0.2 / 2015-10-07 +================== + + * use try/catch when checking `localStorage` (#3, @kumavis) + +1.0.1 / 2014-11-25 +================== + + * browser: use `console.warn()` for deprecation calls + * browser: more jsdocs + +1.0.0 / 2014-04-30 +================== + + * initial commit diff --git a/node_modules/npm/node_modules/util-deprecate/LICENSE b/node_modules/npm/node_modules/util-deprecate/LICENSE new file mode 100644 index 0000000..6a60e8c --- /dev/null +++ b/node_modules/npm/node_modules/util-deprecate/LICENSE @@ -0,0 +1,24 @@ +(The MIT License) + +Copyright (c) 2014 Nathan Rajlich + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/npm/node_modules/util-deprecate/browser.js b/node_modules/npm/node_modules/util-deprecate/browser.js new file mode 100644 index 0000000..549ae2f --- /dev/null +++ b/node_modules/npm/node_modules/util-deprecate/browser.js @@ -0,0 +1,67 @@ + +/** + * Module exports. + */ + +module.exports = deprecate; + +/** + * Mark that a method should not be used. + * Returns a modified function which warns once by default. + * + * If `localStorage.noDeprecation = true` is set, then it is a no-op. + * + * If `localStorage.throwDeprecation = true` is set, then deprecated functions + * will throw an Error when invoked. + * + * If `localStorage.traceDeprecation = true` is set, then deprecated functions + * will invoke `console.trace()` instead of `console.error()`. + * + * @param {Function} fn - the function to deprecate + * @param {String} msg - the string to print to the console when `fn` is invoked + * @returns {Function} a new "deprecated" version of `fn` + * @api public + */ + +function deprecate (fn, msg) { + if (config('noDeprecation')) { + return fn; + } + + var warned = false; + function deprecated() { + if (!warned) { + if (config('throwDeprecation')) { + throw new Error(msg); + } else if (config('traceDeprecation')) { + console.trace(msg); + } else { + console.warn(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } + + return deprecated; +} + +/** + * Checks `localStorage` for boolean values for the given `name`. + * + * @param {String} name + * @returns {Boolean} + * @api private + */ + +function config (name) { + // accessing global.localStorage can trigger a DOMException in sandboxed iframes + try { + if (!global.localStorage) return false; + } catch (_) { + return false; + } + var val = global.localStorage[name]; + if (null == val) return false; + return String(val).toLowerCase() === 'true'; +} diff --git a/node_modules/npm/node_modules/util-deprecate/node.js b/node_modules/npm/node_modules/util-deprecate/node.js new file mode 100644 index 0000000..5e6fcff --- /dev/null +++ b/node_modules/npm/node_modules/util-deprecate/node.js @@ -0,0 +1,6 @@ + +/** + * For Node.js, simply re-export the core `util.deprecate` function. + */ + +module.exports = require('util').deprecate; diff --git a/node_modules/npm/node_modules/util-deprecate/package.json b/node_modules/npm/node_modules/util-deprecate/package.json new file mode 100644 index 0000000..2e79f89 --- /dev/null +++ b/node_modules/npm/node_modules/util-deprecate/package.json @@ -0,0 +1,27 @@ +{ + "name": "util-deprecate", + "version": "1.0.2", + "description": "The Node.js `util.deprecate()` function with browser support", + "main": "node.js", + "browser": "browser.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git://github.com/TooTallNate/util-deprecate.git" + }, + "keywords": [ + "util", + "deprecate", + "browserify", + "browser", + "node" + ], + "author": "Nathan Rajlich (http://n8.io/)", + "license": "MIT", + "bugs": { + "url": "https://github.com/TooTallNate/util-deprecate/issues" + }, + "homepage": "https://github.com/TooTallNate/util-deprecate" +} diff --git a/node_modules/npm/node_modules/validate-npm-package-license/LICENSE b/node_modules/npm/node_modules/validate-npm-package-license/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/node_modules/npm/node_modules/validate-npm-package-license/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/node_modules/npm/node_modules/validate-npm-package-license/index.js b/node_modules/npm/node_modules/validate-npm-package-license/index.js new file mode 100644 index 0000000..35eaa73 --- /dev/null +++ b/node_modules/npm/node_modules/validate-npm-package-license/index.js @@ -0,0 +1,86 @@ +var parse = require('spdx-expression-parse'); +var correct = require('spdx-correct'); + +var genericWarning = ( + 'license should be ' + + 'a valid SPDX license expression (without "LicenseRef"), ' + + '"UNLICENSED", or ' + + '"SEE LICENSE IN "' +); + +var fileReferenceRE = /^SEE LICEN[CS]E IN (.+)$/; + +function startsWith(prefix, string) { + return string.slice(0, prefix.length) === prefix; +} + +function usesLicenseRef(ast) { + if (ast.hasOwnProperty('license')) { + var license = ast.license; + return ( + startsWith('LicenseRef', license) || + startsWith('DocumentRef', license) + ); + } else { + return ( + usesLicenseRef(ast.left) || + usesLicenseRef(ast.right) + ); + } +} + +module.exports = function(argument) { + var ast; + + try { + ast = parse(argument); + } catch (e) { + var match + if ( + argument === 'UNLICENSED' || + argument === 'UNLICENCED' + ) { + return { + validForOldPackages: true, + validForNewPackages: true, + unlicensed: true + }; + } else if (match = fileReferenceRE.exec(argument)) { + return { + validForOldPackages: true, + validForNewPackages: true, + inFile: match[1] + }; + } else { + var result = { + validForOldPackages: false, + validForNewPackages: false, + warnings: [genericWarning] + }; + if (argument.trim().length !== 0) { + var corrected = correct(argument); + if (corrected) { + result.warnings.push( + 'license is similar to the valid expression "' + corrected + '"' + ); + } + } + return result; + } + } + + if (usesLicenseRef(ast)) { + return { + validForNewPackages: false, + validForOldPackages: false, + spdx: true, + warnings: [genericWarning] + }; + } else { + return { + validForNewPackages: true, + validForOldPackages: true, + spdx: true + }; + } +}; diff --git a/node_modules/npm/node_modules/validate-npm-package-license/package.json b/node_modules/npm/node_modules/validate-npm-package-license/package.json new file mode 100644 index 0000000..9e92af4 --- /dev/null +++ b/node_modules/npm/node_modules/validate-npm-package-license/package.json @@ -0,0 +1,28 @@ +{ + "name": "validate-npm-package-license", + "description": "Give me a string and I'll tell you if it's a valid npm package license string", + "version": "3.0.4", + "author": "Kyle E. Mitchell (https://kemitchell.com)", + "contributors": [ + "Mark Stacey " + ], + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + }, + "devDependencies": { + "defence-cli": "^2.0.1", + "replace-require-self": "^1.0.0" + }, + "keywords": [ + "license", + "npm", + "package", + "validation" + ], + "license": "Apache-2.0", + "repository": "kemitchell/validate-npm-package-license.js", + "scripts": { + "test": "defence README.md | replace-require-self | node" + } +} diff --git a/node_modules/npm/node_modules/validate-npm-package-name/LICENSE b/node_modules/npm/node_modules/validate-npm-package-name/LICENSE new file mode 100644 index 0000000..fdcd63b --- /dev/null +++ b/node_modules/npm/node_modules/validate-npm-package-name/LICENSE @@ -0,0 +1,6 @@ +Copyright (c) 2015, npm, Inc + + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/npm/node_modules/validate-npm-package-name/index.js b/node_modules/npm/node_modules/validate-npm-package-name/index.js new file mode 100644 index 0000000..eb43fa2 --- /dev/null +++ b/node_modules/npm/node_modules/validate-npm-package-name/index.js @@ -0,0 +1,105 @@ +'use strict' + +var scopedPackagePattern = new RegExp('^(?:@([^/]+?)[/])?([^/]+?)$') +var builtins = require('builtins') +var blacklist = [ + 'node_modules', + 'favicon.ico' +] + +var validate = module.exports = function (name) { + var warnings = [] + var errors = [] + + if (name === null) { + errors.push('name cannot be null') + return done(warnings, errors) + } + + if (name === undefined) { + errors.push('name cannot be undefined') + return done(warnings, errors) + } + + if (typeof name !== 'string') { + errors.push('name must be a string') + return done(warnings, errors) + } + + if (!name.length) { + errors.push('name length must be greater than zero') + } + + if (name.match(/^\./)) { + errors.push('name cannot start with a period') + } + + if (name.match(/^_/)) { + errors.push('name cannot start with an underscore') + } + + if (name.trim() !== name) { + errors.push('name cannot contain leading or trailing spaces') + } + + // No funny business + blacklist.forEach(function (blacklistedName) { + if (name.toLowerCase() === blacklistedName) { + errors.push(blacklistedName + ' is a blacklisted name') + } + }) + + // Generate warnings for stuff that used to be allowed + + // core module names like http, events, util, etc + builtins.forEach(function (builtin) { + if (name.toLowerCase() === builtin) { + warnings.push(builtin + ' is a core module name') + } + }) + + // really-long-package-names-------------------------------such--length-----many---wow + // the thisisareallyreallylongpackagenameitshouldpublishdowenowhavealimittothelengthofpackagenames-poch. + if (name.length > 214) { + warnings.push('name can no longer contain more than 214 characters') + } + + // mIxeD CaSe nAMEs + if (name.toLowerCase() !== name) { + warnings.push('name can no longer contain capital letters') + } + + if (/[~'!()*]/.test(name.split('/').slice(-1)[0])) { + warnings.push('name can no longer contain special characters ("~\'!()*")') + } + + if (encodeURIComponent(name) !== name) { + // Maybe it's a scoped package name, like @user/package + var nameMatch = name.match(scopedPackagePattern) + if (nameMatch) { + var user = nameMatch[1] + var pkg = nameMatch[2] + if (encodeURIComponent(user) === user && encodeURIComponent(pkg) === pkg) { + return done(warnings, errors) + } + } + + errors.push('name can only contain URL-friendly characters') + } + + return done(warnings, errors) +} + +validate.scopedPackagePattern = scopedPackagePattern + +var done = function (warnings, errors) { + var result = { + validForNewPackages: errors.length === 0 && warnings.length === 0, + validForOldPackages: errors.length === 0, + warnings: warnings, + errors: errors + } + if (!result.warnings.length) delete result.warnings + if (!result.errors.length) delete result.errors + return result +} diff --git a/node_modules/npm/node_modules/validate-npm-package-name/package.json b/node_modules/npm/node_modules/validate-npm-package-name/package.json new file mode 100644 index 0000000..b72e9ef --- /dev/null +++ b/node_modules/npm/node_modules/validate-npm-package-name/package.json @@ -0,0 +1,38 @@ +{ + "name": "validate-npm-package-name", + "version": "3.0.0", + "description": "Give me a string and I'll tell you if it's a valid npm package name", + "main": "index.js", + "directories": { + "test": "test" + }, + "dependencies": { + "builtins": "^1.0.3" + }, + "devDependencies": { + "standard": "^8.6.0", + "tap": "^10.0.0" + }, + "scripts": { + "cov:test": "TAP_FLAGS='--cov' npm run test:code", + "test:code": "tap ${TAP_FLAGS:-'--'} test/*.js", + "test:style": "standard", + "test": "npm run test:code && npm run test:style" + }, + "repository": { + "type": "git", + "url": "https://github.com/npm/validate-npm-package-name" + }, + "keywords": [ + "npm", + "package", + "names", + "validation" + ], + "author": "zeke", + "license": "ISC", + "bugs": { + "url": "https://github.com/npm/validate-npm-package-name/issues" + }, + "homepage": "https://github.com/npm/validate-npm-package-name" +} diff --git a/node_modules/npm/node_modules/validate-npm-package-name/test/index.js b/node_modules/npm/node_modules/validate-npm-package-name/test/index.js new file mode 100644 index 0000000..1f0bc61 --- /dev/null +++ b/node_modules/npm/node_modules/validate-npm-package-name/test/index.js @@ -0,0 +1,109 @@ +'use strict' + +var validate = require('..') +var test = require('tap').test + +test('validate-npm-package-name', function (t) { + // Traditional + + t.deepEqual(validate('some-package'), {validForNewPackages: true, validForOldPackages: true}) + t.deepEqual(validate('example.com'), {validForNewPackages: true, validForOldPackages: true}) + t.deepEqual(validate('under_score'), {validForNewPackages: true, validForOldPackages: true}) + t.deepEqual(validate('period.js'), {validForNewPackages: true, validForOldPackages: true}) + t.deepEqual(validate('123numeric'), {validForNewPackages: true, validForOldPackages: true}) + t.deepEqual(validate('crazy!'), { + validForNewPackages: false, + validForOldPackages: true, + warnings: ['name can no longer contain special characters ("~\'!()*")'] + }) + + // Scoped (npm 2+) + + t.deepEqual(validate('@npm/thingy'), {validForNewPackages: true, validForOldPackages: true}) + t.deepEqual(validate('@npm-zors/money!time.js'), { + validForNewPackages: false, + validForOldPackages: true, + warnings: ['name can no longer contain special characters ("~\'!()*")'] + }) + + // Invalid + + t.deepEqual(validate(''), { + validForNewPackages: false, + validForOldPackages: false, + errors: ['name length must be greater than zero']}) + + t.deepEqual(validate(''), { + validForNewPackages: false, + validForOldPackages: false, + errors: ['name length must be greater than zero']}) + + t.deepEqual(validate('.start-with-period'), { + validForNewPackages: false, + validForOldPackages: false, + errors: ['name cannot start with a period']}) + + t.deepEqual(validate('_start-with-underscore'), { + validForNewPackages: false, + validForOldPackages: false, + errors: ['name cannot start with an underscore']}) + + t.deepEqual(validate('contain:colons'), { + validForNewPackages: false, + validForOldPackages: false, + errors: ['name can only contain URL-friendly characters']}) + + t.deepEqual(validate(' leading-space'), { + validForNewPackages: false, + validForOldPackages: false, + errors: ['name cannot contain leading or trailing spaces', 'name can only contain URL-friendly characters']}) + + t.deepEqual(validate('trailing-space '), { + validForNewPackages: false, + validForOldPackages: false, + errors: ['name cannot contain leading or trailing spaces', 'name can only contain URL-friendly characters']}) + + t.deepEqual(validate('s/l/a/s/h/e/s'), { + validForNewPackages: false, + validForOldPackages: false, + errors: ['name can only contain URL-friendly characters']}) + + t.deepEqual(validate('node_modules'), { + validForNewPackages: false, + validForOldPackages: false, + errors: ['node_modules is a blacklisted name']}) + + t.deepEqual(validate('favicon.ico'), { + validForNewPackages: false, + validForOldPackages: false, + errors: ['favicon.ico is a blacklisted name']}) + + // Node/IO Core + + t.deepEqual(validate('http'), { + validForNewPackages: false, + validForOldPackages: true, + warnings: ['http is a core module name']}) + + // Long Package Names + + t.deepEqual(validate('ifyouwanttogetthesumoftwonumberswherethosetwonumbersarechosenbyfindingthelargestoftwooutofthreenumbersandsquaringthemwhichismultiplyingthembyitselfthenyoushouldinputthreenumbersintothisfunctionanditwilldothatforyou-'), { + validForNewPackages: false, + validForOldPackages: true, + warnings: ['name can no longer contain more than 214 characters'] + }) + + t.deepEqual(validate('ifyouwanttogetthesumoftwonumberswherethosetwonumbersarechosenbyfindingthelargestoftwooutofthreenumbersandsquaringthemwhichismultiplyingthembyitselfthenyoushouldinputthreenumbersintothisfunctionanditwilldothatforyou'), { + validForNewPackages: true, + validForOldPackages: true + }) + + // Legacy Mixed-Case + + t.deepEqual(validate('CAPITAL-LETTERS'), { + validForNewPackages: false, + validForOldPackages: true, + warnings: ['name can no longer contain capital letters']}) + + t.end() +}) diff --git a/node_modules/npm/node_modules/walk-up-path/LICENSE b/node_modules/npm/node_modules/walk-up-path/LICENSE new file mode 100644 index 0000000..05eeeb8 --- /dev/null +++ b/node_modules/npm/node_modules/walk-up-path/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/npm/node_modules/walk-up-path/index.js b/node_modules/npm/node_modules/walk-up-path/index.js new file mode 100644 index 0000000..05524a6 --- /dev/null +++ b/node_modules/npm/node_modules/walk-up-path/index.js @@ -0,0 +1,11 @@ +const {dirname, resolve} = require('path') +module.exports = function* (path) { + for (path = resolve(path); path;) { + yield path + const pp = dirname(path) + if (pp === path) + path = null + else + path = pp + } +} diff --git a/node_modules/npm/node_modules/walk-up-path/package.json b/node_modules/npm/node_modules/walk-up-path/package.json new file mode 100644 index 0000000..df69d92 --- /dev/null +++ b/node_modules/npm/node_modules/walk-up-path/package.json @@ -0,0 +1,28 @@ +{ + "name": "walk-up-path", + "version": "1.0.0", + "files": [ + "index.js" + ], + "description": "Given a path string, return a generator that walks up the path, emitting each dirname.", + "repository": { + "type": "git", + "url": "git+https://github.com/isaacs/walk-up-path" + }, + "author": "Isaac Z. Schlueter (https://izs.me)", + "license": "ISC", + "scripts": { + "test": "tap", + "snap": "tap", + "preversion": "npm test", + "postversion": "npm publish", + "prepublishOnly": "git push origin --follow-tags" + }, + "tap": { + "check-coverage": true + }, + "devDependencies": { + "tap": "^14.10.7", + "require-inject": "^1.4.4" + } +} diff --git a/node_modules/npm/node_modules/wcwidth/LICENSE b/node_modules/npm/node_modules/wcwidth/LICENSE new file mode 100644 index 0000000..313ef1e --- /dev/null +++ b/node_modules/npm/node_modules/wcwidth/LICENSE @@ -0,0 +1,30 @@ +wcwidth.js: JavaScript Portng of Markus Kuhn's wcwidth() Implementation +======================================================================= + +Copyright (C) 2012 by Jun Woong. + +This package is a JavaScript porting of `wcwidth()` implementation +[by Markus Kuhn](http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c). + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + diff --git a/node_modules/npm/node_modules/wcwidth/Readme.md b/node_modules/npm/node_modules/wcwidth/Readme.md new file mode 100644 index 0000000..0649a31 --- /dev/null +++ b/node_modules/npm/node_modules/wcwidth/Readme.md @@ -0,0 +1,33 @@ +# wcwidth + +Determine columns needed for a fixed-size wide-character string + +---- + +wcwidth is a simple JavaScript port of [wcwidth](http://man7.org/linux/man-pages/man3/wcswidth.3.html) implemented in C by Markus Kuhn. + +JavaScript port [originally](https://github.com/mycoboco/wcwidth.js) written by Woong Jun (http://code.woong.org/) + +## Example + +```js +'한'.length // => 1 +wcwidth('한'); // => 2 + +'한글'.length // => 2 +wcwidth('한글'); // => 4 +``` + +`wcwidth()` and its string version, `wcswidth()` are defined by IEEE Std +1002.1-2001, a.k.a. POSIX.1-2001, and return the number of columns used +to represent the given wide character and string. + +Markus's implementation assumes the wide character given to those +functions to be encoded in ISO 10646, which is almost true for +JavaScript's characters. + +[Further explaination here](docs) + +## License + +MIT diff --git a/node_modules/npm/node_modules/wcwidth/combining.js b/node_modules/npm/node_modules/wcwidth/combining.js new file mode 100644 index 0000000..dac9789 --- /dev/null +++ b/node_modules/npm/node_modules/wcwidth/combining.js @@ -0,0 +1,50 @@ +module.exports = [ + [ 0x0300, 0x036F ], [ 0x0483, 0x0486 ], [ 0x0488, 0x0489 ], + [ 0x0591, 0x05BD ], [ 0x05BF, 0x05BF ], [ 0x05C1, 0x05C2 ], + [ 0x05C4, 0x05C5 ], [ 0x05C7, 0x05C7 ], [ 0x0600, 0x0603 ], + [ 0x0610, 0x0615 ], [ 0x064B, 0x065E ], [ 0x0670, 0x0670 ], + [ 0x06D6, 0x06E4 ], [ 0x06E7, 0x06E8 ], [ 0x06EA, 0x06ED ], + [ 0x070F, 0x070F ], [ 0x0711, 0x0711 ], [ 0x0730, 0x074A ], + [ 0x07A6, 0x07B0 ], [ 0x07EB, 0x07F3 ], [ 0x0901, 0x0902 ], + [ 0x093C, 0x093C ], [ 0x0941, 0x0948 ], [ 0x094D, 0x094D ], + [ 0x0951, 0x0954 ], [ 0x0962, 0x0963 ], [ 0x0981, 0x0981 ], + [ 0x09BC, 0x09BC ], [ 0x09C1, 0x09C4 ], [ 0x09CD, 0x09CD ], + [ 0x09E2, 0x09E3 ], [ 0x0A01, 0x0A02 ], [ 0x0A3C, 0x0A3C ], + [ 0x0A41, 0x0A42 ], [ 0x0A47, 0x0A48 ], [ 0x0A4B, 0x0A4D ], + [ 0x0A70, 0x0A71 ], [ 0x0A81, 0x0A82 ], [ 0x0ABC, 0x0ABC ], + [ 0x0AC1, 0x0AC5 ], [ 0x0AC7, 0x0AC8 ], [ 0x0ACD, 0x0ACD ], + [ 0x0AE2, 0x0AE3 ], [ 0x0B01, 0x0B01 ], [ 0x0B3C, 0x0B3C ], + [ 0x0B3F, 0x0B3F ], [ 0x0B41, 0x0B43 ], [ 0x0B4D, 0x0B4D ], + [ 0x0B56, 0x0B56 ], [ 0x0B82, 0x0B82 ], [ 0x0BC0, 0x0BC0 ], + [ 0x0BCD, 0x0BCD ], [ 0x0C3E, 0x0C40 ], [ 0x0C46, 0x0C48 ], + [ 0x0C4A, 0x0C4D ], [ 0x0C55, 0x0C56 ], [ 0x0CBC, 0x0CBC ], + [ 0x0CBF, 0x0CBF ], [ 0x0CC6, 0x0CC6 ], [ 0x0CCC, 0x0CCD ], + [ 0x0CE2, 0x0CE3 ], [ 0x0D41, 0x0D43 ], [ 0x0D4D, 0x0D4D ], + [ 0x0DCA, 0x0DCA ], [ 0x0DD2, 0x0DD4 ], [ 0x0DD6, 0x0DD6 ], + [ 0x0E31, 0x0E31 ], [ 0x0E34, 0x0E3A ], [ 0x0E47, 0x0E4E ], + [ 0x0EB1, 0x0EB1 ], [ 0x0EB4, 0x0EB9 ], [ 0x0EBB, 0x0EBC ], + [ 0x0EC8, 0x0ECD ], [ 0x0F18, 0x0F19 ], [ 0x0F35, 0x0F35 ], + [ 0x0F37, 0x0F37 ], [ 0x0F39, 0x0F39 ], [ 0x0F71, 0x0F7E ], + [ 0x0F80, 0x0F84 ], [ 0x0F86, 0x0F87 ], [ 0x0F90, 0x0F97 ], + [ 0x0F99, 0x0FBC ], [ 0x0FC6, 0x0FC6 ], [ 0x102D, 0x1030 ], + [ 0x1032, 0x1032 ], [ 0x1036, 0x1037 ], [ 0x1039, 0x1039 ], + [ 0x1058, 0x1059 ], [ 0x1160, 0x11FF ], [ 0x135F, 0x135F ], + [ 0x1712, 0x1714 ], [ 0x1732, 0x1734 ], [ 0x1752, 0x1753 ], + [ 0x1772, 0x1773 ], [ 0x17B4, 0x17B5 ], [ 0x17B7, 0x17BD ], + [ 0x17C6, 0x17C6 ], [ 0x17C9, 0x17D3 ], [ 0x17DD, 0x17DD ], + [ 0x180B, 0x180D ], [ 0x18A9, 0x18A9 ], [ 0x1920, 0x1922 ], + [ 0x1927, 0x1928 ], [ 0x1932, 0x1932 ], [ 0x1939, 0x193B ], + [ 0x1A17, 0x1A18 ], [ 0x1B00, 0x1B03 ], [ 0x1B34, 0x1B34 ], + [ 0x1B36, 0x1B3A ], [ 0x1B3C, 0x1B3C ], [ 0x1B42, 0x1B42 ], + [ 0x1B6B, 0x1B73 ], [ 0x1DC0, 0x1DCA ], [ 0x1DFE, 0x1DFF ], + [ 0x200B, 0x200F ], [ 0x202A, 0x202E ], [ 0x2060, 0x2063 ], + [ 0x206A, 0x206F ], [ 0x20D0, 0x20EF ], [ 0x302A, 0x302F ], + [ 0x3099, 0x309A ], [ 0xA806, 0xA806 ], [ 0xA80B, 0xA80B ], + [ 0xA825, 0xA826 ], [ 0xFB1E, 0xFB1E ], [ 0xFE00, 0xFE0F ], + [ 0xFE20, 0xFE23 ], [ 0xFEFF, 0xFEFF ], [ 0xFFF9, 0xFFFB ], + [ 0x10A01, 0x10A03 ], [ 0x10A05, 0x10A06 ], [ 0x10A0C, 0x10A0F ], + [ 0x10A38, 0x10A3A ], [ 0x10A3F, 0x10A3F ], [ 0x1D167, 0x1D169 ], + [ 0x1D173, 0x1D182 ], [ 0x1D185, 0x1D18B ], [ 0x1D1AA, 0x1D1AD ], + [ 0x1D242, 0x1D244 ], [ 0xE0001, 0xE0001 ], [ 0xE0020, 0xE007F ], + [ 0xE0100, 0xE01EF ] +] diff --git a/node_modules/npm/node_modules/wcwidth/docs/index.md b/node_modules/npm/node_modules/wcwidth/docs/index.md new file mode 100644 index 0000000..5c5126d --- /dev/null +++ b/node_modules/npm/node_modules/wcwidth/docs/index.md @@ -0,0 +1,65 @@ +### Javascript porting of Markus Kuhn's wcwidth() implementation + +The following explanation comes from the original C implementation: + +This is an implementation of wcwidth() and wcswidth() (defined in +IEEE Std 1002.1-2001) for Unicode. + +http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html +http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html + +In fixed-width output devices, Latin characters all occupy a single +"cell" position of equal width, whereas ideographic CJK characters +occupy two such cells. Interoperability between terminal-line +applications and (teletype-style) character terminals using the +UTF-8 encoding requires agreement on which character should advance +the cursor by how many cell positions. No established formal +standards exist at present on which Unicode character shall occupy +how many cell positions on character terminals. These routines are +a first attempt of defining such behavior based on simple rules +applied to data provided by the Unicode Consortium. + +For some graphical characters, the Unicode standard explicitly +defines a character-cell width via the definition of the East Asian +FullWidth (F), Wide (W), Half-width (H), and Narrow (Na) classes. +In all these cases, there is no ambiguity about which width a +terminal shall use. For characters in the East Asian Ambiguous (A) +class, the width choice depends purely on a preference of backward +compatibility with either historic CJK or Western practice. +Choosing single-width for these characters is easy to justify as +the appropriate long-term solution, as the CJK practice of +displaying these characters as double-width comes from historic +implementation simplicity (8-bit encoded characters were displayed +single-width and 16-bit ones double-width, even for Greek, +Cyrillic, etc.) and not any typographic considerations. + +Much less clear is the choice of width for the Not East Asian +(Neutral) class. Existing practice does not dictate a width for any +of these characters. It would nevertheless make sense +typographically to allocate two character cells to characters such +as for instance EM SPACE or VOLUME INTEGRAL, which cannot be +represented adequately with a single-width glyph. The following +routines at present merely assign a single-cell width to all +neutral characters, in the interest of simplicity. This is not +entirely satisfactory and should be reconsidered before +establishing a formal standard in this area. At the moment, the +decision which Not East Asian (Neutral) characters should be +represented by double-width glyphs cannot yet be answered by +applying a simple rule from the Unicode database content. Setting +up a proper standard for the behavior of UTF-8 character terminals +will require a careful analysis not only of each Unicode character, +but also of each presentation form, something the author of these +routines has avoided to do so far. + +http://www.unicode.org/unicode/reports/tr11/ + +Markus Kuhn -- 2007-05-26 (Unicode 5.0) + +Permission to use, copy, modify, and distribute this software +for any purpose and without fee is hereby granted. The author +disclaims all warranties with regard to this software. + +Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c + + + diff --git a/node_modules/npm/node_modules/wcwidth/index.js b/node_modules/npm/node_modules/wcwidth/index.js new file mode 100644 index 0000000..48cbb60 --- /dev/null +++ b/node_modules/npm/node_modules/wcwidth/index.js @@ -0,0 +1,99 @@ +"use strict" + +var defaults = require('defaults') +var combining = require('./combining') + +var DEFAULTS = { + nul: 0, + control: 0 +} + +module.exports = function wcwidth(str) { + return wcswidth(str, DEFAULTS) +} + +module.exports.config = function(opts) { + opts = defaults(opts || {}, DEFAULTS) + return function wcwidth(str) { + return wcswidth(str, opts) + } +} + +/* + * The following functions define the column width of an ISO 10646 + * character as follows: + * - The null character (U+0000) has a column width of 0. + * - Other C0/C1 control characters and DEL will lead to a return value + * of -1. + * - Non-spacing and enclosing combining characters (general category + * code Mn or Me in the + * Unicode database) have a column width of 0. + * - SOFT HYPHEN (U+00AD) has a column width of 1. + * - Other format characters (general category code Cf in the Unicode + * database) and ZERO WIDTH + * SPACE (U+200B) have a column width of 0. + * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF) + * have a column width of 0. + * - Spacing characters in the East Asian Wide (W) or East Asian + * Full-width (F) category as + * defined in Unicode Technical Report #11 have a column width of 2. + * - All remaining characters (including all printable ISO 8859-1 and + * WGL4 characters, Unicode control characters, etc.) have a column + * width of 1. + * This implementation assumes that characters are encoded in ISO 10646. +*/ + +function wcswidth(str, opts) { + if (typeof str !== 'string') return wcwidth(str, opts) + + var s = 0 + for (var i = 0; i < str.length; i++) { + var n = wcwidth(str.charCodeAt(i), opts) + if (n < 0) return -1 + s += n + } + + return s +} + +function wcwidth(ucs, opts) { + // test for 8-bit control characters + if (ucs === 0) return opts.nul + if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0)) return opts.control + + // binary search in table of non-spacing characters + if (bisearch(ucs)) return 0 + + // if we arrive here, ucs is not a combining or C0/C1 control character + return 1 + + (ucs >= 0x1100 && + (ucs <= 0x115f || // Hangul Jamo init. consonants + ucs == 0x2329 || ucs == 0x232a || + (ucs >= 0x2e80 && ucs <= 0xa4cf && + ucs != 0x303f) || // CJK ... Yi + (ucs >= 0xac00 && ucs <= 0xd7a3) || // Hangul Syllables + (ucs >= 0xf900 && ucs <= 0xfaff) || // CJK Compatibility Ideographs + (ucs >= 0xfe10 && ucs <= 0xfe19) || // Vertical forms + (ucs >= 0xfe30 && ucs <= 0xfe6f) || // CJK Compatibility Forms + (ucs >= 0xff00 && ucs <= 0xff60) || // Fullwidth Forms + (ucs >= 0xffe0 && ucs <= 0xffe6) || + (ucs >= 0x20000 && ucs <= 0x2fffd) || + (ucs >= 0x30000 && ucs <= 0x3fffd))); +} + +function bisearch(ucs) { + var min = 0 + var max = combining.length - 1 + var mid + + if (ucs < combining[0][0] || ucs > combining[max][1]) return false + + while (max >= min) { + mid = Math.floor((min + max) / 2) + if (ucs > combining[mid][1]) min = mid + 1 + else if (ucs < combining[mid][0]) max = mid - 1 + else return true + } + + return false +} diff --git a/node_modules/npm/node_modules/wcwidth/package.json b/node_modules/npm/node_modules/wcwidth/package.json new file mode 100644 index 0000000..eb2df9d --- /dev/null +++ b/node_modules/npm/node_modules/wcwidth/package.json @@ -0,0 +1,42 @@ +{ + "name": "wcwidth", + "version": "1.0.1", + "description": "Port of C's wcwidth() and wcswidth()", + "author": "Tim Oxley", + "contributors": [ + "Woong Jun (http://code.woong.org/)" + ], + "main": "index.js", + "dependencies": { + "defaults": "^1.0.3" + }, + "devDependencies": { + "tape": "^4.5.1" + }, + "license": "MIT", + "keywords": [ + "wide character", + "wc", + "wide character string", + "wcs", + "terminal", + "width", + "wcwidth", + "wcswidth" + ], + "directories": { + "doc": "docs", + "test": "test" + }, + "scripts": { + "test": "tape test/*.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/timoxley/wcwidth.git" + }, + "bugs": { + "url": "https://github.com/timoxley/wcwidth/issues" + }, + "homepage": "https://github.com/timoxley/wcwidth#readme" +} diff --git a/node_modules/npm/node_modules/wcwidth/test/index.js b/node_modules/npm/node_modules/wcwidth/test/index.js new file mode 100644 index 0000000..5180599 --- /dev/null +++ b/node_modules/npm/node_modules/wcwidth/test/index.js @@ -0,0 +1,64 @@ +"use strict" + +var wcwidth = require('../') +var test = require('tape') + +test('handles regular strings', function(t) { + t.strictEqual(wcwidth('abc'), 3) + t.end() +}) + +test('handles multibyte strings', function(t) { + t.strictEqual(wcwidth('字的模块'), 8) + t.end() +}) + +test('handles multibyte characters mixed with regular characters', function(t) { + t.strictEqual(wcwidth('abc 字的模块'), 12) + t.end() +}) + +test('ignores control characters e.g. \\n', function(t) { + t.strictEqual(wcwidth('abc\n字的模块\ndef'), 14) + t.end() +}) + +test('ignores bad input', function(t) { + t.strictEqual(wcwidth(''), 0) + t.strictEqual(wcwidth(3), 0) + t.strictEqual(wcwidth({}), 0) + t.strictEqual(wcwidth([]), 0) + t.strictEqual(wcwidth(), 0) + t.end() +}) + +test('ignores nul (charcode 0)', function(t) { + t.strictEqual(wcwidth(String.fromCharCode(0)), 0) + t.end() +}) + +test('ignores nul mixed with chars', function(t) { + t.strictEqual(wcwidth('a' + String.fromCharCode(0) + '\n字的'), 5) + t.end() +}) + +test('can have custom value for nul', function(t) { + t.strictEqual(wcwidth.config({ + nul: 10 + })(String.fromCharCode(0) + 'a字的'), 15) + t.end() +}) + +test('can have custom control char value', function(t) { + t.strictEqual(wcwidth.config({ + control: 1 + })('abc\n字的模块\ndef'), 16) + t.end() +}) + +test('negative custom control chars == -1', function(t) { + t.strictEqual(wcwidth.config({ + control: -1 + })('abc\n字的模块\ndef'), -1) + t.end() +}) diff --git a/node_modules/npm/node_modules/which/CHANGELOG.md b/node_modules/npm/node_modules/which/CHANGELOG.md new file mode 100644 index 0000000..7fb1f20 --- /dev/null +++ b/node_modules/npm/node_modules/which/CHANGELOG.md @@ -0,0 +1,166 @@ +# Changes + + +## 2.0.2 + +* Rename bin to `node-which` + +## 2.0.1 + +* generate changelog and publish on version bump +* enforce 100% test coverage +* Promise interface + +## 2.0.0 + +* Parallel tests, modern JavaScript, and drop support for node < 8 + +## 1.3.1 + +* update deps +* update travis + +## v1.3.0 + +* Add nothrow option to which.sync +* update tap + +## v1.2.14 + +* appveyor: drop node 5 and 0.x +* travis-ci: add node 6, drop 0.x + +## v1.2.13 + +* test: Pass missing option to pass on windows +* update tap +* update isexe to 2.0.0 +* neveragain.tech pledge request + +## v1.2.12 + +* Removed unused require + +## v1.2.11 + +* Prevent changelog script from being included in package + +## v1.2.10 + +* Use env.PATH only, not env.Path + +## v1.2.9 + +* fix for paths starting with ../ +* Remove unused `is-absolute` module + +## v1.2.8 + +* bullet items in changelog that contain (but don't start with) # + +## v1.2.7 + +* strip 'update changelog' changelog entries out of changelog + +## v1.2.6 + +* make the changelog bulleted + +## v1.2.5 + +* make a changelog, and keep it up to date +* don't include tests in package +* Properly handle relative-path executables +* appveyor +* Attach error code to Not Found error +* Make tests pass on Windows + +## v1.2.4 + +* Fix typo + +## v1.2.3 + +* update isexe, fix regression in pathExt handling + +## v1.2.2 + +* update deps, use isexe module, test windows + +## v1.2.1 + +* Sometimes windows PATH entries are quoted +* Fixed a bug in the check for group and user mode bits. This bug was introduced during refactoring for supporting strict mode. +* doc cli + +## v1.2.0 + +* Add support for opt.all and -as cli flags +* test the bin +* update travis +* Allow checking for multiple programs in bin/which +* tap 2 + +## v1.1.2 + +* travis +* Refactored and fixed undefined error on Windows +* Support strict mode + +## v1.1.1 + +* test +g exes against secondary groups, if available +* Use windows exe semantics on cygwin & msys +* cwd should be first in path on win32, not last +* Handle lower-case 'env.Path' on Windows +* Update docs +* use single-quotes + +## v1.1.0 + +* Add tests, depend on is-absolute + +## v1.0.9 + +* which.js: root is allowed to execute files owned by anyone + +## v1.0.8 + +* don't use graceful-fs + +## v1.0.7 + +* add license to package.json + +## v1.0.6 + +* isc license + +## 1.0.5 + +* Awful typo + +## 1.0.4 + +* Test for path absoluteness properly +* win: Allow '' as a pathext if cmd has a . in it + +## 1.0.3 + +* Remove references to execPath +* Make `which.sync()` work on Windows by honoring the PATHEXT variable. +* Make `isExe()` always return true on Windows. +* MIT + +## 1.0.2 + +* Only files can be exes + +## 1.0.1 + +* Respect the PATHEXT env for win32 support +* should 0755 the bin +* binary +* guts +* package +* 1st diff --git a/node_modules/npm/node_modules/which/LICENSE b/node_modules/npm/node_modules/which/LICENSE new file mode 100644 index 0000000..19129e3 --- /dev/null +++ b/node_modules/npm/node_modules/which/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/npm/node_modules/which/README.md b/node_modules/npm/node_modules/which/README.md new file mode 100644 index 0000000..cd83350 --- /dev/null +++ b/node_modules/npm/node_modules/which/README.md @@ -0,0 +1,54 @@ +# which + +Like the unix `which` utility. + +Finds the first instance of a specified executable in the PATH +environment variable. Does not cache the results, so `hash -r` is not +needed when the PATH changes. + +## USAGE + +```javascript +var which = require('which') + +// async usage +which('node', function (er, resolvedPath) { + // er is returned if no "node" is found on the PATH + // if it is found, then the absolute path to the exec is returned +}) + +// or promise +which('node').then(resolvedPath => { ... }).catch(er => { ... not found ... }) + +// sync usage +// throws if not found +var resolved = which.sync('node') + +// if nothrow option is used, returns null if not found +resolved = which.sync('node', {nothrow: true}) + +// Pass options to override the PATH and PATHEXT environment vars. +which('node', { path: someOtherPath }, function (er, resolved) { + if (er) + throw er + console.log('found at %j', resolved) +}) +``` + +## CLI USAGE + +Same as the BSD `which(1)` binary. + +``` +usage: which [-as] program ... +``` + +## OPTIONS + +You may pass an options object as the second argument. + +- `path`: Use instead of the `PATH` environment variable. +- `pathExt`: Use instead of the `PATHEXT` environment variable. +- `all`: Return all matches, instead of just the first one. Note that + this means the function returns an array of strings instead of a + single string. diff --git a/node_modules/npm/node_modules/which/bin/node-which b/node_modules/npm/node_modules/which/bin/node-which new file mode 100755 index 0000000..7cee372 --- /dev/null +++ b/node_modules/npm/node_modules/which/bin/node-which @@ -0,0 +1,52 @@ +#!/usr/bin/env node +var which = require("../") +if (process.argv.length < 3) + usage() + +function usage () { + console.error('usage: which [-as] program ...') + process.exit(1) +} + +var all = false +var silent = false +var dashdash = false +var args = process.argv.slice(2).filter(function (arg) { + if (dashdash || !/^-/.test(arg)) + return true + + if (arg === '--') { + dashdash = true + return false + } + + var flags = arg.substr(1).split('') + for (var f = 0; f < flags.length; f++) { + var flag = flags[f] + switch (flag) { + case 's': + silent = true + break + case 'a': + all = true + break + default: + console.error('which: illegal option -- ' + flag) + usage() + } + } + return false +}) + +process.exit(args.reduce(function (pv, current) { + try { + var f = which.sync(current, { all: all }) + if (all) + f = f.join('\n') + if (!silent) + console.log(f) + return pv; + } catch (e) { + return 1; + } +}, 0)) diff --git a/node_modules/npm/node_modules/which/package.json b/node_modules/npm/node_modules/which/package.json new file mode 100644 index 0000000..97ad7fb --- /dev/null +++ b/node_modules/npm/node_modules/which/package.json @@ -0,0 +1,43 @@ +{ + "author": "Isaac Z. Schlueter (http://blog.izs.me)", + "name": "which", + "description": "Like which(1) unix command. Find the first instance of an executable in the PATH.", + "version": "2.0.2", + "repository": { + "type": "git", + "url": "git://github.com/isaacs/node-which.git" + }, + "main": "which.js", + "bin": { + "node-which": "./bin/node-which" + }, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "devDependencies": { + "mkdirp": "^0.5.0", + "rimraf": "^2.6.2", + "tap": "^14.6.9" + }, + "scripts": { + "test": "tap", + "preversion": "npm test", + "postversion": "npm publish", + "prepublish": "npm run changelog", + "prechangelog": "bash gen-changelog.sh", + "changelog": "git add CHANGELOG.md", + "postchangelog": "git commit -m 'update changelog - '${npm_package_version}", + "postpublish": "git push origin --follow-tags" + }, + "files": [ + "which.js", + "bin/node-which" + ], + "tap": { + "check-coverage": true + }, + "engines": { + "node": ">= 8" + } +} diff --git a/node_modules/npm/node_modules/which/which.js b/node_modules/npm/node_modules/which/which.js new file mode 100644 index 0000000..82afffd --- /dev/null +++ b/node_modules/npm/node_modules/which/which.js @@ -0,0 +1,125 @@ +const isWindows = process.platform === 'win32' || + process.env.OSTYPE === 'cygwin' || + process.env.OSTYPE === 'msys' + +const path = require('path') +const COLON = isWindows ? ';' : ':' +const isexe = require('isexe') + +const getNotFoundError = (cmd) => + Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' }) + +const getPathInfo = (cmd, opt) => { + const colon = opt.colon || COLON + + // If it has a slash, then we don't bother searching the pathenv. + // just check the file itself, and that's it. + const pathEnv = cmd.match(/\//) || isWindows && cmd.match(/\\/) ? [''] + : ( + [ + // windows always checks the cwd first + ...(isWindows ? [process.cwd()] : []), + ...(opt.path || process.env.PATH || + /* istanbul ignore next: very unusual */ '').split(colon), + ] + ) + const pathExtExe = isWindows + ? opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM' + : '' + const pathExt = isWindows ? pathExtExe.split(colon) : [''] + + if (isWindows) { + if (cmd.indexOf('.') !== -1 && pathExt[0] !== '') + pathExt.unshift('') + } + + return { + pathEnv, + pathExt, + pathExtExe, + } +} + +const which = (cmd, opt, cb) => { + if (typeof opt === 'function') { + cb = opt + opt = {} + } + if (!opt) + opt = {} + + const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt) + const found = [] + + const step = i => new Promise((resolve, reject) => { + if (i === pathEnv.length) + return opt.all && found.length ? resolve(found) + : reject(getNotFoundError(cmd)) + + const ppRaw = pathEnv[i] + const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw + + const pCmd = path.join(pathPart, cmd) + const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd + : pCmd + + resolve(subStep(p, i, 0)) + }) + + const subStep = (p, i, ii) => new Promise((resolve, reject) => { + if (ii === pathExt.length) + return resolve(step(i + 1)) + const ext = pathExt[ii] + isexe(p + ext, { pathExt: pathExtExe }, (er, is) => { + if (!er && is) { + if (opt.all) + found.push(p + ext) + else + return resolve(p + ext) + } + return resolve(subStep(p, i, ii + 1)) + }) + }) + + return cb ? step(0).then(res => cb(null, res), cb) : step(0) +} + +const whichSync = (cmd, opt) => { + opt = opt || {} + + const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt) + const found = [] + + for (let i = 0; i < pathEnv.length; i ++) { + const ppRaw = pathEnv[i] + const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw + + const pCmd = path.join(pathPart, cmd) + const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd + : pCmd + + for (let j = 0; j < pathExt.length; j ++) { + const cur = p + pathExt[j] + try { + const is = isexe.sync(cur, { pathExt: pathExtExe }) + if (is) { + if (opt.all) + found.push(cur) + else + return cur + } + } catch (ex) {} + } + } + + if (opt.all && found.length) + return found + + if (opt.nothrow) + return null + + throw getNotFoundError(cmd) +} + +module.exports = which +which.sync = whichSync diff --git a/node_modules/npm/node_modules/wide-align/LICENSE b/node_modules/npm/node_modules/wide-align/LICENSE new file mode 100755 index 0000000..f4be44d --- /dev/null +++ b/node_modules/npm/node_modules/wide-align/LICENSE @@ -0,0 +1,14 @@ +Copyright (c) 2015, Rebecca Turner + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + diff --git a/node_modules/npm/node_modules/wide-align/align.js b/node_modules/npm/node_modules/wide-align/align.js new file mode 100755 index 0000000..4f94ca4 --- /dev/null +++ b/node_modules/npm/node_modules/wide-align/align.js @@ -0,0 +1,65 @@ +'use strict' +var stringWidth = require('string-width') + +exports.center = alignCenter +exports.left = alignLeft +exports.right = alignRight + +// lodash's way of generating pad characters. + +function createPadding (width) { + var result = '' + var string = ' ' + var n = width + do { + if (n % 2) { + result += string; + } + n = Math.floor(n / 2); + string += string; + } while (n); + + return result; +} + +function alignLeft (str, width) { + var trimmed = str.trimRight() + if (trimmed.length === 0 && str.length >= width) return str + var padding = '' + var strWidth = stringWidth(trimmed) + + if (strWidth < width) { + padding = createPadding(width - strWidth) + } + + return trimmed + padding +} + +function alignRight (str, width) { + var trimmed = str.trimLeft() + if (trimmed.length === 0 && str.length >= width) return str + var padding = '' + var strWidth = stringWidth(trimmed) + + if (strWidth < width) { + padding = createPadding(width - strWidth) + } + + return padding + trimmed +} + +function alignCenter (str, width) { + var trimmed = str.trim() + if (trimmed.length === 0 && str.length >= width) return str + var padLeft = '' + var padRight = '' + var strWidth = stringWidth(trimmed) + + if (strWidth < width) { + var padLeftBy = parseInt((width - strWidth) / 2, 10) + padLeft = createPadding(padLeftBy) + padRight = createPadding(width - (strWidth + padLeftBy)) + } + + return padLeft + trimmed + padRight +} diff --git a/node_modules/npm/node_modules/wide-align/package.json b/node_modules/npm/node_modules/wide-align/package.json new file mode 100755 index 0000000..2dd2707 --- /dev/null +++ b/node_modules/npm/node_modules/wide-align/package.json @@ -0,0 +1,33 @@ +{ + "name": "wide-align", + "version": "1.1.5", + "description": "A wide-character aware text alignment function for use on the console or with fixed width fonts.", + "main": "align.js", + "scripts": { + "test": "tap --coverage test/*.js" + }, + "keywords": [ + "wide", + "double", + "unicode", + "cjkv", + "pad", + "align" + ], + "author": "Rebecca Turner (http://re-becca.org/)", + "license": "ISC", + "repository": { + "type": "git", + "url": "https://github.com/iarna/wide-align" + }, + "//": "But not version 5 of string-width, as that's ESM only", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + }, + "devDependencies": { + "tap": "*" + }, + "files": [ + "align.js" + ] +} diff --git a/node_modules/npm/node_modules/wrappy/LICENSE b/node_modules/npm/node_modules/wrappy/LICENSE new file mode 100644 index 0000000..19129e3 --- /dev/null +++ b/node_modules/npm/node_modules/wrappy/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/npm/node_modules/wrappy/package.json b/node_modules/npm/node_modules/wrappy/package.json new file mode 100644 index 0000000..1307520 --- /dev/null +++ b/node_modules/npm/node_modules/wrappy/package.json @@ -0,0 +1,29 @@ +{ + "name": "wrappy", + "version": "1.0.2", + "description": "Callback wrapping utility", + "main": "wrappy.js", + "files": [ + "wrappy.js" + ], + "directories": { + "test": "test" + }, + "dependencies": {}, + "devDependencies": { + "tap": "^2.3.1" + }, + "scripts": { + "test": "tap --coverage test/*.js" + }, + "repository": { + "type": "git", + "url": "https://github.com/npm/wrappy" + }, + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "license": "ISC", + "bugs": { + "url": "https://github.com/npm/wrappy/issues" + }, + "homepage": "https://github.com/npm/wrappy" +} diff --git a/node_modules/npm/node_modules/wrappy/wrappy.js b/node_modules/npm/node_modules/wrappy/wrappy.js new file mode 100644 index 0000000..bb7e7d6 --- /dev/null +++ b/node_modules/npm/node_modules/wrappy/wrappy.js @@ -0,0 +1,33 @@ +// Returns a wrapper function that returns a wrapped callback +// The wrapper function should do some stuff, and return a +// presumably different callback function. +// This makes sure that own properties are retained, so that +// decorations and such are not lost along the way. +module.exports = wrappy +function wrappy (fn, cb) { + if (fn && cb) return wrappy(fn)(cb) + + if (typeof fn !== 'function') + throw new TypeError('need wrapper function') + + Object.keys(fn).forEach(function (k) { + wrapper[k] = fn[k] + }) + + return wrapper + + function wrapper() { + var args = new Array(arguments.length) + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i] + } + var ret = fn.apply(this, args) + var cb = args[args.length-1] + if (typeof ret === 'function' && ret !== cb) { + Object.keys(cb).forEach(function (k) { + ret[k] = cb[k] + }) + } + return ret + } +} diff --git a/node_modules/npm/node_modules/write-file-atomic/LICENSE.md b/node_modules/npm/node_modules/write-file-atomic/LICENSE.md new file mode 100644 index 0000000..95e65a7 --- /dev/null +++ b/node_modules/npm/node_modules/write-file-atomic/LICENSE.md @@ -0,0 +1,6 @@ +Copyright (c) 2015, Rebecca Turner + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + diff --git a/node_modules/npm/node_modules/write-file-atomic/lib/index.js b/node_modules/npm/node_modules/write-file-atomic/lib/index.js new file mode 100644 index 0000000..9a7d183 --- /dev/null +++ b/node_modules/npm/node_modules/write-file-atomic/lib/index.js @@ -0,0 +1,268 @@ +'use strict' +module.exports = writeFile +module.exports.sync = writeFileSync +module.exports._getTmpname = getTmpname // for testing +module.exports._cleanupOnExit = cleanupOnExit + +const fs = require('fs') +const MurmurHash3 = require('imurmurhash') +const onExit = require('signal-exit') +const path = require('path') +const isTypedArray = require('is-typedarray') +const typedArrayToBuffer = require('typedarray-to-buffer') +const { promisify } = require('util') +const activeFiles = {} + +// if we run inside of a worker_thread, `process.pid` is not unique +/* istanbul ignore next */ +const threadId = (function getId () { + try { + const workerThreads = require('worker_threads') + + /// if we are in main thread, this is set to `0` + return workerThreads.threadId + } catch (e) { + // worker_threads are not available, fallback to 0 + return 0 + } +})() + +let invocations = 0 +function getTmpname (filename) { + return filename + '.' + + MurmurHash3(__filename) + .hash(String(process.pid)) + .hash(String(threadId)) + .hash(String(++invocations)) + .result() +} + +function cleanupOnExit (tmpfile) { + return () => { + try { + fs.unlinkSync(typeof tmpfile === 'function' ? tmpfile() : tmpfile) + } catch (_) {} + } +} + +function serializeActiveFile (absoluteName) { + return new Promise(resolve => { + // make a queue if it doesn't already exist + if (!activeFiles[absoluteName]) { + activeFiles[absoluteName] = [] + } + + activeFiles[absoluteName].push(resolve) // add this job to the queue + if (activeFiles[absoluteName].length === 1) { + resolve() + } // kick off the first one + }) +} + +// https://github.com/isaacs/node-graceful-fs/blob/master/polyfills.js#L315-L342 +function isChownErrOk (err) { + if (err.code === 'ENOSYS') { + return true + } + + const nonroot = !process.getuid || process.getuid() !== 0 + if (nonroot) { + if (err.code === 'EINVAL' || err.code === 'EPERM') { + return true + } + } + + return false +} + +async function writeFileAsync (filename, data, options = {}) { + if (typeof options === 'string') { + options = { encoding: options } + } + + let fd + let tmpfile + /* istanbul ignore next -- The closure only gets called when onExit triggers */ + const removeOnExitHandler = onExit(cleanupOnExit(() => tmpfile)) + const absoluteName = path.resolve(filename) + + try { + await serializeActiveFile(absoluteName) + const truename = await promisify(fs.realpath)(filename).catch(() => filename) + tmpfile = getTmpname(truename) + + if (!options.mode || !options.chown) { + // Either mode or chown is not explicitly set + // Default behavior is to copy it from original file + const stats = await promisify(fs.stat)(truename).catch(() => {}) + if (stats) { + if (options.mode == null) { + options.mode = stats.mode + } + + if (options.chown == null && process.getuid) { + options.chown = { uid: stats.uid, gid: stats.gid } + } + } + } + + fd = await promisify(fs.open)(tmpfile, 'w', options.mode) + if (options.tmpfileCreated) { + await options.tmpfileCreated(tmpfile) + } + if (isTypedArray(data)) { + data = typedArrayToBuffer(data) + } + if (Buffer.isBuffer(data)) { + await promisify(fs.write)(fd, data, 0, data.length, 0) + } else if (data != null) { + await promisify(fs.write)(fd, String(data), 0, String(options.encoding || 'utf8')) + } + + if (options.fsync !== false) { + await promisify(fs.fsync)(fd) + } + + await promisify(fs.close)(fd) + fd = null + + if (options.chown) { + await promisify(fs.chown)(tmpfile, options.chown.uid, options.chown.gid).catch(err => { + if (!isChownErrOk(err)) { + throw err + } + }) + } + + if (options.mode) { + await promisify(fs.chmod)(tmpfile, options.mode).catch(err => { + if (!isChownErrOk(err)) { + throw err + } + }) + } + + await promisify(fs.rename)(tmpfile, truename) + } finally { + if (fd) { + await promisify(fs.close)(fd).catch( + /* istanbul ignore next */ + () => {} + ) + } + removeOnExitHandler() + await promisify(fs.unlink)(tmpfile).catch(() => {}) + activeFiles[absoluteName].shift() // remove the element added by serializeSameFile + if (activeFiles[absoluteName].length > 0) { + activeFiles[absoluteName][0]() // start next job if one is pending + } else { + delete activeFiles[absoluteName] + } + } +} + +function writeFile (filename, data, options, callback) { + if (options instanceof Function) { + callback = options + options = {} + } + + const promise = writeFileAsync(filename, data, options) + if (callback) { + promise.then(callback, callback) + } + + return promise +} + +function writeFileSync (filename, data, options) { + if (typeof options === 'string') { + options = { encoding: options } + } else if (!options) { + options = {} + } + try { + filename = fs.realpathSync(filename) + } catch (ex) { + // it's ok, it'll happen on a not yet existing file + } + const tmpfile = getTmpname(filename) + + if (!options.mode || !options.chown) { + // Either mode or chown is not explicitly set + // Default behavior is to copy it from original file + try { + const stats = fs.statSync(filename) + options = Object.assign({}, options) + if (!options.mode) { + options.mode = stats.mode + } + if (!options.chown && process.getuid) { + options.chown = { uid: stats.uid, gid: stats.gid } + } + } catch (ex) { + // ignore stat errors + } + } + + let fd + const cleanup = cleanupOnExit(tmpfile) + const removeOnExitHandler = onExit(cleanup) + + let threw = true + try { + fd = fs.openSync(tmpfile, 'w', options.mode || 0o666) + if (options.tmpfileCreated) { + options.tmpfileCreated(tmpfile) + } + if (isTypedArray(data)) { + data = typedArrayToBuffer(data) + } + if (Buffer.isBuffer(data)) { + fs.writeSync(fd, data, 0, data.length, 0) + } else if (data != null) { + fs.writeSync(fd, String(data), 0, String(options.encoding || 'utf8')) + } + if (options.fsync !== false) { + fs.fsyncSync(fd) + } + + fs.closeSync(fd) + fd = null + + if (options.chown) { + try { + fs.chownSync(tmpfile, options.chown.uid, options.chown.gid) + } catch (err) { + if (!isChownErrOk(err)) { + throw err + } + } + } + + if (options.mode) { + try { + fs.chmodSync(tmpfile, options.mode) + } catch (err) { + if (!isChownErrOk(err)) { + throw err + } + } + } + + fs.renameSync(tmpfile, filename) + threw = false + } finally { + if (fd) { + try { + fs.closeSync(fd) + } catch (ex) { + // ignore close errors at this stage, error may have closed fd already. + } + } + removeOnExitHandler() + if (threw) { + cleanup() + } + } +} diff --git a/node_modules/npm/node_modules/write-file-atomic/package.json b/node_modules/npm/node_modules/write-file-atomic/package.json new file mode 100644 index 0000000..031eccd --- /dev/null +++ b/node_modules/npm/node_modules/write-file-atomic/package.json @@ -0,0 +1,54 @@ +{ + "name": "write-file-atomic", + "version": "4.0.0", + "description": "Write files in an atomic fashion w/configurable ownership", + "main": "./lib/index.js", + "scripts": { + "test": "tap", + "posttest": "npm run lint", + "lint": "eslint '**/*.js'", + "postlint": "npm-template-check", + "preversion": "npm test", + "postversion": "npm publish", + "prepublishOnly": "git push origin --follow-tags", + "lintfix": "npm run lint -- --fix", + "snap": "tap" + }, + "repository": { + "type": "git", + "url": "git://github.com/npm/write-file-atomic.git" + }, + "keywords": [ + "writeFile", + "atomic" + ], + "author": "GitHub Inc.", + "license": "ISC", + "bugs": { + "url": "https://github.com/npm/write-file-atomic/issues" + }, + "homepage": "https://github.com/npm/write-file-atomic", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^4.0.0" + }, + "devDependencies": { + "@npmcli/template-oss": "^2.5.1", + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2", + "tap": "^15.1.6" + }, + "files": [ + "bin", + "lib" + ], + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + }, + "templateOSS": { + "windowsCI": false, + "version": "2.5.1" + } +} diff --git a/node_modules/npm/node_modules/yallist/LICENSE b/node_modules/npm/node_modules/yallist/LICENSE new file mode 100644 index 0000000..19129e3 --- /dev/null +++ b/node_modules/npm/node_modules/yallist/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/npm/node_modules/yallist/iterator.js b/node_modules/npm/node_modules/yallist/iterator.js new file mode 100644 index 0000000..d41c97a --- /dev/null +++ b/node_modules/npm/node_modules/yallist/iterator.js @@ -0,0 +1,8 @@ +'use strict' +module.exports = function (Yallist) { + Yallist.prototype[Symbol.iterator] = function* () { + for (let walker = this.head; walker; walker = walker.next) { + yield walker.value + } + } +} diff --git a/node_modules/npm/node_modules/yallist/package.json b/node_modules/npm/node_modules/yallist/package.json new file mode 100644 index 0000000..8a08386 --- /dev/null +++ b/node_modules/npm/node_modules/yallist/package.json @@ -0,0 +1,29 @@ +{ + "name": "yallist", + "version": "4.0.0", + "description": "Yet Another Linked List", + "main": "yallist.js", + "directories": { + "test": "test" + }, + "files": [ + "yallist.js", + "iterator.js" + ], + "dependencies": {}, + "devDependencies": { + "tap": "^12.1.0" + }, + "scripts": { + "test": "tap test/*.js --100", + "preversion": "npm test", + "postversion": "npm publish", + "postpublish": "git push origin --all; git push origin --tags" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/isaacs/yallist.git" + }, + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "license": "ISC" +} diff --git a/node_modules/npm/node_modules/yallist/yallist.js b/node_modules/npm/node_modules/yallist/yallist.js new file mode 100644 index 0000000..4e83ab1 --- /dev/null +++ b/node_modules/npm/node_modules/yallist/yallist.js @@ -0,0 +1,426 @@ +'use strict' +module.exports = Yallist + +Yallist.Node = Node +Yallist.create = Yallist + +function Yallist (list) { + var self = this + if (!(self instanceof Yallist)) { + self = new Yallist() + } + + self.tail = null + self.head = null + self.length = 0 + + if (list && typeof list.forEach === 'function') { + list.forEach(function (item) { + self.push(item) + }) + } else if (arguments.length > 0) { + for (var i = 0, l = arguments.length; i < l; i++) { + self.push(arguments[i]) + } + } + + return self +} + +Yallist.prototype.removeNode = function (node) { + if (node.list !== this) { + throw new Error('removing node which does not belong to this list') + } + + var next = node.next + var prev = node.prev + + if (next) { + next.prev = prev + } + + if (prev) { + prev.next = next + } + + if (node === this.head) { + this.head = next + } + if (node === this.tail) { + this.tail = prev + } + + node.list.length-- + node.next = null + node.prev = null + node.list = null + + return next +} + +Yallist.prototype.unshiftNode = function (node) { + if (node === this.head) { + return + } + + if (node.list) { + node.list.removeNode(node) + } + + var head = this.head + node.list = this + node.next = head + if (head) { + head.prev = node + } + + this.head = node + if (!this.tail) { + this.tail = node + } + this.length++ +} + +Yallist.prototype.pushNode = function (node) { + if (node === this.tail) { + return + } + + if (node.list) { + node.list.removeNode(node) + } + + var tail = this.tail + node.list = this + node.prev = tail + if (tail) { + tail.next = node + } + + this.tail = node + if (!this.head) { + this.head = node + } + this.length++ +} + +Yallist.prototype.push = function () { + for (var i = 0, l = arguments.length; i < l; i++) { + push(this, arguments[i]) + } + return this.length +} + +Yallist.prototype.unshift = function () { + for (var i = 0, l = arguments.length; i < l; i++) { + unshift(this, arguments[i]) + } + return this.length +} + +Yallist.prototype.pop = function () { + if (!this.tail) { + return undefined + } + + var res = this.tail.value + this.tail = this.tail.prev + if (this.tail) { + this.tail.next = null + } else { + this.head = null + } + this.length-- + return res +} + +Yallist.prototype.shift = function () { + if (!this.head) { + return undefined + } + + var res = this.head.value + this.head = this.head.next + if (this.head) { + this.head.prev = null + } else { + this.tail = null + } + this.length-- + return res +} + +Yallist.prototype.forEach = function (fn, thisp) { + thisp = thisp || this + for (var walker = this.head, i = 0; walker !== null; i++) { + fn.call(thisp, walker.value, i, this) + walker = walker.next + } +} + +Yallist.prototype.forEachReverse = function (fn, thisp) { + thisp = thisp || this + for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { + fn.call(thisp, walker.value, i, this) + walker = walker.prev + } +} + +Yallist.prototype.get = function (n) { + for (var i = 0, walker = this.head; walker !== null && i < n; i++) { + // abort out of the list early if we hit a cycle + walker = walker.next + } + if (i === n && walker !== null) { + return walker.value + } +} + +Yallist.prototype.getReverse = function (n) { + for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { + // abort out of the list early if we hit a cycle + walker = walker.prev + } + if (i === n && walker !== null) { + return walker.value + } +} + +Yallist.prototype.map = function (fn, thisp) { + thisp = thisp || this + var res = new Yallist() + for (var walker = this.head; walker !== null;) { + res.push(fn.call(thisp, walker.value, this)) + walker = walker.next + } + return res +} + +Yallist.prototype.mapReverse = function (fn, thisp) { + thisp = thisp || this + var res = new Yallist() + for (var walker = this.tail; walker !== null;) { + res.push(fn.call(thisp, walker.value, this)) + walker = walker.prev + } + return res +} + +Yallist.prototype.reduce = function (fn, initial) { + var acc + var walker = this.head + if (arguments.length > 1) { + acc = initial + } else if (this.head) { + walker = this.head.next + acc = this.head.value + } else { + throw new TypeError('Reduce of empty list with no initial value') + } + + for (var i = 0; walker !== null; i++) { + acc = fn(acc, walker.value, i) + walker = walker.next + } + + return acc +} + +Yallist.prototype.reduceReverse = function (fn, initial) { + var acc + var walker = this.tail + if (arguments.length > 1) { + acc = initial + } else if (this.tail) { + walker = this.tail.prev + acc = this.tail.value + } else { + throw new TypeError('Reduce of empty list with no initial value') + } + + for (var i = this.length - 1; walker !== null; i--) { + acc = fn(acc, walker.value, i) + walker = walker.prev + } + + return acc +} + +Yallist.prototype.toArray = function () { + var arr = new Array(this.length) + for (var i = 0, walker = this.head; walker !== null; i++) { + arr[i] = walker.value + walker = walker.next + } + return arr +} + +Yallist.prototype.toArrayReverse = function () { + var arr = new Array(this.length) + for (var i = 0, walker = this.tail; walker !== null; i++) { + arr[i] = walker.value + walker = walker.prev + } + return arr +} + +Yallist.prototype.slice = function (from, to) { + to = to || this.length + if (to < 0) { + to += this.length + } + from = from || 0 + if (from < 0) { + from += this.length + } + var ret = new Yallist() + if (to < from || to < 0) { + return ret + } + if (from < 0) { + from = 0 + } + if (to > this.length) { + to = this.length + } + for (var i = 0, walker = this.head; walker !== null && i < from; i++) { + walker = walker.next + } + for (; walker !== null && i < to; i++, walker = walker.next) { + ret.push(walker.value) + } + return ret +} + +Yallist.prototype.sliceReverse = function (from, to) { + to = to || this.length + if (to < 0) { + to += this.length + } + from = from || 0 + if (from < 0) { + from += this.length + } + var ret = new Yallist() + if (to < from || to < 0) { + return ret + } + if (from < 0) { + from = 0 + } + if (to > this.length) { + to = this.length + } + for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { + walker = walker.prev + } + for (; walker !== null && i > from; i--, walker = walker.prev) { + ret.push(walker.value) + } + return ret +} + +Yallist.prototype.splice = function (start, deleteCount, ...nodes) { + if (start > this.length) { + start = this.length - 1 + } + if (start < 0) { + start = this.length + start; + } + + for (var i = 0, walker = this.head; walker !== null && i < start; i++) { + walker = walker.next + } + + var ret = [] + for (var i = 0; walker && i < deleteCount; i++) { + ret.push(walker.value) + walker = this.removeNode(walker) + } + if (walker === null) { + walker = this.tail + } + + if (walker !== this.head && walker !== this.tail) { + walker = walker.prev + } + + for (var i = 0; i < nodes.length; i++) { + walker = insert(this, walker, nodes[i]) + } + return ret; +} + +Yallist.prototype.reverse = function () { + var head = this.head + var tail = this.tail + for (var walker = head; walker !== null; walker = walker.prev) { + var p = walker.prev + walker.prev = walker.next + walker.next = p + } + this.head = tail + this.tail = head + return this +} + +function insert (self, node, value) { + var inserted = node === self.head ? + new Node(value, null, node, self) : + new Node(value, node, node.next, self) + + if (inserted.next === null) { + self.tail = inserted + } + if (inserted.prev === null) { + self.head = inserted + } + + self.length++ + + return inserted +} + +function push (self, item) { + self.tail = new Node(item, self.tail, null, self) + if (!self.head) { + self.head = self.tail + } + self.length++ +} + +function unshift (self, item) { + self.head = new Node(item, null, self.head, self) + if (!self.tail) { + self.tail = self.head + } + self.length++ +} + +function Node (value, prev, next, list) { + if (!(this instanceof Node)) { + return new Node(value, prev, next, list) + } + + this.list = list + this.value = value + + if (prev) { + prev.next = this + this.prev = prev + } else { + this.prev = null + } + + if (next) { + next.prev = this + this.next = next + } else { + this.next = null + } +} + +try { + // add if support for Symbol.iterator is present + require('./iterator.js')(Yallist) +} catch (er) {} diff --git a/node_modules/npm/package.json b/node_modules/npm/package.json new file mode 100644 index 0000000..ef564ab --- /dev/null +++ b/node_modules/npm/package.json @@ -0,0 +1,264 @@ +{ + "version": "8.5.0", + "name": "npm", + "description": "a package manager for JavaScript", + "workspaces": [ + "docs", + "workspaces/*" + ], + "files": [ + "index.js", + "bin", + "docs/content/**/*.md", + "docs/output/**/*.html", + "lib", + "man" + ], + "keywords": [ + "install", + "modules", + "package manager", + "package.json" + ], + "preferGlobal": true, + "config": { + "publishtest": false + }, + "homepage": "https://docs.npmjs.com/", + "author": "Isaac Z. Schlueter (http://blog.izs.me)", + "repository": { + "type": "git", + "url": "https://github.com/npm/cli" + }, + "bugs": { + "url": "https://github.com/npm/cli/issues" + }, + "directories": { + "bin": "./bin", + "doc": "./doc", + "lib": "./lib", + "man": "./man" + }, + "main": "./index.js", + "bin": { + "npm": "bin/npm-cli.js", + "npx": "bin/npx-cli.js" + }, + "exports": { + ".": [ + { + "default": "./index.js" + }, + "./index.js" + ], + "./package.json": "./package.json" + }, + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/arborist": "^4.3.1", + "@npmcli/ci-detect": "^1.4.0", + "@npmcli/config": "^3.0.0", + "@npmcli/map-workspaces": "^2.0.0", + "@npmcli/package-json": "^1.0.1", + "@npmcli/run-script": "^2.0.0", + "abbrev": "~1.1.1", + "ansicolors": "~0.3.2", + "ansistyles": "~0.1.3", + "archy": "~1.0.0", + "cacache": "^15.3.0", + "chalk": "^4.1.2", + "chownr": "^2.0.0", + "cli-columns": "^4.0.0", + "cli-table3": "^0.6.1", + "columnify": "~1.5.4", + "fastest-levenshtein": "^1.0.12", + "glob": "^7.2.0", + "graceful-fs": "^4.2.9", + "hosted-git-info": "^4.1.0", + "ini": "^2.0.0", + "init-package-json": "^2.0.5", + "is-cidr": "^4.0.2", + "json-parse-even-better-errors": "^2.3.1", + "libnpmaccess": "^5.0.1", + "libnpmdiff": "^3.0.0", + "libnpmexec": "^3.0.3", + "libnpmfund": "^2.0.2", + "libnpmhook": "^7.0.1", + "libnpmorg": "^3.0.1", + "libnpmpack": "^3.1.0", + "libnpmpublish": "^5.0.1", + "libnpmsearch": "^4.0.1", + "libnpmteam": "^3.0.1", + "libnpmversion": "^2.0.2", + "make-fetch-happen": "^10.0.2", + "minipass": "^3.1.6", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "mkdirp-infer-owner": "^2.0.0", + "ms": "^2.1.2", + "node-gyp": "^8.4.1", + "nopt": "^5.0.0", + "npm-audit-report": "^2.1.5", + "npm-install-checks": "^4.0.0", + "npm-package-arg": "^8.1.5", + "npm-pick-manifest": "^6.1.1", + "npm-profile": "^6.0.0", + "npm-registry-fetch": "^12.0.2", + "npm-user-validate": "^1.0.1", + "npmlog": "^6.0.1", + "opener": "^1.5.2", + "pacote": "^12.0.3", + "parse-conflict-json": "^2.0.1", + "proc-log": "^1.0.0", + "qrcode-terminal": "^0.12.0", + "read": "~1.0.7", + "read-package-json": "^4.1.1", + "read-package-json-fast": "^2.0.3", + "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "ssri": "^8.0.1", + "tar": "^6.1.11", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "treeverse": "^1.0.4", + "validate-npm-package-name": "~3.0.0", + "which": "^2.0.2", + "write-file-atomic": "^4.0.0" + }, + "bundleDependencies": [ + "@isaacs/string-locale-compare", + "@npmcli/arborist", + "@npmcli/ci-detect", + "@npmcli/config", + "@npmcli/map-workspaces", + "@npmcli/package-json", + "@npmcli/run-script", + "abbrev", + "ansicolors", + "ansistyles", + "archy", + "cacache", + "chalk", + "chownr", + "cli-columns", + "cli-table3", + "columnify", + "fastest-levenshtein", + "glob", + "graceful-fs", + "hosted-git-info", + "ini", + "init-package-json", + "is-cidr", + "json-parse-even-better-errors", + "libnpmaccess", + "libnpmdiff", + "libnpmexec", + "libnpmfund", + "libnpmhook", + "libnpmorg", + "libnpmpack", + "libnpmpublish", + "libnpmsearch", + "libnpmteam", + "libnpmversion", + "make-fetch-happen", + "minipass", + "minipass-pipeline", + "mkdirp", + "mkdirp-infer-owner", + "ms", + "node-gyp", + "nopt", + "npm-audit-report", + "npm-install-checks", + "npm-package-arg", + "npm-pick-manifest", + "npm-profile", + "npm-registry-fetch", + "npm-user-validate", + "npmlog", + "opener", + "pacote", + "parse-conflict-json", + "proc-log", + "qrcode-terminal", + "read", + "read-package-json", + "read-package-json-fast", + "readdir-scoped-modules", + "rimraf", + "semver", + "ssri", + "tar", + "text-table", + "tiny-relative-date", + "treeverse", + "validate-npm-package-name", + "which", + "write-file-atomic" + ], + "devDependencies": { + "@npmcli/eslint-config": "^2.0.0", + "@npmcli/template-oss": "^2.4.3", + "eslint": "^8.3.0", + "licensee": "^8.2.0", + "spawk": "^1.7.1", + "tap": "^15.1.6" + }, + "scripts": { + "dumpconf": "env | grep npm | sort | uniq", + "preversion": "bash scripts/update-authors.sh && git add AUTHORS && git commit -m \"update AUTHORS\" || true", + "licenses": "licensee --production --errors-only", + "test": "tap", + "test-all": "npm run test --if-present --workspaces --include-workspace-root", + "check-coverage": "tap", + "snap": "tap", + "postsnap": "make -s mandocs", + "test:nocleanup": "NO_TEST_CLEANUP=1 npm run test --", + "sudotest": "sudo npm run test --", + "sudotest:nocleanup": "sudo NO_TEST_CLEANUP=1 npm run test --", + "posttest": "npm run lint", + "eslint": "eslint", + "lint": "npm run eslint -- bin lib scripts smoke-tests test ./*.js", + "lintfix": "npm run lint -- --fix", + "prelint": "rimraf test/npm_cache*", + "resetdeps": "bash scripts/resetdeps.sh", + "smoke-tests": "tap smoke-tests/index.js" + }, + "tap": { + "test-env": [ + "LC_ALL=sk" + ], + "color": 1, + "files": "test/{lib,bin,index.js}", + "coverage-map": "test/coverage-map.js", + "check-coverage": true, + "timeout": 600 + }, + "templateOSS": { + "applyRootRepoFiles": false, + "applyWorkspaceRepoFiles": true, + "applyRootModuleFiles": false, + "workspaces": [ + "@npmcli/arborist", + "libnpmaccess", + "libnpmdiff", + "libnpmfund", + "libnpmexec", + "libnpmorg", + "libnpmhook", + "libnpmpack", + "libnpmpublish", + "libnpmsearch", + "libnpmteam", + "libnpmversion" + ], + "version": "2.4.3" + }, + "license": "Artistic-2.0", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } +} diff --git a/node_modules/tr46/.npmignore b/node_modules/tr46/.npmignore new file mode 100644 index 0000000..96e9161 --- /dev/null +++ b/node_modules/tr46/.npmignore @@ -0,0 +1,4 @@ +scripts/ +test/ + +!lib/mapping_table.json diff --git a/node_modules/tr46/index.js b/node_modules/tr46/index.js new file mode 100644 index 0000000..9ce12ca --- /dev/null +++ b/node_modules/tr46/index.js @@ -0,0 +1,193 @@ +"use strict"; + +var punycode = require("punycode"); +var mappingTable = require("./lib/mappingTable.json"); + +var PROCESSING_OPTIONS = { + TRANSITIONAL: 0, + NONTRANSITIONAL: 1 +}; + +function normalize(str) { // fix bug in v8 + return str.split('\u0000').map(function (s) { return s.normalize('NFC'); }).join('\u0000'); +} + +function findStatus(val) { + var start = 0; + var end = mappingTable.length - 1; + + while (start <= end) { + var mid = Math.floor((start + end) / 2); + + var target = mappingTable[mid]; + if (target[0][0] <= val && target[0][1] >= val) { + return target; + } else if (target[0][0] > val) { + end = mid - 1; + } else { + start = mid + 1; + } + } + + return null; +} + +var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; + +function countSymbols(string) { + return string + // replace every surrogate pair with a BMP symbol + .replace(regexAstralSymbols, '_') + // then get the length + .length; +} + +function mapChars(domain_name, useSTD3, processing_option) { + var hasError = false; + var processed = ""; + + var len = countSymbols(domain_name); + for (var i = 0; i < len; ++i) { + var codePoint = domain_name.codePointAt(i); + var status = findStatus(codePoint); + + switch (status[1]) { + case "disallowed": + hasError = true; + processed += String.fromCodePoint(codePoint); + break; + case "ignored": + break; + case "mapped": + processed += String.fromCodePoint.apply(String, status[2]); + break; + case "deviation": + if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { + processed += String.fromCodePoint.apply(String, status[2]); + } else { + processed += String.fromCodePoint(codePoint); + } + break; + case "valid": + processed += String.fromCodePoint(codePoint); + break; + case "disallowed_STD3_mapped": + if (useSTD3) { + hasError = true; + processed += String.fromCodePoint(codePoint); + } else { + processed += String.fromCodePoint.apply(String, status[2]); + } + break; + case "disallowed_STD3_valid": + if (useSTD3) { + hasError = true; + } + + processed += String.fromCodePoint(codePoint); + break; + } + } + + return { + string: processed, + error: hasError + }; +} + +var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; + +function validateLabel(label, processing_option) { + if (label.substr(0, 4) === "xn--") { + label = punycode.toUnicode(label); + processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; + } + + var error = false; + + if (normalize(label) !== label || + (label[3] === "-" && label[4] === "-") || + label[0] === "-" || label[label.length - 1] === "-" || + label.indexOf(".") !== -1 || + label.search(combiningMarksRegex) === 0) { + error = true; + } + + var len = countSymbols(label); + for (var i = 0; i < len; ++i) { + var status = findStatus(label.codePointAt(i)); + if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid") || + (processing === PROCESSING_OPTIONS.NONTRANSITIONAL && + status[1] !== "valid" && status[1] !== "deviation")) { + error = true; + break; + } + } + + return { + label: label, + error: error + }; +} + +function processing(domain_name, useSTD3, processing_option) { + var result = mapChars(domain_name, useSTD3, processing_option); + result.string = normalize(result.string); + + var labels = result.string.split("."); + for (var i = 0; i < labels.length; ++i) { + try { + var validation = validateLabel(labels[i]); + labels[i] = validation.label; + result.error = result.error || validation.error; + } catch(e) { + result.error = true; + } + } + + return { + string: labels.join("."), + error: result.error + }; +} + +module.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { + var result = processing(domain_name, useSTD3, processing_option); + var labels = result.string.split("."); + labels = labels.map(function(l) { + try { + return punycode.toASCII(l); + } catch(e) { + result.error = true; + return l; + } + }); + + if (verifyDnsLength) { + var total = labels.slice(0, labels.length - 1).join(".").length; + if (total.length > 253 || total.length === 0) { + result.error = true; + } + + for (var i=0; i < labels.length; ++i) { + if (labels.length > 63 || labels.length === 0) { + result.error = true; + break; + } + } + } + + if (result.error) return null; + return labels.join("."); +}; + +module.exports.toUnicode = function(domain_name, useSTD3) { + var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); + + return { + domain: result.string, + error: result.error + }; +}; + +module.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; diff --git a/node_modules/tr46/lib/.gitkeep b/node_modules/tr46/lib/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/tr46/lib/mappingTable.json b/node_modules/tr46/lib/mappingTable.json new file mode 100644 index 0000000..89cf19a --- /dev/null +++ b/node_modules/tr46/lib/mappingTable.json @@ -0,0 +1 @@ +[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]] \ No newline at end of file diff --git a/node_modules/tr46/package.json b/node_modules/tr46/package.json new file mode 100644 index 0000000..b6826da --- /dev/null +++ b/node_modules/tr46/package.json @@ -0,0 +1,31 @@ +{ + "name": "tr46", + "version": "0.0.3", + "description": "An implementation of the Unicode TR46 spec", + "main": "index.js", + "scripts": { + "test": "mocha", + "pretest": "node scripts/getLatestUnicodeTests.js", + "prepublish": "node scripts/generateMappingTable.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Sebmaster/tr46.js.git" + }, + "keywords": [ + "unicode", + "tr46", + "url", + "whatwg" + ], + "author": "Sebastian Mayr ", + "license": "MIT", + "bugs": { + "url": "https://github.com/Sebmaster/tr46.js/issues" + }, + "homepage": "https://github.com/Sebmaster/tr46.js#readme", + "devDependencies": { + "mocha": "^2.2.5", + "request": "^2.57.0" + } +} diff --git a/node_modules/ts-mixer/CHANGELOG.md b/node_modules/ts-mixer/CHANGELOG.md new file mode 100644 index 0000000..494c45d --- /dev/null +++ b/node_modules/ts-mixer/CHANGELOG.md @@ -0,0 +1,91 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [6.0.0](https://github.com/tannerntannern/ts-mixer/compare/v6.0.0-beta.0...v6.0.0) (2021-07-07) + +## [6.0.0-beta.0](https://github.com/tannerntannern/ts-mixer/compare/v5.4.1...v6.0.0-beta.0) (2021-06-24) + + +### ⚠ BREAKING CHANGES + +* drop TS < 4.2 support + +### Features + +* add abstract mixin support ([1c4b306](https://github.com/tannerntannern/ts-mixer/commit/1c4b306bae62fa6319c74d1f3040c8aba0da2c28)) + +### [5.4.1](https://github.com/tannerntannern/ts-mixer/compare/v5.4.0...v5.4.1) (2021-04-30) + + +### Bug Fixes + +* "publish" workflow ([bd2e4ec](https://github.com/tannerntannern/ts-mixer/commit/bd2e4ec088b19a403bc013926c7f3a2545cc4171)) +* circular dependency ([66f7e2d](https://github.com/tannerntannern/ts-mixer/commit/66f7e2dc929c90e8c15d718415114ceaa31402c2)) + +## [5.4.0](https://github.com/tannerntannern/ts-mixer/compare/v5.3.0...v5.4.0) (2020-11-18) + + +### Features + +* deep decorator inheritance ([6daabc5](https://github.com/tannerntannern/ts-mixer/commit/6daabc5d340d20c8eda4fe96b635a54f6a7e18fb)) + +## [5.3.0](https://github.com/tannerntannern/ts-mixer/compare/v5.3.0-beta.0...v5.3.0) (2020-06-01) + +## [5.3.0-beta.0](https://github.com/tannerntannern/ts-mixer/compare/v5.2.1...v5.3.0-beta.0) (2020-05-31) + + +### Features + +* add hasMixin function ([#27](https://github.com/tannerntannern/ts-mixer/issues/27)) ([c8bfc2d](https://github.com/tannerntannern/ts-mixer/commit/c8bfc2d48854808755088332636e8d166007ed9f)) + +### [5.2.1](https://github.com/tannerntannern/ts-mixer/compare/v5.2.0...v5.2.1) (2020-05-08) + + +### Bug Fixes + +* mix decorator not preserving constructor name ([7274fa2](https://github.com/tannerntannern/ts-mixer/commit/7274fa26a68e05cc59cde1108610e6a1ab51b430)) + +## [5.2.0](https://github.com/tannerntannern/ts-mixer/compare/v5.2.0-beta.1...v5.2.0) (2020-04-29) + +## [5.2.0-beta.1](https://github.com/tannerntannern/ts-mixer/compare/v5.2.0-beta.0...v5.2.0-beta.1) (2020-04-23) + + +### Bug Fixes + +* wrong this in init functions for Mixin(A, Mixin(B, C)) scenario ([0ba1128](https://github.com/tannerntannern/ts-mixer/commit/0ba11283c63a878271b85c282f75190758101e63)) + +## [5.2.0-beta.0](https://github.com/tannerntannern/ts-mixer/compare/v5.1.0...v5.2.0-beta.0) (2020-04-13) + + +### Features + +* adds init func feature for impure constructors ([99a946b](https://github.com/tannerntannern/ts-mixer/commit/99a946b8e272773f6bafd7a7e8bf8313517dec16)) + +## [5.1.0](https://github.com/tannerntannern/ts-mixer/compare/v5.1.0-beta.0...v5.1.0) (2020-03-27) + +## [5.1.0-beta.0](https://github.com/tannerntannern/ts-mixer/compare/v5.0.0...v5.1.0-beta.0) (2020-03-26) + + +### Features + +* decorator support for class-validators, typeORM, etc ([2c14812](https://github.com/tannerntannern/ts-mixer/commit/2c1481237b325916ca95dbb9e33141b3220f8068)) + +## [5.0.0](https://github.com/tannerntannern/ts-mixer/compare/v5.0.0-beta.0...v5.0.0) (2020-03-01) + +## [5.0.0-beta.0](https://github.com/tannerntannern/ts-mixer/compare/v4.0.0...v5.0.0-beta.0) (2020-02-02) + + +### Features + +* adds and tests a nearestCommonAncestor function ([b084579](https://github.com/tannerntannern/ts-mixer/commit/b084579d5ac52e0b456be95ff6b776309b436473)) +* initial static inheritance implementation ([8467c40](https://github.com/tannerntannern/ts-mixer/commit/8467c40c9748e769eebf77b45cccad5ce785bac9)) +* initial version of proxyMix ([95a91c7](https://github.com/tannerntannern/ts-mixer/commit/95a91c78e5f05af75cfc95d82a65ce5b3413b9f1)) +* makes mixin constructor argument inference slightly smarter ([b844b5c](https://github.com/tannerntannern/ts-mixer/commit/b844b5c93f5eab0d6f522559ed567f67291fae76)) + + +### Bug Fixes + +* mixins with shared ancestor when using proxy prototype ([5af189d](https://github.com/tannerntannern/ts-mixer/commit/5af189d9903083f675f65b5039875c4aa97be1a6)) +* resolves indefinite tuple issue with `Longest` type ([68342b0](https://github.com/tannerntannern/ts-mixer/commit/68342b0a3fe224a485f220039af872050aa941fc)) +* static chain inheritance ([0aca8f0](https://github.com/tannerntannern/ts-mixer/commit/0aca8f056a005ccf27cc564d5a84abe1ef999d7b)) diff --git a/node_modules/ts-mixer/LICENSE b/node_modules/ts-mixer/LICENSE new file mode 100644 index 0000000..22c4fd4 --- /dev/null +++ b/node_modules/ts-mixer/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Tanner Nielsen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/ts-mixer/README.md b/node_modules/ts-mixer/README.md new file mode 100644 index 0000000..1f9856e --- /dev/null +++ b/node_modules/ts-mixer/README.md @@ -0,0 +1,272 @@ +# ts-mixer +[version-badge]: https://badgen.net/npm/v/ts-mixer +[version-link]: https://npmjs.com/package/ts-mixer +[build-badge]: https://img.shields.io/github/workflow/status/tannerntannern/ts-mixer/ts-mixer%20CI +[build-link]: https://github.com/tannerntannern/ts-mixer/actions +[ts-versions]: https://badgen.net/badge/icon/4.2,4.3?icon=typescript&label&list=| +[node-versions]: https://badgen.net/badge/node/10%2C12%2C14/blue/?list=| +[![npm version][version-badge]][version-link] +[![github actions][build-badge]][build-link] +[![TS Versions][ts-versions]][build-link] +[![Node.js Versions][node-versions]][build-link] +[![Minified Size](https://badgen.net/bundlephobia/min/ts-mixer)](https://bundlephobia.com/result?p=ts-mixer) +[![Conventional Commits](https://badgen.net/badge/conventional%20commits/1.0.0/yellow)](https://conventionalcommits.org) + +## Overview +`ts-mixer` brings mixins to TypeScript. "Mixins" to `ts-mixer` are just classes, so you already know how to write them, and you can probably mix classes from your favorite library without trouble. + +The mixin problem is more nuanced than it appears. I've seen countless code snippets that work for certain situations, but fail in others. `ts-mixer` tries to take the best from all these solutions while accounting for the situations you might not have considered. + +[Quick start guide](#quick-start) + +### Features +* mixes plain classes +* mixes classes that extend other classes +* mixes classes that were mixed with `ts-mixer` +* supports static properties +* supports protected/private properties (the popular function-that-returns-a-class solution does not) +* mixes abstract classes (requires TypeScript >= 4.2) +* mixes generic classes (with caveats [[1](#caveats)]) +* supports class, method, and property decorators (with caveats [[2, 5](#caveats)]) +* mostly supports the complexity presented by constructor functions (with caveats [[3](#caveats)]) +* comes with an `instanceof`-like replacement (with caveats [[4, 5](#caveats)]) +* [multiple mixing strategies](#settings) (ES6 proxies vs hard copy) + +### Caveats +1. Mixing generic classes requires a more cumbersome notation, but it's still possible. See [mixing generic classes](#mixing-generic-classes) below. +2. Using decorators in mixed classes also requires a more cumbersome notation. See [mixing with decorators](#mixing-with-decorators) below. +3. ES6 made it impossible to use `.apply(...)` on class constructors (or any means of calling them without `new`), which makes it impossible for `ts-mixer` to pass the proper `this` to your constructors. This may or may not be an issue for your code, but there are options to work around it. See [dealing with constructors](#dealing-with-constructors) below. +4. `ts-mixer` does not support `instanceof` for mixins, but it does offer a replacement. See the [hasMixin function](#hasmixin) for more details. +5. Certain features (specifically, `@decorator` and `hasMixin`) make use of ES6 `Map`s, which means you must either use ES6+ or polyfill `Map` to use them. If you don't need these features, you should be fine without. + +## Quick Start +### Installation +``` +$ npm install ts-mixer +``` + +or if you prefer [Yarn](https://yarnpkg.com): + +``` +$ yarn add ts-mixer +``` + +### Basic Example +```typescript +import { Mixin } from 'ts-mixer'; + +class Foo { + protected makeFoo() { + return 'foo'; + } +} + +class Bar { + protected makeBar() { + return 'bar'; + } +} + +class FooBar extends Mixin(Foo, Bar) { + public makeFooBar() { + return this.makeFoo() + this.makeBar(); + } +} + +const fooBar = new FooBar(); + +console.log(fooBar.makeFooBar()); // "foobar" +``` + +## Special Cases +### Mixing Generic Classes +Frustratingly, it is _impossible_ for generic parameters to be referenced in base class expressions. No matter what, you will eventually run into `Base class expressions cannot reference class type parameters.` + +The way to get around this is to leverage [declaration merging](https://www.typescriptlang.org/docs/handbook/declaration-merging.html), and a slightly different mixing function from ts-mixer: `mix`. It works exactly like `Mixin`, except it's a decorator, which means it doesn't affect the type information of the class being decorated. See it in action below: + +```typescript +import { mix } from 'ts-mixer'; + +class Foo { + public fooMethod(input: T): T { + return input; + } +} + +class Bar { + public barMethod(input: T): T { + return input; + } +} + +interface FooBar extends Foo, Bar { } +@mix(Foo, Bar) +class FooBar { + public fooBarMethod(input1: T1, input2: T2) { + return [this.fooMethod(input1), this.barMethod(input2)]; + } +} +``` + +Key takeaways from this example: +* `interface FooBar extends Foo, Bar { }` makes sure `FooBar` has the typing we want, thanks to declaration merging +* `@mix(Foo, Bar)` wires things up "on the JavaScript side", since the interface declaration has nothing to do with runtime behavior. +* The reason we have to use the `mix` decorator is that the typing produced by `Mixin(Foo, Bar)` would conflict with the typing of the interface. `mix` has no effect "on the TypeScript side," thus avoiding type conflicts. + +### Mixing with Decorators +Popular libraries such as [class-validator](https://github.com/typestack/class-validator) and [TypeORM](https://github.com/typeorm/typeorm) use decorators to add functionality. Unfortunately, `ts-mixer` has no way of knowing what these libraries do with the decorators behind the scenes. So if you want these decorators to be "inherited" with classes you plan to mix, you first have to wrap them with a special `decorate` function exported by `ts-mixer`. Here's an example using `class-validator`: + +```typescript +import { IsBoolean, IsIn, validate } from 'class-validator'; +import { Mixin, decorate } from 'ts-mixer'; + +class Disposable { + @decorate(IsBoolean()) // instead of @IsBoolean() + isDisposed: boolean = false; +} + +class Statusable { + @decorate(IsIn(['red', 'green'])) // instead of @IsIn(['red', 'green']) + status: string = 'green'; +} + +class ExtendedObject extends Mixin(Disposable, Statusable) {} + +const extendedObject = new ExtendedObject(); +extendedObject.status = 'blue'; + +validate(extendedObject).then(errors => { + console.log(errors); +}); +``` + +### Dealing with Constructors +As mentioned in the [caveats section](#caveats), ES6 disallowed calling constructor functions without `new`. This means that the only way for `ts-mixer` to mix instance properties is to instantiate each base class separately, then copy the instance properties into a common object. The consequence of this is that constructors mixed by `ts-mixer` will _not_ receive the proper `this`. + +**This very well may not be an issue for you!** It only means that your constructors need to be "mostly pure" in terms of how they handle `this`. Specifically, your constructors cannot produce [side effects](https://en.wikipedia.org/wiki/Side_effect_%28computer_science%29) involving `this`, _other than adding properties to `this`_ (the most common side effect in JavaScript constructors). + +If you simply cannot eliminate `this` side effects from your constructor, there is a workaround available: `ts-mixer` will automatically forward constructor parameters to a predesignated init function (`settings.initFunction`) if it's present on the class. Unlike constructors, functions can be called with an arbitrary `this`, so this predesignated init function _will_ have the proper `this`. Here's a basic example: + +```typescript +import { Mixin, settings } from 'ts-mixer'; + +settings.initFunction = 'init'; + +class Person { + public static allPeople: Set = new Set(); + + protected init() { + Person.allPeople.add(this); + } +} + +type PartyAffiliation = 'democrat' | 'republican'; + +class PoliticalParticipant { + public static democrats: Set = new Set(); + public static republicans: Set = new Set(); + + public party: PartyAffiliation; + + // note that these same args will also be passed to init function + public constructor(party: PartyAffiliation) { + this.party = party; + } + + protected init(party: PartyAffiliation) { + if (party === 'democrat') + PoliticalParticipant.democrats.add(this); + else + PoliticalParticipant.republicans.add(this); + } +} + +class Voter extends Mixin(Person, PoliticalParticipant) {} + +const v1 = new Voter('democrat'); +const v2 = new Voter('democrat'); +const v3 = new Voter('republican'); +const v4 = new Voter('republican'); +``` + +Note the above `.add(this)` statements. These would not work as expected if they were placed in the constructor instead, since `this` is not the same between the constructor and `init`, as explained above. + +## Other Features +### hasMixin +As mentioned above, `ts-mixer` does not support `instanceof` for mixins. While it is possible to implement [custom `instanceof` behavior](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/hasInstance), this library does not do so because it would require modifying the source classes, which is deliberately avoided. + +You can fill this missing functionality with `hasMixin(instance, mixinClass)` instead. See the below example: + +```typescript +import { Mixin, hasMixin } from 'ts-mixer'; + +class Foo {} +class Bar {} +class FooBar extends Mixin(Foo, Bar) {} + +const instance = new FooBar(); + +// doesn't work with instanceof... +console.log(instance instanceof FooBar) // true +console.log(instance instanceof Foo) // false +console.log(instance instanceof Bar) // false + +// but everything works nicely with hasMixin! +console.log(hasMixin(instance, FooBar)) // true +console.log(hasMixin(instance, Foo)) // true +console.log(hasMixin(instance, Bar)) // true +``` + +`hasMixin(instance, mixinClass)` will work anywhere that `instance instanceof mixinClass` works. Additionally, like `instanceof`, you get the same [type narrowing benefits](https://www.typescriptlang.org/docs/handbook/advanced-types.html#instanceof-type-guards): + +```typescript +if (hasMixin(instance, Foo)) { + // inferred type of instance is "Foo" +} + +if (hasMixin(instance, Bar)) { + // inferred type of instance of "Bar" +} +``` + +## Settings +ts-mixer has multiple strategies for mixing classes which can be configured by modifying `settings` from ts-mixer. For example: + +```typescript +import { settings, Mixin } from 'ts-mixer'; + +settings.prototypeStrategy = 'proxy'; + +// then use `Mixin` as normal... +``` + +### `settings.prototypeStrategy` +* Determines how ts-mixer will mix class prototypes together +* Possible values: + - `'copy'` (default) - Copies all methods from the classes being mixed into a new prototype object. (This will include all methods up the prototype chains as well.) This is the default for ES5 compatibility, but it has the downside of stale references. For example, if you mix `Foo` and `Bar` to make `FooBar`, then redefine a method on `Foo`, `FooBar` will not have the latest methods from `Foo`. If this is not a concern for you, `'copy'` is the best value for this setting. + - `'proxy'` - Uses an ES6 Proxy to "soft mix" prototypes. Unlike `'copy'`, updates to the base classes _will_ be reflected in the mixed class, which may be desirable. The downside is that method access is not as performant, nor is it ES5 compatible. + +### `settings.staticsStrategy` +* Determines how static properties are inherited +* Possible values: + - `'copy'` (default) - Simply copies all properties (minus `prototype`) from the base classes/constructor functions onto the mixed class. Like `settings.prototypeStrategy = 'copy'`, this strategy also suffers from stale references, but shouldn't be a concern if you don't redefine static methods after mixing. + - `'proxy'` - Similar to `settings.prototypeStrategy`, proxy's static method access to base classes. Has the same benefits/downsides. + +### `settings.initFunction` +* If set, `ts-mixer` will automatically call the function with this name upon construction +* Possible values: + - `null` (default) - disables the behavior + - a string - function name to call upon construction +* Read more about why you would want this in [dealing with constructors](#dealing-with-constructors) + +### `settings.decoratorInheritance` +* Determines how decorators are inherited from classes passed to `Mixin(...)` +* Possible values: + - `'deep'` (default) - Deeply inherits decorators from all given classes and their ancestors + - `'direct'` - Only inherits decorators defined directly on the given classes + - `'none'` - Skips decorator inheritance + +# Author +Tanner Nielsen +* Website - [tannernielsen.com](http://tannernielsen.com) +* Github - [tannerntannern](https://github.com/tannerntannern) diff --git a/node_modules/ts-mixer/dist/cjs/decorator.js b/node_modules/ts-mixer/dist/cjs/decorator.js new file mode 100644 index 0000000..141b385 --- /dev/null +++ b/node_modules/ts-mixer/dist/cjs/decorator.js @@ -0,0 +1,116 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decorate = exports.getDecoratorsForClass = exports.directDecoratorSearch = exports.deepDecoratorSearch = void 0; +const util_1 = require("./util"); +const mixin_tracking_1 = require("./mixin-tracking"); +const mergeObjectsOfDecorators = (o1, o2) => { + var _a, _b; + const allKeys = util_1.unique([...Object.getOwnPropertyNames(o1), ...Object.getOwnPropertyNames(o2)]); + const mergedObject = {}; + for (let key of allKeys) + mergedObject[key] = util_1.unique([...((_a = o1 === null || o1 === void 0 ? void 0 : o1[key]) !== null && _a !== void 0 ? _a : []), ...((_b = o2 === null || o2 === void 0 ? void 0 : o2[key]) !== null && _b !== void 0 ? _b : [])]); + return mergedObject; +}; +const mergePropertyAndMethodDecorators = (d1, d2) => { + var _a, _b, _c, _d; + return ({ + property: mergeObjectsOfDecorators((_a = d1 === null || d1 === void 0 ? void 0 : d1.property) !== null && _a !== void 0 ? _a : {}, (_b = d2 === null || d2 === void 0 ? void 0 : d2.property) !== null && _b !== void 0 ? _b : {}), + method: mergeObjectsOfDecorators((_c = d1 === null || d1 === void 0 ? void 0 : d1.method) !== null && _c !== void 0 ? _c : {}, (_d = d2 === null || d2 === void 0 ? void 0 : d2.method) !== null && _d !== void 0 ? _d : {}), + }); +}; +const mergeDecorators = (d1, d2) => { + var _a, _b, _c, _d, _e, _f; + return ({ + class: util_1.unique([...(_a = d1 === null || d1 === void 0 ? void 0 : d1.class) !== null && _a !== void 0 ? _a : [], ...(_b = d2 === null || d2 === void 0 ? void 0 : d2.class) !== null && _b !== void 0 ? _b : []]), + static: mergePropertyAndMethodDecorators((_c = d1 === null || d1 === void 0 ? void 0 : d1.static) !== null && _c !== void 0 ? _c : {}, (_d = d2 === null || d2 === void 0 ? void 0 : d2.static) !== null && _d !== void 0 ? _d : {}), + instance: mergePropertyAndMethodDecorators((_e = d1 === null || d1 === void 0 ? void 0 : d1.instance) !== null && _e !== void 0 ? _e : {}, (_f = d2 === null || d2 === void 0 ? void 0 : d2.instance) !== null && _f !== void 0 ? _f : {}), + }); +}; +const decorators = new Map(); +const findAllConstituentClasses = (...classes) => { + var _a; + const allClasses = new Set(); + const frontier = new Set([...classes]); + while (frontier.size > 0) { + for (let clazz of frontier) { + const protoChainClasses = util_1.protoChain(clazz.prototype).map(proto => proto.constructor); + const mixinClasses = (_a = mixin_tracking_1.getMixinsForClass(clazz)) !== null && _a !== void 0 ? _a : []; + const potentiallyNewClasses = [...protoChainClasses, ...mixinClasses]; + const newClasses = potentiallyNewClasses.filter(c => !allClasses.has(c)); + for (let newClass of newClasses) + frontier.add(newClass); + allClasses.add(clazz); + frontier.delete(clazz); + } + } + return [...allClasses]; +}; +const deepDecoratorSearch = (...classes) => { + const decoratorsForClassChain = findAllConstituentClasses(...classes) + .map(clazz => decorators.get(clazz)) + .filter(decorators => !!decorators); + if (decoratorsForClassChain.length == 0) + return {}; + if (decoratorsForClassChain.length == 1) + return decoratorsForClassChain[0]; + return decoratorsForClassChain.reduce((d1, d2) => mergeDecorators(d1, d2)); +}; +exports.deepDecoratorSearch = deepDecoratorSearch; +const directDecoratorSearch = (...classes) => { + const classDecorators = classes.map(clazz => exports.getDecoratorsForClass(clazz)); + if (classDecorators.length === 0) + return {}; + if (classDecorators.length === 1) + return classDecorators[1]; + return classDecorators.reduce((d1, d2) => mergeDecorators(d1, d2)); +}; +exports.directDecoratorSearch = directDecoratorSearch; +const getDecoratorsForClass = (clazz) => { + let decoratorsForClass = decorators.get(clazz); + if (!decoratorsForClass) { + decoratorsForClass = {}; + decorators.set(clazz, decoratorsForClass); + } + return decoratorsForClass; +}; +exports.getDecoratorsForClass = getDecoratorsForClass; +const decorateClass = (decorator) => ((clazz) => { + const decoratorsForClass = exports.getDecoratorsForClass(clazz); + let classDecorators = decoratorsForClass.class; + if (!classDecorators) { + classDecorators = []; + decoratorsForClass.class = classDecorators; + } + classDecorators.push(decorator); + return decorator(clazz); +}); +const decorateMember = (decorator) => ((object, key, ...otherArgs) => { + const decoratorTargetType = typeof object === 'function' ? 'static' : 'instance'; + const decoratorType = typeof object[key] === 'function' ? 'method' : 'property'; + const clazz = decoratorTargetType === 'static' ? object : object.constructor; + const decoratorsForClass = exports.getDecoratorsForClass(clazz); + let decoratorsForTargetType = decoratorsForClass === null || decoratorsForClass === void 0 ? void 0 : decoratorsForClass[decoratorTargetType]; + if (!decoratorsForTargetType) { + decoratorsForTargetType = {}; + decoratorsForClass[decoratorTargetType] = decoratorsForTargetType; + } + let decoratorsForType = decoratorsForTargetType === null || decoratorsForTargetType === void 0 ? void 0 : decoratorsForTargetType[decoratorType]; + if (!decoratorsForType) { + decoratorsForType = {}; + decoratorsForTargetType[decoratorType] = decoratorsForType; + } + let decoratorsForKey = decoratorsForType === null || decoratorsForType === void 0 ? void 0 : decoratorsForType[key]; + if (!decoratorsForKey) { + decoratorsForKey = []; + decoratorsForType[key] = decoratorsForKey; + } + decoratorsForKey.push(decorator); + // @ts-ignore + return decorator(object, key, ...otherArgs); +}); +const decorate = (decorator) => ((...args) => { + if (args.length === 1) + return decorateClass(decorator)(args[0]); + return decorateMember(decorator)(...args); +}); +exports.decorate = decorate; diff --git a/node_modules/ts-mixer/dist/cjs/index.js b/node_modules/ts-mixer/dist/cjs/index.js new file mode 100644 index 0000000..5702401 --- /dev/null +++ b/node_modules/ts-mixer/dist/cjs/index.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.hasMixin = exports.decorate = exports.settings = exports.mix = exports.Mixin = void 0; +var mixins_1 = require("./mixins"); +Object.defineProperty(exports, "Mixin", { enumerable: true, get: function () { return mixins_1.Mixin; } }); +Object.defineProperty(exports, "mix", { enumerable: true, get: function () { return mixins_1.mix; } }); +var settings_1 = require("./settings"); +Object.defineProperty(exports, "settings", { enumerable: true, get: function () { return settings_1.settings; } }); +var decorator_1 = require("./decorator"); +Object.defineProperty(exports, "decorate", { enumerable: true, get: function () { return decorator_1.decorate; } }); +var mixin_tracking_1 = require("./mixin-tracking"); +Object.defineProperty(exports, "hasMixin", { enumerable: true, get: function () { return mixin_tracking_1.hasMixin; } }); diff --git a/node_modules/ts-mixer/dist/cjs/mixin-tracking.js b/node_modules/ts-mixer/dist/cjs/mixin-tracking.js new file mode 100644 index 0000000..af78346 --- /dev/null +++ b/node_modules/ts-mixer/dist/cjs/mixin-tracking.js @@ -0,0 +1,40 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.hasMixin = exports.registerMixins = exports.getMixinsForClass = void 0; +const util_1 = require("./util"); +// Keeps track of constituent classes for every mixin class created by ts-mixer. +const mixins = new Map(); +const getMixinsForClass = (clazz) => mixins.get(clazz); +exports.getMixinsForClass = getMixinsForClass; +const registerMixins = (mixedClass, constituents) => mixins.set(mixedClass, constituents); +exports.registerMixins = registerMixins; +const hasMixin = (instance, mixin) => { + if (instance instanceof mixin) + return true; + const constructor = instance.constructor; + const visited = new Set(); + let frontier = new Set(); + frontier.add(constructor); + while (frontier.size > 0) { + // check if the frontier has the mixin we're looking for. if not, we can say we visited every item in the frontier + if (frontier.has(mixin)) + return true; + frontier.forEach(item => visited.add(item)); + // build a new frontier based on the associated mixin classes and prototype chains of each frontier item + const newFrontier = new Set(); + frontier.forEach(item => { + var _a; + const itemConstituents = (_a = mixins.get(item)) !== null && _a !== void 0 ? _a : util_1.protoChain(item.prototype).map(proto => proto.constructor).filter(item => item !== null); + if (itemConstituents) + itemConstituents.forEach(constituent => { + if (!visited.has(constituent) && !frontier.has(constituent)) + newFrontier.add(constituent); + }); + }); + // we have a new frontier, now search again + frontier = newFrontier; + } + // if we get here, we couldn't find the mixin anywhere in the prototype chain or associated mixin classes + return false; +}; +exports.hasMixin = hasMixin; diff --git a/node_modules/ts-mixer/dist/cjs/mixins.js b/node_modules/ts-mixer/dist/cjs/mixins.js new file mode 100644 index 0000000..b469abd --- /dev/null +++ b/node_modules/ts-mixer/dist/cjs/mixins.js @@ -0,0 +1,78 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.mix = exports.Mixin = void 0; +const proxy_1 = require("./proxy"); +const settings_1 = require("./settings"); +const util_1 = require("./util"); +const decorator_1 = require("./decorator"); +const mixin_tracking_1 = require("./mixin-tracking"); +function Mixin(...constructors) { + var _a, _b, _c; + const prototypes = constructors.map(constructor => constructor.prototype); + // Here we gather up the init functions of the ingredient prototypes, combine them into one init function, and + // attach it to the mixed class prototype. The reason we do this is because we want the init functions to mix + // similarly to constructors -- not methods, which simply override each other. + const initFunctionName = settings_1.settings.initFunction; + if (initFunctionName !== null) { + const initFunctions = prototypes + .map(proto => proto[initFunctionName]) + .filter(func => typeof func === 'function'); + const combinedInitFunction = function (...args) { + for (let initFunction of initFunctions) + initFunction.apply(this, args); + }; + const extraProto = { [initFunctionName]: combinedInitFunction }; + prototypes.push(extraProto); + } + function MixedClass(...args) { + for (const constructor of constructors) + // @ts-ignore: potentially abstract class + util_1.copyProps(this, new constructor(...args)); + if (initFunctionName !== null && typeof this[initFunctionName] === 'function') + this[initFunctionName].apply(this, args); + } + MixedClass.prototype = settings_1.settings.prototypeStrategy === 'copy' + ? util_1.hardMixProtos(prototypes, MixedClass) + : proxy_1.softMixProtos(prototypes, MixedClass); + Object.setPrototypeOf(MixedClass, settings_1.settings.staticsStrategy === 'copy' + ? util_1.hardMixProtos(constructors, null, ['prototype']) + : proxy_1.proxyMix(constructors, Function.prototype)); + let DecoratedMixedClass = MixedClass; + if (settings_1.settings.decoratorInheritance !== 'none') { + const classDecorators = settings_1.settings.decoratorInheritance === 'deep' + ? decorator_1.deepDecoratorSearch(...constructors) + : decorator_1.directDecoratorSearch(...constructors); + for (let decorator of (_a = classDecorators === null || classDecorators === void 0 ? void 0 : classDecorators.class) !== null && _a !== void 0 ? _a : []) + DecoratedMixedClass = decorator(DecoratedMixedClass); + applyPropAndMethodDecorators((_b = classDecorators === null || classDecorators === void 0 ? void 0 : classDecorators.static) !== null && _b !== void 0 ? _b : {}, DecoratedMixedClass); + applyPropAndMethodDecorators((_c = classDecorators === null || classDecorators === void 0 ? void 0 : classDecorators.instance) !== null && _c !== void 0 ? _c : {}, DecoratedMixedClass.prototype); + } + mixin_tracking_1.registerMixins(DecoratedMixedClass, constructors); + return DecoratedMixedClass; +} +exports.Mixin = Mixin; +const applyPropAndMethodDecorators = (propAndMethodDecorators, target) => { + const propDecorators = propAndMethodDecorators.property; + const methodDecorators = propAndMethodDecorators.method; + if (propDecorators) + for (let key in propDecorators) + for (let decorator of propDecorators[key]) + decorator(target, key); + if (methodDecorators) + for (let key in methodDecorators) + for (let decorator of methodDecorators[key]) + decorator(target, key, Object.getOwnPropertyDescriptor(target, key)); +}; +/** + * A decorator version of the `Mixin` function. You'll want to use this instead of `Mixin` for mixing generic classes. + */ +const mix = (...ingredients) => decoratedClass => { + // @ts-ignore + const mixedClass = Mixin(...ingredients.concat([decoratedClass])); + Object.defineProperty(mixedClass, 'name', { + value: decoratedClass.name, + writable: false, + }); + return mixedClass; +}; +exports.mix = mix; diff --git a/node_modules/ts-mixer/dist/cjs/proxy.js b/node_modules/ts-mixer/dist/cjs/proxy.js new file mode 100644 index 0000000..373f774 --- /dev/null +++ b/node_modules/ts-mixer/dist/cjs/proxy.js @@ -0,0 +1,82 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.softMixProtos = exports.proxyMix = exports.getIngredientWithProp = void 0; +const util_1 = require("./util"); +/** + * Finds the ingredient with the given prop, searching in reverse order and breadth-first if searching ingredient + * prototypes is required. + */ +const getIngredientWithProp = (prop, ingredients) => { + const protoChains = ingredients.map(ingredient => util_1.protoChain(ingredient)); + // since we search breadth-first, we need to keep track of our depth in the prototype chains + let protoDepth = 0; + // not all prototype chains are the same depth, so this remains true as long as at least one of the ingredients' + // prototype chains has an object at this depth + let protosAreLeftToSearch = true; + while (protosAreLeftToSearch) { + // with the start of each horizontal slice, we assume this is the one that's deeper than any of the proto chains + protosAreLeftToSearch = false; + // scan through the ingredients right to left + for (let i = ingredients.length - 1; i >= 0; i--) { + const searchTarget = protoChains[i][protoDepth]; + if (searchTarget !== undefined && searchTarget !== null) { + // if we find something, this is proof that this horizontal slice potentially more objects to search + protosAreLeftToSearch = true; + // eureka, we found it + if (Object.getOwnPropertyDescriptor(searchTarget, prop) != undefined) { + return protoChains[i][0]; + } + } + } + protoDepth++; + } + return undefined; +}; +exports.getIngredientWithProp = getIngredientWithProp; +/** + * "Mixes" ingredients by wrapping them in a Proxy. The optional prototype argument allows the mixed object to sit + * downstream of an existing prototype chain. Note that "properties" cannot be added, deleted, or modified. + */ +const proxyMix = (ingredients, prototype = Object.prototype) => new Proxy({}, { + getPrototypeOf() { + return prototype; + }, + setPrototypeOf() { + throw Error('Cannot set prototype of Proxies created by ts-mixer'); + }, + getOwnPropertyDescriptor(_, prop) { + return Object.getOwnPropertyDescriptor(exports.getIngredientWithProp(prop, ingredients) || {}, prop); + }, + defineProperty() { + throw new Error('Cannot define new properties on Proxies created by ts-mixer'); + }, + has(_, prop) { + return exports.getIngredientWithProp(prop, ingredients) !== undefined || prototype[prop] !== undefined; + }, + get(_, prop) { + return (exports.getIngredientWithProp(prop, ingredients) || prototype)[prop]; + }, + set(_, prop, val) { + const ingredientWithProp = exports.getIngredientWithProp(prop, ingredients); + if (ingredientWithProp === undefined) + throw new Error('Cannot set new properties on Proxies created by ts-mixer'); + ingredientWithProp[prop] = val; + return true; + }, + deleteProperty() { + throw new Error('Cannot delete properties on Proxies created by ts-mixer'); + }, + ownKeys() { + return ingredients + .map(Object.getOwnPropertyNames) + .reduce((prev, curr) => curr.concat(prev.filter(key => curr.indexOf(key) < 0))); + }, +}); +exports.proxyMix = proxyMix; +/** + * Creates a new proxy-prototype object that is a "soft" mixture of the given prototypes. The mixing is achieved by + * proxying all property access to the ingredients. This is not ES5 compatible and less performant. However, any + * changes made to the source prototypes will be reflected in the proxy-prototype, which may be desirable. + */ +const softMixProtos = (ingredients, constructor) => exports.proxyMix([...ingredients, { constructor }]); +exports.softMixProtos = softMixProtos; diff --git a/node_modules/ts-mixer/dist/cjs/settings.js b/node_modules/ts-mixer/dist/cjs/settings.js new file mode 100644 index 0000000..dabb6d3 --- /dev/null +++ b/node_modules/ts-mixer/dist/cjs/settings.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.settings = void 0; +exports.settings = { + initFunction: null, + staticsStrategy: 'copy', + prototypeStrategy: 'copy', + decoratorInheritance: 'deep', +}; diff --git a/node_modules/ts-mixer/dist/cjs/types.js b/node_modules/ts-mixer/dist/cjs/types.js new file mode 100644 index 0000000..c8ad2e5 --- /dev/null +++ b/node_modules/ts-mixer/dist/cjs/types.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/node_modules/ts-mixer/dist/cjs/util.js b/node_modules/ts-mixer/dist/cjs/util.js new file mode 100644 index 0000000..cee3eed --- /dev/null +++ b/node_modules/ts-mixer/dist/cjs/util.js @@ -0,0 +1,85 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.flatten = exports.unique = exports.hardMixProtos = exports.nearestCommonProto = exports.protoChain = exports.copyProps = void 0; +/** + * Utility function that works like `Object.apply`, but copies getters and setters properly as well. Additionally gives + * the option to exclude properties by name. + */ +const copyProps = (dest, src, exclude = []) => { + const props = Object.getOwnPropertyDescriptors(src); + for (let prop of exclude) + delete props[prop]; + Object.defineProperties(dest, props); +}; +exports.copyProps = copyProps; +/** + * Returns the full chain of prototypes up until Object.prototype given a starting object. The order of prototypes will + * be closest to farthest in the chain. + */ +const protoChain = (obj, currentChain = [obj]) => { + const proto = Object.getPrototypeOf(obj); + if (proto === null) + return currentChain; + return exports.protoChain(proto, [...currentChain, proto]); +}; +exports.protoChain = protoChain; +/** + * Identifies the nearest ancestor common to all the given objects in their prototype chains. For most unrelated + * objects, this function should return Object.prototype. + */ +const nearestCommonProto = (...objs) => { + if (objs.length === 0) + return undefined; + let commonProto = undefined; + const protoChains = objs.map(obj => exports.protoChain(obj)); + while (protoChains.every(protoChain => protoChain.length > 0)) { + const protos = protoChains.map(protoChain => protoChain.pop()); + const potentialCommonProto = protos[0]; + if (protos.every(proto => proto === potentialCommonProto)) + commonProto = potentialCommonProto; + else + break; + } + return commonProto; +}; +exports.nearestCommonProto = nearestCommonProto; +/** + * Creates a new prototype object that is a mixture of the given prototypes. The mixing is achieved by first + * identifying the nearest common ancestor and using it as the prototype for a new object. Then all properties/methods + * downstream of this prototype (ONLY downstream) are copied into the new object. + * + * The resulting prototype is more performant than softMixProtos(...), as well as ES5 compatible. However, it's not as + * flexible as updates to the source prototypes aren't captured by the mixed result. See softMixProtos for why you may + * want to use that instead. + */ +const hardMixProtos = (ingredients, constructor, exclude = []) => { + var _a; + const base = (_a = exports.nearestCommonProto(...ingredients)) !== null && _a !== void 0 ? _a : Object.prototype; + const mixedProto = Object.create(base); + // Keeps track of prototypes we've already visited to avoid copying the same properties multiple times. We init the + // list with the proto chain below the nearest common ancestor because we don't want any of those methods mixed in + // when they will already be accessible via prototype access. + const visitedProtos = exports.protoChain(base); + for (let prototype of ingredients) { + let protos = exports.protoChain(prototype); + // Apply the prototype chain in reverse order so that old methods don't override newer ones. + for (let i = protos.length - 1; i >= 0; i--) { + let newProto = protos[i]; + if (visitedProtos.indexOf(newProto) === -1) { + exports.copyProps(mixedProto, newProto, ['constructor', ...exclude]); + visitedProtos.push(newProto); + } + } + } + mixedProto.constructor = constructor; + return mixedProto; +}; +exports.hardMixProtos = hardMixProtos; +const unique = (arr) => arr.filter((e, i) => arr.indexOf(e) == i); +exports.unique = unique; +const flatten = (arr) => arr.length === 0 + ? [] + : arr.length === 1 + ? arr[0] + : arr.reduce((a1, a2) => [...a1, ...a2]); +exports.flatten = flatten; diff --git a/node_modules/ts-mixer/dist/esm/index.js b/node_modules/ts-mixer/dist/esm/index.js new file mode 100644 index 0000000..a08be7f --- /dev/null +++ b/node_modules/ts-mixer/dist/esm/index.js @@ -0,0 +1,367 @@ +/** + * Utility function that works like `Object.apply`, but copies getters and setters properly as well. Additionally gives + * the option to exclude properties by name. + */ +const copyProps = (dest, src, exclude = []) => { + const props = Object.getOwnPropertyDescriptors(src); + for (let prop of exclude) + delete props[prop]; + Object.defineProperties(dest, props); +}; +/** + * Returns the full chain of prototypes up until Object.prototype given a starting object. The order of prototypes will + * be closest to farthest in the chain. + */ +const protoChain = (obj, currentChain = [obj]) => { + const proto = Object.getPrototypeOf(obj); + if (proto === null) + return currentChain; + return protoChain(proto, [...currentChain, proto]); +}; +/** + * Identifies the nearest ancestor common to all the given objects in their prototype chains. For most unrelated + * objects, this function should return Object.prototype. + */ +const nearestCommonProto = (...objs) => { + if (objs.length === 0) + return undefined; + let commonProto = undefined; + const protoChains = objs.map(obj => protoChain(obj)); + while (protoChains.every(protoChain => protoChain.length > 0)) { + const protos = protoChains.map(protoChain => protoChain.pop()); + const potentialCommonProto = protos[0]; + if (protos.every(proto => proto === potentialCommonProto)) + commonProto = potentialCommonProto; + else + break; + } + return commonProto; +}; +/** + * Creates a new prototype object that is a mixture of the given prototypes. The mixing is achieved by first + * identifying the nearest common ancestor and using it as the prototype for a new object. Then all properties/methods + * downstream of this prototype (ONLY downstream) are copied into the new object. + * + * The resulting prototype is more performant than softMixProtos(...), as well as ES5 compatible. However, it's not as + * flexible as updates to the source prototypes aren't captured by the mixed result. See softMixProtos for why you may + * want to use that instead. + */ +const hardMixProtos = (ingredients, constructor, exclude = []) => { + var _a; + const base = (_a = nearestCommonProto(...ingredients)) !== null && _a !== void 0 ? _a : Object.prototype; + const mixedProto = Object.create(base); + // Keeps track of prototypes we've already visited to avoid copying the same properties multiple times. We init the + // list with the proto chain below the nearest common ancestor because we don't want any of those methods mixed in + // when they will already be accessible via prototype access. + const visitedProtos = protoChain(base); + for (let prototype of ingredients) { + let protos = protoChain(prototype); + // Apply the prototype chain in reverse order so that old methods don't override newer ones. + for (let i = protos.length - 1; i >= 0; i--) { + let newProto = protos[i]; + if (visitedProtos.indexOf(newProto) === -1) { + copyProps(mixedProto, newProto, ['constructor', ...exclude]); + visitedProtos.push(newProto); + } + } + } + mixedProto.constructor = constructor; + return mixedProto; +}; +const unique = (arr) => arr.filter((e, i) => arr.indexOf(e) == i); + +/** + * Finds the ingredient with the given prop, searching in reverse order and breadth-first if searching ingredient + * prototypes is required. + */ +const getIngredientWithProp = (prop, ingredients) => { + const protoChains = ingredients.map(ingredient => protoChain(ingredient)); + // since we search breadth-first, we need to keep track of our depth in the prototype chains + let protoDepth = 0; + // not all prototype chains are the same depth, so this remains true as long as at least one of the ingredients' + // prototype chains has an object at this depth + let protosAreLeftToSearch = true; + while (protosAreLeftToSearch) { + // with the start of each horizontal slice, we assume this is the one that's deeper than any of the proto chains + protosAreLeftToSearch = false; + // scan through the ingredients right to left + for (let i = ingredients.length - 1; i >= 0; i--) { + const searchTarget = protoChains[i][protoDepth]; + if (searchTarget !== undefined && searchTarget !== null) { + // if we find something, this is proof that this horizontal slice potentially more objects to search + protosAreLeftToSearch = true; + // eureka, we found it + if (Object.getOwnPropertyDescriptor(searchTarget, prop) != undefined) { + return protoChains[i][0]; + } + } + } + protoDepth++; + } + return undefined; +}; +/** + * "Mixes" ingredients by wrapping them in a Proxy. The optional prototype argument allows the mixed object to sit + * downstream of an existing prototype chain. Note that "properties" cannot be added, deleted, or modified. + */ +const proxyMix = (ingredients, prototype = Object.prototype) => new Proxy({}, { + getPrototypeOf() { + return prototype; + }, + setPrototypeOf() { + throw Error('Cannot set prototype of Proxies created by ts-mixer'); + }, + getOwnPropertyDescriptor(_, prop) { + return Object.getOwnPropertyDescriptor(getIngredientWithProp(prop, ingredients) || {}, prop); + }, + defineProperty() { + throw new Error('Cannot define new properties on Proxies created by ts-mixer'); + }, + has(_, prop) { + return getIngredientWithProp(prop, ingredients) !== undefined || prototype[prop] !== undefined; + }, + get(_, prop) { + return (getIngredientWithProp(prop, ingredients) || prototype)[prop]; + }, + set(_, prop, val) { + const ingredientWithProp = getIngredientWithProp(prop, ingredients); + if (ingredientWithProp === undefined) + throw new Error('Cannot set new properties on Proxies created by ts-mixer'); + ingredientWithProp[prop] = val; + return true; + }, + deleteProperty() { + throw new Error('Cannot delete properties on Proxies created by ts-mixer'); + }, + ownKeys() { + return ingredients + .map(Object.getOwnPropertyNames) + .reduce((prev, curr) => curr.concat(prev.filter(key => curr.indexOf(key) < 0))); + }, +}); +/** + * Creates a new proxy-prototype object that is a "soft" mixture of the given prototypes. The mixing is achieved by + * proxying all property access to the ingredients. This is not ES5 compatible and less performant. However, any + * changes made to the source prototypes will be reflected in the proxy-prototype, which may be desirable. + */ +const softMixProtos = (ingredients, constructor) => proxyMix([...ingredients, { constructor }]); + +const settings = { + initFunction: null, + staticsStrategy: 'copy', + prototypeStrategy: 'copy', + decoratorInheritance: 'deep', +}; + +// Keeps track of constituent classes for every mixin class created by ts-mixer. +const mixins = new Map(); +const getMixinsForClass = (clazz) => mixins.get(clazz); +const registerMixins = (mixedClass, constituents) => mixins.set(mixedClass, constituents); +const hasMixin = (instance, mixin) => { + if (instance instanceof mixin) + return true; + const constructor = instance.constructor; + const visited = new Set(); + let frontier = new Set(); + frontier.add(constructor); + while (frontier.size > 0) { + // check if the frontier has the mixin we're looking for. if not, we can say we visited every item in the frontier + if (frontier.has(mixin)) + return true; + frontier.forEach(item => visited.add(item)); + // build a new frontier based on the associated mixin classes and prototype chains of each frontier item + const newFrontier = new Set(); + frontier.forEach(item => { + var _a; + const itemConstituents = (_a = mixins.get(item)) !== null && _a !== void 0 ? _a : protoChain(item.prototype).map(proto => proto.constructor).filter(item => item !== null); + if (itemConstituents) + itemConstituents.forEach(constituent => { + if (!visited.has(constituent) && !frontier.has(constituent)) + newFrontier.add(constituent); + }); + }); + // we have a new frontier, now search again + frontier = newFrontier; + } + // if we get here, we couldn't find the mixin anywhere in the prototype chain or associated mixin classes + return false; +}; + +const mergeObjectsOfDecorators = (o1, o2) => { + var _a, _b; + const allKeys = unique([...Object.getOwnPropertyNames(o1), ...Object.getOwnPropertyNames(o2)]); + const mergedObject = {}; + for (let key of allKeys) + mergedObject[key] = unique([...((_a = o1 === null || o1 === void 0 ? void 0 : o1[key]) !== null && _a !== void 0 ? _a : []), ...((_b = o2 === null || o2 === void 0 ? void 0 : o2[key]) !== null && _b !== void 0 ? _b : [])]); + return mergedObject; +}; +const mergePropertyAndMethodDecorators = (d1, d2) => { + var _a, _b, _c, _d; + return ({ + property: mergeObjectsOfDecorators((_a = d1 === null || d1 === void 0 ? void 0 : d1.property) !== null && _a !== void 0 ? _a : {}, (_b = d2 === null || d2 === void 0 ? void 0 : d2.property) !== null && _b !== void 0 ? _b : {}), + method: mergeObjectsOfDecorators((_c = d1 === null || d1 === void 0 ? void 0 : d1.method) !== null && _c !== void 0 ? _c : {}, (_d = d2 === null || d2 === void 0 ? void 0 : d2.method) !== null && _d !== void 0 ? _d : {}), + }); +}; +const mergeDecorators = (d1, d2) => { + var _a, _b, _c, _d, _e, _f; + return ({ + class: unique([...(_a = d1 === null || d1 === void 0 ? void 0 : d1.class) !== null && _a !== void 0 ? _a : [], ...(_b = d2 === null || d2 === void 0 ? void 0 : d2.class) !== null && _b !== void 0 ? _b : []]), + static: mergePropertyAndMethodDecorators((_c = d1 === null || d1 === void 0 ? void 0 : d1.static) !== null && _c !== void 0 ? _c : {}, (_d = d2 === null || d2 === void 0 ? void 0 : d2.static) !== null && _d !== void 0 ? _d : {}), + instance: mergePropertyAndMethodDecorators((_e = d1 === null || d1 === void 0 ? void 0 : d1.instance) !== null && _e !== void 0 ? _e : {}, (_f = d2 === null || d2 === void 0 ? void 0 : d2.instance) !== null && _f !== void 0 ? _f : {}), + }); +}; +const decorators = new Map(); +const findAllConstituentClasses = (...classes) => { + var _a; + const allClasses = new Set(); + const frontier = new Set([...classes]); + while (frontier.size > 0) { + for (let clazz of frontier) { + const protoChainClasses = protoChain(clazz.prototype).map(proto => proto.constructor); + const mixinClasses = (_a = getMixinsForClass(clazz)) !== null && _a !== void 0 ? _a : []; + const potentiallyNewClasses = [...protoChainClasses, ...mixinClasses]; + const newClasses = potentiallyNewClasses.filter(c => !allClasses.has(c)); + for (let newClass of newClasses) + frontier.add(newClass); + allClasses.add(clazz); + frontier.delete(clazz); + } + } + return [...allClasses]; +}; +const deepDecoratorSearch = (...classes) => { + const decoratorsForClassChain = findAllConstituentClasses(...classes) + .map(clazz => decorators.get(clazz)) + .filter(decorators => !!decorators); + if (decoratorsForClassChain.length == 0) + return {}; + if (decoratorsForClassChain.length == 1) + return decoratorsForClassChain[0]; + return decoratorsForClassChain.reduce((d1, d2) => mergeDecorators(d1, d2)); +}; +const directDecoratorSearch = (...classes) => { + const classDecorators = classes.map(clazz => getDecoratorsForClass(clazz)); + if (classDecorators.length === 0) + return {}; + if (classDecorators.length === 1) + return classDecorators[1]; + return classDecorators.reduce((d1, d2) => mergeDecorators(d1, d2)); +}; +const getDecoratorsForClass = (clazz) => { + let decoratorsForClass = decorators.get(clazz); + if (!decoratorsForClass) { + decoratorsForClass = {}; + decorators.set(clazz, decoratorsForClass); + } + return decoratorsForClass; +}; +const decorateClass = (decorator) => ((clazz) => { + const decoratorsForClass = getDecoratorsForClass(clazz); + let classDecorators = decoratorsForClass.class; + if (!classDecorators) { + classDecorators = []; + decoratorsForClass.class = classDecorators; + } + classDecorators.push(decorator); + return decorator(clazz); +}); +const decorateMember = (decorator) => ((object, key, ...otherArgs) => { + const decoratorTargetType = typeof object === 'function' ? 'static' : 'instance'; + const decoratorType = typeof object[key] === 'function' ? 'method' : 'property'; + const clazz = decoratorTargetType === 'static' ? object : object.constructor; + const decoratorsForClass = getDecoratorsForClass(clazz); + let decoratorsForTargetType = decoratorsForClass === null || decoratorsForClass === void 0 ? void 0 : decoratorsForClass[decoratorTargetType]; + if (!decoratorsForTargetType) { + decoratorsForTargetType = {}; + decoratorsForClass[decoratorTargetType] = decoratorsForTargetType; + } + let decoratorsForType = decoratorsForTargetType === null || decoratorsForTargetType === void 0 ? void 0 : decoratorsForTargetType[decoratorType]; + if (!decoratorsForType) { + decoratorsForType = {}; + decoratorsForTargetType[decoratorType] = decoratorsForType; + } + let decoratorsForKey = decoratorsForType === null || decoratorsForType === void 0 ? void 0 : decoratorsForType[key]; + if (!decoratorsForKey) { + decoratorsForKey = []; + decoratorsForType[key] = decoratorsForKey; + } + decoratorsForKey.push(decorator); + // @ts-ignore + return decorator(object, key, ...otherArgs); +}); +const decorate = (decorator) => ((...args) => { + if (args.length === 1) + return decorateClass(decorator)(args[0]); + return decorateMember(decorator)(...args); +}); + +function Mixin(...constructors) { + var _a, _b, _c; + const prototypes = constructors.map(constructor => constructor.prototype); + // Here we gather up the init functions of the ingredient prototypes, combine them into one init function, and + // attach it to the mixed class prototype. The reason we do this is because we want the init functions to mix + // similarly to constructors -- not methods, which simply override each other. + const initFunctionName = settings.initFunction; + if (initFunctionName !== null) { + const initFunctions = prototypes + .map(proto => proto[initFunctionName]) + .filter(func => typeof func === 'function'); + const combinedInitFunction = function (...args) { + for (let initFunction of initFunctions) + initFunction.apply(this, args); + }; + const extraProto = { [initFunctionName]: combinedInitFunction }; + prototypes.push(extraProto); + } + function MixedClass(...args) { + for (const constructor of constructors) + // @ts-ignore: potentially abstract class + copyProps(this, new constructor(...args)); + if (initFunctionName !== null && typeof this[initFunctionName] === 'function') + this[initFunctionName].apply(this, args); + } + MixedClass.prototype = settings.prototypeStrategy === 'copy' + ? hardMixProtos(prototypes, MixedClass) + : softMixProtos(prototypes, MixedClass); + Object.setPrototypeOf(MixedClass, settings.staticsStrategy === 'copy' + ? hardMixProtos(constructors, null, ['prototype']) + : proxyMix(constructors, Function.prototype)); + let DecoratedMixedClass = MixedClass; + if (settings.decoratorInheritance !== 'none') { + const classDecorators = settings.decoratorInheritance === 'deep' + ? deepDecoratorSearch(...constructors) + : directDecoratorSearch(...constructors); + for (let decorator of (_a = classDecorators === null || classDecorators === void 0 ? void 0 : classDecorators.class) !== null && _a !== void 0 ? _a : []) + DecoratedMixedClass = decorator(DecoratedMixedClass); + applyPropAndMethodDecorators((_b = classDecorators === null || classDecorators === void 0 ? void 0 : classDecorators.static) !== null && _b !== void 0 ? _b : {}, DecoratedMixedClass); + applyPropAndMethodDecorators((_c = classDecorators === null || classDecorators === void 0 ? void 0 : classDecorators.instance) !== null && _c !== void 0 ? _c : {}, DecoratedMixedClass.prototype); + } + registerMixins(DecoratedMixedClass, constructors); + return DecoratedMixedClass; +} +const applyPropAndMethodDecorators = (propAndMethodDecorators, target) => { + const propDecorators = propAndMethodDecorators.property; + const methodDecorators = propAndMethodDecorators.method; + if (propDecorators) + for (let key in propDecorators) + for (let decorator of propDecorators[key]) + decorator(target, key); + if (methodDecorators) + for (let key in methodDecorators) + for (let decorator of methodDecorators[key]) + decorator(target, key, Object.getOwnPropertyDescriptor(target, key)); +}; +/** + * A decorator version of the `Mixin` function. You'll want to use this instead of `Mixin` for mixing generic classes. + */ +const mix = (...ingredients) => decoratedClass => { + // @ts-ignore + const mixedClass = Mixin(...ingredients.concat([decoratedClass])); + Object.defineProperty(mixedClass, 'name', { + value: decoratedClass.name, + writable: false, + }); + return mixedClass; +}; + +export { Mixin, decorate, hasMixin, mix, settings }; diff --git a/node_modules/ts-mixer/dist/esm/index.min.js b/node_modules/ts-mixer/dist/esm/index.min.js new file mode 100644 index 0000000..d55a3ab --- /dev/null +++ b/node_modules/ts-mixer/dist/esm/index.min.js @@ -0,0 +1 @@ +const t=(t,e,o=[])=>{const r=Object.getOwnPropertyDescriptors(e);for(let t of o)delete r[t];Object.defineProperties(t,r)},e=(t,o=[t])=>{const r=Object.getPrototypeOf(t);return null===r?o:e(r,[...o,r])},o=(o,r,n=[])=>{var l;const i=null!==(l=((...t)=>{if(0===t.length)return;let o;const r=t.map((t=>e(t)));for(;r.every((t=>t.length>0));){const t=r.map((t=>t.pop())),e=t[0];if(!t.every((t=>t===e)))break;o=e}return o})(...o))&&void 0!==l?l:Object.prototype,c=Object.create(i),s=e(i);for(let r of o){let o=e(r);for(let e=o.length-1;e>=0;e--){let r=o[e];-1===s.indexOf(r)&&(t(c,r,["constructor",...n]),s.push(r))}}return c.constructor=r,c},r=t=>t.filter(((e,o)=>t.indexOf(e)==o)),n=(t,o)=>{const r=o.map((t=>e(t)));let n=0,l=!0;for(;l;){l=!1;for(let e=o.length-1;e>=0;e--){const o=r[e][n];if(null!=o&&(l=!0,null!=Object.getOwnPropertyDescriptor(o,t)))return r[e][0]}n++}},l=(t,e=Object.prototype)=>new Proxy({},{getPrototypeOf:()=>e,setPrototypeOf(){throw Error("Cannot set prototype of Proxies created by ts-mixer")},getOwnPropertyDescriptor:(e,o)=>Object.getOwnPropertyDescriptor(n(o,t)||{},o),defineProperty(){throw new Error("Cannot define new properties on Proxies created by ts-mixer")},has:(o,r)=>void 0!==n(r,t)||void 0!==e[r],get:(o,r)=>(n(r,t)||e)[r],set(e,o,r){const l=n(o,t);if(void 0===l)throw new Error("Cannot set new properties on Proxies created by ts-mixer");return l[o]=r,!0},deleteProperty(){throw new Error("Cannot delete properties on Proxies created by ts-mixer")},ownKeys:()=>t.map(Object.getOwnPropertyNames).reduce(((t,e)=>e.concat(t.filter((t=>e.indexOf(t)<0)))))}),i={initFunction:null,staticsStrategy:"copy",prototypeStrategy:"copy",decoratorInheritance:"deep"},c=new Map,s=t=>c.get(t),p=(t,o)=>{if(t instanceof o)return!0;const r=t.constructor,n=new Set;let l=new Set;for(l.add(r);l.size>0;){if(l.has(o))return!0;l.forEach((t=>n.add(t)));const t=new Set;l.forEach((o=>{var r;const i=null!==(r=c.get(o))&&void 0!==r?r:e(o.prototype).map((t=>t.constructor)).filter((t=>null!==t));i&&i.forEach((e=>{n.has(e)||l.has(e)||t.add(e)}))})),l=t}return!1},u=(t,e)=>{var o,n;const l=r([...Object.getOwnPropertyNames(t),...Object.getOwnPropertyNames(e)]),i={};for(let c of l)i[c]=r([...null!==(o=null==t?void 0:t[c])&&void 0!==o?o:[],...null!==(n=null==e?void 0:e[c])&&void 0!==n?n:[]]);return i},a=(t,e)=>{var o,r,n,l;return{property:u(null!==(o=null==t?void 0:t.property)&&void 0!==o?o:{},null!==(r=null==e?void 0:e.property)&&void 0!==r?r:{}),method:u(null!==(n=null==t?void 0:t.method)&&void 0!==n?n:{},null!==(l=null==e?void 0:e.method)&&void 0!==l?l:{})}},d=(t,e)=>{var o,n,l,i,c,s;return{class:r([...null!==(o=null==t?void 0:t.class)&&void 0!==o?o:[],...null!==(n=null==e?void 0:e.class)&&void 0!==n?n:[]]),static:a(null!==(l=null==t?void 0:t.static)&&void 0!==l?l:{},null!==(i=null==e?void 0:e.static)&&void 0!==i?i:{}),instance:a(null!==(c=null==t?void 0:t.instance)&&void 0!==c?c:{},null!==(s=null==e?void 0:e.instance)&&void 0!==s?s:{})}},f=new Map,y=(...t)=>{const o=((...t)=>{var o;const r=new Set,n=new Set([...t]);for(;n.size>0;)for(let t of n){const l=[...e(t.prototype).map((t=>t.constructor)),...null!==(o=s(t))&&void 0!==o?o:[]].filter((t=>!r.has(t)));for(let t of l)n.add(t);r.add(t),n.delete(t)}return[...r]})(...t).map((t=>f.get(t))).filter((t=>!!t));return 0==o.length?{}:1==o.length?o[0]:o.reduce(((t,e)=>d(t,e)))},v=t=>{let e=f.get(t);return e||(e={},f.set(t,e)),e},h=t=>(...e)=>1===e.length?(t=>e=>{const o=v(e);let r=o.class;return r||(r=[],o.class=r),r.push(t),t(e)})(t)(e[0]):(t=>(e,o,...r)=>{const n="function"==typeof e?"static":"instance",l="function"==typeof e[o]?"method":"property",i="static"===n?e:e.constructor,c=v(i);let s=null==c?void 0:c[n];s||(s={},c[n]=s);let p=null==s?void 0:s[l];p||(p={},s[l]=p);let u=null==p?void 0:p[o];return u||(u=[],p[o]=u),u.push(t),t(e,o,...r)})(t)(...e);function O(...e){var r,n,s;const p=e.map((t=>t.prototype)),u=i.initFunction;if(null!==u){const t=p.map((t=>t[u])).filter((t=>"function"==typeof t)),e={[u]:function(...e){for(let o of t)o.apply(this,e)}};p.push(e)}function a(...o){for(const r of e)t(this,new r(...o));null!==u&&"function"==typeof this[u]&&this[u].apply(this,o)}var f,h;a.prototype="copy"===i.prototypeStrategy?o(p,a):(f=p,h=a,l([...f,{constructor:h}])),Object.setPrototypeOf(a,"copy"===i.staticsStrategy?o(e,null,["prototype"]):l(e,Function.prototype));let O=a;if("none"!==i.decoratorInheritance){const t="deep"===i.decoratorInheritance?y(...e):((...t)=>{const e=t.map((t=>v(t)));return 0===e.length?{}:1===e.length?e[1]:e.reduce(((t,e)=>d(t,e)))})(...e);for(let e of null!==(r=null==t?void 0:t.class)&&void 0!==r?r:[])O=e(O);g(null!==(n=null==t?void 0:t.static)&&void 0!==n?n:{},O),g(null!==(s=null==t?void 0:t.instance)&&void 0!==s?s:{},O.prototype)}var w,m;return w=O,m=e,c.set(w,m),O}const g=(t,e)=>{const o=t.property,r=t.method;if(o)for(let t in o)for(let r of o[t])r(e,t);if(r)for(let t in r)for(let o of r[t])o(e,t,Object.getOwnPropertyDescriptor(e,t))},w=(...t)=>e=>{const o=O(...t.concat([e]));return Object.defineProperty(o,"name",{value:e.name,writable:!1}),o};export{O as Mixin,h as decorate,p as hasMixin,w as mix,i as settings}; diff --git a/node_modules/ts-mixer/dist/types/decorator.d.ts b/node_modules/ts-mixer/dist/types/decorator.d.ts new file mode 100644 index 0000000..cbfc17d --- /dev/null +++ b/node_modules/ts-mixer/dist/types/decorator.d.ts @@ -0,0 +1,18 @@ +import { Class } from './types'; +declare type ObjectOfDecorators = { + [key: string]: T[]; +}; +export declare type PropertyAndMethodDecorators = { + property?: ObjectOfDecorators; + method?: ObjectOfDecorators; +}; +declare type Decorators = { + class?: ClassDecorator[]; + static?: PropertyAndMethodDecorators; + instance?: PropertyAndMethodDecorators; +}; +export declare const deepDecoratorSearch: (...classes: Class[]) => Decorators; +export declare const directDecoratorSearch: (...classes: Class[]) => Decorators; +export declare const getDecoratorsForClass: (clazz: Class) => Decorators; +export declare const decorate: (decorator: T) => T; +export {}; diff --git a/node_modules/ts-mixer/dist/types/index.d.ts b/node_modules/ts-mixer/dist/types/index.d.ts new file mode 100644 index 0000000..2a16080 --- /dev/null +++ b/node_modules/ts-mixer/dist/types/index.d.ts @@ -0,0 +1,4 @@ +export { Mixin, mix } from './mixins'; +export { settings } from './settings'; +export { decorate } from './decorator'; +export { hasMixin } from './mixin-tracking'; diff --git a/node_modules/ts-mixer/dist/types/mixin-tracking.d.ts b/node_modules/ts-mixer/dist/types/mixin-tracking.d.ts new file mode 100644 index 0000000..7ab2b45 --- /dev/null +++ b/node_modules/ts-mixer/dist/types/mixin-tracking.d.ts @@ -0,0 +1,4 @@ +import { Class } from './types'; +export declare const getMixinsForClass: (clazz: Class) => Function[] | undefined; +export declare const registerMixins: (mixedClass: any, constituents: Function[]) => Map; +export declare const hasMixin: (instance: any, mixin: new (...args: any[]) => M) => instance is M; diff --git a/node_modules/ts-mixer/dist/types/mixins.d.ts b/node_modules/ts-mixer/dist/types/mixins.d.ts new file mode 100644 index 0000000..a4f65be --- /dev/null +++ b/node_modules/ts-mixer/dist/types/mixins.d.ts @@ -0,0 +1,16 @@ +import { Class, Longest } from './types'; +declare function Mixin(c1: Class): Class; +declare function Mixin(c1: Class, c2: Class): Class, I1 & I2, S1 & S2>; +declare function Mixin(c1: Class, c2: Class, c3: Class): Class, I1 & I2 & I3, S1 & S2 & S3>; +declare function Mixin(c1: Class, c2: Class, c3: Class, c4: Class): Class, I1 & I2 & I3 & I4, S1 & S2 & S3 & S4>; +declare function Mixin(c1: Class, c2: Class, c3: Class, c4: Class, c5: Class): Class, I1 & I2 & I3 & I4 & I5, S1 & S2 & S3 & S4 & S5>; +declare function Mixin(c1: Class, c2: Class, c3: Class, c4: Class, c5: Class, c6: Class): Class, I1 & I2 & I3 & I4 & I5 & I6, S1 & S2 & S3 & S4 & S5 & S6>; +declare function Mixin(c1: Class, c2: Class, c3: Class, c4: Class, c5: Class, c6: Class, c7: Class): Class, I1 & I2 & I3 & I4 & I5 & I6 & I7, S1 & S2 & S3 & S4 & S5 & S6 & S7>; +declare function Mixin(c1: Class, c2: Class, c3: Class, c4: Class, c5: Class, c6: Class, c7: Class, c8: Class): Class, I1 & I2 & I3 & I4 & I5 & I6 & I7 & I8, S1 & S2 & S3 & S4 & S5 & S6 & S7 & S8>; +declare function Mixin(c1: Class, c2: Class, c3: Class, c4: Class, c5: Class, c6: Class, c7: Class, c8: Class, c9: Class): Class, I1 & I2 & I3 & I4 & I5 & I6 & I7 & I8 & I9, S1 & S2 & S3 & S4 & S5 & S6 & S7 & S8 & S9>; +declare function Mixin(c1: Class, c2: Class, c3: Class, c4: Class, c5: Class, c6: Class, c7: Class, c8: Class, c9: Class, c10: Class): Class, I1 & I2 & I3 & I4 & I5 & I6 & I7 & I8 & I9 & I10, S1 & S2 & S3 & S4 & S5 & S6 & S7 & S8 & S9 & S10>; +/** + * A decorator version of the `Mixin` function. You'll want to use this instead of `Mixin` for mixing generic classes. + */ +declare const mix: (...ingredients: Class[]) => (decoratedClass: any) => any; +export { Mixin, mix }; diff --git a/node_modules/ts-mixer/dist/types/proxy.d.ts b/node_modules/ts-mixer/dist/types/proxy.d.ts new file mode 100644 index 0000000..fafe399 --- /dev/null +++ b/node_modules/ts-mixer/dist/types/proxy.d.ts @@ -0,0 +1,16 @@ +/** + * Finds the ingredient with the given prop, searching in reverse order and breadth-first if searching ingredient + * prototypes is required. + */ +export declare const getIngredientWithProp: (prop: string | number | symbol, ingredients: any[]) => object | undefined; +/** + * "Mixes" ingredients by wrapping them in a Proxy. The optional prototype argument allows the mixed object to sit + * downstream of an existing prototype chain. Note that "properties" cannot be added, deleted, or modified. + */ +export declare const proxyMix: (ingredients: any[], prototype?: Object) => {}; +/** + * Creates a new proxy-prototype object that is a "soft" mixture of the given prototypes. The mixing is achieved by + * proxying all property access to the ingredients. This is not ES5 compatible and less performant. However, any + * changes made to the source prototypes will be reflected in the proxy-prototype, which may be desirable. + */ +export declare const softMixProtos: (ingredients: any[], constructor: Function) => object; diff --git a/node_modules/ts-mixer/dist/types/settings.d.ts b/node_modules/ts-mixer/dist/types/settings.d.ts new file mode 100644 index 0000000..7d047ef --- /dev/null +++ b/node_modules/ts-mixer/dist/types/settings.d.ts @@ -0,0 +1,7 @@ +export declare type Settings = { + initFunction: string | null; + staticsStrategy: 'copy' | 'proxy'; + prototypeStrategy: 'copy' | 'proxy'; + decoratorInheritance: 'deep' | 'direct' | 'none'; +}; +export declare const settings: Settings; diff --git a/node_modules/ts-mixer/dist/types/types.d.ts b/node_modules/ts-mixer/dist/types/types.d.ts new file mode 100644 index 0000000..f8cabde --- /dev/null +++ b/node_modules/ts-mixer/dist/types/types.d.ts @@ -0,0 +1,13 @@ +/** + * Returns the longer of the two tuples. Indefinite tuples will always be considered longest. + */ +declare type _Longest = any[] extends T1 ? T1 : any[] extends T2 ? T2 : Exclude extends never ? T2 : T1; +/** + * Returns the longest of up to 10 different tuples. + */ +export declare type Longest = _Longest<_Longest<_Longest<_Longest, _Longest>, _Longest<_Longest, _Longest>>, _Longest>; +/** + * A rigorous type alias for a class. + */ +export declare type Class = (abstract new (...args: any[]) => InstanceType) & StaticType; +export {}; diff --git a/node_modules/ts-mixer/dist/types/util.d.ts b/node_modules/ts-mixer/dist/types/util.d.ts new file mode 100644 index 0000000..4797ef4 --- /dev/null +++ b/node_modules/ts-mixer/dist/types/util.d.ts @@ -0,0 +1,27 @@ +/** + * Utility function that works like `Object.apply`, but copies getters and setters properly as well. Additionally gives + * the option to exclude properties by name. + */ +export declare const copyProps: (dest: object, src: object, exclude?: string[]) => void; +/** + * Returns the full chain of prototypes up until Object.prototype given a starting object. The order of prototypes will + * be closest to farthest in the chain. + */ +export declare const protoChain: (obj: object, currentChain?: object[]) => object[]; +/** + * Identifies the nearest ancestor common to all the given objects in their prototype chains. For most unrelated + * objects, this function should return Object.prototype. + */ +export declare const nearestCommonProto: (...objs: object[]) => object | undefined; +/** + * Creates a new prototype object that is a mixture of the given prototypes. The mixing is achieved by first + * identifying the nearest common ancestor and using it as the prototype for a new object. Then all properties/methods + * downstream of this prototype (ONLY downstream) are copied into the new object. + * + * The resulting prototype is more performant than softMixProtos(...), as well as ES5 compatible. However, it's not as + * flexible as updates to the source prototypes aren't captured by the mixed result. See softMixProtos for why you may + * want to use that instead. + */ +export declare const hardMixProtos: (ingredients: any[], constructor: Function | null, exclude?: string[]) => object; +export declare const unique: (arr: T[]) => T[]; +export declare const flatten: (arr: T[][]) => T[]; diff --git a/node_modules/ts-mixer/package.json b/node_modules/ts-mixer/package.json new file mode 100644 index 0000000..ab9fa61 --- /dev/null +++ b/node_modules/ts-mixer/package.json @@ -0,0 +1,63 @@ +{ + "name": "ts-mixer", + "version": "6.0.0", + "description": "A very small TypeScript library that provides tolerable Mixin functionality.", + "main": "dist/cjs/index.js", + "module": "dist/esm/index.js", + "browser": "dist/esm/index.js", + "unpkg": "dist/esm/index.min.js", + "types": "dist/types/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "prebuild": "yarn clean", + "build": "rollup -c && tsc", + "clean": "rimraf dist", + "lint": "eslint src/**/*.ts", + "test": "nyc mocha", + "codegen": "node ./codegen.js", + "release": "standard-version" + }, + "devDependencies": { + "@commitlint/cli": "^12.1.4", + "@commitlint/config-conventional": "^12.1.4", + "@rollup/plugin-typescript": "^8.2.1", + "@types/chai": "^4.2.19", + "@types/mocha": "^8.2.2", + "@types/node": "^15.12.4", + "@types/sinon": "^10.0.2", + "@typescript-eslint/parser": "^4.27.0", + "chai": "^4.3.4", + "class-validator": "^0.13.1", + "coveralls": "^3.1.0", + "eslint": "^7.29.0", + "husky": "^4.2.5", + "js-yaml": "^4.1.0", + "mocha": "^9.0.1", + "nyc": "14.1.1", + "rimraf": "^3.0.2", + "rollup": "^2.52.1", + "rollup-plugin-terser": "^7.0.2", + "sinon": "^11.1.1", + "standard-version": "^9.3.0", + "ts-node": "^10.0.0", + "tslib": "^2.3.0", + "typescript": "^4.3.4", + "yarn-add-no-save": "^1.0.3" + }, + "homepage": "https://github.com/tannerntannern/ts-mixer#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/tannerntannern/ts-mixer.git" + }, + "keywords": [ + "typescript", + "mixin", + "mixins", + "multiple inheritance", + "mixin classes" + ], + "author": "Tanner Nielsen", + "license": "MIT" +} diff --git a/node_modules/tslib/CopyrightNotice.txt b/node_modules/tslib/CopyrightNotice.txt new file mode 100644 index 0000000..3d4c823 --- /dev/null +++ b/node_modules/tslib/CopyrightNotice.txt @@ -0,0 +1,15 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ + diff --git a/node_modules/tslib/LICENSE.txt b/node_modules/tslib/LICENSE.txt new file mode 100644 index 0000000..bfe6430 --- /dev/null +++ b/node_modules/tslib/LICENSE.txt @@ -0,0 +1,12 @@ +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file diff --git a/node_modules/tslib/README.md b/node_modules/tslib/README.md new file mode 100644 index 0000000..72ff8e7 --- /dev/null +++ b/node_modules/tslib/README.md @@ -0,0 +1,164 @@ +# tslib + +This is a runtime library for [TypeScript](http://www.typescriptlang.org/) that contains all of the TypeScript helper functions. + +This library is primarily used by the `--importHelpers` flag in TypeScript. +When using `--importHelpers`, a module that uses helper functions like `__extends` and `__assign` in the following emitted file: + +```ts +var __assign = (this && this.__assign) || Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; +}; +exports.x = {}; +exports.y = __assign({}, exports.x); + +``` + +will instead be emitted as something like the following: + +```ts +var tslib_1 = require("tslib"); +exports.x = {}; +exports.y = tslib_1.__assign({}, exports.x); +``` + +Because this can avoid duplicate declarations of things like `__extends`, `__assign`, etc., this means delivering users smaller files on average, as well as less runtime overhead. +For optimized bundles with TypeScript, you should absolutely consider using `tslib` and `--importHelpers`. + +# Installing + +For the latest stable version, run: + +## npm + +```sh +# TypeScript 3.9.2 or later +npm install tslib + +# TypeScript 3.8.4 or earlier +npm install tslib@^1 + +# TypeScript 2.3.2 or earlier +npm install tslib@1.6.1 +``` + +## yarn + +```sh +# TypeScript 3.9.2 or later +yarn add tslib + +# TypeScript 3.8.4 or earlier +yarn add tslib@^1 + +# TypeScript 2.3.2 or earlier +yarn add tslib@1.6.1 +``` + +## bower + +```sh +# TypeScript 3.9.2 or later +bower install tslib + +# TypeScript 3.8.4 or earlier +bower install tslib@^1 + +# TypeScript 2.3.2 or earlier +bower install tslib@1.6.1 +``` + +## JSPM + +```sh +# TypeScript 3.9.2 or later +jspm install tslib + +# TypeScript 3.8.4 or earlier +jspm install tslib@^1 + +# TypeScript 2.3.2 or earlier +jspm install tslib@1.6.1 +``` + +# Usage + +Set the `importHelpers` compiler option on the command line: + +``` +tsc --importHelpers file.ts +``` + +or in your tsconfig.json: + +```json +{ + "compilerOptions": { + "importHelpers": true + } +} +``` + +#### For bower and JSPM users + +You will need to add a `paths` mapping for `tslib`, e.g. For Bower users: + +```json +{ + "compilerOptions": { + "module": "amd", + "importHelpers": true, + "baseUrl": "./", + "paths": { + "tslib" : ["bower_components/tslib/tslib.d.ts"] + } + } +} +``` + +For JSPM users: + +```json +{ + "compilerOptions": { + "module": "system", + "importHelpers": true, + "baseUrl": "./", + "paths": { + "tslib" : ["jspm_packages/npm/tslib@2.x.y/tslib.d.ts"] + } + } +} +``` + +## Deployment + +- Choose your new version number +- Set it in `package.json` and `bower.json` +- Create a tag: `git tag [version]` +- Push the tag: `git push --tags` +- Create a [release in GitHub](https://github.com/microsoft/tslib/releases) +- Run the [publish to npm](https://github.com/microsoft/tslib/actions?query=workflow%3A%22Publish+to+NPM%22) workflow + +Done. + +# Contribute + +There are many ways to [contribute](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md) to TypeScript. + +* [Submit bugs](https://github.com/Microsoft/TypeScript/issues) and help us verify fixes as they are checked in. +* Review the [source code changes](https://github.com/Microsoft/TypeScript/pulls). +* Engage with other TypeScript users and developers on [StackOverflow](http://stackoverflow.com/questions/tagged/typescript). +* Join the [#typescript](http://twitter.com/#!/search/realtime/%23typescript) discussion on Twitter. +* [Contribute bug fixes](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md). + +# Documentation + +* [Quick tutorial](http://www.typescriptlang.org/Tutorial) +* [Programming handbook](http://www.typescriptlang.org/Handbook) +* [Homepage](http://www.typescriptlang.org/) diff --git a/node_modules/tslib/modules/index.js b/node_modules/tslib/modules/index.js new file mode 100644 index 0000000..c5afe4f --- /dev/null +++ b/node_modules/tslib/modules/index.js @@ -0,0 +1,53 @@ +import tslib from '../tslib.js'; +const { + __extends, + __assign, + __rest, + __decorate, + __param, + __metadata, + __awaiter, + __generator, + __exportStar, + __createBinding, + __values, + __read, + __spread, + __spreadArrays, + __spreadArray, + __await, + __asyncGenerator, + __asyncDelegator, + __asyncValues, + __makeTemplateObject, + __importStar, + __importDefault, + __classPrivateFieldGet, + __classPrivateFieldSet, +} = tslib; +export { + __extends, + __assign, + __rest, + __decorate, + __param, + __metadata, + __awaiter, + __generator, + __exportStar, + __createBinding, + __values, + __read, + __spread, + __spreadArrays, + __spreadArray, + __await, + __asyncGenerator, + __asyncDelegator, + __asyncValues, + __makeTemplateObject, + __importStar, + __importDefault, + __classPrivateFieldGet, + __classPrivateFieldSet, +}; diff --git a/node_modules/tslib/modules/package.json b/node_modules/tslib/modules/package.json new file mode 100644 index 0000000..aafa0e4 --- /dev/null +++ b/node_modules/tslib/modules/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} \ No newline at end of file diff --git a/node_modules/tslib/package.json b/node_modules/tslib/package.json new file mode 100644 index 0000000..e528ac0 --- /dev/null +++ b/node_modules/tslib/package.json @@ -0,0 +1,37 @@ +{ + "name": "tslib", + "author": "Microsoft Corp.", + "homepage": "https://www.typescriptlang.org/", + "version": "2.3.1", + "license": "0BSD", + "description": "Runtime library for TypeScript helper functions", + "keywords": [ + "TypeScript", + "Microsoft", + "compiler", + "language", + "javascript", + "tslib", + "runtime" + ], + "bugs": { + "url": "https://github.com/Microsoft/TypeScript/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/Microsoft/tslib.git" + }, + "main": "tslib.js", + "module": "tslib.es6.js", + "jsnext:main": "tslib.es6.js", + "typings": "tslib.d.ts", + "sideEffects": false, + "exports": { + ".": { + "module": "./tslib.es6.js", + "import": "./modules/index.js", + "default": "./tslib.js" + }, + "./": "./" + } +} diff --git a/node_modules/tslib/tslib.d.ts b/node_modules/tslib/tslib.d.ts new file mode 100644 index 0000000..76e89d1 --- /dev/null +++ b/node_modules/tslib/tslib.d.ts @@ -0,0 +1,130 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +export declare function __extends(d: Function, b: Function): void; +export declare function __assign(t: any, ...sources: any[]): any; +export declare function __rest(t: any, propertyNames: (string | symbol)[]): any; +export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any; +export declare function __param(paramIndex: number, decorator: Function): Function; +export declare function __metadata(metadataKey: any, metadataValue: any): Function; +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; +export declare function __generator(thisArg: any, body: Function): any; +export declare function __exportStar(m: any, o: any): void; +export declare function __values(o: any): any; +export declare function __read(o: any, n?: number): any[]; +/** @deprecated since TypeScript 4.2 */ +export declare function __spread(...args: any[][]): any[]; +/** @deprecated since TypeScript 4.2 */ +export declare function __spreadArrays(...args: any[][]): any[]; +export declare function __spreadArray(to: any[], from: any[], pack?: boolean): any[]; +export declare function __await(v: any): any; +export declare function __asyncGenerator(thisArg: any, _arguments: any, generator: Function): any; +export declare function __asyncDelegator(o: any): any; +export declare function __asyncValues(o: any): any; +export declare function __makeTemplateObject(cooked: string[], raw: string[]): TemplateStringsArray; +export declare function __importStar(mod: T): T; +export declare function __importDefault(mod: T): T | { default: T }; +/** + * Reading from a private instance field + */ +export declare function __classPrivateFieldGet( + receiver: T, + state: { has(o: T): boolean, get(o: T): V | undefined }, + kind?: "f" +): V; +/** + * Reading from a private static field + */ +export declare function __classPrivateFieldGet unknown, V>( + receiver: T, + state: T, + kind: "f", + f: { value: V } +): V; +/** + * Reading from a private instance get accessor + */ +export declare function __classPrivateFieldGet( + receiver: T, + state: { has(o: T): boolean }, + kind: "a", + f: () => V +): V; +/** + * Reading from a private static get accessor + */ +export declare function __classPrivateFieldGet unknown, V>( + receiver: T, + state: T, + kind: "a", + f: () => V +): V; +/** + * Reading from a private instance method + */ +export declare function __classPrivateFieldGet unknown>( + receiver: T, + state: { has(o: T): boolean }, + kind: "m", + f: V +): V; +/** + * Reading from a private static method + */ +export declare function __classPrivateFieldGet unknown, V extends (...args: any[]) => unknown>( + receiver: T, + state: T, + kind: "m", + f: V +): V; +/** + * Writing to a private instance field + */ + export declare function __classPrivateFieldSet( + receiver: T, + state: { has(o: T): boolean, set(o: T, value: V): unknown }, + value: V, + kind?: "f" +): V; +/** + * Writing to a private static field + */ +export declare function __classPrivateFieldSet unknown, V>( + receiver: T, + state: T, + value: V, + kind: "f", + f: { value: V } +): V; +/** + * Writing to a private instance set accessor + */ +export declare function __classPrivateFieldSet( + receiver: T, + state: { has(o: T): boolean }, + value: V, + kind: "a", + f: (v: V) => void +): V; +/** + * Writing to a private static set accessor + */ +export declare function __classPrivateFieldSet unknown, V>( + receiver: T, + state: T, + value: V, + kind: "a", + f: (v: V) => void +): V; +export declare function __createBinding(object: object, target: object, key: PropertyKey, objectKey?: PropertyKey): void; diff --git a/node_modules/tslib/tslib.es6.html b/node_modules/tslib/tslib.es6.html new file mode 100644 index 0000000..b122e41 --- /dev/null +++ b/node_modules/tslib/tslib.es6.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/node_modules/tslib/tslib.es6.js b/node_modules/tslib/tslib.es6.js new file mode 100644 index 0000000..0c764b8 --- /dev/null +++ b/node_modules/tslib/tslib.es6.js @@ -0,0 +1,239 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +/* global Reflect, Promise */ + +var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); +}; + +export function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} + +export var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + } + return __assign.apply(this, arguments); +} + +export function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +} + +export function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +} + +export function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +} + +export function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); +} + +export function __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +} + +export function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +} + +export var __createBinding = Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +}); + +export function __exportStar(m, o) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); +} + +export function __values(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +} + +export function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +} + +/** @deprecated */ +export function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; +} + +/** @deprecated */ +export function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +} + +export function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +} + +export function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); +} + +export function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } +} + +export function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } +} + +export function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } +} + +export function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; +}; + +var __setModuleDefault = Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}; + +export function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +} + +export function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; +} + +export function __classPrivateFieldGet(receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); +} + +export function __classPrivateFieldSet(receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; +} diff --git a/node_modules/tslib/tslib.html b/node_modules/tslib/tslib.html new file mode 100644 index 0000000..44c9ba5 --- /dev/null +++ b/node_modules/tslib/tslib.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/node_modules/tslib/tslib.js b/node_modules/tslib/tslib.js new file mode 100644 index 0000000..422d250 --- /dev/null +++ b/node_modules/tslib/tslib.js @@ -0,0 +1,306 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +/* global global, define, System, Reflect, Promise */ +var __extends; +var __assign; +var __rest; +var __decorate; +var __param; +var __metadata; +var __awaiter; +var __generator; +var __exportStar; +var __values; +var __read; +var __spread; +var __spreadArrays; +var __spreadArray; +var __await; +var __asyncGenerator; +var __asyncDelegator; +var __asyncValues; +var __makeTemplateObject; +var __importStar; +var __importDefault; +var __classPrivateFieldGet; +var __classPrivateFieldSet; +var __createBinding; +(function (factory) { + var root = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {}; + if (typeof define === "function" && define.amd) { + define("tslib", ["exports"], function (exports) { factory(createExporter(root, createExporter(exports))); }); + } + else if (typeof module === "object" && typeof module.exports === "object") { + factory(createExporter(root, createExporter(module.exports))); + } + else { + factory(createExporter(root)); + } + function createExporter(exports, previous) { + if (exports !== root) { + if (typeof Object.create === "function") { + Object.defineProperty(exports, "__esModule", { value: true }); + } + else { + exports.__esModule = true; + } + } + return function (id, v) { return exports[id] = previous ? previous(id, v) : v; }; + } +}) +(function (exporter) { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + + __extends = function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + + __assign = Object.assign || function (t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + + __rest = function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + }; + + __decorate = function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + + __param = function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + }; + + __metadata = function (metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); + }; + + __awaiter = function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + + __generator = function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + }; + + __exportStar = function(m, o) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); + }; + + __createBinding = Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); + }) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; + }); + + __values = function (o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); + }; + + __read = function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; + }; + + /** @deprecated */ + __spread = function () { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; + }; + + /** @deprecated */ + __spreadArrays = function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + __spreadArray = function (to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); + }; + + __await = function (v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + }; + + __asyncGenerator = function (thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + }; + + __asyncDelegator = function (o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } + }; + + __asyncValues = function (o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + }; + + __makeTemplateObject = function (cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + }; + + var __setModuleDefault = Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }; + + __importStar = function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; + }; + + __importDefault = function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; + }; + + __classPrivateFieldGet = function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); + }; + + __classPrivateFieldSet = function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; + }; + + exporter("__extends", __extends); + exporter("__assign", __assign); + exporter("__rest", __rest); + exporter("__decorate", __decorate); + exporter("__param", __param); + exporter("__metadata", __metadata); + exporter("__awaiter", __awaiter); + exporter("__generator", __generator); + exporter("__exportStar", __exportStar); + exporter("__createBinding", __createBinding); + exporter("__values", __values); + exporter("__read", __read); + exporter("__spread", __spread); + exporter("__spreadArrays", __spreadArrays); + exporter("__spreadArray", __spreadArray); + exporter("__await", __await); + exporter("__asyncGenerator", __asyncGenerator); + exporter("__asyncDelegator", __asyncDelegator); + exporter("__asyncValues", __asyncValues); + exporter("__makeTemplateObject", __makeTemplateObject); + exporter("__importStar", __importStar); + exporter("__importDefault", __importDefault); + exporter("__classPrivateFieldGet", __classPrivateFieldGet); + exporter("__classPrivateFieldSet", __classPrivateFieldSet); +}); diff --git a/node_modules/webidl-conversions/LICENSE.md b/node_modules/webidl-conversions/LICENSE.md new file mode 100644 index 0000000..d4a994f --- /dev/null +++ b/node_modules/webidl-conversions/LICENSE.md @@ -0,0 +1,12 @@ +# The BSD 2-Clause License + +Copyright (c) 2014, Domenic Denicola +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/webidl-conversions/README.md b/node_modules/webidl-conversions/README.md new file mode 100644 index 0000000..3657890 --- /dev/null +++ b/node_modules/webidl-conversions/README.md @@ -0,0 +1,53 @@ +# WebIDL Type Conversions on JavaScript Values + +This package implements, in JavaScript, the algorithms to convert a given JavaScript value according to a given [WebIDL](http://heycam.github.io/webidl/) [type](http://heycam.github.io/webidl/#idl-types). + +The goal is that you should be able to write code like + +```js +const conversions = require("webidl-conversions"); + +function doStuff(x, y) { + x = conversions["boolean"](x); + y = conversions["unsigned long"](y); + // actual algorithm code here +} +``` + +and your function `doStuff` will behave the same as a WebIDL operation declared as + +```webidl +void doStuff(boolean x, unsigned long y); +``` + +## API + +This package's main module's default export is an object with a variety of methods, each corresponding to a different WebIDL type. Each method, when invoked on a JavaScript value, will give back the new JavaScript value that results after passing through the WebIDL conversion rules. (See below for more details on what that means.) Alternately, the method could throw an error, if the WebIDL algorithm is specified to do so: for example `conversions["float"](NaN)` [will throw a `TypeError`](http://heycam.github.io/webidl/#es-float). + +## Status + +All of the numeric types are implemented (float being implemented as double) and some others are as well - check the source for all of them. This list will grow over time in service of the [HTML as Custom Elements](https://github.com/dglazkov/html-as-custom-elements) project, but in the meantime, pull requests welcome! + +I'm not sure yet what the strategy will be for modifiers, e.g. [`[Clamp]`](http://heycam.github.io/webidl/#Clamp). Maybe something like `conversions["unsigned long"](x, { clamp: true })`? We'll see. + +We might also want to extend the API to give better error messages, e.g. "Argument 1 of HTMLMediaElement.fastSeek is not a finite floating-point value" instead of "Argument is not a finite floating-point value." This would require passing in more information to the conversion functions than we currently do. + +## Background + +What's actually going on here, conceptually, is pretty weird. Let's try to explain. + +WebIDL, as part of its madness-inducing design, has its own type system. When people write algorithms in web platform specs, they usually operate on WebIDL values, i.e. instances of WebIDL types. For example, if they were specifying the algorithm for our `doStuff` operation above, they would treat `x` as a WebIDL value of [WebIDL type `boolean`](http://heycam.github.io/webidl/#idl-boolean). Crucially, they would _not_ treat `x` as a JavaScript variable whose value is either the JavaScript `true` or `false`. They're instead working in a different type system altogether, with its own rules. + +Separately from its type system, WebIDL defines a ["binding"](http://heycam.github.io/webidl/#ecmascript-binding) of the type system into JavaScript. This contains rules like: when you pass a JavaScript value to the JavaScript method that manifests a given WebIDL operation, how does that get converted into a WebIDL value? For example, a JavaScript `true` passed in the position of a WebIDL `boolean` argument becomes a WebIDL `true`. But, a JavaScript `true` passed in the position of a [WebIDL `unsigned long`](http://heycam.github.io/webidl/#idl-unsigned-long) becomes a WebIDL `1`. And so on. + +Finally, we have the actual implementation code. This is usually C++, although these days [some smart people are using Rust](https://github.com/servo/servo). The implementation, of course, has its own type system. So when they implement the WebIDL algorithms, they don't actually use WebIDL values, since those aren't "real" outside of specs. Instead, implementations apply the WebIDL binding rules in such a way as to convert incoming JavaScript values into C++ values. For example, if code in the browser called `doStuff(true, true)`, then the implementation code would eventually receive a C++ `bool` containing `true` and a C++ `uint32_t` containing `1`. + +The upside of all this is that implementations can abstract all the conversion logic away, letting WebIDL handle it, and focus on implementing the relevant methods in C++ with values of the correct type already provided. That is payoff of WebIDL, in a nutshell. + +And getting to that payoff is the goal of _this_ project—but for JavaScript implementations, instead of C++ ones. That is, this library is designed to make it easier for JavaScript developers to write functions that behave like a given WebIDL operation. So conceptually, the conversion pipeline, which in its general form is JavaScript values ↦ WebIDL values ↦ implementation-language values, in this case becomes JavaScript values ↦ WebIDL values ↦ JavaScript values. And that intermediate step is where all the logic is performed: a JavaScript `true` becomes a WebIDL `1` in an unsigned long context, which then becomes a JavaScript `1`. + +## Don't Use This + +Seriously, why would you ever use this? You really shouldn't. WebIDL is … not great, and you shouldn't be emulating its semantics. If you're looking for a generic argument-processing library, you should find one with better rules than those from WebIDL. In general, your JavaScript should not be trying to become more like WebIDL; if anything, we should fix WebIDL to make it more like JavaScript. + +The _only_ people who should use this are those trying to create faithful implementations (or polyfills) of web platform interfaces defined in WebIDL. diff --git a/node_modules/webidl-conversions/lib/index.js b/node_modules/webidl-conversions/lib/index.js new file mode 100644 index 0000000..c5153a3 --- /dev/null +++ b/node_modules/webidl-conversions/lib/index.js @@ -0,0 +1,189 @@ +"use strict"; + +var conversions = {}; +module.exports = conversions; + +function sign(x) { + return x < 0 ? -1 : 1; +} + +function evenRound(x) { + // Round x to the nearest integer, choosing the even integer if it lies halfway between two. + if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor) + return Math.floor(x); + } else { + return Math.round(x); + } +} + +function createNumberConversion(bitLength, typeOpts) { + if (!typeOpts.unsigned) { + --bitLength; + } + const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); + const upperBound = Math.pow(2, bitLength) - 1; + + const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); + const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); + + return function(V, opts) { + if (!opts) opts = {}; + + let x = +V; + + if (opts.enforceRange) { + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite number"); + } + + x = sign(x) * Math.floor(Math.abs(x)); + if (x < lowerBound || x > upperBound) { + throw new TypeError("Argument is not in byte range"); + } + + return x; + } + + if (!isNaN(x) && opts.clamp) { + x = evenRound(x); + + if (x < lowerBound) x = lowerBound; + if (x > upperBound) x = upperBound; + return x; + } + + if (!Number.isFinite(x) || x === 0) { + return 0; + } + + x = sign(x) * Math.floor(Math.abs(x)); + x = x % moduloVal; + + if (!typeOpts.unsigned && x >= moduloBound) { + return x - moduloVal; + } else if (typeOpts.unsigned) { + if (x < 0) { + x += moduloVal; + } else if (x === -0) { // don't return negative zero + return 0; + } + } + + return x; + } +} + +conversions["void"] = function () { + return undefined; +}; + +conversions["boolean"] = function (val) { + return !!val; +}; + +conversions["byte"] = createNumberConversion(8, { unsigned: false }); +conversions["octet"] = createNumberConversion(8, { unsigned: true }); + +conversions["short"] = createNumberConversion(16, { unsigned: false }); +conversions["unsigned short"] = createNumberConversion(16, { unsigned: true }); + +conversions["long"] = createNumberConversion(32, { unsigned: false }); +conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); + +conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); +conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); + +conversions["double"] = function (V) { + const x = +V; + + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite floating-point value"); + } + + return x; +}; + +conversions["unrestricted double"] = function (V) { + const x = +V; + + if (isNaN(x)) { + throw new TypeError("Argument is NaN"); + } + + return x; +}; + +// not quite valid, but good enough for JS +conversions["float"] = conversions["double"]; +conversions["unrestricted float"] = conversions["unrestricted double"]; + +conversions["DOMString"] = function (V, opts) { + if (!opts) opts = {}; + + if (opts.treatNullAsEmptyString && V === null) { + return ""; + } + + return String(V); +}; + +conversions["ByteString"] = function (V, opts) { + const x = String(V); + let c = undefined; + for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) { + if (c > 255) { + throw new TypeError("Argument is not a valid bytestring"); + } + } + + return x; +}; + +conversions["USVString"] = function (V) { + const S = String(V); + const n = S.length; + const U = []; + for (let i = 0; i < n; ++i) { + const c = S.charCodeAt(i); + if (c < 0xD800 || c > 0xDFFF) { + U.push(String.fromCodePoint(c)); + } else if (0xDC00 <= c && c <= 0xDFFF) { + U.push(String.fromCodePoint(0xFFFD)); + } else { + if (i === n - 1) { + U.push(String.fromCodePoint(0xFFFD)); + } else { + const d = S.charCodeAt(i + 1); + if (0xDC00 <= d && d <= 0xDFFF) { + const a = c & 0x3FF; + const b = d & 0x3FF; + U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b)); + ++i; + } else { + U.push(String.fromCodePoint(0xFFFD)); + } + } + } + } + + return U.join(''); +}; + +conversions["Date"] = function (V, opts) { + if (!(V instanceof Date)) { + throw new TypeError("Argument is not a Date object"); + } + if (isNaN(V)) { + return undefined; + } + + return V; +}; + +conversions["RegExp"] = function (V, opts) { + if (!(V instanceof RegExp)) { + V = new RegExp(V); + } + + return V; +}; diff --git a/node_modules/webidl-conversions/package.json b/node_modules/webidl-conversions/package.json new file mode 100644 index 0000000..c31bc07 --- /dev/null +++ b/node_modules/webidl-conversions/package.json @@ -0,0 +1,23 @@ +{ + "name": "webidl-conversions", + "version": "3.0.1", + "description": "Implements the WebIDL algorithms for converting to and from JavaScript values", + "main": "lib/index.js", + "scripts": { + "test": "mocha test/*.js" + }, + "repository": "jsdom/webidl-conversions", + "keywords": [ + "webidl", + "web", + "types" + ], + "files": [ + "lib/" + ], + "author": "Domenic Denicola (https://domenic.me/)", + "license": "BSD-2-Clause", + "devDependencies": { + "mocha": "^1.21.4" + } +} diff --git a/node_modules/whatwg-url/LICENSE.txt b/node_modules/whatwg-url/LICENSE.txt new file mode 100644 index 0000000..54dfac3 --- /dev/null +++ b/node_modules/whatwg-url/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015–2016 Sebastian Mayr + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/whatwg-url/README.md b/node_modules/whatwg-url/README.md new file mode 100644 index 0000000..4347a7f --- /dev/null +++ b/node_modules/whatwg-url/README.md @@ -0,0 +1,67 @@ +# whatwg-url + +whatwg-url is a full implementation of the WHATWG [URL Standard](https://url.spec.whatwg.org/). It can be used standalone, but it also exposes a lot of the internal algorithms that are useful for integrating a URL parser into a project like [jsdom](https://github.com/tmpvar/jsdom). + +## Current Status + +whatwg-url is currently up to date with the URL spec up to commit [a62223](https://github.com/whatwg/url/commit/a622235308342c9adc7fc2fd1659ff059f7d5e2a). + +## API + +### The `URL` Constructor + +The main API is the [`URL`](https://url.spec.whatwg.org/#url) export, which follows the spec's behavior in all ways (including e.g. `USVString` conversion). Most consumers of this library will want to use this. + +### Low-level URL Standard API + +The following methods are exported for use by places like jsdom that need to implement things like [`HTMLHyperlinkElementUtils`](https://html.spec.whatwg.org/#htmlhyperlinkelementutils). They operate on or return an "internal URL" or ["URL record"](https://url.spec.whatwg.org/#concept-url) type. + +- [URL parser](https://url.spec.whatwg.org/#concept-url-parser): `parseURL(input, { baseURL, encodingOverride })` +- [Basic URL parser](https://url.spec.whatwg.org/#concept-basic-url-parser): `basicURLParse(input, { baseURL, encodingOverride, url, stateOverride })` +- [URL serializer](https://url.spec.whatwg.org/#concept-url-serializer): `serializeURL(urlRecord, excludeFragment)` +- [Host serializer](https://url.spec.whatwg.org/#concept-host-serializer): `serializeHost(hostFromURLRecord)` +- [Serialize an integer](https://url.spec.whatwg.org/#serialize-an-integer): `serializeInteger(number)` +- [Origin](https://url.spec.whatwg.org/#concept-url-origin) [serializer](https://html.spec.whatwg.org/multipage/browsers.html#serialization-of-an-origin): `serializeURLOrigin(urlRecord)` +- [Set the username](https://url.spec.whatwg.org/#set-the-username): `setTheUsername(urlRecord, usernameString)` +- [Set the password](https://url.spec.whatwg.org/#set-the-password): `setThePassword(urlRecord, passwordString)` +- [Cannot have a username/password/port](https://url.spec.whatwg.org/#cannot-have-a-username-password-port): `cannotHaveAUsernamePasswordPort(urlRecord)` + +The `stateOverride` parameter is one of the following strings: + +- [`"scheme start"`](https://url.spec.whatwg.org/#scheme-start-state) +- [`"scheme"`](https://url.spec.whatwg.org/#scheme-state) +- [`"no scheme"`](https://url.spec.whatwg.org/#no-scheme-state) +- [`"special relative or authority"`](https://url.spec.whatwg.org/#special-relative-or-authority-state) +- [`"path or authority"`](https://url.spec.whatwg.org/#path-or-authority-state) +- [`"relative"`](https://url.spec.whatwg.org/#relative-state) +- [`"relative slash"`](https://url.spec.whatwg.org/#relative-slash-state) +- [`"special authority slashes"`](https://url.spec.whatwg.org/#special-authority-slashes-state) +- [`"special authority ignore slashes"`](https://url.spec.whatwg.org/#special-authority-ignore-slashes-state) +- [`"authority"`](https://url.spec.whatwg.org/#authority-state) +- [`"host"`](https://url.spec.whatwg.org/#host-state) +- [`"hostname"`](https://url.spec.whatwg.org/#hostname-state) +- [`"port"`](https://url.spec.whatwg.org/#port-state) +- [`"file"`](https://url.spec.whatwg.org/#file-state) +- [`"file slash"`](https://url.spec.whatwg.org/#file-slash-state) +- [`"file host"`](https://url.spec.whatwg.org/#file-host-state) +- [`"path start"`](https://url.spec.whatwg.org/#path-start-state) +- [`"path"`](https://url.spec.whatwg.org/#path-state) +- [`"cannot-be-a-base-URL path"`](https://url.spec.whatwg.org/#cannot-be-a-base-url-path-state) +- [`"query"`](https://url.spec.whatwg.org/#query-state) +- [`"fragment"`](https://url.spec.whatwg.org/#fragment-state) + +The URL record type has the following API: + +- [`scheme`](https://url.spec.whatwg.org/#concept-url-scheme) +- [`username`](https://url.spec.whatwg.org/#concept-url-username) +- [`password`](https://url.spec.whatwg.org/#concept-url-password) +- [`host`](https://url.spec.whatwg.org/#concept-url-host) +- [`port`](https://url.spec.whatwg.org/#concept-url-port) +- [`path`](https://url.spec.whatwg.org/#concept-url-path) (as an array) +- [`query`](https://url.spec.whatwg.org/#concept-url-query) +- [`fragment`](https://url.spec.whatwg.org/#concept-url-fragment) +- [`cannotBeABaseURL`](https://url.spec.whatwg.org/#url-cannot-be-a-base-url-flag) (as a boolean) + +These properties should be treated with care, as in general changing them will cause the URL record to be in an inconsistent state until the appropriate invocation of `basicURLParse` is used to fix it up. You can see examples of this in the URL Standard, where there are many step sequences like "4. Set context object’s url’s fragment to the empty string. 5. Basic URL parse _input_ with context object’s url as _url_ and fragment state as _state override_." In between those two steps, a URL record is in an unusable state. + +The return value of "failure" in the spec is represented by the string `"failure"`. That is, functions like `parseURL` and `basicURLParse` can return _either_ a URL record _or_ the string `"failure"`. diff --git a/node_modules/whatwg-url/lib/URL-impl.js b/node_modules/whatwg-url/lib/URL-impl.js new file mode 100644 index 0000000..dc7452c --- /dev/null +++ b/node_modules/whatwg-url/lib/URL-impl.js @@ -0,0 +1,200 @@ +"use strict"; +const usm = require("./url-state-machine"); + +exports.implementation = class URLImpl { + constructor(constructorArgs) { + const url = constructorArgs[0]; + const base = constructorArgs[1]; + + let parsedBase = null; + if (base !== undefined) { + parsedBase = usm.basicURLParse(base); + if (parsedBase === "failure") { + throw new TypeError("Invalid base URL"); + } + } + + const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase }); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + + this._url = parsedURL; + + // TODO: query stuff + } + + get href() { + return usm.serializeURL(this._url); + } + + set href(v) { + const parsedURL = usm.basicURLParse(v); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + + this._url = parsedURL; + } + + get origin() { + return usm.serializeURLOrigin(this._url); + } + + get protocol() { + return this._url.scheme + ":"; + } + + set protocol(v) { + usm.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" }); + } + + get username() { + return this._url.username; + } + + set username(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + + usm.setTheUsername(this._url, v); + } + + get password() { + return this._url.password; + } + + set password(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + + usm.setThePassword(this._url, v); + } + + get host() { + const url = this._url; + + if (url.host === null) { + return ""; + } + + if (url.port === null) { + return usm.serializeHost(url.host); + } + + return usm.serializeHost(url.host) + ":" + usm.serializeInteger(url.port); + } + + set host(v) { + if (this._url.cannotBeABaseURL) { + return; + } + + usm.basicURLParse(v, { url: this._url, stateOverride: "host" }); + } + + get hostname() { + if (this._url.host === null) { + return ""; + } + + return usm.serializeHost(this._url.host); + } + + set hostname(v) { + if (this._url.cannotBeABaseURL) { + return; + } + + usm.basicURLParse(v, { url: this._url, stateOverride: "hostname" }); + } + + get port() { + if (this._url.port === null) { + return ""; + } + + return usm.serializeInteger(this._url.port); + } + + set port(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + + if (v === "") { + this._url.port = null; + } else { + usm.basicURLParse(v, { url: this._url, stateOverride: "port" }); + } + } + + get pathname() { + if (this._url.cannotBeABaseURL) { + return this._url.path[0]; + } + + if (this._url.path.length === 0) { + return ""; + } + + return "/" + this._url.path.join("/"); + } + + set pathname(v) { + if (this._url.cannotBeABaseURL) { + return; + } + + this._url.path = []; + usm.basicURLParse(v, { url: this._url, stateOverride: "path start" }); + } + + get search() { + if (this._url.query === null || this._url.query === "") { + return ""; + } + + return "?" + this._url.query; + } + + set search(v) { + // TODO: query stuff + + const url = this._url; + + if (v === "") { + url.query = null; + return; + } + + const input = v[0] === "?" ? v.substring(1) : v; + url.query = ""; + usm.basicURLParse(input, { url, stateOverride: "query" }); + } + + get hash() { + if (this._url.fragment === null || this._url.fragment === "") { + return ""; + } + + return "#" + this._url.fragment; + } + + set hash(v) { + if (v === "") { + this._url.fragment = null; + return; + } + + const input = v[0] === "#" ? v.substring(1) : v; + this._url.fragment = ""; + usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); + } + + toJSON() { + return this.href; + } +}; diff --git a/node_modules/whatwg-url/lib/URL.js b/node_modules/whatwg-url/lib/URL.js new file mode 100644 index 0000000..78c7207 --- /dev/null +++ b/node_modules/whatwg-url/lib/URL.js @@ -0,0 +1,196 @@ +"use strict"; + +const conversions = require("webidl-conversions"); +const utils = require("./utils.js"); +const Impl = require(".//URL-impl.js"); + +const impl = utils.implSymbol; + +function URL(url) { + if (!this || this[impl] || !(this instanceof URL)) { + throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function."); + } + if (arguments.length < 1) { + throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); + } + const args = []; + for (let i = 0; i < arguments.length && i < 2; ++i) { + args[i] = arguments[i]; + } + args[0] = conversions["USVString"](args[0]); + if (args[1] !== undefined) { + args[1] = conversions["USVString"](args[1]); + } + + module.exports.setup(this, args); +} + +URL.prototype.toJSON = function toJSON() { + if (!this || !module.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + const args = []; + for (let i = 0; i < arguments.length && i < 0; ++i) { + args[i] = arguments[i]; + } + return this[impl].toJSON.apply(this[impl], args); +}; +Object.defineProperty(URL.prototype, "href", { + get() { + return this[impl].href; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].href = V; + }, + enumerable: true, + configurable: true +}); + +URL.prototype.toString = function () { + if (!this || !module.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + return this.href; +}; + +Object.defineProperty(URL.prototype, "origin", { + get() { + return this[impl].origin; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "protocol", { + get() { + return this[impl].protocol; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].protocol = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "username", { + get() { + return this[impl].username; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].username = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "password", { + get() { + return this[impl].password; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].password = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "host", { + get() { + return this[impl].host; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].host = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "hostname", { + get() { + return this[impl].hostname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hostname = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "port", { + get() { + return this[impl].port; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].port = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "pathname", { + get() { + return this[impl].pathname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].pathname = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "search", { + get() { + return this[impl].search; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].search = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "hash", { + get() { + return this[impl].hash; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hash = V; + }, + enumerable: true, + configurable: true +}); + + +module.exports = { + is(obj) { + return !!obj && obj[impl] instanceof Impl.implementation; + }, + create(constructorArgs, privateData) { + let obj = Object.create(URL.prototype); + this.setup(obj, constructorArgs, privateData); + return obj; + }, + setup(obj, constructorArgs, privateData) { + if (!privateData) privateData = {}; + privateData.wrapper = obj; + + obj[impl] = new Impl.implementation(constructorArgs, privateData); + obj[impl][utils.wrapperSymbol] = obj; + }, + interface: URL, + expose: { + Window: { URL: URL }, + Worker: { URL: URL } + } +}; + diff --git a/node_modules/whatwg-url/lib/public-api.js b/node_modules/whatwg-url/lib/public-api.js new file mode 100644 index 0000000..932dcad --- /dev/null +++ b/node_modules/whatwg-url/lib/public-api.js @@ -0,0 +1,11 @@ +"use strict"; + +exports.URL = require("./URL").interface; +exports.serializeURL = require("./url-state-machine").serializeURL; +exports.serializeURLOrigin = require("./url-state-machine").serializeURLOrigin; +exports.basicURLParse = require("./url-state-machine").basicURLParse; +exports.setTheUsername = require("./url-state-machine").setTheUsername; +exports.setThePassword = require("./url-state-machine").setThePassword; +exports.serializeHost = require("./url-state-machine").serializeHost; +exports.serializeInteger = require("./url-state-machine").serializeInteger; +exports.parseURL = require("./url-state-machine").parseURL; diff --git a/node_modules/whatwg-url/lib/url-state-machine.js b/node_modules/whatwg-url/lib/url-state-machine.js new file mode 100644 index 0000000..c25dbc2 --- /dev/null +++ b/node_modules/whatwg-url/lib/url-state-machine.js @@ -0,0 +1,1297 @@ +"use strict"; +const punycode = require("punycode"); +const tr46 = require("tr46"); + +const specialSchemes = { + ftp: 21, + file: null, + gopher: 70, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; + +const failure = Symbol("failure"); + +function countSymbols(str) { + return punycode.ucs2.decode(str).length; +} + +function at(input, idx) { + const c = input[idx]; + return isNaN(c) ? undefined : String.fromCodePoint(c); +} + +function isASCIIDigit(c) { + return c >= 0x30 && c <= 0x39; +} + +function isASCIIAlpha(c) { + return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A); +} + +function isASCIIAlphanumeric(c) { + return isASCIIAlpha(c) || isASCIIDigit(c); +} + +function isASCIIHex(c) { + return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66); +} + +function isSingleDot(buffer) { + return buffer === "." || buffer.toLowerCase() === "%2e"; +} + +function isDoubleDot(buffer) { + buffer = buffer.toLowerCase(); + return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e"; +} + +function isWindowsDriveLetterCodePoints(cp1, cp2) { + return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124); +} + +function isWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|"); +} + +function isNormalizedWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ":"; +} + +function containsForbiddenHostCodePoint(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1; +} + +function containsForbiddenHostCodePointExcludingPercent(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1; +} + +function isSpecialScheme(scheme) { + return specialSchemes[scheme] !== undefined; +} + +function isSpecial(url) { + return isSpecialScheme(url.scheme); +} + +function defaultPort(scheme) { + return specialSchemes[scheme]; +} + +function percentEncode(c) { + let hex = c.toString(16).toUpperCase(); + if (hex.length === 1) { + hex = "0" + hex; + } + + return "%" + hex; +} + +function utf8PercentEncode(c) { + const buf = new Buffer(c); + + let str = ""; + + for (let i = 0; i < buf.length; ++i) { + str += percentEncode(buf[i]); + } + + return str; +} + +function utf8PercentDecode(str) { + const input = new Buffer(str); + const output = []; + for (let i = 0; i < input.length; ++i) { + if (input[i] !== 37) { + output.push(input[i]); + } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) { + output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16)); + i += 2; + } else { + output.push(input[i]); + } + } + return new Buffer(output).toString(); +} + +function isC0ControlPercentEncode(c) { + return c <= 0x1F || c > 0x7E; +} + +const extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); +function isPathPercentEncode(c) { + return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); +} + +const extraUserinfoPercentEncodeSet = + new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); +function isUserinfoPercentEncode(c) { + return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); +} + +function percentEncodeChar(c, encodeSetPredicate) { + const cStr = String.fromCodePoint(c); + + if (encodeSetPredicate(c)) { + return utf8PercentEncode(cStr); + } + + return cStr; +} + +function parseIPv4Number(input) { + let R = 10; + + if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") { + input = input.substring(2); + R = 16; + } else if (input.length >= 2 && input.charAt(0) === "0") { + input = input.substring(1); + R = 8; + } + + if (input === "") { + return 0; + } + + const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/); + if (regex.test(input)) { + return failure; + } + + return parseInt(input, R); +} + +function parseIPv4(input) { + const parts = input.split("."); + if (parts[parts.length - 1] === "") { + if (parts.length > 1) { + parts.pop(); + } + } + + if (parts.length > 4) { + return input; + } + + const numbers = []; + for (const part of parts) { + if (part === "") { + return input; + } + const n = parseIPv4Number(part); + if (n === failure) { + return input; + } + + numbers.push(n); + } + + for (let i = 0; i < numbers.length - 1; ++i) { + if (numbers[i] > 255) { + return failure; + } + } + if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) { + return failure; + } + + let ipv4 = numbers.pop(); + let counter = 0; + + for (const n of numbers) { + ipv4 += n * Math.pow(256, 3 - counter); + ++counter; + } + + return ipv4; +} + +function serializeIPv4(address) { + let output = ""; + let n = address; + + for (let i = 1; i <= 4; ++i) { + output = String(n % 256) + output; + if (i !== 4) { + output = "." + output; + } + n = Math.floor(n / 256); + } + + return output; +} + +function parseIPv6(input) { + const address = [0, 0, 0, 0, 0, 0, 0, 0]; + let pieceIndex = 0; + let compress = null; + let pointer = 0; + + input = punycode.ucs2.decode(input); + + if (input[pointer] === 58) { + if (input[pointer + 1] !== 58) { + return failure; + } + + pointer += 2; + ++pieceIndex; + compress = pieceIndex; + } + + while (pointer < input.length) { + if (pieceIndex === 8) { + return failure; + } + + if (input[pointer] === 58) { + if (compress !== null) { + return failure; + } + ++pointer; + ++pieceIndex; + compress = pieceIndex; + continue; + } + + let value = 0; + let length = 0; + + while (length < 4 && isASCIIHex(input[pointer])) { + value = value * 0x10 + parseInt(at(input, pointer), 16); + ++pointer; + ++length; + } + + if (input[pointer] === 46) { + if (length === 0) { + return failure; + } + + pointer -= length; + + if (pieceIndex > 6) { + return failure; + } + + let numbersSeen = 0; + + while (input[pointer] !== undefined) { + let ipv4Piece = null; + + if (numbersSeen > 0) { + if (input[pointer] === 46 && numbersSeen < 4) { + ++pointer; + } else { + return failure; + } + } + + if (!isASCIIDigit(input[pointer])) { + return failure; + } + + while (isASCIIDigit(input[pointer])) { + const number = parseInt(at(input, pointer)); + if (ipv4Piece === null) { + ipv4Piece = number; + } else if (ipv4Piece === 0) { + return failure; + } else { + ipv4Piece = ipv4Piece * 10 + number; + } + if (ipv4Piece > 255) { + return failure; + } + ++pointer; + } + + address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece; + + ++numbersSeen; + + if (numbersSeen === 2 || numbersSeen === 4) { + ++pieceIndex; + } + } + + if (numbersSeen !== 4) { + return failure; + } + + break; + } else if (input[pointer] === 58) { + ++pointer; + if (input[pointer] === undefined) { + return failure; + } + } else if (input[pointer] !== undefined) { + return failure; + } + + address[pieceIndex] = value; + ++pieceIndex; + } + + if (compress !== null) { + let swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex !== 0 && swaps > 0) { + const temp = address[compress + swaps - 1]; + address[compress + swaps - 1] = address[pieceIndex]; + address[pieceIndex] = temp; + --pieceIndex; + --swaps; + } + } else if (compress === null && pieceIndex !== 8) { + return failure; + } + + return address; +} + +function serializeIPv6(address) { + let output = ""; + const seqResult = findLongestZeroSequence(address); + const compress = seqResult.idx; + let ignore0 = false; + + for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { + if (ignore0 && address[pieceIndex] === 0) { + continue; + } else if (ignore0) { + ignore0 = false; + } + + if (compress === pieceIndex) { + const separator = pieceIndex === 0 ? "::" : ":"; + output += separator; + ignore0 = true; + continue; + } + + output += address[pieceIndex].toString(16); + + if (pieceIndex !== 7) { + output += ":"; + } + } + + return output; +} + +function parseHost(input, isSpecialArg) { + if (input[0] === "[") { + if (input[input.length - 1] !== "]") { + return failure; + } + + return parseIPv6(input.substring(1, input.length - 1)); + } + + if (!isSpecialArg) { + return parseOpaqueHost(input); + } + + const domain = utf8PercentDecode(input); + const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); + if (asciiDomain === null) { + return failure; + } + + if (containsForbiddenHostCodePoint(asciiDomain)) { + return failure; + } + + const ipv4Host = parseIPv4(asciiDomain); + if (typeof ipv4Host === "number" || ipv4Host === failure) { + return ipv4Host; + } + + return asciiDomain; +} + +function parseOpaqueHost(input) { + if (containsForbiddenHostCodePointExcludingPercent(input)) { + return failure; + } + + let output = ""; + const decoded = punycode.ucs2.decode(input); + for (let i = 0; i < decoded.length; ++i) { + output += percentEncodeChar(decoded[i], isC0ControlPercentEncode); + } + return output; +} + +function findLongestZeroSequence(arr) { + let maxIdx = null; + let maxLen = 1; // only find elements > 1 + let currStart = null; + let currLen = 0; + + for (let i = 0; i < arr.length; ++i) { + if (arr[i] !== 0) { + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + + currStart = null; + currLen = 0; + } else { + if (currStart === null) { + currStart = i; + } + ++currLen; + } + } + + // if trailing zeros + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + + return { + idx: maxIdx, + len: maxLen + }; +} + +function serializeHost(host) { + if (typeof host === "number") { + return serializeIPv4(host); + } + + // IPv6 serializer + if (host instanceof Array) { + return "[" + serializeIPv6(host) + "]"; + } + + return host; +} + +function trimControlChars(url) { + return url.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ""); +} + +function trimTabAndNewline(url) { + return url.replace(/\u0009|\u000A|\u000D/g, ""); +} + +function shortenPath(url) { + const path = url.path; + if (path.length === 0) { + return; + } + if (url.scheme === "file" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) { + return; + } + + path.pop(); +} + +function includesCredentials(url) { + return url.username !== "" || url.password !== ""; +} + +function cannotHaveAUsernamePasswordPort(url) { + return url.host === null || url.host === "" || url.cannotBeABaseURL || url.scheme === "file"; +} + +function isNormalizedWindowsDriveLetter(string) { + return /^[A-Za-z]:$/.test(string); +} + +function URLStateMachine(input, base, encodingOverride, url, stateOverride) { + this.pointer = 0; + this.input = input; + this.base = base || null; + this.encodingOverride = encodingOverride || "utf-8"; + this.stateOverride = stateOverride; + this.url = url; + this.failure = false; + this.parseError = false; + + if (!this.url) { + this.url = { + scheme: "", + username: "", + password: "", + host: null, + port: null, + path: [], + query: null, + fragment: null, + + cannotBeABaseURL: false + }; + + const res = trimControlChars(this.input); + if (res !== this.input) { + this.parseError = true; + } + this.input = res; + } + + const res = trimTabAndNewline(this.input); + if (res !== this.input) { + this.parseError = true; + } + this.input = res; + + this.state = stateOverride || "scheme start"; + + this.buffer = ""; + this.atFlag = false; + this.arrFlag = false; + this.passwordTokenSeenFlag = false; + + this.input = punycode.ucs2.decode(this.input); + + for (; this.pointer <= this.input.length; ++this.pointer) { + const c = this.input[this.pointer]; + const cStr = isNaN(c) ? undefined : String.fromCodePoint(c); + + // exec state machine + const ret = this["parse " + this.state](c, cStr); + if (!ret) { + break; // terminate algorithm + } else if (ret === failure) { + this.failure = true; + break; + } + } +} + +URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) { + if (isASCIIAlpha(c)) { + this.buffer += cStr.toLowerCase(); + this.state = "scheme"; + } else if (!this.stateOverride) { + this.state = "no scheme"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) { + if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) { + this.buffer += cStr.toLowerCase(); + } else if (c === 58) { + if (this.stateOverride) { + if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { + return false; + } + + if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { + return false; + } + + if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") { + return false; + } + + if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) { + return false; + } + } + this.url.scheme = this.buffer; + this.buffer = ""; + if (this.stateOverride) { + return false; + } + if (this.url.scheme === "file") { + if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) { + this.parseError = true; + } + this.state = "file"; + } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { + this.state = "special relative or authority"; + } else if (isSpecial(this.url)) { + this.state = "special authority slashes"; + } else if (this.input[this.pointer + 1] === 47) { + this.state = "path or authority"; + ++this.pointer; + } else { + this.url.cannotBeABaseURL = true; + this.url.path.push(""); + this.state = "cannot-be-a-base-URL path"; + } + } else if (!this.stateOverride) { + this.buffer = ""; + this.state = "no scheme"; + this.pointer = -1; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) { + if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) { + return failure; + } else if (this.base.cannotBeABaseURL && c === 35) { + this.url.scheme = this.base.scheme; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.url.cannotBeABaseURL = true; + this.state = "fragment"; + } else if (this.base.scheme === "file") { + this.state = "file"; + --this.pointer; + } else { + this.state = "relative"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "relative"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) { + if (c === 47) { + this.state = "authority"; + } else { + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse relative"] = function parseRelative(c) { + this.url.scheme = this.base.scheme; + if (isNaN(c)) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c === 47) { + this.state = "relative slash"; + } else if (c === 63) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else if (isSpecial(this.url) && c === 92) { + this.parseError = true; + this.state = "relative slash"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(0, this.base.path.length - 1); + + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) { + if (isSpecial(this.url) && (c === 47 || c === 92)) { + if (c === 92) { + this.parseError = true; + } + this.state = "special authority ignore slashes"; + } else if (c === 47) { + this.state = "authority"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "special authority ignore slashes"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) { + if (c !== 47 && c !== 92) { + this.state = "authority"; + --this.pointer; + } else { + this.parseError = true; + } + + return true; +}; + +URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) { + if (c === 64) { + this.parseError = true; + if (this.atFlag) { + this.buffer = "%40" + this.buffer; + } + this.atFlag = true; + + // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars + const len = countSymbols(this.buffer); + for (let pointer = 0; pointer < len; ++pointer) { + const codePoint = this.buffer.codePointAt(pointer); + + if (codePoint === 58 && !this.passwordTokenSeenFlag) { + this.passwordTokenSeenFlag = true; + continue; + } + const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); + if (this.passwordTokenSeenFlag) { + this.url.password += encodedCodePoints; + } else { + this.url.username += encodedCodePoints; + } + } + this.buffer = ""; + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92)) { + if (this.atFlag && this.buffer === "") { + this.parseError = true; + return failure; + } + this.pointer -= countSymbols(this.buffer) + 1; + this.buffer = ""; + this.state = "host"; + } else { + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse hostname"] = +URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) { + if (this.stateOverride && this.url.scheme === "file") { + --this.pointer; + this.state = "file host"; + } else if (c === 58 && !this.arrFlag) { + if (this.buffer === "") { + this.parseError = true; + return failure; + } + + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + + this.url.host = host; + this.buffer = ""; + this.state = "port"; + if (this.stateOverride === "hostname") { + return false; + } + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92)) { + --this.pointer; + if (isSpecial(this.url) && this.buffer === "") { + this.parseError = true; + return failure; + } else if (this.stateOverride && this.buffer === "" && + (includesCredentials(this.url) || this.url.port !== null)) { + this.parseError = true; + return false; + } + + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + + this.url.host = host; + this.buffer = ""; + this.state = "path start"; + if (this.stateOverride) { + return false; + } + } else { + if (c === 91) { + this.arrFlag = true; + } else if (c === 93) { + this.arrFlag = false; + } + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) { + if (isASCIIDigit(c)) { + this.buffer += cStr; + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92) || + this.stateOverride) { + if (this.buffer !== "") { + const port = parseInt(this.buffer); + if (port > Math.pow(2, 16) - 1) { + this.parseError = true; + return failure; + } + this.url.port = port === defaultPort(this.url.scheme) ? null : port; + this.buffer = ""; + } + if (this.stateOverride) { + return false; + } + this.state = "path start"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +const fileOtherwiseCodePoints = new Set([47, 92, 63, 35]); + +URLStateMachine.prototype["parse file"] = function parseFile(c) { + this.url.scheme = "file"; + + if (c === 47 || c === 92) { + if (c === 92) { + this.parseError = true; + } + this.state = "file slash"; + } else if (this.base !== null && this.base.scheme === "file") { + if (isNaN(c)) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c === 63) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else { + if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points + !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || + (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points + !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + shortenPath(this.url); + } else { + this.parseError = true; + } + + this.state = "path"; + --this.pointer; + } + } else { + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) { + if (c === 47 || c === 92) { + if (c === 92) { + this.parseError = true; + } + this.state = "file host"; + } else { + if (this.base !== null && this.base.scheme === "file") { + if (isNormalizedWindowsDriveLetterString(this.base.path[0])) { + this.url.path.push(this.base.path[0]); + } else { + this.url.host = this.base.host; + } + } + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) { + if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) { + --this.pointer; + if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { + this.parseError = true; + this.state = "path"; + } else if (this.buffer === "") { + this.url.host = ""; + if (this.stateOverride) { + return false; + } + this.state = "path start"; + } else { + let host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + if (host === "localhost") { + host = ""; + } + this.url.host = host; + + if (this.stateOverride) { + return false; + } + + this.buffer = ""; + this.state = "path start"; + } + } else { + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse path start"] = function parsePathStart(c) { + if (isSpecial(this.url)) { + if (c === 92) { + this.parseError = true; + } + this.state = "path"; + + if (c !== 47 && c !== 92) { + --this.pointer; + } + } else if (!this.stateOverride && c === 63) { + this.url.query = ""; + this.state = "query"; + } else if (!this.stateOverride && c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else if (c !== undefined) { + this.state = "path"; + if (c !== 47) { + --this.pointer; + } + } + + return true; +}; + +URLStateMachine.prototype["parse path"] = function parsePath(c) { + if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) || + (!this.stateOverride && (c === 63 || c === 35))) { + if (isSpecial(this.url) && c === 92) { + this.parseError = true; + } + + if (isDoubleDot(this.buffer)) { + shortenPath(this.url); + if (c !== 47 && !(isSpecial(this.url) && c === 92)) { + this.url.path.push(""); + } + } else if (isSingleDot(this.buffer) && c !== 47 && + !(isSpecial(this.url) && c === 92)) { + this.url.path.push(""); + } else if (!isSingleDot(this.buffer)) { + if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { + if (this.url.host !== "" && this.url.host !== null) { + this.parseError = true; + this.url.host = ""; + } + this.buffer = this.buffer[0] + ":"; + } + this.url.path.push(this.buffer); + } + this.buffer = ""; + if (this.url.scheme === "file" && (c === undefined || c === 63 || c === 35)) { + while (this.url.path.length > 1 && this.url.path[0] === "") { + this.parseError = true; + this.url.path.shift(); + } + } + if (c === 63) { + this.url.query = ""; + this.state = "query"; + } + if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + // TODO: If c is not a URL code point and not "%", parse error. + + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.buffer += percentEncodeChar(c, isPathPercentEncode); + } + + return true; +}; + +URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c) { + if (c === 63) { + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else { + // TODO: Add: not a URL code point + if (!isNaN(c) && c !== 37) { + this.parseError = true; + } + + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + if (!isNaN(c)) { + this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); + } + } + + return true; +}; + +URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) { + if (isNaN(c) || (!this.stateOverride && c === 35)) { + if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { + this.encodingOverride = "utf-8"; + } + + const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead + for (let i = 0; i < buffer.length; ++i) { + if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 || + buffer[i] === 0x3C || buffer[i] === 0x3E) { + this.url.query += percentEncode(buffer[i]); + } else { + this.url.query += String.fromCodePoint(buffer[i]); + } + } + + this.buffer = ""; + if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + // TODO: If c is not a URL code point and not "%", parse error. + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse fragment"] = function parseFragment(c) { + if (isNaN(c)) { // do nothing + } else if (c === 0x0) { + this.parseError = true; + } else { + // TODO: If c is not a URL code point and not "%", parse error. + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode); + } + + return true; +}; + +function serializeURL(url, excludeFragment) { + let output = url.scheme + ":"; + if (url.host !== null) { + output += "//"; + + if (url.username !== "" || url.password !== "") { + output += url.username; + if (url.password !== "") { + output += ":" + url.password; + } + output += "@"; + } + + output += serializeHost(url.host); + + if (url.port !== null) { + output += ":" + url.port; + } + } else if (url.host === null && url.scheme === "file") { + output += "//"; + } + + if (url.cannotBeABaseURL) { + output += url.path[0]; + } else { + for (const string of url.path) { + output += "/" + string; + } + } + + if (url.query !== null) { + output += "?" + url.query; + } + + if (!excludeFragment && url.fragment !== null) { + output += "#" + url.fragment; + } + + return output; +} + +function serializeOrigin(tuple) { + let result = tuple.scheme + "://"; + result += serializeHost(tuple.host); + + if (tuple.port !== null) { + result += ":" + tuple.port; + } + + return result; +} + +module.exports.serializeURL = serializeURL; + +module.exports.serializeURLOrigin = function (url) { + // https://url.spec.whatwg.org/#concept-url-origin + switch (url.scheme) { + case "blob": + try { + return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0])); + } catch (e) { + // serializing an opaque origin returns "null" + return "null"; + } + case "ftp": + case "gopher": + case "http": + case "https": + case "ws": + case "wss": + return serializeOrigin({ + scheme: url.scheme, + host: url.host, + port: url.port + }); + case "file": + // spec says "exercise to the reader", chrome says "file://" + return "file://"; + default: + // serializing an opaque origin returns "null" + return "null"; + } +}; + +module.exports.basicURLParse = function (input, options) { + if (options === undefined) { + options = {}; + } + + const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); + if (usm.failure) { + return "failure"; + } + + return usm.url; +}; + +module.exports.setTheUsername = function (url, username) { + url.username = ""; + const decoded = punycode.ucs2.decode(username); + for (let i = 0; i < decoded.length; ++i) { + url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + } +}; + +module.exports.setThePassword = function (url, password) { + url.password = ""; + const decoded = punycode.ucs2.decode(password); + for (let i = 0; i < decoded.length; ++i) { + url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + } +}; + +module.exports.serializeHost = serializeHost; + +module.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; + +module.exports.serializeInteger = function (integer) { + return String(integer); +}; + +module.exports.parseURL = function (input, options) { + if (options === undefined) { + options = {}; + } + + // We don't handle blobs, so this just delegates: + return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); +}; diff --git a/node_modules/whatwg-url/lib/utils.js b/node_modules/whatwg-url/lib/utils.js new file mode 100644 index 0000000..a562009 --- /dev/null +++ b/node_modules/whatwg-url/lib/utils.js @@ -0,0 +1,20 @@ +"use strict"; + +module.exports.mixin = function mixin(target, source) { + const keys = Object.getOwnPropertyNames(source); + for (let i = 0; i < keys.length; ++i) { + Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i])); + } +}; + +module.exports.wrapperSymbol = Symbol("wrapper"); +module.exports.implSymbol = Symbol("impl"); + +module.exports.wrapperForImpl = function (impl) { + return impl[module.exports.wrapperSymbol]; +}; + +module.exports.implForWrapper = function (wrapper) { + return wrapper[module.exports.implSymbol]; +}; + diff --git a/node_modules/whatwg-url/package.json b/node_modules/whatwg-url/package.json new file mode 100644 index 0000000..fce35ae --- /dev/null +++ b/node_modules/whatwg-url/package.json @@ -0,0 +1,32 @@ +{ + "name": "whatwg-url", + "version": "5.0.0", + "description": "An implementation of the WHATWG URL Standard's URL API and parsing machinery", + "main": "lib/public-api.js", + "files": [ + "lib/" + ], + "author": "Sebastian Mayr ", + "license": "MIT", + "repository": "jsdom/whatwg-url", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + }, + "devDependencies": { + "eslint": "^2.6.0", + "istanbul": "~0.4.3", + "mocha": "^2.2.4", + "recast": "~0.10.29", + "request": "^2.55.0", + "webidl2js": "^3.0.2" + }, + "scripts": { + "build": "node scripts/transform.js && node scripts/convert-idl.js", + "coverage": "istanbul cover node_modules/mocha/bin/_mocha", + "lint": "eslint .", + "prepublish": "npm run build", + "pretest": "node scripts/get-latest-platform-tests.js && npm run build", + "test": "mocha" + } +} diff --git a/node_modules/ws/LICENSE b/node_modules/ws/LICENSE new file mode 100644 index 0000000..65ff176 --- /dev/null +++ b/node_modules/ws/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2011 Einar Otto Stangvik + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/ws/README.md b/node_modules/ws/README.md new file mode 100644 index 0000000..cab335b --- /dev/null +++ b/node_modules/ws/README.md @@ -0,0 +1,489 @@ +# ws: a Node.js WebSocket library + +[![Version npm](https://img.shields.io/npm/v/ws.svg?logo=npm)](https://www.npmjs.com/package/ws) +[![CI](https://img.shields.io/github/workflow/status/websockets/ws/CI/master?label=CI&logo=github)](https://github.com/websockets/ws/actions?query=workflow%3ACI+branch%3Amaster) +[![Coverage Status](https://img.shields.io/coveralls/websockets/ws/master.svg?logo=coveralls)](https://coveralls.io/github/websockets/ws) + +ws is a simple to use, blazing fast, and thoroughly tested WebSocket client and +server implementation. + +Passes the quite extensive Autobahn test suite: [server][server-report], +[client][client-report]. + +**Note**: This module does not work in the browser. The client in the docs is a +reference to a back end with the role of a client in the WebSocket +communication. Browser clients must use the native +[`WebSocket`](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket) +object. To make the same code work seamlessly on Node.js and the browser, you +can use one of the many wrappers available on npm, like +[isomorphic-ws](https://github.com/heineiuo/isomorphic-ws). + +## Table of Contents + +- [Protocol support](#protocol-support) +- [Installing](#installing) + - [Opt-in for performance](#opt-in-for-performance) +- [API docs](#api-docs) +- [WebSocket compression](#websocket-compression) +- [Usage examples](#usage-examples) + - [Sending and receiving text data](#sending-and-receiving-text-data) + - [Sending binary data](#sending-binary-data) + - [Simple server](#simple-server) + - [External HTTP/S server](#external-https-server) + - [Multiple servers sharing a single HTTP/S server](#multiple-servers-sharing-a-single-https-server) + - [Client authentication](#client-authentication) + - [Server broadcast](#server-broadcast) + - [Round-trip time](#round-trip-time) + - [Use the Node.js streams API](#use-the-nodejs-streams-api) + - [Other examples](#other-examples) +- [FAQ](#faq) + - [How to get the IP address of the client?](#how-to-get-the-ip-address-of-the-client) + - [How to detect and close broken connections?](#how-to-detect-and-close-broken-connections) + - [How to connect via a proxy?](#how-to-connect-via-a-proxy) +- [Changelog](#changelog) +- [License](#license) + +## Protocol support + +- **HyBi drafts 07-12** (Use the option `protocolVersion: 8`) +- **HyBi drafts 13-17** (Current default, alternatively option + `protocolVersion: 13`) + +## Installing + +``` +npm install ws +``` + +### Opt-in for performance + +There are 2 optional modules that can be installed along side with the ws +module. These modules are binary addons which improve certain operations. +Prebuilt binaries are available for the most popular platforms so you don't +necessarily need to have a C++ compiler installed on your machine. + +- `npm install --save-optional bufferutil`: Allows to efficiently perform + operations such as masking and unmasking the data payload of the WebSocket + frames. +- `npm install --save-optional utf-8-validate`: Allows to efficiently check if a + message contains valid UTF-8. + +## API docs + +See [`/doc/ws.md`](./doc/ws.md) for Node.js-like documentation of ws classes and +utility functions. + +## WebSocket compression + +ws supports the [permessage-deflate extension][permessage-deflate] which enables +the client and server to negotiate a compression algorithm and its parameters, +and then selectively apply it to the data payloads of each WebSocket message. + +The extension is disabled by default on the server and enabled by default on the +client. It adds a significant overhead in terms of performance and memory +consumption so we suggest to enable it only if it is really needed. + +Note that Node.js has a variety of issues with high-performance compression, +where increased concurrency, especially on Linux, can lead to [catastrophic +memory fragmentation][node-zlib-bug] and slow performance. If you intend to use +permessage-deflate in production, it is worthwhile to set up a test +representative of your workload and ensure Node.js/zlib will handle it with +acceptable performance and memory usage. + +Tuning of permessage-deflate can be done via the options defined below. You can +also use `zlibDeflateOptions` and `zlibInflateOptions`, which is passed directly +into the creation of [raw deflate/inflate streams][node-zlib-deflaterawdocs]. + +See [the docs][ws-server-options] for more options. + +```js +import WebSocket, { WebSocketServer } from 'ws'; + +const wss = new WebSocketServer({ + port: 8080, + perMessageDeflate: { + zlibDeflateOptions: { + // See zlib defaults. + chunkSize: 1024, + memLevel: 7, + level: 3 + }, + zlibInflateOptions: { + chunkSize: 10 * 1024 + }, + // Other options settable: + clientNoContextTakeover: true, // Defaults to negotiated value. + serverNoContextTakeover: true, // Defaults to negotiated value. + serverMaxWindowBits: 10, // Defaults to negotiated value. + // Below options specified as default values. + concurrencyLimit: 10, // Limits zlib concurrency for perf. + threshold: 1024 // Size (in bytes) below which messages + // should not be compressed if context takeover is disabled. + } +}); +``` + +The client will only use the extension if it is supported and enabled on the +server. To always disable the extension on the client set the +`perMessageDeflate` option to `false`. + +```js +import WebSocket from 'ws'; + +const ws = new WebSocket('ws://www.host.com/path', { + perMessageDeflate: false +}); +``` + +## Usage examples + +### Sending and receiving text data + +```js +import WebSocket from 'ws'; + +const ws = new WebSocket('ws://www.host.com/path'); + +ws.on('open', function open() { + ws.send('something'); +}); + +ws.on('message', function message(data) { + console.log('received: %s', data); +}); +``` + +### Sending binary data + +```js +import WebSocket from 'ws'; + +const ws = new WebSocket('ws://www.host.com/path'); + +ws.on('open', function open() { + const array = new Float32Array(5); + + for (var i = 0; i < array.length; ++i) { + array[i] = i / 2; + } + + ws.send(array); +}); +``` + +### Simple server + +```js +import { WebSocketServer } from 'ws'; + +const wss = new WebSocketServer({ port: 8080 }); + +wss.on('connection', function connection(ws) { + ws.on('message', function message(data) { + console.log('received: %s', data); + }); + + ws.send('something'); +}); +``` + +### External HTTP/S server + +```js +import { createServer } from 'https'; +import { readFileSync } from 'fs'; +import { WebSocketServer } from 'ws'; + +const server = createServer({ + cert: readFileSync('/path/to/cert.pem'), + key: readFileSync('/path/to/key.pem') +}); +const wss = new WebSocketServer({ server }); + +wss.on('connection', function connection(ws) { + ws.on('message', function message(data) { + console.log('received: %s', data); + }); + + ws.send('something'); +}); + +server.listen(8080); +``` + +### Multiple servers sharing a single HTTP/S server + +```js +import { createServer } from 'http'; +import { parse } from 'url'; +import { WebSocketServer } from 'ws'; + +const server = createServer(); +const wss1 = new WebSocketServer({ noServer: true }); +const wss2 = new WebSocketServer({ noServer: true }); + +wss1.on('connection', function connection(ws) { + // ... +}); + +wss2.on('connection', function connection(ws) { + // ... +}); + +server.on('upgrade', function upgrade(request, socket, head) { + const { pathname } = parse(request.url); + + if (pathname === '/foo') { + wss1.handleUpgrade(request, socket, head, function done(ws) { + wss1.emit('connection', ws, request); + }); + } else if (pathname === '/bar') { + wss2.handleUpgrade(request, socket, head, function done(ws) { + wss2.emit('connection', ws, request); + }); + } else { + socket.destroy(); + } +}); + +server.listen(8080); +``` + +### Client authentication + +```js +import WebSocket from 'ws'; +import { createServer } from 'http'; + +const server = createServer(); +const wss = new WebSocketServer({ noServer: true }); + +wss.on('connection', function connection(ws, request, client) { + ws.on('message', function message(data) { + console.log(`Received message ${data} from user ${client}`); + }); +}); + +server.on('upgrade', function upgrade(request, socket, head) { + // This function is not defined on purpose. Implement it with your own logic. + authenticate(request, function next(err, client) { + if (err || !client) { + socket.write('HTTP/1.1 401 Unauthorized\r\n\r\n'); + socket.destroy(); + return; + } + + wss.handleUpgrade(request, socket, head, function done(ws) { + wss.emit('connection', ws, request, client); + }); + }); +}); + +server.listen(8080); +``` + +Also see the provided [example][session-parse-example] using `express-session`. + +### Server broadcast + +A client WebSocket broadcasting to all connected WebSocket clients, including +itself. + +```js +import WebSocket, { WebSocketServer } from 'ws'; + +const wss = new WebSocketServer({ port: 8080 }); + +wss.on('connection', function connection(ws) { + ws.on('message', function message(data, isBinary) { + wss.clients.forEach(function each(client) { + if (client.readyState === WebSocket.OPEN) { + client.send(data, { binary: isBinary }); + } + }); + }); +}); +``` + +A client WebSocket broadcasting to every other connected WebSocket clients, +excluding itself. + +```js +import WebSocket, { WebSocketServer } from 'ws'; + +const wss = new WebSocketServer({ port: 8080 }); + +wss.on('connection', function connection(ws) { + ws.on('message', function message(data, isBinary) { + wss.clients.forEach(function each(client) { + if (client !== ws && client.readyState === WebSocket.OPEN) { + client.send(data, { binary: isBinary }); + } + }); + }); +}); +``` + +### Round-trip time + +```js +import WebSocket from 'ws'; + +const ws = new WebSocket('wss://websocket-echo.com/'); + +ws.on('open', function open() { + console.log('connected'); + ws.send(Date.now()); +}); + +ws.on('close', function close() { + console.log('disconnected'); +}); + +ws.on('message', function message(data) { + console.log(`Round-trip time: ${Date.now() - data} ms`); + + setTimeout(function timeout() { + ws.send(Date.now()); + }, 500); +}); +``` + +### Use the Node.js streams API + +```js +import WebSocket, { createWebSocketStream } from 'ws'; + +const ws = new WebSocket('wss://websocket-echo.com/'); + +const duplex = createWebSocketStream(ws, { encoding: 'utf8' }); + +duplex.pipe(process.stdout); +process.stdin.pipe(duplex); +``` + +### Other examples + +For a full example with a browser client communicating with a ws server, see the +examples folder. + +Otherwise, see the test cases. + +## FAQ + +### How to get the IP address of the client? + +The remote IP address can be obtained from the raw socket. + +```js +import { WebSocketServer } from 'ws'; + +const wss = new WebSocketServer({ port: 8080 }); + +wss.on('connection', function connection(ws, req) { + const ip = req.socket.remoteAddress; +}); +``` + +When the server runs behind a proxy like NGINX, the de-facto standard is to use +the `X-Forwarded-For` header. + +```js +wss.on('connection', function connection(ws, req) { + const ip = req.headers['x-forwarded-for'].split(',')[0].trim(); +}); +``` + +### How to detect and close broken connections? + +Sometimes the link between the server and the client can be interrupted in a way +that keeps both the server and the client unaware of the broken state of the +connection (e.g. when pulling the cord). + +In these cases ping messages can be used as a means to verify that the remote +endpoint is still responsive. + +```js +import { WebSocketServer } from 'ws'; + +function heartbeat() { + this.isAlive = true; +} + +const wss = new WebSocketServer({ port: 8080 }); + +wss.on('connection', function connection(ws) { + ws.isAlive = true; + ws.on('pong', heartbeat); +}); + +const interval = setInterval(function ping() { + wss.clients.forEach(function each(ws) { + if (ws.isAlive === false) return ws.terminate(); + + ws.isAlive = false; + ws.ping(); + }); +}, 30000); + +wss.on('close', function close() { + clearInterval(interval); +}); +``` + +Pong messages are automatically sent in response to ping messages as required by +the spec. + +Just like the server example above your clients might as well lose connection +without knowing it. You might want to add a ping listener on your clients to +prevent that. A simple implementation would be: + +```js +import WebSocket from 'ws'; + +function heartbeat() { + clearTimeout(this.pingTimeout); + + // Use `WebSocket#terminate()`, which immediately destroys the connection, + // instead of `WebSocket#close()`, which waits for the close timer. + // Delay should be equal to the interval at which your server + // sends out pings plus a conservative assumption of the latency. + this.pingTimeout = setTimeout(() => { + this.terminate(); + }, 30000 + 1000); +} + +const client = new WebSocket('wss://websocket-echo.com/'); + +client.on('open', heartbeat); +client.on('ping', heartbeat); +client.on('close', function clear() { + clearTimeout(this.pingTimeout); +}); +``` + +### How to connect via a proxy? + +Use a custom `http.Agent` implementation like [https-proxy-agent][] or +[socks-proxy-agent][]. + +## Changelog + +We're using the GitHub [releases][changelog] for changelog entries. + +## License + +[MIT](LICENSE) + +[changelog]: https://github.com/websockets/ws/releases +[client-report]: http://websockets.github.io/ws/autobahn/clients/ +[https-proxy-agent]: https://github.com/TooTallNate/node-https-proxy-agent +[node-zlib-bug]: https://github.com/nodejs/node/issues/8871 +[node-zlib-deflaterawdocs]: + https://nodejs.org/api/zlib.html#zlib_zlib_createdeflateraw_options +[permessage-deflate]: https://tools.ietf.org/html/rfc7692 +[server-report]: http://websockets.github.io/ws/autobahn/servers/ +[session-parse-example]: ./examples/express-session-parse +[socks-proxy-agent]: https://github.com/TooTallNate/node-socks-proxy-agent +[ws-server-options]: + https://github.com/websockets/ws/blob/master/doc/ws.md#new-websocketserveroptions-callback diff --git a/node_modules/ws/browser.js b/node_modules/ws/browser.js new file mode 100644 index 0000000..ca4f628 --- /dev/null +++ b/node_modules/ws/browser.js @@ -0,0 +1,8 @@ +'use strict'; + +module.exports = function () { + throw new Error( + 'ws does not work in the browser. Browser clients must use the native ' + + 'WebSocket object' + ); +}; diff --git a/node_modules/ws/index.js b/node_modules/ws/index.js new file mode 100644 index 0000000..41edb3b --- /dev/null +++ b/node_modules/ws/index.js @@ -0,0 +1,13 @@ +'use strict'; + +const WebSocket = require('./lib/websocket'); + +WebSocket.createWebSocketStream = require('./lib/stream'); +WebSocket.Server = require('./lib/websocket-server'); +WebSocket.Receiver = require('./lib/receiver'); +WebSocket.Sender = require('./lib/sender'); + +WebSocket.WebSocket = WebSocket; +WebSocket.WebSocketServer = WebSocket.Server; + +module.exports = WebSocket; diff --git a/node_modules/ws/lib/buffer-util.js b/node_modules/ws/lib/buffer-util.js new file mode 100644 index 0000000..1ba1d1b --- /dev/null +++ b/node_modules/ws/lib/buffer-util.js @@ -0,0 +1,126 @@ +'use strict'; + +const { EMPTY_BUFFER } = require('./constants'); + +/** + * Merges an array of buffers into a new buffer. + * + * @param {Buffer[]} list The array of buffers to concat + * @param {Number} totalLength The total length of buffers in the list + * @return {Buffer} The resulting buffer + * @public + */ +function concat(list, totalLength) { + if (list.length === 0) return EMPTY_BUFFER; + if (list.length === 1) return list[0]; + + const target = Buffer.allocUnsafe(totalLength); + let offset = 0; + + for (let i = 0; i < list.length; i++) { + const buf = list[i]; + target.set(buf, offset); + offset += buf.length; + } + + if (offset < totalLength) return target.slice(0, offset); + + return target; +} + +/** + * Masks a buffer using the given mask. + * + * @param {Buffer} source The buffer to mask + * @param {Buffer} mask The mask to use + * @param {Buffer} output The buffer where to store the result + * @param {Number} offset The offset at which to start writing + * @param {Number} length The number of bytes to mask. + * @public + */ +function _mask(source, mask, output, offset, length) { + for (let i = 0; i < length; i++) { + output[offset + i] = source[i] ^ mask[i & 3]; + } +} + +/** + * Unmasks a buffer using the given mask. + * + * @param {Buffer} buffer The buffer to unmask + * @param {Buffer} mask The mask to use + * @public + */ +function _unmask(buffer, mask) { + for (let i = 0; i < buffer.length; i++) { + buffer[i] ^= mask[i & 3]; + } +} + +/** + * Converts a buffer to an `ArrayBuffer`. + * + * @param {Buffer} buf The buffer to convert + * @return {ArrayBuffer} Converted buffer + * @public + */ +function toArrayBuffer(buf) { + if (buf.byteLength === buf.buffer.byteLength) { + return buf.buffer; + } + + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); +} + +/** + * Converts `data` to a `Buffer`. + * + * @param {*} data The data to convert + * @return {Buffer} The buffer + * @throws {TypeError} + * @public + */ +function toBuffer(data) { + toBuffer.readOnly = true; + + if (Buffer.isBuffer(data)) return data; + + let buf; + + if (data instanceof ArrayBuffer) { + buf = Buffer.from(data); + } else if (ArrayBuffer.isView(data)) { + buf = Buffer.from(data.buffer, data.byteOffset, data.byteLength); + } else { + buf = Buffer.from(data); + toBuffer.readOnly = false; + } + + return buf; +} + +try { + const bufferUtil = require('bufferutil'); + + module.exports = { + concat, + mask(source, mask, output, offset, length) { + if (length < 48) _mask(source, mask, output, offset, length); + else bufferUtil.mask(source, mask, output, offset, length); + }, + toArrayBuffer, + toBuffer, + unmask(buffer, mask) { + if (buffer.length < 32) _unmask(buffer, mask); + else bufferUtil.unmask(buffer, mask); + } + }; +} catch (e) /* istanbul ignore next */ { + module.exports = { + concat, + mask: _mask, + toArrayBuffer, + toBuffer, + unmask: _unmask + }; +} diff --git a/node_modules/ws/lib/constants.js b/node_modules/ws/lib/constants.js new file mode 100644 index 0000000..d691b30 --- /dev/null +++ b/node_modules/ws/lib/constants.js @@ -0,0 +1,12 @@ +'use strict'; + +module.exports = { + BINARY_TYPES: ['nodebuffer', 'arraybuffer', 'fragments'], + EMPTY_BUFFER: Buffer.alloc(0), + GUID: '258EAFA5-E914-47DA-95CA-C5AB0DC85B11', + kForOnEventAttribute: Symbol('kIsForOnEventAttribute'), + kListener: Symbol('kListener'), + kStatusCode: Symbol('status-code'), + kWebSocket: Symbol('websocket'), + NOOP: () => {} +}; diff --git a/node_modules/ws/lib/event-target.js b/node_modules/ws/lib/event-target.js new file mode 100644 index 0000000..d5abd83 --- /dev/null +++ b/node_modules/ws/lib/event-target.js @@ -0,0 +1,266 @@ +'use strict'; + +const { kForOnEventAttribute, kListener } = require('./constants'); + +const kCode = Symbol('kCode'); +const kData = Symbol('kData'); +const kError = Symbol('kError'); +const kMessage = Symbol('kMessage'); +const kReason = Symbol('kReason'); +const kTarget = Symbol('kTarget'); +const kType = Symbol('kType'); +const kWasClean = Symbol('kWasClean'); + +/** + * Class representing an event. + */ +class Event { + /** + * Create a new `Event`. + * + * @param {String} type The name of the event + * @throws {TypeError} If the `type` argument is not specified + */ + constructor(type) { + this[kTarget] = null; + this[kType] = type; + } + + /** + * @type {*} + */ + get target() { + return this[kTarget]; + } + + /** + * @type {String} + */ + get type() { + return this[kType]; + } +} + +Object.defineProperty(Event.prototype, 'target', { enumerable: true }); +Object.defineProperty(Event.prototype, 'type', { enumerable: true }); + +/** + * Class representing a close event. + * + * @extends Event + */ +class CloseEvent extends Event { + /** + * Create a new `CloseEvent`. + * + * @param {String} type The name of the event + * @param {Object} [options] A dictionary object that allows for setting + * attributes via object members of the same name + * @param {Number} [options.code=0] The status code explaining why the + * connection was closed + * @param {String} [options.reason=''] A human-readable string explaining why + * the connection was closed + * @param {Boolean} [options.wasClean=false] Indicates whether or not the + * connection was cleanly closed + */ + constructor(type, options = {}) { + super(type); + + this[kCode] = options.code === undefined ? 0 : options.code; + this[kReason] = options.reason === undefined ? '' : options.reason; + this[kWasClean] = options.wasClean === undefined ? false : options.wasClean; + } + + /** + * @type {Number} + */ + get code() { + return this[kCode]; + } + + /** + * @type {String} + */ + get reason() { + return this[kReason]; + } + + /** + * @type {Boolean} + */ + get wasClean() { + return this[kWasClean]; + } +} + +Object.defineProperty(CloseEvent.prototype, 'code', { enumerable: true }); +Object.defineProperty(CloseEvent.prototype, 'reason', { enumerable: true }); +Object.defineProperty(CloseEvent.prototype, 'wasClean', { enumerable: true }); + +/** + * Class representing an error event. + * + * @extends Event + */ +class ErrorEvent extends Event { + /** + * Create a new `ErrorEvent`. + * + * @param {String} type The name of the event + * @param {Object} [options] A dictionary object that allows for setting + * attributes via object members of the same name + * @param {*} [options.error=null] The error that generated this event + * @param {String} [options.message=''] The error message + */ + constructor(type, options = {}) { + super(type); + + this[kError] = options.error === undefined ? null : options.error; + this[kMessage] = options.message === undefined ? '' : options.message; + } + + /** + * @type {*} + */ + get error() { + return this[kError]; + } + + /** + * @type {String} + */ + get message() { + return this[kMessage]; + } +} + +Object.defineProperty(ErrorEvent.prototype, 'error', { enumerable: true }); +Object.defineProperty(ErrorEvent.prototype, 'message', { enumerable: true }); + +/** + * Class representing a message event. + * + * @extends Event + */ +class MessageEvent extends Event { + /** + * Create a new `MessageEvent`. + * + * @param {String} type The name of the event + * @param {Object} [options] A dictionary object that allows for setting + * attributes via object members of the same name + * @param {*} [options.data=null] The message content + */ + constructor(type, options = {}) { + super(type); + + this[kData] = options.data === undefined ? null : options.data; + } + + /** + * @type {*} + */ + get data() { + return this[kData]; + } +} + +Object.defineProperty(MessageEvent.prototype, 'data', { enumerable: true }); + +/** + * This provides methods for emulating the `EventTarget` interface. It's not + * meant to be used directly. + * + * @mixin + */ +const EventTarget = { + /** + * Register an event listener. + * + * @param {String} type A string representing the event type to listen for + * @param {Function} listener The listener to add + * @param {Object} [options] An options object specifies characteristics about + * the event listener + * @param {Boolean} [options.once=false] A `Boolean` indicating that the + * listener should be invoked at most once after being added. If `true`, + * the listener would be automatically removed when invoked. + * @public + */ + addEventListener(type, listener, options = {}) { + let wrapper; + + if (type === 'message') { + wrapper = function onMessage(data, isBinary) { + const event = new MessageEvent('message', { + data: isBinary ? data : data.toString() + }); + + event[kTarget] = this; + listener.call(this, event); + }; + } else if (type === 'close') { + wrapper = function onClose(code, message) { + const event = new CloseEvent('close', { + code, + reason: message.toString(), + wasClean: this._closeFrameReceived && this._closeFrameSent + }); + + event[kTarget] = this; + listener.call(this, event); + }; + } else if (type === 'error') { + wrapper = function onError(error) { + const event = new ErrorEvent('error', { + error, + message: error.message + }); + + event[kTarget] = this; + listener.call(this, event); + }; + } else if (type === 'open') { + wrapper = function onOpen() { + const event = new Event('open'); + + event[kTarget] = this; + listener.call(this, event); + }; + } else { + return; + } + + wrapper[kForOnEventAttribute] = !!options[kForOnEventAttribute]; + wrapper[kListener] = listener; + + if (options.once) { + this.once(type, wrapper); + } else { + this.on(type, wrapper); + } + }, + + /** + * Remove an event listener. + * + * @param {String} type A string representing the event type to remove + * @param {Function} handler The listener to remove + * @public + */ + removeEventListener(type, handler) { + for (const listener of this.listeners(type)) { + if (listener[kListener] === handler && !listener[kForOnEventAttribute]) { + this.removeListener(type, listener); + break; + } + } + } +}; + +module.exports = { + CloseEvent, + ErrorEvent, + Event, + EventTarget, + MessageEvent +}; diff --git a/node_modules/ws/lib/extension.js b/node_modules/ws/lib/extension.js new file mode 100644 index 0000000..3d7895c --- /dev/null +++ b/node_modules/ws/lib/extension.js @@ -0,0 +1,203 @@ +'use strict'; + +const { tokenChars } = require('./validation'); + +/** + * Adds an offer to the map of extension offers or a parameter to the map of + * parameters. + * + * @param {Object} dest The map of extension offers or parameters + * @param {String} name The extension or parameter name + * @param {(Object|Boolean|String)} elem The extension parameters or the + * parameter value + * @private + */ +function push(dest, name, elem) { + if (dest[name] === undefined) dest[name] = [elem]; + else dest[name].push(elem); +} + +/** + * Parses the `Sec-WebSocket-Extensions` header into an object. + * + * @param {String} header The field value of the header + * @return {Object} The parsed object + * @public + */ +function parse(header) { + const offers = Object.create(null); + let params = Object.create(null); + let mustUnescape = false; + let isEscaping = false; + let inQuotes = false; + let extensionName; + let paramName; + let start = -1; + let code = -1; + let end = -1; + let i = 0; + + for (; i < header.length; i++) { + code = header.charCodeAt(i); + + if (extensionName === undefined) { + if (end === -1 && tokenChars[code] === 1) { + if (start === -1) start = i; + } else if ( + i !== 0 && + (code === 0x20 /* ' ' */ || code === 0x09) /* '\t' */ + ) { + if (end === -1 && start !== -1) end = i; + } else if (code === 0x3b /* ';' */ || code === 0x2c /* ',' */) { + if (start === -1) { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + + if (end === -1) end = i; + const name = header.slice(start, end); + if (code === 0x2c) { + push(offers, name, params); + params = Object.create(null); + } else { + extensionName = name; + } + + start = end = -1; + } else { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + } else if (paramName === undefined) { + if (end === -1 && tokenChars[code] === 1) { + if (start === -1) start = i; + } else if (code === 0x20 || code === 0x09) { + if (end === -1 && start !== -1) end = i; + } else if (code === 0x3b || code === 0x2c) { + if (start === -1) { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + + if (end === -1) end = i; + push(params, header.slice(start, end), true); + if (code === 0x2c) { + push(offers, extensionName, params); + params = Object.create(null); + extensionName = undefined; + } + + start = end = -1; + } else if (code === 0x3d /* '=' */ && start !== -1 && end === -1) { + paramName = header.slice(start, i); + start = end = -1; + } else { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + } else { + // + // The value of a quoted-string after unescaping must conform to the + // token ABNF, so only token characters are valid. + // Ref: https://tools.ietf.org/html/rfc6455#section-9.1 + // + if (isEscaping) { + if (tokenChars[code] !== 1) { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + if (start === -1) start = i; + else if (!mustUnescape) mustUnescape = true; + isEscaping = false; + } else if (inQuotes) { + if (tokenChars[code] === 1) { + if (start === -1) start = i; + } else if (code === 0x22 /* '"' */ && start !== -1) { + inQuotes = false; + end = i; + } else if (code === 0x5c /* '\' */) { + isEscaping = true; + } else { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + } else if (code === 0x22 && header.charCodeAt(i - 1) === 0x3d) { + inQuotes = true; + } else if (end === -1 && tokenChars[code] === 1) { + if (start === -1) start = i; + } else if (start !== -1 && (code === 0x20 || code === 0x09)) { + if (end === -1) end = i; + } else if (code === 0x3b || code === 0x2c) { + if (start === -1) { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + + if (end === -1) end = i; + let value = header.slice(start, end); + if (mustUnescape) { + value = value.replace(/\\/g, ''); + mustUnescape = false; + } + push(params, paramName, value); + if (code === 0x2c) { + push(offers, extensionName, params); + params = Object.create(null); + extensionName = undefined; + } + + paramName = undefined; + start = end = -1; + } else { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + } + } + + if (start === -1 || inQuotes || code === 0x20 || code === 0x09) { + throw new SyntaxError('Unexpected end of input'); + } + + if (end === -1) end = i; + const token = header.slice(start, end); + if (extensionName === undefined) { + push(offers, token, params); + } else { + if (paramName === undefined) { + push(params, token, true); + } else if (mustUnescape) { + push(params, paramName, token.replace(/\\/g, '')); + } else { + push(params, paramName, token); + } + push(offers, extensionName, params); + } + + return offers; +} + +/** + * Builds the `Sec-WebSocket-Extensions` header field value. + * + * @param {Object} extensions The map of extensions and parameters to format + * @return {String} A string representing the given object + * @public + */ +function format(extensions) { + return Object.keys(extensions) + .map((extension) => { + let configurations = extensions[extension]; + if (!Array.isArray(configurations)) configurations = [configurations]; + return configurations + .map((params) => { + return [extension] + .concat( + Object.keys(params).map((k) => { + let values = params[k]; + if (!Array.isArray(values)) values = [values]; + return values + .map((v) => (v === true ? k : `${k}=${v}`)) + .join('; '); + }) + ) + .join('; '); + }) + .join(', '); + }) + .join(', '); +} + +module.exports = { format, parse }; diff --git a/node_modules/ws/lib/limiter.js b/node_modules/ws/lib/limiter.js new file mode 100644 index 0000000..3fd3578 --- /dev/null +++ b/node_modules/ws/lib/limiter.js @@ -0,0 +1,55 @@ +'use strict'; + +const kDone = Symbol('kDone'); +const kRun = Symbol('kRun'); + +/** + * A very simple job queue with adjustable concurrency. Adapted from + * https://github.com/STRML/async-limiter + */ +class Limiter { + /** + * Creates a new `Limiter`. + * + * @param {Number} [concurrency=Infinity] The maximum number of jobs allowed + * to run concurrently + */ + constructor(concurrency) { + this[kDone] = () => { + this.pending--; + this[kRun](); + }; + this.concurrency = concurrency || Infinity; + this.jobs = []; + this.pending = 0; + } + + /** + * Adds a job to the queue. + * + * @param {Function} job The job to run + * @public + */ + add(job) { + this.jobs.push(job); + this[kRun](); + } + + /** + * Removes a job from the queue and runs it if possible. + * + * @private + */ + [kRun]() { + if (this.pending === this.concurrency) return; + + if (this.jobs.length) { + const job = this.jobs.shift(); + + this.pending++; + job(this[kDone]); + } + } +} + +module.exports = Limiter; diff --git a/node_modules/ws/lib/permessage-deflate.js b/node_modules/ws/lib/permessage-deflate.js new file mode 100644 index 0000000..94603c9 --- /dev/null +++ b/node_modules/ws/lib/permessage-deflate.js @@ -0,0 +1,511 @@ +'use strict'; + +const zlib = require('zlib'); + +const bufferUtil = require('./buffer-util'); +const Limiter = require('./limiter'); +const { kStatusCode } = require('./constants'); + +const TRAILER = Buffer.from([0x00, 0x00, 0xff, 0xff]); +const kPerMessageDeflate = Symbol('permessage-deflate'); +const kTotalLength = Symbol('total-length'); +const kCallback = Symbol('callback'); +const kBuffers = Symbol('buffers'); +const kError = Symbol('error'); + +// +// We limit zlib concurrency, which prevents severe memory fragmentation +// as documented in https://github.com/nodejs/node/issues/8871#issuecomment-250915913 +// and https://github.com/websockets/ws/issues/1202 +// +// Intentionally global; it's the global thread pool that's an issue. +// +let zlibLimiter; + +/** + * permessage-deflate implementation. + */ +class PerMessageDeflate { + /** + * Creates a PerMessageDeflate instance. + * + * @param {Object} [options] Configuration options + * @param {(Boolean|Number)} [options.clientMaxWindowBits] Advertise support + * for, or request, a custom client window size + * @param {Boolean} [options.clientNoContextTakeover=false] Advertise/ + * acknowledge disabling of client context takeover + * @param {Number} [options.concurrencyLimit=10] The number of concurrent + * calls to zlib + * @param {(Boolean|Number)} [options.serverMaxWindowBits] Request/confirm the + * use of a custom server window size + * @param {Boolean} [options.serverNoContextTakeover=false] Request/accept + * disabling of server context takeover + * @param {Number} [options.threshold=1024] Size (in bytes) below which + * messages should not be compressed if context takeover is disabled + * @param {Object} [options.zlibDeflateOptions] Options to pass to zlib on + * deflate + * @param {Object} [options.zlibInflateOptions] Options to pass to zlib on + * inflate + * @param {Boolean} [isServer=false] Create the instance in either server or + * client mode + * @param {Number} [maxPayload=0] The maximum allowed message length + */ + constructor(options, isServer, maxPayload) { + this._maxPayload = maxPayload | 0; + this._options = options || {}; + this._threshold = + this._options.threshold !== undefined ? this._options.threshold : 1024; + this._isServer = !!isServer; + this._deflate = null; + this._inflate = null; + + this.params = null; + + if (!zlibLimiter) { + const concurrency = + this._options.concurrencyLimit !== undefined + ? this._options.concurrencyLimit + : 10; + zlibLimiter = new Limiter(concurrency); + } + } + + /** + * @type {String} + */ + static get extensionName() { + return 'permessage-deflate'; + } + + /** + * Create an extension negotiation offer. + * + * @return {Object} Extension parameters + * @public + */ + offer() { + const params = {}; + + if (this._options.serverNoContextTakeover) { + params.server_no_context_takeover = true; + } + if (this._options.clientNoContextTakeover) { + params.client_no_context_takeover = true; + } + if (this._options.serverMaxWindowBits) { + params.server_max_window_bits = this._options.serverMaxWindowBits; + } + if (this._options.clientMaxWindowBits) { + params.client_max_window_bits = this._options.clientMaxWindowBits; + } else if (this._options.clientMaxWindowBits == null) { + params.client_max_window_bits = true; + } + + return params; + } + + /** + * Accept an extension negotiation offer/response. + * + * @param {Array} configurations The extension negotiation offers/reponse + * @return {Object} Accepted configuration + * @public + */ + accept(configurations) { + configurations = this.normalizeParams(configurations); + + this.params = this._isServer + ? this.acceptAsServer(configurations) + : this.acceptAsClient(configurations); + + return this.params; + } + + /** + * Releases all resources used by the extension. + * + * @public + */ + cleanup() { + if (this._inflate) { + this._inflate.close(); + this._inflate = null; + } + + if (this._deflate) { + const callback = this._deflate[kCallback]; + + this._deflate.close(); + this._deflate = null; + + if (callback) { + callback( + new Error( + 'The deflate stream was closed while data was being processed' + ) + ); + } + } + } + + /** + * Accept an extension negotiation offer. + * + * @param {Array} offers The extension negotiation offers + * @return {Object} Accepted configuration + * @private + */ + acceptAsServer(offers) { + const opts = this._options; + const accepted = offers.find((params) => { + if ( + (opts.serverNoContextTakeover === false && + params.server_no_context_takeover) || + (params.server_max_window_bits && + (opts.serverMaxWindowBits === false || + (typeof opts.serverMaxWindowBits === 'number' && + opts.serverMaxWindowBits > params.server_max_window_bits))) || + (typeof opts.clientMaxWindowBits === 'number' && + !params.client_max_window_bits) + ) { + return false; + } + + return true; + }); + + if (!accepted) { + throw new Error('None of the extension offers can be accepted'); + } + + if (opts.serverNoContextTakeover) { + accepted.server_no_context_takeover = true; + } + if (opts.clientNoContextTakeover) { + accepted.client_no_context_takeover = true; + } + if (typeof opts.serverMaxWindowBits === 'number') { + accepted.server_max_window_bits = opts.serverMaxWindowBits; + } + if (typeof opts.clientMaxWindowBits === 'number') { + accepted.client_max_window_bits = opts.clientMaxWindowBits; + } else if ( + accepted.client_max_window_bits === true || + opts.clientMaxWindowBits === false + ) { + delete accepted.client_max_window_bits; + } + + return accepted; + } + + /** + * Accept the extension negotiation response. + * + * @param {Array} response The extension negotiation response + * @return {Object} Accepted configuration + * @private + */ + acceptAsClient(response) { + const params = response[0]; + + if ( + this._options.clientNoContextTakeover === false && + params.client_no_context_takeover + ) { + throw new Error('Unexpected parameter "client_no_context_takeover"'); + } + + if (!params.client_max_window_bits) { + if (typeof this._options.clientMaxWindowBits === 'number') { + params.client_max_window_bits = this._options.clientMaxWindowBits; + } + } else if ( + this._options.clientMaxWindowBits === false || + (typeof this._options.clientMaxWindowBits === 'number' && + params.client_max_window_bits > this._options.clientMaxWindowBits) + ) { + throw new Error( + 'Unexpected or invalid parameter "client_max_window_bits"' + ); + } + + return params; + } + + /** + * Normalize parameters. + * + * @param {Array} configurations The extension negotiation offers/reponse + * @return {Array} The offers/response with normalized parameters + * @private + */ + normalizeParams(configurations) { + configurations.forEach((params) => { + Object.keys(params).forEach((key) => { + let value = params[key]; + + if (value.length > 1) { + throw new Error(`Parameter "${key}" must have only a single value`); + } + + value = value[0]; + + if (key === 'client_max_window_bits') { + if (value !== true) { + const num = +value; + if (!Number.isInteger(num) || num < 8 || num > 15) { + throw new TypeError( + `Invalid value for parameter "${key}": ${value}` + ); + } + value = num; + } else if (!this._isServer) { + throw new TypeError( + `Invalid value for parameter "${key}": ${value}` + ); + } + } else if (key === 'server_max_window_bits') { + const num = +value; + if (!Number.isInteger(num) || num < 8 || num > 15) { + throw new TypeError( + `Invalid value for parameter "${key}": ${value}` + ); + } + value = num; + } else if ( + key === 'client_no_context_takeover' || + key === 'server_no_context_takeover' + ) { + if (value !== true) { + throw new TypeError( + `Invalid value for parameter "${key}": ${value}` + ); + } + } else { + throw new Error(`Unknown parameter "${key}"`); + } + + params[key] = value; + }); + }); + + return configurations; + } + + /** + * Decompress data. Concurrency limited. + * + * @param {Buffer} data Compressed data + * @param {Boolean} fin Specifies whether or not this is the last fragment + * @param {Function} callback Callback + * @public + */ + decompress(data, fin, callback) { + zlibLimiter.add((done) => { + this._decompress(data, fin, (err, result) => { + done(); + callback(err, result); + }); + }); + } + + /** + * Compress data. Concurrency limited. + * + * @param {(Buffer|String)} data Data to compress + * @param {Boolean} fin Specifies whether or not this is the last fragment + * @param {Function} callback Callback + * @public + */ + compress(data, fin, callback) { + zlibLimiter.add((done) => { + this._compress(data, fin, (err, result) => { + done(); + callback(err, result); + }); + }); + } + + /** + * Decompress data. + * + * @param {Buffer} data Compressed data + * @param {Boolean} fin Specifies whether or not this is the last fragment + * @param {Function} callback Callback + * @private + */ + _decompress(data, fin, callback) { + const endpoint = this._isServer ? 'client' : 'server'; + + if (!this._inflate) { + const key = `${endpoint}_max_window_bits`; + const windowBits = + typeof this.params[key] !== 'number' + ? zlib.Z_DEFAULT_WINDOWBITS + : this.params[key]; + + this._inflate = zlib.createInflateRaw({ + ...this._options.zlibInflateOptions, + windowBits + }); + this._inflate[kPerMessageDeflate] = this; + this._inflate[kTotalLength] = 0; + this._inflate[kBuffers] = []; + this._inflate.on('error', inflateOnError); + this._inflate.on('data', inflateOnData); + } + + this._inflate[kCallback] = callback; + + this._inflate.write(data); + if (fin) this._inflate.write(TRAILER); + + this._inflate.flush(() => { + const err = this._inflate[kError]; + + if (err) { + this._inflate.close(); + this._inflate = null; + callback(err); + return; + } + + const data = bufferUtil.concat( + this._inflate[kBuffers], + this._inflate[kTotalLength] + ); + + if (this._inflate._readableState.endEmitted) { + this._inflate.close(); + this._inflate = null; + } else { + this._inflate[kTotalLength] = 0; + this._inflate[kBuffers] = []; + + if (fin && this.params[`${endpoint}_no_context_takeover`]) { + this._inflate.reset(); + } + } + + callback(null, data); + }); + } + + /** + * Compress data. + * + * @param {(Buffer|String)} data Data to compress + * @param {Boolean} fin Specifies whether or not this is the last fragment + * @param {Function} callback Callback + * @private + */ + _compress(data, fin, callback) { + const endpoint = this._isServer ? 'server' : 'client'; + + if (!this._deflate) { + const key = `${endpoint}_max_window_bits`; + const windowBits = + typeof this.params[key] !== 'number' + ? zlib.Z_DEFAULT_WINDOWBITS + : this.params[key]; + + this._deflate = zlib.createDeflateRaw({ + ...this._options.zlibDeflateOptions, + windowBits + }); + + this._deflate[kTotalLength] = 0; + this._deflate[kBuffers] = []; + + this._deflate.on('data', deflateOnData); + } + + this._deflate[kCallback] = callback; + + this._deflate.write(data); + this._deflate.flush(zlib.Z_SYNC_FLUSH, () => { + if (!this._deflate) { + // + // The deflate stream was closed while data was being processed. + // + return; + } + + let data = bufferUtil.concat( + this._deflate[kBuffers], + this._deflate[kTotalLength] + ); + + if (fin) data = data.slice(0, data.length - 4); + + // + // Ensure that the callback will not be called again in + // `PerMessageDeflate#cleanup()`. + // + this._deflate[kCallback] = null; + + this._deflate[kTotalLength] = 0; + this._deflate[kBuffers] = []; + + if (fin && this.params[`${endpoint}_no_context_takeover`]) { + this._deflate.reset(); + } + + callback(null, data); + }); + } +} + +module.exports = PerMessageDeflate; + +/** + * The listener of the `zlib.DeflateRaw` stream `'data'` event. + * + * @param {Buffer} chunk A chunk of data + * @private + */ +function deflateOnData(chunk) { + this[kBuffers].push(chunk); + this[kTotalLength] += chunk.length; +} + +/** + * The listener of the `zlib.InflateRaw` stream `'data'` event. + * + * @param {Buffer} chunk A chunk of data + * @private + */ +function inflateOnData(chunk) { + this[kTotalLength] += chunk.length; + + if ( + this[kPerMessageDeflate]._maxPayload < 1 || + this[kTotalLength] <= this[kPerMessageDeflate]._maxPayload + ) { + this[kBuffers].push(chunk); + return; + } + + this[kError] = new RangeError('Max payload size exceeded'); + this[kError].code = 'WS_ERR_UNSUPPORTED_MESSAGE_LENGTH'; + this[kError][kStatusCode] = 1009; + this.removeListener('data', inflateOnData); + this.reset(); +} + +/** + * The listener of the `zlib.InflateRaw` stream `'error'` event. + * + * @param {Error} err The emitted error + * @private + */ +function inflateOnError(err) { + // + // There is no need to call `Zlib#close()` as the handle is automatically + // closed when an error is emitted. + // + this[kPerMessageDeflate]._inflate = null; + err[kStatusCode] = 1007; + this[kCallback](err); +} diff --git a/node_modules/ws/lib/receiver.js b/node_modules/ws/lib/receiver.js new file mode 100644 index 0000000..2d29d62 --- /dev/null +++ b/node_modules/ws/lib/receiver.js @@ -0,0 +1,618 @@ +'use strict'; + +const { Writable } = require('stream'); + +const PerMessageDeflate = require('./permessage-deflate'); +const { + BINARY_TYPES, + EMPTY_BUFFER, + kStatusCode, + kWebSocket +} = require('./constants'); +const { concat, toArrayBuffer, unmask } = require('./buffer-util'); +const { isValidStatusCode, isValidUTF8 } = require('./validation'); + +const GET_INFO = 0; +const GET_PAYLOAD_LENGTH_16 = 1; +const GET_PAYLOAD_LENGTH_64 = 2; +const GET_MASK = 3; +const GET_DATA = 4; +const INFLATING = 5; + +/** + * HyBi Receiver implementation. + * + * @extends Writable + */ +class Receiver extends Writable { + /** + * Creates a Receiver instance. + * + * @param {Object} [options] Options object + * @param {String} [options.binaryType=nodebuffer] The type for binary data + * @param {Object} [options.extensions] An object containing the negotiated + * extensions + * @param {Boolean} [options.isServer=false] Specifies whether to operate in + * client or server mode + * @param {Number} [options.maxPayload=0] The maximum allowed message length + * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or + * not to skip UTF-8 validation for text and close messages + */ + constructor(options = {}) { + super(); + + this._binaryType = options.binaryType || BINARY_TYPES[0]; + this._extensions = options.extensions || {}; + this._isServer = !!options.isServer; + this._maxPayload = options.maxPayload | 0; + this._skipUTF8Validation = !!options.skipUTF8Validation; + this[kWebSocket] = undefined; + + this._bufferedBytes = 0; + this._buffers = []; + + this._compressed = false; + this._payloadLength = 0; + this._mask = undefined; + this._fragmented = 0; + this._masked = false; + this._fin = false; + this._opcode = 0; + + this._totalPayloadLength = 0; + this._messageLength = 0; + this._fragments = []; + + this._state = GET_INFO; + this._loop = false; + } + + /** + * Implements `Writable.prototype._write()`. + * + * @param {Buffer} chunk The chunk of data to write + * @param {String} encoding The character encoding of `chunk` + * @param {Function} cb Callback + * @private + */ + _write(chunk, encoding, cb) { + if (this._opcode === 0x08 && this._state == GET_INFO) return cb(); + + this._bufferedBytes += chunk.length; + this._buffers.push(chunk); + this.startLoop(cb); + } + + /** + * Consumes `n` bytes from the buffered data. + * + * @param {Number} n The number of bytes to consume + * @return {Buffer} The consumed bytes + * @private + */ + consume(n) { + this._bufferedBytes -= n; + + if (n === this._buffers[0].length) return this._buffers.shift(); + + if (n < this._buffers[0].length) { + const buf = this._buffers[0]; + this._buffers[0] = buf.slice(n); + return buf.slice(0, n); + } + + const dst = Buffer.allocUnsafe(n); + + do { + const buf = this._buffers[0]; + const offset = dst.length - n; + + if (n >= buf.length) { + dst.set(this._buffers.shift(), offset); + } else { + dst.set(new Uint8Array(buf.buffer, buf.byteOffset, n), offset); + this._buffers[0] = buf.slice(n); + } + + n -= buf.length; + } while (n > 0); + + return dst; + } + + /** + * Starts the parsing loop. + * + * @param {Function} cb Callback + * @private + */ + startLoop(cb) { + let err; + this._loop = true; + + do { + switch (this._state) { + case GET_INFO: + err = this.getInfo(); + break; + case GET_PAYLOAD_LENGTH_16: + err = this.getPayloadLength16(); + break; + case GET_PAYLOAD_LENGTH_64: + err = this.getPayloadLength64(); + break; + case GET_MASK: + this.getMask(); + break; + case GET_DATA: + err = this.getData(cb); + break; + default: + // `INFLATING` + this._loop = false; + return; + } + } while (this._loop); + + cb(err); + } + + /** + * Reads the first two bytes of a frame. + * + * @return {(RangeError|undefined)} A possible error + * @private + */ + getInfo() { + if (this._bufferedBytes < 2) { + this._loop = false; + return; + } + + const buf = this.consume(2); + + if ((buf[0] & 0x30) !== 0x00) { + this._loop = false; + return error( + RangeError, + 'RSV2 and RSV3 must be clear', + true, + 1002, + 'WS_ERR_UNEXPECTED_RSV_2_3' + ); + } + + const compressed = (buf[0] & 0x40) === 0x40; + + if (compressed && !this._extensions[PerMessageDeflate.extensionName]) { + this._loop = false; + return error( + RangeError, + 'RSV1 must be clear', + true, + 1002, + 'WS_ERR_UNEXPECTED_RSV_1' + ); + } + + this._fin = (buf[0] & 0x80) === 0x80; + this._opcode = buf[0] & 0x0f; + this._payloadLength = buf[1] & 0x7f; + + if (this._opcode === 0x00) { + if (compressed) { + this._loop = false; + return error( + RangeError, + 'RSV1 must be clear', + true, + 1002, + 'WS_ERR_UNEXPECTED_RSV_1' + ); + } + + if (!this._fragmented) { + this._loop = false; + return error( + RangeError, + 'invalid opcode 0', + true, + 1002, + 'WS_ERR_INVALID_OPCODE' + ); + } + + this._opcode = this._fragmented; + } else if (this._opcode === 0x01 || this._opcode === 0x02) { + if (this._fragmented) { + this._loop = false; + return error( + RangeError, + `invalid opcode ${this._opcode}`, + true, + 1002, + 'WS_ERR_INVALID_OPCODE' + ); + } + + this._compressed = compressed; + } else if (this._opcode > 0x07 && this._opcode < 0x0b) { + if (!this._fin) { + this._loop = false; + return error( + RangeError, + 'FIN must be set', + true, + 1002, + 'WS_ERR_EXPECTED_FIN' + ); + } + + if (compressed) { + this._loop = false; + return error( + RangeError, + 'RSV1 must be clear', + true, + 1002, + 'WS_ERR_UNEXPECTED_RSV_1' + ); + } + + if (this._payloadLength > 0x7d) { + this._loop = false; + return error( + RangeError, + `invalid payload length ${this._payloadLength}`, + true, + 1002, + 'WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH' + ); + } + } else { + this._loop = false; + return error( + RangeError, + `invalid opcode ${this._opcode}`, + true, + 1002, + 'WS_ERR_INVALID_OPCODE' + ); + } + + if (!this._fin && !this._fragmented) this._fragmented = this._opcode; + this._masked = (buf[1] & 0x80) === 0x80; + + if (this._isServer) { + if (!this._masked) { + this._loop = false; + return error( + RangeError, + 'MASK must be set', + true, + 1002, + 'WS_ERR_EXPECTED_MASK' + ); + } + } else if (this._masked) { + this._loop = false; + return error( + RangeError, + 'MASK must be clear', + true, + 1002, + 'WS_ERR_UNEXPECTED_MASK' + ); + } + + if (this._payloadLength === 126) this._state = GET_PAYLOAD_LENGTH_16; + else if (this._payloadLength === 127) this._state = GET_PAYLOAD_LENGTH_64; + else return this.haveLength(); + } + + /** + * Gets extended payload length (7+16). + * + * @return {(RangeError|undefined)} A possible error + * @private + */ + getPayloadLength16() { + if (this._bufferedBytes < 2) { + this._loop = false; + return; + } + + this._payloadLength = this.consume(2).readUInt16BE(0); + return this.haveLength(); + } + + /** + * Gets extended payload length (7+64). + * + * @return {(RangeError|undefined)} A possible error + * @private + */ + getPayloadLength64() { + if (this._bufferedBytes < 8) { + this._loop = false; + return; + } + + const buf = this.consume(8); + const num = buf.readUInt32BE(0); + + // + // The maximum safe integer in JavaScript is 2^53 - 1. An error is returned + // if payload length is greater than this number. + // + if (num > Math.pow(2, 53 - 32) - 1) { + this._loop = false; + return error( + RangeError, + 'Unsupported WebSocket frame: payload length > 2^53 - 1', + false, + 1009, + 'WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH' + ); + } + + this._payloadLength = num * Math.pow(2, 32) + buf.readUInt32BE(4); + return this.haveLength(); + } + + /** + * Payload length has been read. + * + * @return {(RangeError|undefined)} A possible error + * @private + */ + haveLength() { + if (this._payloadLength && this._opcode < 0x08) { + this._totalPayloadLength += this._payloadLength; + if (this._totalPayloadLength > this._maxPayload && this._maxPayload > 0) { + this._loop = false; + return error( + RangeError, + 'Max payload size exceeded', + false, + 1009, + 'WS_ERR_UNSUPPORTED_MESSAGE_LENGTH' + ); + } + } + + if (this._masked) this._state = GET_MASK; + else this._state = GET_DATA; + } + + /** + * Reads mask bytes. + * + * @private + */ + getMask() { + if (this._bufferedBytes < 4) { + this._loop = false; + return; + } + + this._mask = this.consume(4); + this._state = GET_DATA; + } + + /** + * Reads data bytes. + * + * @param {Function} cb Callback + * @return {(Error|RangeError|undefined)} A possible error + * @private + */ + getData(cb) { + let data = EMPTY_BUFFER; + + if (this._payloadLength) { + if (this._bufferedBytes < this._payloadLength) { + this._loop = false; + return; + } + + data = this.consume(this._payloadLength); + + if ( + this._masked && + (this._mask[0] | this._mask[1] | this._mask[2] | this._mask[3]) !== 0 + ) { + unmask(data, this._mask); + } + } + + if (this._opcode > 0x07) return this.controlMessage(data); + + if (this._compressed) { + this._state = INFLATING; + this.decompress(data, cb); + return; + } + + if (data.length) { + // + // This message is not compressed so its length is the sum of the payload + // length of all fragments. + // + this._messageLength = this._totalPayloadLength; + this._fragments.push(data); + } + + return this.dataMessage(); + } + + /** + * Decompresses data. + * + * @param {Buffer} data Compressed data + * @param {Function} cb Callback + * @private + */ + decompress(data, cb) { + const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName]; + + perMessageDeflate.decompress(data, this._fin, (err, buf) => { + if (err) return cb(err); + + if (buf.length) { + this._messageLength += buf.length; + if (this._messageLength > this._maxPayload && this._maxPayload > 0) { + return cb( + error( + RangeError, + 'Max payload size exceeded', + false, + 1009, + 'WS_ERR_UNSUPPORTED_MESSAGE_LENGTH' + ) + ); + } + + this._fragments.push(buf); + } + + const er = this.dataMessage(); + if (er) return cb(er); + + this.startLoop(cb); + }); + } + + /** + * Handles a data message. + * + * @return {(Error|undefined)} A possible error + * @private + */ + dataMessage() { + if (this._fin) { + const messageLength = this._messageLength; + const fragments = this._fragments; + + this._totalPayloadLength = 0; + this._messageLength = 0; + this._fragmented = 0; + this._fragments = []; + + if (this._opcode === 2) { + let data; + + if (this._binaryType === 'nodebuffer') { + data = concat(fragments, messageLength); + } else if (this._binaryType === 'arraybuffer') { + data = toArrayBuffer(concat(fragments, messageLength)); + } else { + data = fragments; + } + + this.emit('message', data, true); + } else { + const buf = concat(fragments, messageLength); + + if (!this._skipUTF8Validation && !isValidUTF8(buf)) { + this._loop = false; + return error( + Error, + 'invalid UTF-8 sequence', + true, + 1007, + 'WS_ERR_INVALID_UTF8' + ); + } + + this.emit('message', buf, false); + } + } + + this._state = GET_INFO; + } + + /** + * Handles a control message. + * + * @param {Buffer} data Data to handle + * @return {(Error|RangeError|undefined)} A possible error + * @private + */ + controlMessage(data) { + if (this._opcode === 0x08) { + this._loop = false; + + if (data.length === 0) { + this.emit('conclude', 1005, EMPTY_BUFFER); + this.end(); + } else if (data.length === 1) { + return error( + RangeError, + 'invalid payload length 1', + true, + 1002, + 'WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH' + ); + } else { + const code = data.readUInt16BE(0); + + if (!isValidStatusCode(code)) { + return error( + RangeError, + `invalid status code ${code}`, + true, + 1002, + 'WS_ERR_INVALID_CLOSE_CODE' + ); + } + + const buf = data.slice(2); + + if (!this._skipUTF8Validation && !isValidUTF8(buf)) { + return error( + Error, + 'invalid UTF-8 sequence', + true, + 1007, + 'WS_ERR_INVALID_UTF8' + ); + } + + this.emit('conclude', code, buf); + this.end(); + } + } else if (this._opcode === 0x09) { + this.emit('ping', data); + } else { + this.emit('pong', data); + } + + this._state = GET_INFO; + } +} + +module.exports = Receiver; + +/** + * Builds an error object. + * + * @param {function(new:Error|RangeError)} ErrorCtor The error constructor + * @param {String} message The error message + * @param {Boolean} prefix Specifies whether or not to add a default prefix to + * `message` + * @param {Number} statusCode The status code + * @param {String} errorCode The exposed error code + * @return {(Error|RangeError)} The error + * @private + */ +function error(ErrorCtor, message, prefix, statusCode, errorCode) { + const err = new ErrorCtor( + prefix ? `Invalid WebSocket frame: ${message}` : message + ); + + Error.captureStackTrace(err, error); + err.code = errorCode; + err[kStatusCode] = statusCode; + return err; +} diff --git a/node_modules/ws/lib/sender.js b/node_modules/ws/lib/sender.js new file mode 100644 index 0000000..c848853 --- /dev/null +++ b/node_modules/ws/lib/sender.js @@ -0,0 +1,478 @@ +/* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^net|tls$" }] */ + +'use strict'; + +const net = require('net'); +const tls = require('tls'); +const { randomFillSync } = require('crypto'); + +const PerMessageDeflate = require('./permessage-deflate'); +const { EMPTY_BUFFER } = require('./constants'); +const { isValidStatusCode } = require('./validation'); +const { mask: applyMask, toBuffer } = require('./buffer-util'); + +const kByteLength = Symbol('kByteLength'); +const maskBuffer = Buffer.alloc(4); + +/** + * HyBi Sender implementation. + */ +class Sender { + /** + * Creates a Sender instance. + * + * @param {(net.Socket|tls.Socket)} socket The connection socket + * @param {Object} [extensions] An object containing the negotiated extensions + * @param {Function} [generateMask] The function used to generate the masking + * key + */ + constructor(socket, extensions, generateMask) { + this._extensions = extensions || {}; + + if (generateMask) { + this._generateMask = generateMask; + this._maskBuffer = Buffer.alloc(4); + } + + this._socket = socket; + + this._firstFragment = true; + this._compress = false; + + this._bufferedBytes = 0; + this._deflating = false; + this._queue = []; + } + + /** + * Frames a piece of data according to the HyBi WebSocket protocol. + * + * @param {(Buffer|String)} data The data to frame + * @param {Object} options Options object + * @param {Boolean} [options.fin=false] Specifies whether or not to set the + * FIN bit + * @param {Function} [options.generateMask] The function used to generate the + * masking key + * @param {Boolean} [options.mask=false] Specifies whether or not to mask + * `data` + * @param {Buffer} [options.maskBuffer] The buffer used to store the masking + * key + * @param {Number} options.opcode The opcode + * @param {Boolean} [options.readOnly=false] Specifies whether `data` can be + * modified + * @param {Boolean} [options.rsv1=false] Specifies whether or not to set the + * RSV1 bit + * @return {(Buffer|String)[]} The framed data + * @public + */ + static frame(data, options) { + let mask; + let merge = false; + let offset = 2; + let skipMasking = false; + + if (options.mask) { + mask = options.maskBuffer || maskBuffer; + + if (options.generateMask) { + options.generateMask(mask); + } else { + randomFillSync(mask, 0, 4); + } + + skipMasking = (mask[0] | mask[1] | mask[2] | mask[3]) === 0; + offset = 6; + } + + let dataLength; + + if (typeof data === 'string') { + if ( + (!options.mask || skipMasking) && + options[kByteLength] !== undefined + ) { + dataLength = options[kByteLength]; + } else { + data = Buffer.from(data); + dataLength = data.length; + } + } else { + dataLength = data.length; + merge = options.mask && options.readOnly && !skipMasking; + } + + let payloadLength = dataLength; + + if (dataLength >= 65536) { + offset += 8; + payloadLength = 127; + } else if (dataLength > 125) { + offset += 2; + payloadLength = 126; + } + + const target = Buffer.allocUnsafe(merge ? dataLength + offset : offset); + + target[0] = options.fin ? options.opcode | 0x80 : options.opcode; + if (options.rsv1) target[0] |= 0x40; + + target[1] = payloadLength; + + if (payloadLength === 126) { + target.writeUInt16BE(dataLength, 2); + } else if (payloadLength === 127) { + target[2] = target[3] = 0; + target.writeUIntBE(dataLength, 4, 6); + } + + if (!options.mask) return [target, data]; + + target[1] |= 0x80; + target[offset - 4] = mask[0]; + target[offset - 3] = mask[1]; + target[offset - 2] = mask[2]; + target[offset - 1] = mask[3]; + + if (skipMasking) return [target, data]; + + if (merge) { + applyMask(data, mask, target, offset, dataLength); + return [target]; + } + + applyMask(data, mask, data, 0, dataLength); + return [target, data]; + } + + /** + * Sends a close message to the other peer. + * + * @param {Number} [code] The status code component of the body + * @param {(String|Buffer)} [data] The message component of the body + * @param {Boolean} [mask=false] Specifies whether or not to mask the message + * @param {Function} [cb] Callback + * @public + */ + close(code, data, mask, cb) { + let buf; + + if (code === undefined) { + buf = EMPTY_BUFFER; + } else if (typeof code !== 'number' || !isValidStatusCode(code)) { + throw new TypeError('First argument must be a valid error code number'); + } else if (data === undefined || !data.length) { + buf = Buffer.allocUnsafe(2); + buf.writeUInt16BE(code, 0); + } else { + const length = Buffer.byteLength(data); + + if (length > 123) { + throw new RangeError('The message must not be greater than 123 bytes'); + } + + buf = Buffer.allocUnsafe(2 + length); + buf.writeUInt16BE(code, 0); + + if (typeof data === 'string') { + buf.write(data, 2); + } else { + buf.set(data, 2); + } + } + + const options = { + [kByteLength]: buf.length, + fin: true, + generateMask: this._generateMask, + mask, + maskBuffer: this._maskBuffer, + opcode: 0x08, + readOnly: false, + rsv1: false + }; + + if (this._deflating) { + this.enqueue([this.dispatch, buf, false, options, cb]); + } else { + this.sendFrame(Sender.frame(buf, options), cb); + } + } + + /** + * Sends a ping message to the other peer. + * + * @param {*} data The message to send + * @param {Boolean} [mask=false] Specifies whether or not to mask `data` + * @param {Function} [cb] Callback + * @public + */ + ping(data, mask, cb) { + let byteLength; + let readOnly; + + if (typeof data === 'string') { + byteLength = Buffer.byteLength(data); + readOnly = false; + } else { + data = toBuffer(data); + byteLength = data.length; + readOnly = toBuffer.readOnly; + } + + if (byteLength > 125) { + throw new RangeError('The data size must not be greater than 125 bytes'); + } + + const options = { + [kByteLength]: byteLength, + fin: true, + generateMask: this._generateMask, + mask, + maskBuffer: this._maskBuffer, + opcode: 0x09, + readOnly, + rsv1: false + }; + + if (this._deflating) { + this.enqueue([this.dispatch, data, false, options, cb]); + } else { + this.sendFrame(Sender.frame(data, options), cb); + } + } + + /** + * Sends a pong message to the other peer. + * + * @param {*} data The message to send + * @param {Boolean} [mask=false] Specifies whether or not to mask `data` + * @param {Function} [cb] Callback + * @public + */ + pong(data, mask, cb) { + let byteLength; + let readOnly; + + if (typeof data === 'string') { + byteLength = Buffer.byteLength(data); + readOnly = false; + } else { + data = toBuffer(data); + byteLength = data.length; + readOnly = toBuffer.readOnly; + } + + if (byteLength > 125) { + throw new RangeError('The data size must not be greater than 125 bytes'); + } + + const options = { + [kByteLength]: byteLength, + fin: true, + generateMask: this._generateMask, + mask, + maskBuffer: this._maskBuffer, + opcode: 0x0a, + readOnly, + rsv1: false + }; + + if (this._deflating) { + this.enqueue([this.dispatch, data, false, options, cb]); + } else { + this.sendFrame(Sender.frame(data, options), cb); + } + } + + /** + * Sends a data message to the other peer. + * + * @param {*} data The message to send + * @param {Object} options Options object + * @param {Boolean} [options.binary=false] Specifies whether `data` is binary + * or text + * @param {Boolean} [options.compress=false] Specifies whether or not to + * compress `data` + * @param {Boolean} [options.fin=false] Specifies whether the fragment is the + * last one + * @param {Boolean} [options.mask=false] Specifies whether or not to mask + * `data` + * @param {Function} [cb] Callback + * @public + */ + send(data, options, cb) { + const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName]; + let opcode = options.binary ? 2 : 1; + let rsv1 = options.compress; + + let byteLength; + let readOnly; + + if (typeof data === 'string') { + byteLength = Buffer.byteLength(data); + readOnly = false; + } else { + data = toBuffer(data); + byteLength = data.length; + readOnly = toBuffer.readOnly; + } + + if (this._firstFragment) { + this._firstFragment = false; + if ( + rsv1 && + perMessageDeflate && + perMessageDeflate.params[ + perMessageDeflate._isServer + ? 'server_no_context_takeover' + : 'client_no_context_takeover' + ] + ) { + rsv1 = byteLength >= perMessageDeflate._threshold; + } + this._compress = rsv1; + } else { + rsv1 = false; + opcode = 0; + } + + if (options.fin) this._firstFragment = true; + + if (perMessageDeflate) { + const opts = { + [kByteLength]: byteLength, + fin: options.fin, + generateMask: this._generateMask, + mask: options.mask, + maskBuffer: this._maskBuffer, + opcode, + readOnly, + rsv1 + }; + + if (this._deflating) { + this.enqueue([this.dispatch, data, this._compress, opts, cb]); + } else { + this.dispatch(data, this._compress, opts, cb); + } + } else { + this.sendFrame( + Sender.frame(data, { + [kByteLength]: byteLength, + fin: options.fin, + generateMask: this._generateMask, + mask: options.mask, + maskBuffer: this._maskBuffer, + opcode, + readOnly, + rsv1: false + }), + cb + ); + } + } + + /** + * Dispatches a message. + * + * @param {(Buffer|String)} data The message to send + * @param {Boolean} [compress=false] Specifies whether or not to compress + * `data` + * @param {Object} options Options object + * @param {Boolean} [options.fin=false] Specifies whether or not to set the + * FIN bit + * @param {Function} [options.generateMask] The function used to generate the + * masking key + * @param {Boolean} [options.mask=false] Specifies whether or not to mask + * `data` + * @param {Buffer} [options.maskBuffer] The buffer used to store the masking + * key + * @param {Number} options.opcode The opcode + * @param {Boolean} [options.readOnly=false] Specifies whether `data` can be + * modified + * @param {Boolean} [options.rsv1=false] Specifies whether or not to set the + * RSV1 bit + * @param {Function} [cb] Callback + * @private + */ + dispatch(data, compress, options, cb) { + if (!compress) { + this.sendFrame(Sender.frame(data, options), cb); + return; + } + + const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName]; + + this._bufferedBytes += options[kByteLength]; + this._deflating = true; + perMessageDeflate.compress(data, options.fin, (_, buf) => { + if (this._socket.destroyed) { + const err = new Error( + 'The socket was closed while data was being compressed' + ); + + if (typeof cb === 'function') cb(err); + + for (let i = 0; i < this._queue.length; i++) { + const params = this._queue[i]; + const callback = params[params.length - 1]; + + if (typeof callback === 'function') callback(err); + } + + return; + } + + this._bufferedBytes -= options[kByteLength]; + this._deflating = false; + options.readOnly = false; + this.sendFrame(Sender.frame(buf, options), cb); + this.dequeue(); + }); + } + + /** + * Executes queued send operations. + * + * @private + */ + dequeue() { + while (!this._deflating && this._queue.length) { + const params = this._queue.shift(); + + this._bufferedBytes -= params[3][kByteLength]; + Reflect.apply(params[0], this, params.slice(1)); + } + } + + /** + * Enqueues a send operation. + * + * @param {Array} params Send operation parameters. + * @private + */ + enqueue(params) { + this._bufferedBytes += params[3][kByteLength]; + this._queue.push(params); + } + + /** + * Sends a frame. + * + * @param {Buffer[]} list The frame to send + * @param {Function} [cb] Callback + * @private + */ + sendFrame(list, cb) { + if (list.length === 2) { + this._socket.cork(); + this._socket.write(list[0]); + this._socket.write(list[1], cb); + this._socket.uncork(); + } else { + this._socket.write(list[0], cb); + } + } +} + +module.exports = Sender; diff --git a/node_modules/ws/lib/stream.js b/node_modules/ws/lib/stream.js new file mode 100644 index 0000000..230734b --- /dev/null +++ b/node_modules/ws/lib/stream.js @@ -0,0 +1,159 @@ +'use strict'; + +const { Duplex } = require('stream'); + +/** + * Emits the `'close'` event on a stream. + * + * @param {Duplex} stream The stream. + * @private + */ +function emitClose(stream) { + stream.emit('close'); +} + +/** + * The listener of the `'end'` event. + * + * @private + */ +function duplexOnEnd() { + if (!this.destroyed && this._writableState.finished) { + this.destroy(); + } +} + +/** + * The listener of the `'error'` event. + * + * @param {Error} err The error + * @private + */ +function duplexOnError(err) { + this.removeListener('error', duplexOnError); + this.destroy(); + if (this.listenerCount('error') === 0) { + // Do not suppress the throwing behavior. + this.emit('error', err); + } +} + +/** + * Wraps a `WebSocket` in a duplex stream. + * + * @param {WebSocket} ws The `WebSocket` to wrap + * @param {Object} [options] The options for the `Duplex` constructor + * @return {Duplex} The duplex stream + * @public + */ +function createWebSocketStream(ws, options) { + let terminateOnDestroy = true; + + const duplex = new Duplex({ + ...options, + autoDestroy: false, + emitClose: false, + objectMode: false, + writableObjectMode: false + }); + + ws.on('message', function message(msg, isBinary) { + const data = + !isBinary && duplex._readableState.objectMode ? msg.toString() : msg; + + if (!duplex.push(data)) ws.pause(); + }); + + ws.once('error', function error(err) { + if (duplex.destroyed) return; + + // Prevent `ws.terminate()` from being called by `duplex._destroy()`. + // + // - If the `'error'` event is emitted before the `'open'` event, then + // `ws.terminate()` is a noop as no socket is assigned. + // - Otherwise, the error is re-emitted by the listener of the `'error'` + // event of the `Receiver` object. The listener already closes the + // connection by calling `ws.close()`. This allows a close frame to be + // sent to the other peer. If `ws.terminate()` is called right after this, + // then the close frame might not be sent. + terminateOnDestroy = false; + duplex.destroy(err); + }); + + ws.once('close', function close() { + if (duplex.destroyed) return; + + duplex.push(null); + }); + + duplex._destroy = function (err, callback) { + if (ws.readyState === ws.CLOSED) { + callback(err); + process.nextTick(emitClose, duplex); + return; + } + + let called = false; + + ws.once('error', function error(err) { + called = true; + callback(err); + }); + + ws.once('close', function close() { + if (!called) callback(err); + process.nextTick(emitClose, duplex); + }); + + if (terminateOnDestroy) ws.terminate(); + }; + + duplex._final = function (callback) { + if (ws.readyState === ws.CONNECTING) { + ws.once('open', function open() { + duplex._final(callback); + }); + return; + } + + // If the value of the `_socket` property is `null` it means that `ws` is a + // client websocket and the handshake failed. In fact, when this happens, a + // socket is never assigned to the websocket. Wait for the `'error'` event + // that will be emitted by the websocket. + if (ws._socket === null) return; + + if (ws._socket._writableState.finished) { + callback(); + if (duplex._readableState.endEmitted) duplex.destroy(); + } else { + ws._socket.once('finish', function finish() { + // `duplex` is not destroyed here because the `'end'` event will be + // emitted on `duplex` after this `'finish'` event. The EOF signaling + // `null` chunk is, in fact, pushed when the websocket emits `'close'`. + callback(); + }); + ws.close(); + } + }; + + duplex._read = function () { + if (ws.isPaused) ws.resume(); + }; + + duplex._write = function (chunk, encoding, callback) { + if (ws.readyState === ws.CONNECTING) { + ws.once('open', function open() { + duplex._write(chunk, encoding, callback); + }); + return; + } + + ws.send(chunk, callback); + }; + + duplex.on('end', duplexOnEnd); + duplex.on('error', duplexOnError); + return duplex; +} + +module.exports = createWebSocketStream; diff --git a/node_modules/ws/lib/subprotocol.js b/node_modules/ws/lib/subprotocol.js new file mode 100644 index 0000000..d4381e8 --- /dev/null +++ b/node_modules/ws/lib/subprotocol.js @@ -0,0 +1,62 @@ +'use strict'; + +const { tokenChars } = require('./validation'); + +/** + * Parses the `Sec-WebSocket-Protocol` header into a set of subprotocol names. + * + * @param {String} header The field value of the header + * @return {Set} The subprotocol names + * @public + */ +function parse(header) { + const protocols = new Set(); + let start = -1; + let end = -1; + let i = 0; + + for (i; i < header.length; i++) { + const code = header.charCodeAt(i); + + if (end === -1 && tokenChars[code] === 1) { + if (start === -1) start = i; + } else if ( + i !== 0 && + (code === 0x20 /* ' ' */ || code === 0x09) /* '\t' */ + ) { + if (end === -1 && start !== -1) end = i; + } else if (code === 0x2c /* ',' */) { + if (start === -1) { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + + if (end === -1) end = i; + + const protocol = header.slice(start, end); + + if (protocols.has(protocol)) { + throw new SyntaxError(`The "${protocol}" subprotocol is duplicated`); + } + + protocols.add(protocol); + start = end = -1; + } else { + throw new SyntaxError(`Unexpected character at index ${i}`); + } + } + + if (start === -1 || end !== -1) { + throw new SyntaxError('Unexpected end of input'); + } + + const protocol = header.slice(start, i); + + if (protocols.has(protocol)) { + throw new SyntaxError(`The "${protocol}" subprotocol is duplicated`); + } + + protocols.add(protocol); + return protocols; +} + +module.exports = { parse }; diff --git a/node_modules/ws/lib/validation.js b/node_modules/ws/lib/validation.js new file mode 100644 index 0000000..ed98c75 --- /dev/null +++ b/node_modules/ws/lib/validation.js @@ -0,0 +1,124 @@ +'use strict'; + +// +// Allowed token characters: +// +// '!', '#', '$', '%', '&', ''', '*', '+', '-', +// '.', 0-9, A-Z, '^', '_', '`', a-z, '|', '~' +// +// tokenChars[32] === 0 // ' ' +// tokenChars[33] === 1 // '!' +// tokenChars[34] === 0 // '"' +// ... +// +// prettier-ignore +const tokenChars = [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 15 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 31 + 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, // 32 - 47 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, // 48 - 63 + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 64 - 79 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, // 80 - 95 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 96 - 111 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0 // 112 - 127 +]; + +/** + * Checks if a status code is allowed in a close frame. + * + * @param {Number} code The status code + * @return {Boolean} `true` if the status code is valid, else `false` + * @public + */ +function isValidStatusCode(code) { + return ( + (code >= 1000 && + code <= 1014 && + code !== 1004 && + code !== 1005 && + code !== 1006) || + (code >= 3000 && code <= 4999) + ); +} + +/** + * Checks if a given buffer contains only correct UTF-8. + * Ported from https://www.cl.cam.ac.uk/%7Emgk25/ucs/utf8_check.c by + * Markus Kuhn. + * + * @param {Buffer} buf The buffer to check + * @return {Boolean} `true` if `buf` contains only correct UTF-8, else `false` + * @public + */ +function _isValidUTF8(buf) { + const len = buf.length; + let i = 0; + + while (i < len) { + if ((buf[i] & 0x80) === 0) { + // 0xxxxxxx + i++; + } else if ((buf[i] & 0xe0) === 0xc0) { + // 110xxxxx 10xxxxxx + if ( + i + 1 === len || + (buf[i + 1] & 0xc0) !== 0x80 || + (buf[i] & 0xfe) === 0xc0 // Overlong + ) { + return false; + } + + i += 2; + } else if ((buf[i] & 0xf0) === 0xe0) { + // 1110xxxx 10xxxxxx 10xxxxxx + if ( + i + 2 >= len || + (buf[i + 1] & 0xc0) !== 0x80 || + (buf[i + 2] & 0xc0) !== 0x80 || + (buf[i] === 0xe0 && (buf[i + 1] & 0xe0) === 0x80) || // Overlong + (buf[i] === 0xed && (buf[i + 1] & 0xe0) === 0xa0) // Surrogate (U+D800 - U+DFFF) + ) { + return false; + } + + i += 3; + } else if ((buf[i] & 0xf8) === 0xf0) { + // 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + if ( + i + 3 >= len || + (buf[i + 1] & 0xc0) !== 0x80 || + (buf[i + 2] & 0xc0) !== 0x80 || + (buf[i + 3] & 0xc0) !== 0x80 || + (buf[i] === 0xf0 && (buf[i + 1] & 0xf0) === 0x80) || // Overlong + (buf[i] === 0xf4 && buf[i + 1] > 0x8f) || + buf[i] > 0xf4 // > U+10FFFF + ) { + return false; + } + + i += 4; + } else { + return false; + } + } + + return true; +} + +try { + const isValidUTF8 = require('utf-8-validate'); + + module.exports = { + isValidStatusCode, + isValidUTF8(buf) { + return buf.length < 150 ? _isValidUTF8(buf) : isValidUTF8(buf); + }, + tokenChars + }; +} catch (e) /* istanbul ignore next */ { + module.exports = { + isValidStatusCode, + isValidUTF8: _isValidUTF8, + tokenChars + }; +} diff --git a/node_modules/ws/lib/websocket-server.js b/node_modules/ws/lib/websocket-server.js new file mode 100644 index 0000000..d0a2978 --- /dev/null +++ b/node_modules/ws/lib/websocket-server.js @@ -0,0 +1,488 @@ +/* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^net|tls|https$" }] */ + +'use strict'; + +const EventEmitter = require('events'); +const http = require('http'); +const https = require('https'); +const net = require('net'); +const tls = require('tls'); +const { createHash } = require('crypto'); + +const extension = require('./extension'); +const PerMessageDeflate = require('./permessage-deflate'); +const subprotocol = require('./subprotocol'); +const WebSocket = require('./websocket'); +const { GUID, kWebSocket } = require('./constants'); + +const keyRegex = /^[+/0-9A-Za-z]{22}==$/; + +const RUNNING = 0; +const CLOSING = 1; +const CLOSED = 2; + +/** + * Class representing a WebSocket server. + * + * @extends EventEmitter + */ +class WebSocketServer extends EventEmitter { + /** + * Create a `WebSocketServer` instance. + * + * @param {Object} options Configuration options + * @param {Number} [options.backlog=511] The maximum length of the queue of + * pending connections + * @param {Boolean} [options.clientTracking=true] Specifies whether or not to + * track clients + * @param {Function} [options.handleProtocols] A hook to handle protocols + * @param {String} [options.host] The hostname where to bind the server + * @param {Number} [options.maxPayload=104857600] The maximum allowed message + * size + * @param {Boolean} [options.noServer=false] Enable no server mode + * @param {String} [options.path] Accept only connections matching this path + * @param {(Boolean|Object)} [options.perMessageDeflate=false] Enable/disable + * permessage-deflate + * @param {Number} [options.port] The port where to bind the server + * @param {(http.Server|https.Server)} [options.server] A pre-created HTTP/S + * server to use + * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or + * not to skip UTF-8 validation for text and close messages + * @param {Function} [options.verifyClient] A hook to reject connections + * @param {Function} [options.WebSocket=WebSocket] Specifies the `WebSocket` + * class to use. It must be the `WebSocket` class or class that extends it + * @param {Function} [callback] A listener for the `listening` event + */ + constructor(options, callback) { + super(); + + options = { + maxPayload: 100 * 1024 * 1024, + skipUTF8Validation: false, + perMessageDeflate: false, + handleProtocols: null, + clientTracking: true, + verifyClient: null, + noServer: false, + backlog: null, // use default (511 as implemented in net.js) + server: null, + host: null, + path: null, + port: null, + WebSocket, + ...options + }; + + if ( + (options.port == null && !options.server && !options.noServer) || + (options.port != null && (options.server || options.noServer)) || + (options.server && options.noServer) + ) { + throw new TypeError( + 'One and only one of the "port", "server", or "noServer" options ' + + 'must be specified' + ); + } + + if (options.port != null) { + this._server = http.createServer((req, res) => { + const body = http.STATUS_CODES[426]; + + res.writeHead(426, { + 'Content-Length': body.length, + 'Content-Type': 'text/plain' + }); + res.end(body); + }); + this._server.listen( + options.port, + options.host, + options.backlog, + callback + ); + } else if (options.server) { + this._server = options.server; + } + + if (this._server) { + const emitConnection = this.emit.bind(this, 'connection'); + + this._removeListeners = addListeners(this._server, { + listening: this.emit.bind(this, 'listening'), + error: this.emit.bind(this, 'error'), + upgrade: (req, socket, head) => { + this.handleUpgrade(req, socket, head, emitConnection); + } + }); + } + + if (options.perMessageDeflate === true) options.perMessageDeflate = {}; + if (options.clientTracking) { + this.clients = new Set(); + this._shouldEmitClose = false; + } + + this.options = options; + this._state = RUNNING; + } + + /** + * Returns the bound address, the address family name, and port of the server + * as reported by the operating system if listening on an IP socket. + * If the server is listening on a pipe or UNIX domain socket, the name is + * returned as a string. + * + * @return {(Object|String|null)} The address of the server + * @public + */ + address() { + if (this.options.noServer) { + throw new Error('The server is operating in "noServer" mode'); + } + + if (!this._server) return null; + return this._server.address(); + } + + /** + * Stop the server from accepting new connections and emit the `'close'` event + * when all existing connections are closed. + * + * @param {Function} [cb] A one-time listener for the `'close'` event + * @public + */ + close(cb) { + if (this._state === CLOSED) { + if (cb) { + this.once('close', () => { + cb(new Error('The server is not running')); + }); + } + + process.nextTick(emitClose, this); + return; + } + + if (cb) this.once('close', cb); + + if (this._state === CLOSING) return; + this._state = CLOSING; + + if (this.options.noServer || this.options.server) { + if (this._server) { + this._removeListeners(); + this._removeListeners = this._server = null; + } + + if (this.clients) { + if (!this.clients.size) { + process.nextTick(emitClose, this); + } else { + this._shouldEmitClose = true; + } + } else { + process.nextTick(emitClose, this); + } + } else { + const server = this._server; + + this._removeListeners(); + this._removeListeners = this._server = null; + + // + // The HTTP/S server was created internally. Close it, and rely on its + // `'close'` event. + // + server.close(() => { + emitClose(this); + }); + } + } + + /** + * See if a given request should be handled by this server instance. + * + * @param {http.IncomingMessage} req Request object to inspect + * @return {Boolean} `true` if the request is valid, else `false` + * @public + */ + shouldHandle(req) { + if (this.options.path) { + const index = req.url.indexOf('?'); + const pathname = index !== -1 ? req.url.slice(0, index) : req.url; + + if (pathname !== this.options.path) return false; + } + + return true; + } + + /** + * Handle a HTTP Upgrade request. + * + * @param {http.IncomingMessage} req The request object + * @param {(net.Socket|tls.Socket)} socket The network socket between the + * server and client + * @param {Buffer} head The first packet of the upgraded stream + * @param {Function} cb Callback + * @public + */ + handleUpgrade(req, socket, head, cb) { + socket.on('error', socketOnError); + + const key = + req.headers['sec-websocket-key'] !== undefined + ? req.headers['sec-websocket-key'] + : false; + const version = +req.headers['sec-websocket-version']; + + if ( + req.method !== 'GET' || + req.headers.upgrade.toLowerCase() !== 'websocket' || + !key || + !keyRegex.test(key) || + (version !== 8 && version !== 13) || + !this.shouldHandle(req) + ) { + return abortHandshake(socket, 400); + } + + const secWebSocketProtocol = req.headers['sec-websocket-protocol']; + let protocols = new Set(); + + if (secWebSocketProtocol !== undefined) { + try { + protocols = subprotocol.parse(secWebSocketProtocol); + } catch (err) { + return abortHandshake(socket, 400); + } + } + + const secWebSocketExtensions = req.headers['sec-websocket-extensions']; + const extensions = {}; + + if ( + this.options.perMessageDeflate && + secWebSocketExtensions !== undefined + ) { + const perMessageDeflate = new PerMessageDeflate( + this.options.perMessageDeflate, + true, + this.options.maxPayload + ); + + try { + const offers = extension.parse(secWebSocketExtensions); + + if (offers[PerMessageDeflate.extensionName]) { + perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]); + extensions[PerMessageDeflate.extensionName] = perMessageDeflate; + } + } catch (err) { + return abortHandshake(socket, 400); + } + } + + // + // Optionally call external client verification handler. + // + if (this.options.verifyClient) { + const info = { + origin: + req.headers[`${version === 8 ? 'sec-websocket-origin' : 'origin'}`], + secure: !!(req.socket.authorized || req.socket.encrypted), + req + }; + + if (this.options.verifyClient.length === 2) { + this.options.verifyClient(info, (verified, code, message, headers) => { + if (!verified) { + return abortHandshake(socket, code || 401, message, headers); + } + + this.completeUpgrade( + extensions, + key, + protocols, + req, + socket, + head, + cb + ); + }); + return; + } + + if (!this.options.verifyClient(info)) return abortHandshake(socket, 401); + } + + this.completeUpgrade(extensions, key, protocols, req, socket, head, cb); + } + + /** + * Upgrade the connection to WebSocket. + * + * @param {Object} extensions The accepted extensions + * @param {String} key The value of the `Sec-WebSocket-Key` header + * @param {Set} protocols The subprotocols + * @param {http.IncomingMessage} req The request object + * @param {(net.Socket|tls.Socket)} socket The network socket between the + * server and client + * @param {Buffer} head The first packet of the upgraded stream + * @param {Function} cb Callback + * @throws {Error} If called more than once with the same socket + * @private + */ + completeUpgrade(extensions, key, protocols, req, socket, head, cb) { + // + // Destroy the socket if the client has already sent a FIN packet. + // + if (!socket.readable || !socket.writable) return socket.destroy(); + + if (socket[kWebSocket]) { + throw new Error( + 'server.handleUpgrade() was called more than once with the same ' + + 'socket, possibly due to a misconfiguration' + ); + } + + if (this._state > RUNNING) return abortHandshake(socket, 503); + + const digest = createHash('sha1') + .update(key + GUID) + .digest('base64'); + + const headers = [ + 'HTTP/1.1 101 Switching Protocols', + 'Upgrade: websocket', + 'Connection: Upgrade', + `Sec-WebSocket-Accept: ${digest}` + ]; + + const ws = new this.options.WebSocket(null); + + if (protocols.size) { + // + // Optionally call external protocol selection handler. + // + const protocol = this.options.handleProtocols + ? this.options.handleProtocols(protocols, req) + : protocols.values().next().value; + + if (protocol) { + headers.push(`Sec-WebSocket-Protocol: ${protocol}`); + ws._protocol = protocol; + } + } + + if (extensions[PerMessageDeflate.extensionName]) { + const params = extensions[PerMessageDeflate.extensionName].params; + const value = extension.format({ + [PerMessageDeflate.extensionName]: [params] + }); + headers.push(`Sec-WebSocket-Extensions: ${value}`); + ws._extensions = extensions; + } + + // + // Allow external modification/inspection of handshake headers. + // + this.emit('headers', headers, req); + + socket.write(headers.concat('\r\n').join('\r\n')); + socket.removeListener('error', socketOnError); + + ws.setSocket(socket, head, { + maxPayload: this.options.maxPayload, + skipUTF8Validation: this.options.skipUTF8Validation + }); + + if (this.clients) { + this.clients.add(ws); + ws.on('close', () => { + this.clients.delete(ws); + + if (this._shouldEmitClose && !this.clients.size) { + process.nextTick(emitClose, this); + } + }); + } + + cb(ws, req); + } +} + +module.exports = WebSocketServer; + +/** + * Add event listeners on an `EventEmitter` using a map of + * pairs. + * + * @param {EventEmitter} server The event emitter + * @param {Object.} map The listeners to add + * @return {Function} A function that will remove the added listeners when + * called + * @private + */ +function addListeners(server, map) { + for (const event of Object.keys(map)) server.on(event, map[event]); + + return function removeListeners() { + for (const event of Object.keys(map)) { + server.removeListener(event, map[event]); + } + }; +} + +/** + * Emit a `'close'` event on an `EventEmitter`. + * + * @param {EventEmitter} server The event emitter + * @private + */ +function emitClose(server) { + server._state = CLOSED; + server.emit('close'); +} + +/** + * Handle premature socket errors. + * + * @private + */ +function socketOnError() { + this.destroy(); +} + +/** + * Close the connection when preconditions are not fulfilled. + * + * @param {(net.Socket|tls.Socket)} socket The socket of the upgrade request + * @param {Number} code The HTTP response status code + * @param {String} [message] The HTTP response body + * @param {Object} [headers] Additional HTTP response headers + * @private + */ +function abortHandshake(socket, code, message, headers) { + if (socket.writable) { + message = message || http.STATUS_CODES[code]; + headers = { + Connection: 'close', + 'Content-Type': 'text/html', + 'Content-Length': Buffer.byteLength(message), + ...headers + }; + + socket.write( + `HTTP/1.1 ${code} ${http.STATUS_CODES[code]}\r\n` + + Object.keys(headers) + .map((h) => `${h}: ${headers[h]}`) + .join('\r\n') + + '\r\n\r\n' + + message + ); + } + + socket.removeListener('error', socketOnError); + socket.destroy(); +} diff --git a/node_modules/ws/lib/websocket.js b/node_modules/ws/lib/websocket.js new file mode 100644 index 0000000..6fff935 --- /dev/null +++ b/node_modules/ws/lib/websocket.js @@ -0,0 +1,1264 @@ +/* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^Readable$" }] */ + +'use strict'; + +const EventEmitter = require('events'); +const https = require('https'); +const http = require('http'); +const net = require('net'); +const tls = require('tls'); +const { randomBytes, createHash } = require('crypto'); +const { Readable } = require('stream'); +const { URL } = require('url'); + +const PerMessageDeflate = require('./permessage-deflate'); +const Receiver = require('./receiver'); +const Sender = require('./sender'); +const { + BINARY_TYPES, + EMPTY_BUFFER, + GUID, + kForOnEventAttribute, + kListener, + kStatusCode, + kWebSocket, + NOOP +} = require('./constants'); +const { + EventTarget: { addEventListener, removeEventListener } +} = require('./event-target'); +const { format, parse } = require('./extension'); +const { toBuffer } = require('./buffer-util'); + +const readyStates = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED']; +const subprotocolRegex = /^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/; +const protocolVersions = [8, 13]; +const closeTimeout = 30 * 1000; + +/** + * Class representing a WebSocket. + * + * @extends EventEmitter + */ +class WebSocket extends EventEmitter { + /** + * Create a new `WebSocket`. + * + * @param {(String|URL)} address The URL to which to connect + * @param {(String|String[])} [protocols] The subprotocols + * @param {Object} [options] Connection options + */ + constructor(address, protocols, options) { + super(); + + this._binaryType = BINARY_TYPES[0]; + this._closeCode = 1006; + this._closeFrameReceived = false; + this._closeFrameSent = false; + this._closeMessage = EMPTY_BUFFER; + this._closeTimer = null; + this._extensions = {}; + this._paused = false; + this._protocol = ''; + this._readyState = WebSocket.CONNECTING; + this._receiver = null; + this._sender = null; + this._socket = null; + + if (address !== null) { + this._bufferedAmount = 0; + this._isServer = false; + this._redirects = 0; + + if (protocols === undefined) { + protocols = []; + } else if (!Array.isArray(protocols)) { + if (typeof protocols === 'object' && protocols !== null) { + options = protocols; + protocols = []; + } else { + protocols = [protocols]; + } + } + + initAsClient(this, address, protocols, options); + } else { + this._isServer = true; + } + } + + /** + * This deviates from the WHATWG interface since ws doesn't support the + * required default "blob" type (instead we define a custom "nodebuffer" + * type). + * + * @type {String} + */ + get binaryType() { + return this._binaryType; + } + + set binaryType(type) { + if (!BINARY_TYPES.includes(type)) return; + + this._binaryType = type; + + // + // Allow to change `binaryType` on the fly. + // + if (this._receiver) this._receiver._binaryType = type; + } + + /** + * @type {Number} + */ + get bufferedAmount() { + if (!this._socket) return this._bufferedAmount; + + return this._socket._writableState.length + this._sender._bufferedBytes; + } + + /** + * @type {String} + */ + get extensions() { + return Object.keys(this._extensions).join(); + } + + /** + * @type {Boolean} + */ + get isPaused() { + return this._paused; + } + + /** + * @type {Function} + */ + /* istanbul ignore next */ + get onclose() { + return null; + } + + /** + * @type {Function} + */ + /* istanbul ignore next */ + get onerror() { + return null; + } + + /** + * @type {Function} + */ + /* istanbul ignore next */ + get onopen() { + return null; + } + + /** + * @type {Function} + */ + /* istanbul ignore next */ + get onmessage() { + return null; + } + + /** + * @type {String} + */ + get protocol() { + return this._protocol; + } + + /** + * @type {Number} + */ + get readyState() { + return this._readyState; + } + + /** + * @type {String} + */ + get url() { + return this._url; + } + + /** + * Set up the socket and the internal resources. + * + * @param {(net.Socket|tls.Socket)} socket The network socket between the + * server and client + * @param {Buffer} head The first packet of the upgraded stream + * @param {Object} options Options object + * @param {Function} [options.generateMask] The function used to generate the + * masking key + * @param {Number} [options.maxPayload=0] The maximum allowed message size + * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or + * not to skip UTF-8 validation for text and close messages + * @private + */ + setSocket(socket, head, options) { + const receiver = new Receiver({ + binaryType: this.binaryType, + extensions: this._extensions, + isServer: this._isServer, + maxPayload: options.maxPayload, + skipUTF8Validation: options.skipUTF8Validation + }); + + this._sender = new Sender(socket, this._extensions, options.generateMask); + this._receiver = receiver; + this._socket = socket; + + receiver[kWebSocket] = this; + socket[kWebSocket] = this; + + receiver.on('conclude', receiverOnConclude); + receiver.on('drain', receiverOnDrain); + receiver.on('error', receiverOnError); + receiver.on('message', receiverOnMessage); + receiver.on('ping', receiverOnPing); + receiver.on('pong', receiverOnPong); + + socket.setTimeout(0); + socket.setNoDelay(); + + if (head.length > 0) socket.unshift(head); + + socket.on('close', socketOnClose); + socket.on('data', socketOnData); + socket.on('end', socketOnEnd); + socket.on('error', socketOnError); + + this._readyState = WebSocket.OPEN; + this.emit('open'); + } + + /** + * Emit the `'close'` event. + * + * @private + */ + emitClose() { + if (!this._socket) { + this._readyState = WebSocket.CLOSED; + this.emit('close', this._closeCode, this._closeMessage); + return; + } + + if (this._extensions[PerMessageDeflate.extensionName]) { + this._extensions[PerMessageDeflate.extensionName].cleanup(); + } + + this._receiver.removeAllListeners(); + this._readyState = WebSocket.CLOSED; + this.emit('close', this._closeCode, this._closeMessage); + } + + /** + * Start a closing handshake. + * + * +----------+ +-----------+ +----------+ + * - - -|ws.close()|-->|close frame|-->|ws.close()|- - - + * | +----------+ +-----------+ +----------+ | + * +----------+ +-----------+ | + * CLOSING |ws.close()|<--|close frame|<--+-----+ CLOSING + * +----------+ +-----------+ | + * | | | +---+ | + * +------------------------+-->|fin| - - - - + * | +---+ | +---+ + * - - - - -|fin|<---------------------+ + * +---+ + * + * @param {Number} [code] Status code explaining why the connection is closing + * @param {(String|Buffer)} [data] The reason why the connection is + * closing + * @public + */ + close(code, data) { + if (this.readyState === WebSocket.CLOSED) return; + if (this.readyState === WebSocket.CONNECTING) { + const msg = 'WebSocket was closed before the connection was established'; + return abortHandshake(this, this._req, msg); + } + + if (this.readyState === WebSocket.CLOSING) { + if ( + this._closeFrameSent && + (this._closeFrameReceived || this._receiver._writableState.errorEmitted) + ) { + this._socket.end(); + } + + return; + } + + this._readyState = WebSocket.CLOSING; + this._sender.close(code, data, !this._isServer, (err) => { + // + // This error is handled by the `'error'` listener on the socket. We only + // want to know if the close frame has been sent here. + // + if (err) return; + + this._closeFrameSent = true; + + if ( + this._closeFrameReceived || + this._receiver._writableState.errorEmitted + ) { + this._socket.end(); + } + }); + + // + // Specify a timeout for the closing handshake to complete. + // + this._closeTimer = setTimeout( + this._socket.destroy.bind(this._socket), + closeTimeout + ); + } + + /** + * Pause the socket. + * + * @public + */ + pause() { + if ( + this.readyState === WebSocket.CONNECTING || + this.readyState === WebSocket.CLOSED + ) { + return; + } + + this._paused = true; + this._socket.pause(); + } + + /** + * Send a ping. + * + * @param {*} [data] The data to send + * @param {Boolean} [mask] Indicates whether or not to mask `data` + * @param {Function} [cb] Callback which is executed when the ping is sent + * @public + */ + ping(data, mask, cb) { + if (this.readyState === WebSocket.CONNECTING) { + throw new Error('WebSocket is not open: readyState 0 (CONNECTING)'); + } + + if (typeof data === 'function') { + cb = data; + data = mask = undefined; + } else if (typeof mask === 'function') { + cb = mask; + mask = undefined; + } + + if (typeof data === 'number') data = data.toString(); + + if (this.readyState !== WebSocket.OPEN) { + sendAfterClose(this, data, cb); + return; + } + + if (mask === undefined) mask = !this._isServer; + this._sender.ping(data || EMPTY_BUFFER, mask, cb); + } + + /** + * Send a pong. + * + * @param {*} [data] The data to send + * @param {Boolean} [mask] Indicates whether or not to mask `data` + * @param {Function} [cb] Callback which is executed when the pong is sent + * @public + */ + pong(data, mask, cb) { + if (this.readyState === WebSocket.CONNECTING) { + throw new Error('WebSocket is not open: readyState 0 (CONNECTING)'); + } + + if (typeof data === 'function') { + cb = data; + data = mask = undefined; + } else if (typeof mask === 'function') { + cb = mask; + mask = undefined; + } + + if (typeof data === 'number') data = data.toString(); + + if (this.readyState !== WebSocket.OPEN) { + sendAfterClose(this, data, cb); + return; + } + + if (mask === undefined) mask = !this._isServer; + this._sender.pong(data || EMPTY_BUFFER, mask, cb); + } + + /** + * Resume the socket. + * + * @public + */ + resume() { + if ( + this.readyState === WebSocket.CONNECTING || + this.readyState === WebSocket.CLOSED + ) { + return; + } + + this._paused = false; + if (!this._receiver._writableState.needDrain) this._socket.resume(); + } + + /** + * Send a data message. + * + * @param {*} data The message to send + * @param {Object} [options] Options object + * @param {Boolean} [options.binary] Specifies whether `data` is binary or + * text + * @param {Boolean} [options.compress] Specifies whether or not to compress + * `data` + * @param {Boolean} [options.fin=true] Specifies whether the fragment is the + * last one + * @param {Boolean} [options.mask] Specifies whether or not to mask `data` + * @param {Function} [cb] Callback which is executed when data is written out + * @public + */ + send(data, options, cb) { + if (this.readyState === WebSocket.CONNECTING) { + throw new Error('WebSocket is not open: readyState 0 (CONNECTING)'); + } + + if (typeof options === 'function') { + cb = options; + options = {}; + } + + if (typeof data === 'number') data = data.toString(); + + if (this.readyState !== WebSocket.OPEN) { + sendAfterClose(this, data, cb); + return; + } + + const opts = { + binary: typeof data !== 'string', + mask: !this._isServer, + compress: true, + fin: true, + ...options + }; + + if (!this._extensions[PerMessageDeflate.extensionName]) { + opts.compress = false; + } + + this._sender.send(data || EMPTY_BUFFER, opts, cb); + } + + /** + * Forcibly close the connection. + * + * @public + */ + terminate() { + if (this.readyState === WebSocket.CLOSED) return; + if (this.readyState === WebSocket.CONNECTING) { + const msg = 'WebSocket was closed before the connection was established'; + return abortHandshake(this, this._req, msg); + } + + if (this._socket) { + this._readyState = WebSocket.CLOSING; + this._socket.destroy(); + } + } +} + +/** + * @constant {Number} CONNECTING + * @memberof WebSocket + */ +Object.defineProperty(WebSocket, 'CONNECTING', { + enumerable: true, + value: readyStates.indexOf('CONNECTING') +}); + +/** + * @constant {Number} CONNECTING + * @memberof WebSocket.prototype + */ +Object.defineProperty(WebSocket.prototype, 'CONNECTING', { + enumerable: true, + value: readyStates.indexOf('CONNECTING') +}); + +/** + * @constant {Number} OPEN + * @memberof WebSocket + */ +Object.defineProperty(WebSocket, 'OPEN', { + enumerable: true, + value: readyStates.indexOf('OPEN') +}); + +/** + * @constant {Number} OPEN + * @memberof WebSocket.prototype + */ +Object.defineProperty(WebSocket.prototype, 'OPEN', { + enumerable: true, + value: readyStates.indexOf('OPEN') +}); + +/** + * @constant {Number} CLOSING + * @memberof WebSocket + */ +Object.defineProperty(WebSocket, 'CLOSING', { + enumerable: true, + value: readyStates.indexOf('CLOSING') +}); + +/** + * @constant {Number} CLOSING + * @memberof WebSocket.prototype + */ +Object.defineProperty(WebSocket.prototype, 'CLOSING', { + enumerable: true, + value: readyStates.indexOf('CLOSING') +}); + +/** + * @constant {Number} CLOSED + * @memberof WebSocket + */ +Object.defineProperty(WebSocket, 'CLOSED', { + enumerable: true, + value: readyStates.indexOf('CLOSED') +}); + +/** + * @constant {Number} CLOSED + * @memberof WebSocket.prototype + */ +Object.defineProperty(WebSocket.prototype, 'CLOSED', { + enumerable: true, + value: readyStates.indexOf('CLOSED') +}); + +[ + 'binaryType', + 'bufferedAmount', + 'extensions', + 'isPaused', + 'protocol', + 'readyState', + 'url' +].forEach((property) => { + Object.defineProperty(WebSocket.prototype, property, { enumerable: true }); +}); + +// +// Add the `onopen`, `onerror`, `onclose`, and `onmessage` attributes. +// See https://html.spec.whatwg.org/multipage/comms.html#the-websocket-interface +// +['open', 'error', 'close', 'message'].forEach((method) => { + Object.defineProperty(WebSocket.prototype, `on${method}`, { + enumerable: true, + get() { + for (const listener of this.listeners(method)) { + if (listener[kForOnEventAttribute]) return listener[kListener]; + } + + return null; + }, + set(handler) { + for (const listener of this.listeners(method)) { + if (listener[kForOnEventAttribute]) { + this.removeListener(method, listener); + break; + } + } + + if (typeof handler !== 'function') return; + + this.addEventListener(method, handler, { + [kForOnEventAttribute]: true + }); + } + }); +}); + +WebSocket.prototype.addEventListener = addEventListener; +WebSocket.prototype.removeEventListener = removeEventListener; + +module.exports = WebSocket; + +/** + * Initialize a WebSocket client. + * + * @param {WebSocket} websocket The client to initialize + * @param {(String|URL)} address The URL to which to connect + * @param {Array} protocols The subprotocols + * @param {Object} [options] Connection options + * @param {Boolean} [options.followRedirects=false] Whether or not to follow + * redirects + * @param {Function} [options.generateMask] The function used to generate the + * masking key + * @param {Number} [options.handshakeTimeout] Timeout in milliseconds for the + * handshake request + * @param {Number} [options.maxPayload=104857600] The maximum allowed message + * size + * @param {Number} [options.maxRedirects=10] The maximum number of redirects + * allowed + * @param {String} [options.origin] Value of the `Origin` or + * `Sec-WebSocket-Origin` header + * @param {(Boolean|Object)} [options.perMessageDeflate=true] Enable/disable + * permessage-deflate + * @param {Number} [options.protocolVersion=13] Value of the + * `Sec-WebSocket-Version` header + * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or + * not to skip UTF-8 validation for text and close messages + * @private + */ +function initAsClient(websocket, address, protocols, options) { + const opts = { + protocolVersion: protocolVersions[1], + maxPayload: 100 * 1024 * 1024, + skipUTF8Validation: false, + perMessageDeflate: true, + followRedirects: false, + maxRedirects: 10, + ...options, + createConnection: undefined, + socketPath: undefined, + hostname: undefined, + protocol: undefined, + timeout: undefined, + method: undefined, + host: undefined, + path: undefined, + port: undefined + }; + + if (!protocolVersions.includes(opts.protocolVersion)) { + throw new RangeError( + `Unsupported protocol version: ${opts.protocolVersion} ` + + `(supported versions: ${protocolVersions.join(', ')})` + ); + } + + let parsedUrl; + + if (address instanceof URL) { + parsedUrl = address; + websocket._url = address.href; + } else { + try { + parsedUrl = new URL(address); + } catch (e) { + throw new SyntaxError(`Invalid URL: ${address}`); + } + + websocket._url = address; + } + + const isSecure = parsedUrl.protocol === 'wss:'; + const isUnixSocket = parsedUrl.protocol === 'ws+unix:'; + let invalidURLMessage; + + if (parsedUrl.protocol !== 'ws:' && !isSecure && !isUnixSocket) { + invalidURLMessage = + 'The URL\'s protocol must be one of "ws:", "wss:", or "ws+unix:"'; + } else if (isUnixSocket && !parsedUrl.pathname) { + invalidURLMessage = "The URL's pathname is empty"; + } else if (parsedUrl.hash) { + invalidURLMessage = 'The URL contains a fragment identifier'; + } + + if (invalidURLMessage) { + const err = new SyntaxError(invalidURLMessage); + + if (websocket._redirects === 0) { + throw err; + } else { + emitErrorAndClose(websocket, err); + return; + } + } + + const defaultPort = isSecure ? 443 : 80; + const key = randomBytes(16).toString('base64'); + const get = isSecure ? https.get : http.get; + const protocolSet = new Set(); + let perMessageDeflate; + + opts.createConnection = isSecure ? tlsConnect : netConnect; + opts.defaultPort = opts.defaultPort || defaultPort; + opts.port = parsedUrl.port || defaultPort; + opts.host = parsedUrl.hostname.startsWith('[') + ? parsedUrl.hostname.slice(1, -1) + : parsedUrl.hostname; + opts.headers = { + 'Sec-WebSocket-Version': opts.protocolVersion, + 'Sec-WebSocket-Key': key, + Connection: 'Upgrade', + Upgrade: 'websocket', + ...opts.headers + }; + opts.path = parsedUrl.pathname + parsedUrl.search; + opts.timeout = opts.handshakeTimeout; + + if (opts.perMessageDeflate) { + perMessageDeflate = new PerMessageDeflate( + opts.perMessageDeflate !== true ? opts.perMessageDeflate : {}, + false, + opts.maxPayload + ); + opts.headers['Sec-WebSocket-Extensions'] = format({ + [PerMessageDeflate.extensionName]: perMessageDeflate.offer() + }); + } + if (protocols.length) { + for (const protocol of protocols) { + if ( + typeof protocol !== 'string' || + !subprotocolRegex.test(protocol) || + protocolSet.has(protocol) + ) { + throw new SyntaxError( + 'An invalid or duplicated subprotocol was specified' + ); + } + + protocolSet.add(protocol); + } + + opts.headers['Sec-WebSocket-Protocol'] = protocols.join(','); + } + if (opts.origin) { + if (opts.protocolVersion < 13) { + opts.headers['Sec-WebSocket-Origin'] = opts.origin; + } else { + opts.headers.Origin = opts.origin; + } + } + if (parsedUrl.username || parsedUrl.password) { + opts.auth = `${parsedUrl.username}:${parsedUrl.password}`; + } + + if (isUnixSocket) { + const parts = opts.path.split(':'); + + opts.socketPath = parts[0]; + opts.path = parts[1]; + } + + if (opts.followRedirects) { + if (websocket._redirects === 0) { + websocket._originalHost = parsedUrl.host; + + const headers = options && options.headers; + + // + // Shallow copy the user provided options so that headers can be changed + // without mutating the original object. + // + options = { ...options, headers: {} }; + + if (headers) { + for (const [key, value] of Object.entries(headers)) { + options.headers[key.toLowerCase()] = value; + } + } + } else if (parsedUrl.host !== websocket._originalHost) { + // + // Match curl 7.77.0 behavior and drop the following headers. These + // headers are also dropped when following a redirect to a subdomain. + // + delete opts.headers.authorization; + delete opts.headers.cookie; + delete opts.headers.host; + opts.auth = undefined; + } + + // + // Match curl 7.77.0 behavior and make the first `Authorization` header win. + // If the `Authorization` header is set, then there is nothing to do as it + // will take precedence. + // + if (opts.auth && !options.headers.authorization) { + options.headers.authorization = + 'Basic ' + Buffer.from(opts.auth).toString('base64'); + } + } + + let req = (websocket._req = get(opts)); + + if (opts.timeout) { + req.on('timeout', () => { + abortHandshake(websocket, req, 'Opening handshake has timed out'); + }); + } + + req.on('error', (err) => { + if (req === null || req.aborted) return; + + req = websocket._req = null; + emitErrorAndClose(websocket, err); + }); + + req.on('response', (res) => { + const location = res.headers.location; + const statusCode = res.statusCode; + + if ( + location && + opts.followRedirects && + statusCode >= 300 && + statusCode < 400 + ) { + if (++websocket._redirects > opts.maxRedirects) { + abortHandshake(websocket, req, 'Maximum redirects exceeded'); + return; + } + + req.abort(); + + let addr; + + try { + addr = new URL(location, address); + } catch (e) { + const err = new SyntaxError(`Invalid URL: ${location}`); + emitErrorAndClose(websocket, err); + return; + } + + initAsClient(websocket, addr, protocols, options); + } else if (!websocket.emit('unexpected-response', req, res)) { + abortHandshake( + websocket, + req, + `Unexpected server response: ${res.statusCode}` + ); + } + }); + + req.on('upgrade', (res, socket, head) => { + websocket.emit('upgrade', res); + + // + // The user may have closed the connection from a listener of the `upgrade` + // event. + // + if (websocket.readyState !== WebSocket.CONNECTING) return; + + req = websocket._req = null; + + const digest = createHash('sha1') + .update(key + GUID) + .digest('base64'); + + if (res.headers['sec-websocket-accept'] !== digest) { + abortHandshake(websocket, socket, 'Invalid Sec-WebSocket-Accept header'); + return; + } + + const serverProt = res.headers['sec-websocket-protocol']; + let protError; + + if (serverProt !== undefined) { + if (!protocolSet.size) { + protError = 'Server sent a subprotocol but none was requested'; + } else if (!protocolSet.has(serverProt)) { + protError = 'Server sent an invalid subprotocol'; + } + } else if (protocolSet.size) { + protError = 'Server sent no subprotocol'; + } + + if (protError) { + abortHandshake(websocket, socket, protError); + return; + } + + if (serverProt) websocket._protocol = serverProt; + + const secWebSocketExtensions = res.headers['sec-websocket-extensions']; + + if (secWebSocketExtensions !== undefined) { + if (!perMessageDeflate) { + const message = + 'Server sent a Sec-WebSocket-Extensions header but no extension ' + + 'was requested'; + abortHandshake(websocket, socket, message); + return; + } + + let extensions; + + try { + extensions = parse(secWebSocketExtensions); + } catch (err) { + const message = 'Invalid Sec-WebSocket-Extensions header'; + abortHandshake(websocket, socket, message); + return; + } + + const extensionNames = Object.keys(extensions); + + if ( + extensionNames.length !== 1 || + extensionNames[0] !== PerMessageDeflate.extensionName + ) { + const message = 'Server indicated an extension that was not requested'; + abortHandshake(websocket, socket, message); + return; + } + + try { + perMessageDeflate.accept(extensions[PerMessageDeflate.extensionName]); + } catch (err) { + const message = 'Invalid Sec-WebSocket-Extensions header'; + abortHandshake(websocket, socket, message); + return; + } + + websocket._extensions[PerMessageDeflate.extensionName] = + perMessageDeflate; + } + + websocket.setSocket(socket, head, { + generateMask: opts.generateMask, + maxPayload: opts.maxPayload, + skipUTF8Validation: opts.skipUTF8Validation + }); + }); +} + +/** + * Emit the `'error'` and `'close'` event. + * + * @param {WebSocket} websocket The WebSocket instance + * @param {Error} The error to emit + * @private + */ +function emitErrorAndClose(websocket, err) { + websocket._readyState = WebSocket.CLOSING; + websocket.emit('error', err); + websocket.emitClose(); +} + +/** + * Create a `net.Socket` and initiate a connection. + * + * @param {Object} options Connection options + * @return {net.Socket} The newly created socket used to start the connection + * @private + */ +function netConnect(options) { + options.path = options.socketPath; + return net.connect(options); +} + +/** + * Create a `tls.TLSSocket` and initiate a connection. + * + * @param {Object} options Connection options + * @return {tls.TLSSocket} The newly created socket used to start the connection + * @private + */ +function tlsConnect(options) { + options.path = undefined; + + if (!options.servername && options.servername !== '') { + options.servername = net.isIP(options.host) ? '' : options.host; + } + + return tls.connect(options); +} + +/** + * Abort the handshake and emit an error. + * + * @param {WebSocket} websocket The WebSocket instance + * @param {(http.ClientRequest|net.Socket|tls.Socket)} stream The request to + * abort or the socket to destroy + * @param {String} message The error message + * @private + */ +function abortHandshake(websocket, stream, message) { + websocket._readyState = WebSocket.CLOSING; + + const err = new Error(message); + Error.captureStackTrace(err, abortHandshake); + + if (stream.setHeader) { + stream.abort(); + + if (stream.socket && !stream.socket.destroyed) { + // + // On Node.js >= 14.3.0 `request.abort()` does not destroy the socket if + // called after the request completed. See + // https://github.com/websockets/ws/issues/1869. + // + stream.socket.destroy(); + } + + stream.once('abort', websocket.emitClose.bind(websocket)); + websocket.emit('error', err); + } else { + stream.destroy(err); + stream.once('error', websocket.emit.bind(websocket, 'error')); + stream.once('close', websocket.emitClose.bind(websocket)); + } +} + +/** + * Handle cases where the `ping()`, `pong()`, or `send()` methods are called + * when the `readyState` attribute is `CLOSING` or `CLOSED`. + * + * @param {WebSocket} websocket The WebSocket instance + * @param {*} [data] The data to send + * @param {Function} [cb] Callback + * @private + */ +function sendAfterClose(websocket, data, cb) { + if (data) { + const length = toBuffer(data).length; + + // + // The `_bufferedAmount` property is used only when the peer is a client and + // the opening handshake fails. Under these circumstances, in fact, the + // `setSocket()` method is not called, so the `_socket` and `_sender` + // properties are set to `null`. + // + if (websocket._socket) websocket._sender._bufferedBytes += length; + else websocket._bufferedAmount += length; + } + + if (cb) { + const err = new Error( + `WebSocket is not open: readyState ${websocket.readyState} ` + + `(${readyStates[websocket.readyState]})` + ); + cb(err); + } +} + +/** + * The listener of the `Receiver` `'conclude'` event. + * + * @param {Number} code The status code + * @param {Buffer} reason The reason for closing + * @private + */ +function receiverOnConclude(code, reason) { + const websocket = this[kWebSocket]; + + websocket._closeFrameReceived = true; + websocket._closeMessage = reason; + websocket._closeCode = code; + + if (websocket._socket[kWebSocket] === undefined) return; + + websocket._socket.removeListener('data', socketOnData); + process.nextTick(resume, websocket._socket); + + if (code === 1005) websocket.close(); + else websocket.close(code, reason); +} + +/** + * The listener of the `Receiver` `'drain'` event. + * + * @private + */ +function receiverOnDrain() { + const websocket = this[kWebSocket]; + + if (!websocket.isPaused) websocket._socket.resume(); +} + +/** + * The listener of the `Receiver` `'error'` event. + * + * @param {(RangeError|Error)} err The emitted error + * @private + */ +function receiverOnError(err) { + const websocket = this[kWebSocket]; + + if (websocket._socket[kWebSocket] !== undefined) { + websocket._socket.removeListener('data', socketOnData); + + // + // On Node.js < 14.0.0 the `'error'` event is emitted synchronously. See + // https://github.com/websockets/ws/issues/1940. + // + process.nextTick(resume, websocket._socket); + + websocket.close(err[kStatusCode]); + } + + websocket.emit('error', err); +} + +/** + * The listener of the `Receiver` `'finish'` event. + * + * @private + */ +function receiverOnFinish() { + this[kWebSocket].emitClose(); +} + +/** + * The listener of the `Receiver` `'message'` event. + * + * @param {Buffer|ArrayBuffer|Buffer[])} data The message + * @param {Boolean} isBinary Specifies whether the message is binary or not + * @private + */ +function receiverOnMessage(data, isBinary) { + this[kWebSocket].emit('message', data, isBinary); +} + +/** + * The listener of the `Receiver` `'ping'` event. + * + * @param {Buffer} data The data included in the ping frame + * @private + */ +function receiverOnPing(data) { + const websocket = this[kWebSocket]; + + websocket.pong(data, !websocket._isServer, NOOP); + websocket.emit('ping', data); +} + +/** + * The listener of the `Receiver` `'pong'` event. + * + * @param {Buffer} data The data included in the pong frame + * @private + */ +function receiverOnPong(data) { + this[kWebSocket].emit('pong', data); +} + +/** + * Resume a readable stream + * + * @param {Readable} stream The readable stream + * @private + */ +function resume(stream) { + stream.resume(); +} + +/** + * The listener of the `net.Socket` `'close'` event. + * + * @private + */ +function socketOnClose() { + const websocket = this[kWebSocket]; + + this.removeListener('close', socketOnClose); + this.removeListener('data', socketOnData); + this.removeListener('end', socketOnEnd); + + websocket._readyState = WebSocket.CLOSING; + + let chunk; + + // + // The close frame might not have been received or the `'end'` event emitted, + // for example, if the socket was destroyed due to an error. Ensure that the + // `receiver` stream is closed after writing any remaining buffered data to + // it. If the readable side of the socket is in flowing mode then there is no + // buffered data as everything has been already written and `readable.read()` + // will return `null`. If instead, the socket is paused, any possible buffered + // data will be read as a single chunk. + // + if ( + !this._readableState.endEmitted && + !websocket._closeFrameReceived && + !websocket._receiver._writableState.errorEmitted && + (chunk = websocket._socket.read()) !== null + ) { + websocket._receiver.write(chunk); + } + + websocket._receiver.end(); + + this[kWebSocket] = undefined; + + clearTimeout(websocket._closeTimer); + + if ( + websocket._receiver._writableState.finished || + websocket._receiver._writableState.errorEmitted + ) { + websocket.emitClose(); + } else { + websocket._receiver.on('error', receiverOnFinish); + websocket._receiver.on('finish', receiverOnFinish); + } +} + +/** + * The listener of the `net.Socket` `'data'` event. + * + * @param {Buffer} chunk A chunk of data + * @private + */ +function socketOnData(chunk) { + if (!this[kWebSocket]._receiver.write(chunk)) { + this.pause(); + } +} + +/** + * The listener of the `net.Socket` `'end'` event. + * + * @private + */ +function socketOnEnd() { + const websocket = this[kWebSocket]; + + websocket._readyState = WebSocket.CLOSING; + websocket._receiver.end(); + this.end(); +} + +/** + * The listener of the `net.Socket` `'error'` event. + * + * @private + */ +function socketOnError() { + const websocket = this[kWebSocket]; + + this.removeListener('error', socketOnError); + this.on('error', NOOP); + + if (websocket) { + websocket._readyState = WebSocket.CLOSING; + this.destroy(); + } +} diff --git a/node_modules/ws/package.json b/node_modules/ws/package.json new file mode 100644 index 0000000..57ddc7e --- /dev/null +++ b/node_modules/ws/package.json @@ -0,0 +1,61 @@ +{ + "name": "ws", + "version": "8.5.0", + "description": "Simple to use, blazing fast and thoroughly tested websocket client and server for Node.js", + "keywords": [ + "HyBi", + "Push", + "RFC-6455", + "WebSocket", + "WebSockets", + "real-time" + ], + "homepage": "https://github.com/websockets/ws", + "bugs": "https://github.com/websockets/ws/issues", + "repository": "websockets/ws", + "author": "Einar Otto Stangvik (http://2x.io)", + "license": "MIT", + "main": "index.js", + "exports": { + "import": "./wrapper.mjs", + "require": "./index.js" + }, + "browser": "browser.js", + "engines": { + "node": ">=10.0.0" + }, + "files": [ + "browser.js", + "index.js", + "lib/*.js", + "wrapper.mjs" + ], + "scripts": { + "test": "nyc --reporter=lcov --reporter=text mocha --throw-deprecation test/*.test.js", + "integration": "mocha --throw-deprecation test/*.integration.js", + "lint": "eslint --ignore-path .gitignore . && prettier --check --ignore-path .gitignore \"**/*.{json,md,yaml,yml}\"" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + }, + "devDependencies": { + "benchmark": "^2.1.4", + "bufferutil": "^4.0.1", + "eslint": "^8.0.0", + "eslint-config-prettier": "^8.1.0", + "eslint-plugin-prettier": "^4.0.0", + "mocha": "^8.4.0", + "nyc": "^15.0.0", + "prettier": "^2.0.5", + "utf-8-validate": "^5.0.2" + } +} diff --git a/node_modules/ws/wrapper.mjs b/node_modules/ws/wrapper.mjs new file mode 100644 index 0000000..7245ad1 --- /dev/null +++ b/node_modules/ws/wrapper.mjs @@ -0,0 +1,8 @@ +import createWebSocketStream from './lib/stream.js'; +import Receiver from './lib/receiver.js'; +import Sender from './lib/sender.js'; +import WebSocket from './lib/websocket.js'; +import WebSocketServer from './lib/websocket-server.js'; + +export { createWebSocketStream, Receiver, Sender, WebSocket, WebSocketServer }; +export default WebSocket; diff --git a/node_modules/zod/LICENSE b/node_modules/zod/LICENSE new file mode 100644 index 0000000..2c93bb5 --- /dev/null +++ b/node_modules/zod/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Colin McDonnell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/zod/README.md b/node_modules/zod/README.md new file mode 100644 index 0000000..696b943 --- /dev/null +++ b/node_modules/zod/README.md @@ -0,0 +1,1830 @@ +

+ +

Zod

+

+

+Created by Colin McDonnell +License +npm +stars +coverage + +

+

+by [@colinhacks](https://twitter.com/colinhacks) +

+ +> Hi! Colin here, creator of Zod. I hope you find it easy to use and powerful enough for all your use cases. If you have any issues or suggestions, please [open an issue](https://github.com/colinhacks/zod/issues/new)! +> +> If you like typesafety, check out my other library [tRPC](https://trpc.io). It works in concert with Zod to provide a seamless way to build end-to-end typesafe APIs without GraphQL or code generation — just TypeScript. +> +> Colin (AKA [@colinhacks](https://twitter.com/colinhacks)) + +
+ +This docs have been translated into [Chinese](./README_ZH.md). + +# Table of contents + +- [What is Zod](#what-is-zod) +- [Installation](#installation) +- [Ecosystem](#ecosystem) +- [Basic usage](#basic-usage) +- [Defining schemas](#defining-schemas) + - [Primitives](#primitives) + - [Literals](#literals) + - [Strings](#strings) + - [Numbers](#numbers) + - [Booleans](#booleans) + - [Enums](#enums) + - [Zod enums](#zod-enums) + - [Native enums](#native-enums) + - [Optionals](#optionals) + - [Nullables](#nullables) + - [Objects](#objects) + - [.shape](#shape) + - [.extend](#extend) + - [.merge](#merge) + - [.pick/.omit](#pickomit) + - [.partial](#partial) + - [.deepPartial](#deepPartial) + - [.passthrough](#passthrough) + - [.strict](#strict) + - [.strip](#strip) + - [.catchall](#catchall) + - [Arrays](#arrays) + - [.nonempty](#nonempty) + - [.min/.max/.length](#minmaxlength) + - [Tuples](#tuples) + - [Records](#records) + - [Maps](#maps) + - [Sets](#sets) + - [Unions](#unions) + - [Recursive types](#recursive-types) + - [JSON type](#json-type) + - [Cyclical data](#cyclical-objects) + - [Promises](#promises) + - [Instanceof](#instanceof) + - [Function schemas](#function-schemas) + - [Preprocess](#preprocess) +- [Schema methods](#zodtype-methods-and-properties) + - [.parse](#parse) + - [.parseAsync](#parseasync) + - [.safeParse](#safeparse) + - [.safeParseAsync](#safeparseasync) + - [.refine](#refine) + - [.superRefine](#superRefine) + - [.transform](#transform) + - [.default](#default) + - [.optional](#optional) + - [.nullable](#nullable) + - [.nullish](#nullish) + - [.array](#array) + - [.promise](#promise) + - [.or](#or) + - [.and](#and) +- [Type inference](#type-inference) +- [Errors](#errors) +- [Comparison](#comparison) + - [Joi](#joi) + - [Yup](#yup) + - [io-ts](#io-ts) + - [Runtypes](#runtypes) +- [Changelog](#changelog) + + + +# What is Zod + +Zod is a TypeScript-first schema declaration and validation library. I'm using the term "schema" to broadly refer to any data type, from a simple `string` to a complex nested object. + +Zod is designed to be as developer-friendly as possible. The goal is to eliminate duplicative type declarations. With Zod, you declare a validator _once_ and Zod will automatically infer the static TypeScript type. It's easy to compose simpler types into complex data structures. + +Some other great aspects: + +- Zero dependencies +- Works in Node.js and browsers (including IE 11) +- Tiny: 8kb minified + zipped +- Immutable: methods (i.e. `.optional()` return a new instance +- Concise, chainable interface +- Functional approach: [parse, don't validate](https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-validate/) +- Works with plain JavaScript too! You don't need to use TypeScript. + +# Sponsorship + +Sponsorship at any level is appreciated and encouraged. Zod is maintained by a solo developer ([hi!](https://twitter.com/colinhacks)). For individual developers, consider the [Cup of Coffee tier](https://github.com/sponsors/colinhacks). If you built a paid product using Zod, consider the [Startup tier](https://github.com/sponsors/colinhacks). You can learn more about the tiers at [github.com/sponsors/colinhacks](https://github.com/sponsors/colinhacks). + +### Sponsors + + + + + + + + + + + + + +
+ + + +
+ Deletype +
+ deletype.com/ +
+ + + +
+ Kevin Simper +
+ @kevinsimper +
+ + + +
+ Brandon Bayer +
+ @flybayer, + creator of Blitz.js +
+
+ + + +
+ Bamboo Creative +
+ bamboocreative.nz +
+ + + +
+ Jeremy Banks +
+ github.com/jeremyBanks +
+ + Marcato Partners + +
+ Marcato Partners +
+ marcatopartners.com +
+ +_To get your name + Twitter + website here, sponsor Zod at the [Freelancer](https://github.com/sponsors/colinhacks) or [Consultancy](https://github.com/sponsors/colinhacks) tier._ + +# Installation + +To install Zod v3: + +```sh +npm install zod +``` + +⚠️ IMPORTANT: You must enable `strict` mode in your `tsconfig.json`. This is a best practice for all TypeScript projects. + +```ts +// tsconfig.json +{ + // ... + "compilerOptions": { + // ... + "strict": true + } +} +``` + +#### TypeScript requirements + +- Zod 3.x requires TypeScript 4.1+ +- Zod 2.x requires TypeScript 3.7+ +- Zod 1.x requires TypeScript 3.3+ + +# Ecosystem + +There are a growing number of tools that are built atop or support Zod natively! If you've built a tool or library on top of Zod, tell me about it [on Twitter](https://twitter.com/colinhacks) or [start a Discussion](https://github.com/colinhacks/zod/discussions). I'll add it below and tweet it out. + +- [`tRPC`](https://github.com/trpc/trpc): Build end-to-end typesafe APIs without GraphQL. +- [`ts-to-zod`](https://github.com/fabien0102/ts-to-zod): Convert TypeScript definitions into Zod schemas. +- [`@anatine/zod-openapi`](https://github.com/anatine/zod-plugins/tree/main/libs/zod-openapi): Converts a Zod schema to an OpenAPI v3.x `SchemaObject`. +- [`@anatine/zod-mock`](https://github.com/anatine/zod-plugins/tree/main/libs/zod-mock): Generate mock data from a Zod schema. Powered by [faker.js](https://github.com/Marak/Faker.js). +- [`@anatine/zod-nestjs`](https://github.com/anatine/zod-plugins/tree/main/libs/zod-nestjs): Helper methods for using Zod in a NestJS project. +- [`zod-mocking`](https://github.com/dipasqualew/zod-mocking): Generate mock data from your Zod schemas. +- [`zod-fast-check`](https://github.com/DavidTimms/zod-fast-check): Generate `fast-check` arbitraries from Zod schemas. +- [`zod-endpoints`](https://github.com/flock-community/zod-endpoints): Contract-first strictly typed endpoints with Zod. OpenAPI compatible. +- [`express-zod-api`](https://github.com/RobinTail/express-zod-api): Build Express-based APIs with I/O schema validation and custom middlewares. +- [`zod-to-json-schema`](https://github.com/StefanTerdell/zod-to-json-schema): Convert your Zod schemas into [JSON Schemas](https://json-schema.org/). +- [`json-to-zod`](https://github.com/rsinohara/json-to-zod): Convert JSON objects into Zod schemas. Use it live [here](https://rsinohara.github.io/json-to-zod-react/). +- [`zod-dto`](https://github.com/kbkk/abitia/tree/master/packages/zod-dto): Generate Nest.js DTOs from a Zod schema. + +### Form integrations + +- [`react-hook-form`](https://github.com/react-hook-form/resolvers#zod): A first-party Zod resolver for React Hook Form +- [`formik`](https://github.com/robertLichtnow/zod-formik-adapter): A community-maintained Formik adapter for Zod + +# Basic usage + +Creating a simple string schema + +```ts +import { z } from "zod"; + +// creating a schema for strings +const mySchema = z.string(); + +// parsing +mySchema.parse("tuna"); // => "tuna" +mySchema.parse(12); // => throws ZodError + +// "safe" parsing (doesn't throw error if validation fails) +mySchema.safeParse("tuna"); // => { success: true; data: "tuna" } +mySchema.safeParse(12); // => { success: false; error: ZodError } +``` + +Creating an object schema + +```ts +import { z } from "zod"; + +const User = z.object({ + username: z.string(), +}); + +User.parse({ username: "Ludwig" }); + +// extract the inferred type +type User = z.infer; +// { username: string } +``` + +# Defining schemas + +## Primitives + +```ts +import { z } from "zod"; + +// primitive values +z.string(); +z.number(); +z.bigint(); +z.boolean(); +z.date(); + +// empty types +z.undefined(); +z.null(); +z.void(); // accepts undefined + +// catch-all types +// allows any value +z.any(); +z.unknown(); + +// never type +// allows no values +z.never(); +``` + +## Literals + +```ts +const tuna = z.literal("tuna"); +const twelve = z.literal(12); +const tru = z.literal(true); + +// retrieve literal value +tuna.value; // "tuna" +``` + +> Currently there is no support for Date or bigint literals in Zod. If you have a use case for this feature, please file an issue. + +## Strings + +You can customize certain errors when creating a string schema. + +```ts +const name = z.string({ + required: "Name is required", + invalid: "Invalid name", +}); +``` + +Zod includes a handful of string-specific validations. + +```ts +z.string().max(5); +z.string().min(5); +z.string().length(5); +z.string().email(); +z.string().url(); +z.string().uuid(); +z.string().cuid(); +z.string().regex(regex); + +// deprecated, equivalent to .min(1) +z.string().nonempty(); + +// optional custom error message +z.string().nonempty({ message: "Can't be empty" }); +``` + +> Check out [validator.js](https://github.com/validatorjs/validator.js) for a bunch of other useful string validation functions. + +#### Custom error messages + +You can customize certain errors when creating a string schema. + +```ts +const name = z.string({ + required_error: "Name is required", + invalid_type_error: "Name must be a string", +}); +``` + +When using validation methods, you can pass in an additional argument to provide a custom error message. + +```ts +z.string().min(5, { message: "Must be 5 or more characters long" }); +z.string().max(5, { message: "Must be 5 or fewer characters long" }); +z.string().length(5, { message: "Must be exactly 5 characters long" }); +z.string().email({ message: "Invalid email address" }); +z.string().url({ message: "Invalid url" }); +z.string().uuid({ message: "Invalid UUID" }); +``` + +## Numbers + +You can customize certain error messages when creating a number schema. + +```ts +const age = z.number({ + required_error: "Age is required", + invalid_type_error: "Age must be a number", +}); +``` + +Zod includes a handful of number-specific validations. + +```ts +z.number().gt(5); +z.number().gte(5); // alias .min(5) +z.number().lt(5); +z.number().lte(5); // alias .max(5) + +z.number().int(); // value must be an integer + +z.number().positive(); // > 0 +z.number().nonnegative(); // >= 0 +z.number().negative(); // < 0 +z.number().nonpositive(); // <= 0 + +z.number().multipleOf(5); // Evenly divisible by 5. Alias .step(5) +``` + +Optionally, you can pass in a second argument to provide a custom error message. + +```ts +z.number().lte(5, { message: "this👏is👏too👏big" }); +``` + +## Booleans + +You can customize certain error messages when creating a boolean schema. + +```ts +const isActive = z.boolean({ + required_error: "isActive is required", + invalid_type_error: "isActive must be a boolean", +}); +``` + +## Enums + +There are two ways to define enums in Zod. + +### Zod enums + +```ts +const FishEnum = z.enum(["Salmon", "Tuna", "Trout"]); +type FishEnum = z.infer; +// 'Salmon' | 'Tuna' | 'Trout' +``` + +You must pass the array of values directly into `z.enum()`. Alternatively, use `as const` to define your enum values as a tuple of strings. See the [const assertion docs](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#const-assertions) for details. + +```ts +const VALUES = ["Salmon", "Tuna", "Trout"] as const; +const FishEnum = z.enum(VALUES); +``` + +This is not allowed: + +```ts +const fish = ["Salmon", "Tuna", "Trout"]; +const FishEnum = z.enum(fish); +``` + +In that case, the inferred type of `fish` is simply `string[]`, so Zod isn't able to infer the individual enum elements. + +**Autocompletion** + +To get autocompletion with a Zod enum, use the `.enum` property of your schema: + +```ts +FishEnum.enum.Salmon; // => autocompletes + +FishEnum.enum; +/* +=> { + Salmon: "Salmon", + Tuna: "Tuna", + Trout: "Trout", +} +*/ +``` + +You can also retrieve the list of options as a tuple with the `.options` property: + +```ts +FishEnum.options; // ["Salmon", "Tuna", "Trout"]); +``` + +### Native enums + +Zod enums are the recommended approach to defining and validating enums. But if you need to validate against an enum from a third-party library (or you don't want to rewrite your existing enums) you can use `z.nativeEnum()` . + +**Numeric enums** + +```ts +enum Fruits { + Apple, + Banana, +} + +const FruitEnum = z.nativeEnum(Fruits); +type FruitEnum = z.infer; // Fruits + +FruitEnum.parse(Fruits.Apple); // passes +FruitEnum.parse(Fruits.Banana); // passes +FruitEnum.parse(0); // passes +FruitEnum.parse(1); // passes +FruitEnum.parse(3); // fails +``` + +**String enums** + +```ts +enum Fruits { + Apple = "apple", + Banana = "banana", + Cantaloupe, // you can mix numerical and string enums +} + +const FruitEnum = z.nativeEnum(Fruits); +type FruitEnum = z.infer; // Fruits + +FruitEnum.parse(Fruits.Apple); // passes +FruitEnum.parse(Fruits.Cantaloupe); // passes +FruitEnum.parse("apple"); // passes +FruitEnum.parse("banana"); // passes +FruitEnum.parse(0); // passes +FruitEnum.parse("Cantaloupe"); // fails +``` + +**Const enums** + +The `.nativeEnum()` function works for `as const` objects as well. ⚠️ `as const` required TypeScript 3.4+! + +```ts +const Fruits = { + Apple: "apple", + Banana: "banana", + Cantaloupe: 3, +} as const; + +const FruitEnum = z.nativeEnum(Fruits); +type FruitEnum = z.infer; // "apple" | "banana" | 3 + +FruitEnum.parse("apple"); // passes +FruitEnum.parse("banana"); // passes +FruitEnum.parse(3); // passes +FruitEnum.parse("Cantaloupe"); // fails +``` + +## Optionals + +You can make any schema optional with `z.optional()`: + +```ts +const schema = z.optional(z.string()); + +schema.parse(undefined); // => returns undefined +type A = z.infer; // string | undefined +``` + +You can make an existing schema optional with the `.optional()` method: + +```ts +const user = z.object({ + username: z.string().optional(), +}); +type C = z.infer; // { username?: string | undefined }; +``` + +#### `.unwrap` + +```ts +const stringSchema = z.string(); +const optionalString = stringSchema.optional(); +optionalString.unwrap() === stringSchema; // true +``` + +## Nullables + +Similarly, you can create nullable types like so: + +```ts +const nullableString = z.nullable(z.string()); +nullableString.parse("asdf"); // => "asdf" +nullableString.parse(null); // => null +``` + +You can make an existing schema nullable with the `nullable` method: + +```ts +const E = z.string().nullable(); // equivalent to D +type E = z.infer; // string | null +``` + +#### `.unwrap` + +```ts +const stringSchema = z.string(); +const nullableString = stringSchema.nullable(); +nullableString.unwrap() === stringSchema; // true +``` + +## Objects + +```ts +// all properties are required by default +const Dog = z.object({ + name: z.string(), + age: z.number(), +}); + +// extract the inferred type like this +type Dog = z.infer; + +// equivalent to: +type Dog = { + name: string; + age: number; +}; +``` + +### `.shape` + +Use `.shape` to access the schemas for a particular key. + +```ts +Dog.shape.name; // => string schema +Dog.shape.age; // => number schema +``` + +### `.extend` + +You can add additional fields an object schema with the `.extend` method. + +```ts +const DogWithBreed = Dog.extend({ + breed: z.string(), +}); +``` + +You can use `.extend` to overwrite fields! Be careful with this power! + +### `.merge` + +Equivalent to `A.extend(B.shape)`. + +```ts +const BaseTeacher = z.object({ students: z.array(z.string()) }); +const HasID = z.object({ id: z.string() }); + +const Teacher = BaseTeacher.merge(HasID); +type Teacher = z.infer; // => { students: string[], id: string } +``` + +> If the two schemas share keys, the properties of B overrides the property of A. The returned schema also inherits the "unknownKeys" policy (strip/strict/passthrough) and the catchall schema of B. + +### `.pick/.omit` + +Inspired by TypeScript's built-in `Pick` and `Omit` utility types, all Zod object schemas have `.pick` and `.omit` methods that return a modified version. Consider this Recipe schema: + +```ts +const Recipe = z.object({ + id: z.string(), + name: z.string(), + ingredients: z.array(z.string()), +}); +``` + +To only keep certain keys, use `.pick` . + +```ts +const JustTheName = Recipe.pick({ name: true }); +type JustTheName = z.infer; +// => { name: string } +``` + +To remove certain keys, use `.omit` . + +```ts +const NoIDRecipe = Recipe.omit({ id: true }); + +type NoIDRecipe = z.infer; +// => { name: string, ingredients: string[] } +``` + +### `.partial` + +Inspired by the built-in TypeScript utility type [Partial](https://www.typescriptlang.org/docs/handbook/utility-types.html#partialt), the `.partial` method makes all properties optional. + +Starting from this object: + +```ts +const user = z.object({ + email: z.string() + username: z.string(), +}); +// { email: string; username: string } +``` + +We can create a partial version: + +```ts +const partialUser = user.partial(); +// { email?: string | undefined; username?: string | undefined } +``` + +You can also specify which properties to make optional: + +```ts +const optionalEmail = user.partial({ + email: true, +}); +/* +{ + email?: string | undefined; + username: string +} +*/ +``` + +### `.deepPartial` + +The `.partial` method is shallow — it only applies one level deep. There is also a "deep" version: + +```ts +const user = z.object({ + username: z.string(), + location: z.object({ + latitude: z.number(), + longitude: z.number(), + }), + strings: z.array(z.object({ value: z.string() })), +}); + +const deepPartialUser = user.deepPartial(); + +/* +{ + username?: string | undefined, + location?: { + latitude?: number | undefined; + longitude?: number | undefined; + } | undefined, + strings?: { value?: string}[] +} +*/ +``` + +> Important limitation: deep partials only work as expected in hierarchies of objects, arrays, and tuples. + +#### Unrecognized keys + +By default Zod objects schemas strip out unrecognized keys during parsing. + +```ts +const person = z.object({ + name: z.string(), +}); + +person.parse({ + name: "bob dylan", + extraKey: 61, +}); +// => { name: "bob dylan" } +// extraKey has been stripped +``` + +### `.passthrough` + +Instead, if you want to pass through unknown keys, use `.passthrough()` . + +```ts +person.passthrough().parse({ + name: "bob dylan", + extraKey: 61, +}); +// => { name: "bob dylan", extraKey: 61 } +``` + +### `.strict` + +You can _disallow_ unknown keys with `.strict()` . If there are any unknown keys in the input, Zod will throw an error. + +```ts +const person = z + .object({ + name: z.string(), + }) + .strict(); + +person.parse({ + name: "bob dylan", + extraKey: 61, +}); +// => throws ZodError +``` + +### `.strip` + +You can use the `.strip` method to reset an object schema to the default behavior (stripping unrecognized keys). + +### `.catchall` + +You can pass a "catchall" schema into an object schema. All unknown keys will be validated against it. + +```ts +const person = z + .object({ + name: z.string(), + }) + .catchall(z.number()); + +person.parse({ + name: "bob dylan", + validExtraKey: 61, // works fine +}); + +person.parse({ + name: "bob dylan", + validExtraKey: false, // fails +}); +// => throws ZodError +``` + +Using `.catchall()` obviates `.passthrough()` , `.strip()` , or `.strict()`. All keys are now considered "known". + +## Arrays + +```ts +const stringArray = z.array(z.string()); + +// equivalent +const stringArray = z.string().array(); +``` + +Be careful with the `.array()` method. It returns a new `ZodArray` instance. This means the _order_ in which you call methods matters. For instance: + +```ts +z.string().optional().array(); // (string | undefined)[] +z.string().array().optional(); // string[] | undefined +``` + +### `.nonempty` + +If you want to ensure that an array contains at least one element, use `.nonempty()`. + +```ts +const nonEmptyStrings = z.string().array().nonempty(); +// the inferred type is now +// [string, ...string[]] + +nonEmptyStrings.parse([]); // throws: "Array cannot be empty" +nonEmptyStrings.parse(["Ariana Grande"]); // passes +``` + +You can optionally specify a custom error message: + +```ts +// optional custom error message +const nonEmptyStrings = z.string().array().nonempty({ + message: "Can't be empty!", +}); +``` + +### `.min/.max/.length` + +```ts +z.string().array().min(5); // must contain 5 or more items +z.string().array().max(5); // must contain 5 or fewer items +z.string().array().length(5); // must contain 5 items exactly +``` + +Unlike `.nonempty()` these methods do not change the inferred type. + +## Tuples + +Unlike arrays, tuples have a fixed number of elements and each element can have a different type. + +```ts +const athleteSchema = z.tuple([ + z.string(), // name + z.number(), // jersey number + z.object({ + pointsScored: z.number(), + }), // statistics +]); + +type Athlete = z.infer; +// type Athlete = [string, number, { pointsScored: number }] +``` + +## Unions + +Zod includes a built-in `z.union` method for composing "OR" types. + +```ts +const stringOrNumber = z.union([z.string(), z.number()]); + +stringOrNumber.parse("foo"); // passes +stringOrNumber.parse(14); // passes +``` + +Zod will test the input against each of the "options" in order and return the first value that validates successfully. + +For convenience, you can also use the `.or` method: + +```ts +const stringOrNumber = z.string().or(z.number()); +``` + +## Records + +Record schemas are used to validate types such as `{ [k: string]: number }`. + +If you want to validate the _values_ of an object against some schema but don't care about the keys, use `Record`. + +```ts +const NumberCache = z.record(z.number()); + +type NumberCache = z.infer; +// => { [k: string]: number } +``` + +This is particularly useful for storing or caching items by ID. + +```ts +const userStore: UserStore = {}; + +userStore["77d2586b-9e8e-4ecf-8b21-ea7e0530eadd"] = { + name: "Carlotta", +}; // passes + +userStore["77d2586b-9e8e-4ecf-8b21-ea7e0530eadd"] = { + whatever: "Ice cream sundae", +}; // TypeError +``` + +#### A note on numerical keys + +You may have expected `z.record()` to accept two arguments, one for the keys and one for the values. After all, TypeScript's built-in Record type does: `Record` . Otherwise, how do you represent the TypeScript type `Record` in Zod? + +As it turns out, TypeScript's behavior surrounding `[k: number]` is a little unintuitive: + +```ts +const testMap: { [k: number]: string } = { + 1: "one", +}; + +for (const key in testMap) { + console.log(`${key}: ${typeof key}`); +} +// prints: `1: string` +``` + +As you can see, JavaScript automatically casts all object keys to strings under the hood. + +Since Zod is trying to bridge the gap between static and runtime types, it doesn't make sense to provide a way of creating a record schema with numerical keys, since there's no such thing as a numerical key in runtime JavaScript. + +## Maps + +```ts +const stringNumberMap = z.map(z.string(), z.number()); + +type StringNumberMap = z.infer; +// type StringNumber = Map +``` + +## Sets + +```ts +const numberSet = z.set(z.string()); +type numberSet = z.infer; +// Set +``` + +## Intersections + + + +Intersections are useful for creating "logical AND" types. This is useful for intersecting two object types. + +```ts +const Person = z.object({ + name: z.string(), +}); + +const Employee = z.object({ + role: z.string(), +}); + +const EmployedPerson = z.intersection(Person, Employee); + +// equivalent to: +const EmployedPerson = Person.and(Employee); +``` + +Though in many cases, it is recommended to use `A.merge(B)` to merge two objects. The `.merge` method returns a new `ZodObject` instance, whereas `A.and(B)` returns a less useful `ZodIntersection` instance that lacks common object methods like `pick` and `omit`. + +```ts +const a = z.union([z.number(), z.string()]); +const b = z.union([z.number(), z.boolean()]); +const c = z.intersection(a, b); + +type c = z.infer; // => number +``` + + + + + +## Recursive types + +You can define a recursive schema in Zod, but because of a limitation of TypeScript, their type can't be statically inferred. Instead you'll need to define the type definition manually, and provide it to Zod as a "type hint". + +```ts +interface Category { + name: string; + subcategories: Category[]; +} + +// cast to z.ZodSchema +const Category: z.ZodSchema = z.lazy(() => + z.object({ + name: z.string(), + subcategories: z.array(Category), + }) +); + +Category.parse({ + name: "People", + subcategories: [ + { + name: "Politicians", + subcategories: [{ name: "Presidents", subcategories: [] }], + }, + ], +}); // passes +``` + +Unfortunately this code is a bit duplicative, since you're declaring the types twice: once in the interface and again in the Zod definition. + + + +#### JSON type + +If you want to validate any JSON value, you can use the snippet below. + +```ts +type Literal = boolean | null | number | string; +type Json = Literal | { [key: string]: Json } | Json[]; +const literalSchema = z.union([z.string(), z.number(), z.boolean(), z.null()]); +const jsonSchema: z.ZodSchema = z.lazy(() => + z.union([literalSchema, z.array(jsonSchema), z.record(jsonSchema)]) +); + +jsonSchema.parse(data); +``` + +Thanks to [ggoodman](https://github.com/ggoodman) for suggesting this. + +#### Cyclical objects + +Despite supporting recursive schemas, passing an cyclical data into Zod will cause an infinite loop. + +## Promises + +```ts +const numberPromise = z.promise(z.number()); +``` + +"Parsing" works a little differently with promise schemas. Validation happens in two parts: + +1. Zod synchronously checks that the input is an instance of Promise (i.e. an object with `.then` and `.catch` methods.). +2. Zod uses `.then` to attach an additional validation step onto the existing Promise. You'll have to use `.catch` on the returned Promise to handle validation failures. + +```ts +numberPromise.parse("tuna"); +// ZodError: Non-Promise type: string + +numberPromise.parse(Promise.resolve("tuna")); +// => Promise + +const test = async () => { + await numberPromise.parse(Promise.resolve("tuna")); + // ZodError: Non-number type: string + + await numberPromise.parse(Promise.resolve(3.14)); + // => 3.14 +}; +``` + + + +## Instanceof + +You can use `z.instanceof` to check that the input is an instance of a class. This is useful to validate inputs against classes that are exported from third-party libraries. + +```ts +class Test { + name: string; +} + +const TestSchema = z.instanceof(Test); + +const blob: any = "whatever"; +TestSchema.parse(new Test()); // passes +TestSchema.parse("blob"); // throws +``` + +## Function schemas + +Zod also lets you define "function schemas". This makes it easy to validate the inputs and outputs of a function without intermixing your validation code and "business logic". + +You can create a function schema with `z.function(args, returnType)` . + +```ts +const myFunction = z.function(); + +type myFunction = z.infer; +// => ()=>unknown +``` + +**Define inputs and output** + +```ts +const myFunction = z + .function() + .args(z.string(), z.number()) // accepts an arbitrary number of arguments + .returns(z.boolean()); +type myFunction = z.infer; +// => (arg0: string, arg1: number)=>boolean +``` + +**Extract the input and output schemas** +You can extract the parameters and return type of a function schema. + +```ts +myFunction.parameters(); +// => ZodTuple<[ZodString, ZodNumber]> + +myFunction.returnType(); +// => ZodBoolean +``` + + + +> You can use the special `z.void()` option if your function doesn't return anything. This will let Zod properly infer the type of void-returning functions. (Void-returning functions actually return undefined.) + + + +Function schemas have an `.implement()` method which accepts a function and returns a new function that automatically validates it's inputs and outputs. + +```ts +const trimmedLength = z + .function() + .args(z.string()) // accepts an arbitrary number of arguments + .returns(z.number()) + .implement((x) => { + // TypeScript knows x is a string! + return x.trim().length; + }); + +trimmedLength("sandwich"); // => 8 +trimmedLength(" asdf "); // => 4 +``` + +If you only care about validating inputs, that's fine: + +```ts +const myFunction = z + .function() + .args(z.string()) + .implement((arg) => { + return [arg.length]; // + }); +myFunction; // (arg: string)=>number[] +``` + +## Preprocess + +Typically Zod operates under a "parse then transform" paradigm. Zod validates the input first, then passes it through a chain of transformation functions. (For more information about transforms, read the [.transform docs](#transform).) + +But sometimes you want to apply some transform to the input _before_ parsing happens. A common use case: type coercion. Zod enables this with the `z.preprocess()`. + +```ts +const castToString = z.preprocess((val) => String(val), z.string()); +``` + +This returns a `ZodEffects` instance. `ZodEffects` is a wrapper class that contains all logic pertaining to preprocessing, refinements, and transforms. + +# ZodType: methods and properties + +All Zod schemas contain certain methods. + +### `.parse` + +`.parse(data:unknown): T` + +Given any Zod schema, you can call its `.parse` method to check `data` is valid. If it is, a value is returned with full type information! Otherwise, an error is thrown. + +> IMPORTANT: In Zod 2 and Zod 1.11+, the value returned by `.parse` is a _deep clone_ of the variable you passed in. This was also the case in zod@1.4 and earlier. + +```ts +const stringSchema = z.string(); +stringSchema.parse("fish"); // => returns "fish" +stringSchema.parse(12); // throws Error('Non-string type: number'); +``` + +### `.parseAsync` + +`.parseAsync(data:unknown): Promise` + +If you use asynchronous [refinements](#refine) or [transforms](#transform) (more on those later), you'll need to use `.parseAsync` + +```ts +const stringSchema = z.string().refine(async (val) => val.length > 20); +const value = await stringSchema.parseAsync("hello"); // => hello +``` + +### `.safeParse` + +`.safeParse(data:unknown): { success: true; data: T; } | { success: false; error: ZodError; }` + +If you don't want Zod to throw errors when validation fails, use `.safeParse`. This method returns an object containing either the successfully parsed data or a ZodError instance containing detailed information about the validation problems. + +```ts +stringSchema.safeParse(12); +// => { success: false; error: ZodError } + +stringSchema.safeParse("billie"); +// => { success: true; data: 'billie' } +``` + +The result is a _discriminated union_ so you can handle errors very conveniently: + +```ts +const result = stringSchema.safeParse("billie"); +if (!result.success) { + // handle error then return + result.error; +} else { + // do something + result.data; +} +``` + +### `.safeParseAsync` + +> Alias: `.spa` + +An asynchronous version of `safeParse`. + +```ts +await stringSchema.safeParseAsync("billie"); +``` + +For convenience, this has been aliased to `.spa`: + +```ts +await stringSchema.spa("billie"); +``` + +### `.refine` + +`.refine(validator: (data:T)=>any, params?: RefineParams)` + +Zod lets you provide custom validation logic via _refinements_. (For advanced features like creating multiple issues and customizing error codes, see [`.superRefine`](#superrefine).) + +Zod was designed to mirror TypeScript as closely as possible. But there are many so-called "refinement types" you may wish to check for that can't be represented in TypeScript's type system. For instance: checking that a number is an integer or that a string is a valid email address. + +For example, you can define a custom validation check on _any_ Zod schema with `.refine` : + +```ts +const myString = z.string().refine((val) => val.length <= 255, { + message: "String can't be more than 255 characters", +}); +``` + +> ⚠️ Refinement functions should not throw. Instead they should return a falsy value to signal failure. + +#### Arguments + +As you can see, `.refine` takes two arguments. + +1. The first is the validation function. This function takes one input (of type `T` — the inferred type of the schema) and returns `any`. Any truthy value will pass validation. (Prior to zod@1.6.2 the validation function had to return a boolean.) +2. The second argument accepts some options. You can use this to customize certain error-handling behavior: + +```ts +type RefineParams = { + // override error message + message?: string; + + // appended to error path + path?: (string | number)[]; + + // params object you can use to customize message + // in error map + params?: object; +}; +``` + +For advanced cases, the second argument can also be a function that returns `RefineParams`/ + +```ts +z.string().refine( + (val) => val.length > 10, + (val) => ({ message: `${val} is not more than 10 characters` }) +); +``` + +#### Customize error path + +```ts +const passwordForm = z + .object({ + password: z.string(), + confirm: z.string(), + }) + .refine((data) => data.password === data.confirm, { + message: "Passwords don't match", + path: ["confirm"], // path of error + }) + .parse({ password: "asdf", confirm: "qwer" }); +``` + +Because you provided a `path` parameter, the resulting error will be: + +```ts +ZodError { + issues: [{ + "code": "custom", + "path": [ "confirm" ], + "message": "Passwords don't match" + }] +} +``` + +#### Asynchronous refinements + +Refinements can also be async: + +```ts +const userId = z.string().refine(async (id) => { + // verify that ID exists in database + return true; +}); +``` + +> ⚠️If you use async refinements, you must use the `.parseAsync` method to parse data! Otherwise Zod will throw an error. + +#### Relationship to transforms + +Transforms and refinements can be interleaved: + +```ts +z.string() + .transform((val) => val.length) + .refine((val) => val > 25); +``` + + + +### `.superRefine` + +The `.refine` method is actually syntactic sugar atop a more versatile (and verbose) method called `superRefine`. Here's an example: + +```ts +const Strings = z.array(z.string()).superRefine((val, ctx) => { + if (val.length > 3) { + ctx.addIssue({ + code: z.ZodIssueCode.too_big, + maximum: 3, + type: "array", + inclusive: true, + message: "Too many items 😡", + }); + } + + if (val.length !== new Set(val).size) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: `No duplicated allowed.`, + }); + } +}); +``` + +You can add as many issues as you like. If `ctx.addIssue` is NOT called during the execution of the function, validation passes. + +Normally refinements always create issues with a `ZodIssueCode.custom` error code, but with `superRefine` you can create any issue of any code. Each issue code is described in detail in the Error Handling guide: [ERROR_HANDLING.md](ERROR_HANDLING.md). + +#### Abort early + +By default, parsing will continue even after a refinement check fails. For instance, if you chain together multiple refinements, they will all be executed. However, it may be desirable to _abort early_ to prevent later refinements from being executed. To achieve this, pass the `fatal` flag to `ctx.addIssue`: + +```ts +const Strings = z + .number() + .superRefine((val, ctx) => { + if (val < 10) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: "foo", + fatal: true, + }); + } + }) + .superRefine((val, ctx) => { + if (val !== " ") { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: "bar", + }); + } + }); +``` + +### `.transform` + +To transform data after parsing, use the `transform` method. + +```ts +const stringToNumber = z.string().transform((val) => myString.length); +stringToNumber.parse("string"); // => 6 +``` + +> ⚠️ Transform functions must not throw. Make sure to use refinements before the transform to make sure the input can be parsed by the transform. + +#### Chaining order + +Note that `stringToNumber` above is an instance of the `ZodEffects` subclass. It is NOT an instance of `ZodString`. If you want to use the built-in methods of `ZodString` (e.g. `.email()`) you must apply those methods _before_ any transforms. + +```ts +const emailToDomain = z + .string() + .email() + .transform((val) => val.split("@")[1]); + +emailToDomain.parse("colinhacks@example.com"); // => example.com +``` + +#### Relationship to refinements + +Transforms and refinements can be interleaved: + +```ts +z.string() + .transform((val) => val.length) + .refine((val) => val > 25); +``` + +#### Async transforms + +Transforms can also be async. + +```ts +const IdToUser = z + .string() + .uuid() + .transform(async (id) => { + return await getUserById(id); + }); +``` + +> ⚠️ If your schema contains asynchronous transforms, you must use .parseAsync() or .safeParseAsync() to parse data. Otherwise Zod will throw an error. + +### `.default` + +You can use transforms to implement the concept of "default values" in Zod. + +```ts +const stringWithDefault = z.string().default("tuna"); + +stringWithDefault.parse(undefined); // => "tuna" +``` + +Optionally, you can pass a function into `.default` that will be re-executed whenever a default value needs to be generated: + +```ts +const numberWithRandomDefault = z.number().default(Math.random); + +numberWithRandomDefault.parse(undefined); // => 0.4413456736055323 +numberWithRandomDefault.parse(undefined); // => 0.1871840107401901 +numberWithRandomDefault.parse(undefined); // => 0.7223408162401552 +``` + +### `.optional` + +A convenience method that returns an optional version of a schema. + +```ts +const optionalString = z.string().optional(); // string | undefined + +// equivalent to +z.optional(z.string()); +``` + +### `.nullable` + +A convenience method that returns an nullable version of a schema. + +```ts +const nullableString = z.string().nullable(); // string | null + +// equivalent to +z.nullable(z.string()); +``` + +### `.nullish` + +A convenience method that returns a "nullish" version of a schema. Nullish schemas will accept both `undefined` and `null`. Read more about the concept of "nullish" [here](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#nullish-coalescing). + +```ts +const nullishString = z.string().nullish(); // string | null | undefined + +// equivalent to +z.string().optional().nullable(); +``` + +### `.array` + +A convenience method that returns an array schema for the given type: + +```ts +const nullableString = z.string().array(); // string[] + +// equivalent to +z.array(z.string()); +``` + +### `.promise` + +A convenience method for promise types: + +```ts +const stringPromise = z.string().promise(); // Promise + +// equivalent to +z.promise(z.string()); +``` + +### `.or` + +A convenience method for union types. + +```ts +z.string().or(z.number()); // string | number + +// equivalent to +z.union([z.string(), z.number()]); +``` + +### `.and` + +A convenience method for creating intersection types. + +```ts +z.object({ name: z.string() }).and(z.object({ age: z.number() })); // { name: string } & { age: number } + +// equivalent to +z.intersection(z.string(), z.number()); +``` + +# Type inference + +You can extract the TypeScript type of any schema with `z.infer` . + +```ts +const A = z.string(); +type A = z.infer; // string + +const u: A = 12; // TypeError +const u: A = "asdf"; // compiles +``` + +#### What about transforms? + +In reality each Zod schema internally tracks **two** types: an input and an output. For most schemas (e.g. `z.string()`) these two are the same. But once you add transforms into the mix, these two values can diverge. For instance `z.string().transform(val => val.length)` has an input of `string` and an output of `number`. + +You can separately extract the input and output types like so: + +```ts +const stringToNumber = z.string().transform((val) => val.length); + +// ⚠️ Important: z.infer returns the OUTPUT type! +type input = z.input; // string +type output = z.output; // number + +// equivalent to z.output! +type inferred = z.infer; // number +``` + +# Errors + +Zod provides a subclass of Error called `ZodError`. ZodErrors contain an `issues` array containing detailed information about the validation problems. + +```ts +const data = z + .object({ + name: z.string(), + }) + .safeParse({ name: 12 }); + +if (!data.success) { + data.error.issues; + /* [ + { + "code": "invalid_type", + "expected": "string", + "received": "number", + "path": [ "name" ], + "message": "Expected string, received number" + } + ] */ +} +``` + +#### Error formatting + +You can use the `.format()` method to convert this error into a nested object. + +```ts +data.error.format(); +/* { + name: { _errors: [ 'Expected string, received number' ] } +} */ +``` + +For detailed information about the possible error codes and how to customize error messages, check out the dedicated error handling guide: [ERROR_HANDLING.md](ERROR_HANDLING.md) + +# Comparison + +There are a handful of other widely-used validation libraries, but all of them have certain design limitations that make for a non-ideal developer experience. + + + + + + + +#### Joi + +[https://github.com/hapijs/joi](https://github.com/hapijs/joi) + +Doesn't support static type inference 😕 + +#### Yup + +[https://github.com/jquense/yup](https://github.com/jquense/yup) + +Yup is a full-featured library that was implemented first in vanilla JS, and later rewritten in TypeScript. + +Differences + +- Supports casting and transforms +- All object fields are optional by default +- Missing object methods: (partial, deepPartial) + +- Missing promise schemas +- Missing function schemas +- Missing union & intersection schemas + + + +#### io-ts + +[https://github.com/gcanti/io-ts](https://github.com/gcanti/io-ts) + +io-ts is an excellent library by gcanti. The API of io-ts heavily inspired the design of Zod. + +In our experience, io-ts prioritizes functional programming purity over developer experience in many cases. This is a valid and admirable design goal, but it makes io-ts particularly hard to integrate into an existing codebase with a more procedural or object-oriented bias. For instance, consider how to define an object with optional properties in io-ts: + +```ts +import * as t from "io-ts"; + +const A = t.type({ + foo: t.string, +}); + +const B = t.partial({ + bar: t.number, +}); + +const C = t.intersection([A, B]); + +type C = t.TypeOf; +// returns { foo: string; bar?: number | undefined } +``` + +You must define the required and optional props in separate object validators, pass the optionals through `t.partial` (which marks all properties as optional), then combine them with `t.intersection` . + +Consider the equivalent in Zod: + +```ts +const C = z.object({ + foo: z.string(), + bar: z.number().optional(), +}); + +type C = z.infer; +// returns { foo: string; bar?: number | undefined } +``` + +This more declarative API makes schema definitions vastly more concise. + +`io-ts` also requires the use of gcanti's functional programming library `fp-ts` to parse results and handle errors. This is another fantastic resource for developers looking to keep their codebase strictly functional. But depending on `fp-ts` necessarily comes with a lot of intellectual overhead; a developer has to be familiar with functional programming concepts and the `fp-ts` nomenclature to use the library. + +- Supports codecs with serialization & deserialization transforms +- Supports branded types +- Supports advanced functional programming, higher-kinded types, `fp-ts` compatibility +- Missing object methods: (pick, omit, partial, deepPartial, merge, extend) +- Missing nonempty arrays with proper typing (`[T, ...T[]]`) +- Missing promise schemas +- Missing function schemas + +#### Runtypes + +[https://github.com/pelotom/runtypes](https://github.com/pelotom/runtypes) + +Good type inference support, but limited options for object type masking (no `.pick` , `.omit` , `.extend` , etc.). No support for `Record` s (their `Record` is equivalent to Zod's `object` ). They DO support branded and readonly types, which Zod does not. + +- Supports "pattern matching": computed properties that distribute over unions +- Supports readonly types +- Missing object methods: (deepPartial, merge) +- Missing nonempty arrays with proper typing (`[T, ...T[]]`) +- Missing promise schemas +- Missing error customization + +#### Ow + +[https://github.com/sindresorhus/ow](https://github.com/sindresorhus/ow) + +Ow is focused on function input validation. It's a library that makes it easy to express complicated assert statements, but it doesn't let you parse untyped data. They support a much wider variety of types; Zod has a nearly one-to-one mapping with TypeScript's type system, whereas ow lets you validate several highly-specific types out of the box (e.g. `int32Array` , see full list in their README). + +If you want to validate function inputs, use function schemas in Zod! It's a much simpler approach that lets you reuse a function type declaration without repeating yourself (namely, copy-pasting a bunch of ow assertions at the beginning of every function). Also Zod lets you validate your return types as well, so you can be sure there won't be any unexpected data passed downstream. + +# Changelog + +View the changelog at [CHANGELOG.md](CHANGELOG.md) diff --git a/node_modules/zod/lib/ZodError.d.ts b/node_modules/zod/lib/ZodError.d.ts new file mode 100644 index 0000000..ead0962 --- /dev/null +++ b/node_modules/zod/lib/ZodError.d.ts @@ -0,0 +1,139 @@ +import { ZodParsedType } from "./helpers/parseUtil"; +import { util } from "./helpers/util"; +export declare const ZodIssueCode: { + invalid_type: "invalid_type"; + custom: "custom"; + invalid_union: "invalid_union"; + invalid_enum_value: "invalid_enum_value"; + unrecognized_keys: "unrecognized_keys"; + invalid_arguments: "invalid_arguments"; + invalid_return_type: "invalid_return_type"; + invalid_date: "invalid_date"; + invalid_string: "invalid_string"; + too_small: "too_small"; + too_big: "too_big"; + invalid_intersection_types: "invalid_intersection_types"; + not_multiple_of: "not_multiple_of"; +}; +export declare type ZodIssueCode = keyof typeof ZodIssueCode; +export declare type ZodIssueBase = { + path: (string | number)[]; + message?: string; +}; +export interface ZodInvalidTypeIssue extends ZodIssueBase { + code: typeof ZodIssueCode.invalid_type; + expected: ZodParsedType; + received: ZodParsedType; +} +export interface ZodUnrecognizedKeysIssue extends ZodIssueBase { + code: typeof ZodIssueCode.unrecognized_keys; + keys: string[]; +} +export interface ZodInvalidUnionIssue extends ZodIssueBase { + code: typeof ZodIssueCode.invalid_union; + unionErrors: ZodError[]; +} +export interface ZodInvalidEnumValueIssue extends ZodIssueBase { + code: typeof ZodIssueCode.invalid_enum_value; + options: (string | number)[]; +} +export interface ZodInvalidArgumentsIssue extends ZodIssueBase { + code: typeof ZodIssueCode.invalid_arguments; + argumentsError: ZodError; +} +export interface ZodInvalidReturnTypeIssue extends ZodIssueBase { + code: typeof ZodIssueCode.invalid_return_type; + returnTypeError: ZodError; +} +export interface ZodInvalidDateIssue extends ZodIssueBase { + code: typeof ZodIssueCode.invalid_date; +} +export declare type StringValidation = "email" | "url" | "uuid" | "regex" | "cuid"; +export interface ZodInvalidStringIssue extends ZodIssueBase { + code: typeof ZodIssueCode.invalid_string; + validation: StringValidation; +} +export interface ZodTooSmallIssue extends ZodIssueBase { + code: typeof ZodIssueCode.too_small; + minimum: number; + inclusive: boolean; + type: "array" | "string" | "number"; +} +export interface ZodTooBigIssue extends ZodIssueBase { + code: typeof ZodIssueCode.too_big; + maximum: number; + inclusive: boolean; + type: "array" | "string" | "number"; +} +export interface ZodInvalidIntersectionTypesIssue extends ZodIssueBase { + code: typeof ZodIssueCode.invalid_intersection_types; +} +export interface ZodNotMultipleOfIssue extends ZodIssueBase { + code: typeof ZodIssueCode.not_multiple_of; + multipleOf: number; +} +export interface ZodCustomIssue extends ZodIssueBase { + code: typeof ZodIssueCode.custom; + params?: { + [k: string]: any; + }; +} +export declare type DenormalizedError = { + [k: string]: DenormalizedError | string[]; +}; +export declare type ZodIssueOptionalMessage = ZodInvalidTypeIssue | ZodUnrecognizedKeysIssue | ZodInvalidUnionIssue | ZodInvalidEnumValueIssue | ZodInvalidArgumentsIssue | ZodInvalidReturnTypeIssue | ZodInvalidDateIssue | ZodInvalidStringIssue | ZodTooSmallIssue | ZodTooBigIssue | ZodInvalidIntersectionTypesIssue | ZodNotMultipleOfIssue | ZodCustomIssue; +export declare type ZodIssue = ZodIssueOptionalMessage & { + message: string; +}; +export declare const quotelessJson: (obj: any) => string; +export declare type ZodFormattedError = { + _errors: string[]; +} & (T extends [any, ...any[]] ? { + [K in keyof T]?: ZodFormattedError; +} : T extends any[] ? ZodFormattedError[] : T extends object ? { + [K in keyof T]?: ZodFormattedError; +} : unknown); +export declare class ZodError extends Error { + issues: ZodIssue[]; + get errors(): ZodIssue[]; + constructor(issues: ZodIssue[]); + format: () => ZodFormattedError; + static create: (issues: ZodIssue[]) => ZodError; + toString(): string; + get message(): string; + get isEmpty(): boolean; + addIssue: (sub: ZodIssue) => void; + addIssues: (subs?: ZodIssue[]) => void; + flatten: (mapper?: (issue: ZodIssue) => U) => { + formErrors: U[]; + fieldErrors: { + [k: string]: U[]; + }; + }; + get formErrors(): { + formErrors: string[]; + fieldErrors: { + [k: string]: string[]; + }; + }; +} +declare type stripPath = T extends any ? util.OmitKeys : never; +export declare type IssueData = stripPath & { + path?: (string | number)[]; + fatal?: boolean; +}; +export declare type MakeErrorData = IssueData; +declare type ErrorMapCtx = { + defaultError: string; + data: any; +}; +export declare type ZodErrorMap = typeof defaultErrorMap; +export declare const defaultErrorMap: (issue: ZodIssueOptionalMessage, _ctx: ErrorMapCtx) => { + message: string; +}; +export declare let overrideErrorMap: (issue: ZodIssueOptionalMessage, _ctx: ErrorMapCtx) => { + message: string; +}; +export declare const setErrorMap: (map: ZodErrorMap) => void; +export {}; +//# sourceMappingURL=ZodError.d.ts.map \ No newline at end of file diff --git a/node_modules/zod/lib/ZodError.d.ts.map b/node_modules/zod/lib/ZodError.d.ts.map new file mode 100644 index 0000000..9e507a9 --- /dev/null +++ b/node_modules/zod/lib/ZodError.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ZodError.d.ts","sourceRoot":"","sources":["../src/ZodError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;CAcvB,CAAC;AAEH,oBAAY,YAAY,GAAG,MAAM,OAAO,YAAY,CAAC;AAErD,oBAAY,YAAY,GAAG;IACzB,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAE1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,IAAI,EAAE,OAAO,YAAY,CAAC,YAAY,CAAC;IACvC,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D,IAAI,EAAE,OAAO,YAAY,CAAC,iBAAiB,CAAC;IAC5C,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,IAAI,EAAE,OAAO,YAAY,CAAC,aAAa,CAAC;IACxC,WAAW,EAAE,QAAQ,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D,IAAI,EAAE,OAAO,YAAY,CAAC,kBAAkB,CAAC;IAC7C,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D,IAAI,EAAE,OAAO,YAAY,CAAC,iBAAiB,CAAC;IAC5C,cAAc,EAAE,QAAQ,CAAC;CAC1B;AAED,MAAM,WAAW,yBAA0B,SAAQ,YAAY;IAC7D,IAAI,EAAE,OAAO,YAAY,CAAC,mBAAmB,CAAC;IAC9C,eAAe,EAAE,QAAQ,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,IAAI,EAAE,OAAO,YAAY,CAAC,YAAY,CAAC;CACxC;AAED,oBAAY,gBAAgB,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3E,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,IAAI,EAAE,OAAO,YAAY,CAAC,cAAc,CAAC;IACzC,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,IAAI,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACrC;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,IAAI,EAAE,OAAO,YAAY,CAAC,OAAO,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACrC;AAED,MAAM,WAAW,gCAAiC,SAAQ,YAAY;IACpE,IAAI,EAAE,OAAO,YAAY,CAAC,0BAA0B,CAAC;CACtD;AAED,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,IAAI,EAAE,OAAO,YAAY,CAAC,eAAe,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,IAAI,EAAE,OAAO,YAAY,CAAC,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CAC/B;AAED,oBAAY,iBAAiB,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,iBAAiB,GAAG,MAAM,EAAE,CAAA;CAAE,CAAC;AAE9E,oBAAY,uBAAuB,GAC/B,mBAAmB,GACnB,wBAAwB,GACxB,oBAAoB,GACpB,wBAAwB,GACxB,wBAAwB,GACxB,yBAAyB,GACzB,mBAAmB,GACnB,qBAAqB,GACrB,gBAAgB,GAChB,cAAc,GACd,gCAAgC,GAChC,qBAAqB,GACrB,cAAc,CAAC;AAEnB,oBAAY,QAAQ,GAAG,uBAAuB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAErE,eAAO,MAAM,aAAa,QAAS,GAAG,WAGrC,CAAC;AAEF,oBAAY,iBAAiB,CAAC,CAAC,IAAI;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,GAC1B;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC5C,CAAC,SAAS,GAAG,EAAE,GACf,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAC9B,CAAC,SAAS,MAAM,GAChB;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC5C,OAAO,CAAC,CAAC;AAEb,qBAAa,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,KAAK;IAC1C,MAAM,EAAE,QAAQ,EAAE,CAAM;IAExB,IAAI,MAAM,eAET;gBAEW,MAAM,EAAE,QAAQ,EAAE;IAc9B,MAAM,QAAO,kBAAkB,CAAC,CAAC,CAyC/B;IAEF,MAAM,CAAC,MAAM,WAAY,QAAQ,EAAE,mBAGjC;IAEF,QAAQ;IAGR,IAAI,OAAO,WAEV;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,QAAQ,QAAS,QAAQ,UAEvB;IAEF,SAAS,UAAU,QAAQ,EAAE,UAE3B;IAEF,OAAO,gCACW,QAAQ;;;;;MAgBxB;IAEF,IAAI,UAAU;;;;;MAEb;CACF;AAED,aAAK,SAAS,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,GAC5C,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,GACxB,KAAK,CAAC;AAEV,oBAAY,SAAS,GAAG,SAAS,CAAC,uBAAuB,CAAC,GAAG;IAC3D,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AACF,oBAAY,aAAa,GAAG,SAAS,CAAC;AAEtC,aAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,oBAAY,WAAW,GAAG,OAAO,eAAe,CAAC;AACjD,eAAO,MAAM,eAAe,UACnB,uBAAuB,QACxB,WAAW;aACL,MAAM;CAkFnB,CAAC;AAEF,eAAO,IAAI,gBAAgB,UAtFlB,uBAAuB,QACxB,WAAW;aACL,MAAM;CAoFyB,CAAC;AAE9C,eAAO,MAAM,WAAW,QAAS,WAAW,SAE3C,CAAC"} \ No newline at end of file diff --git a/node_modules/zod/lib/ZodError.js b/node_modules/zod/lib/ZodError.js new file mode 100644 index 0000000..72b402b --- /dev/null +++ b/node_modules/zod/lib/ZodError.js @@ -0,0 +1,301 @@ +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.setErrorMap = exports.overrideErrorMap = exports.defaultErrorMap = exports.ZodError = exports.quotelessJson = exports.ZodIssueCode = void 0; +var util_1 = require("./helpers/util"); +exports.ZodIssueCode = util_1.util.arrayToEnum([ + "invalid_type", + "custom", + "invalid_union", + "invalid_enum_value", + "unrecognized_keys", + "invalid_arguments", + "invalid_return_type", + "invalid_date", + "invalid_string", + "too_small", + "too_big", + "invalid_intersection_types", + "not_multiple_of", +]); +var quotelessJson = function (obj) { + var json = JSON.stringify(obj, null, 2); + return json.replace(/"([^"]+)":/g, "$1:"); +}; +exports.quotelessJson = quotelessJson; +var ZodError = /** @class */ (function (_super) { + __extends(ZodError, _super); + function ZodError(issues) { + var _newTarget = this.constructor; + var _this = _super.call(this) || this; + _this.issues = []; + _this.format = function () { + var fieldErrors = { _errors: [] }; + var processError = function (error) { + var e_1, _a; + try { + for (var _b = __values(error.issues), _c = _b.next(); !_c.done; _c = _b.next()) { + var issue = _c.value; + if (issue.code === "invalid_union") { + issue.unionErrors.map(processError); + } + else if (issue.code === "invalid_return_type") { + processError(issue.returnTypeError); + } + else if (issue.code === "invalid_arguments") { + processError(issue.argumentsError); + } + else if (issue.path.length === 0) { + fieldErrors._errors.push(issue.message); + } + else { + var curr = fieldErrors; + var i = 0; + while (i < issue.path.length) { + var el = issue.path[i]; + var terminal = i === issue.path.length - 1; + if (!terminal) { + if (typeof el === "string") { + curr[el] = curr[el] || { _errors: [] }; + } + else if (typeof el === "number") { + var errorArray = []; + errorArray._errors = []; + curr[el] = curr[el] || errorArray; + } + } + else { + curr[el] = curr[el] || { _errors: [] }; + curr[el]._errors.push(issue.message); + } + curr = curr[el]; + i++; + } + } + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } + } + }; + processError(_this); + return fieldErrors; + }; + _this.addIssue = function (sub) { + _this.issues = __spreadArray(__spreadArray([], __read(_this.issues), false), [sub], false); + }; + _this.addIssues = function (subs) { + if (subs === void 0) { subs = []; } + _this.issues = __spreadArray(__spreadArray([], __read(_this.issues), false), __read(subs), false); + }; + _this.flatten = function (mapper) { + var e_2, _a; + if (mapper === void 0) { mapper = function (issue) { return issue.message; }; } + var fieldErrors = {}; + var formErrors = []; + try { + for (var _b = __values(_this.issues), _c = _b.next(); !_c.done; _c = _b.next()) { + var sub = _c.value; + if (sub.path.length > 0) { + fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || []; + fieldErrors[sub.path[0]].push(mapper(sub)); + } + else { + formErrors.push(mapper(sub)); + } + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_2) throw e_2.error; } + } + return { formErrors: formErrors, fieldErrors: fieldErrors }; + }; + var actualProto = _newTarget.prototype; + if (Object.setPrototypeOf) { + // eslint-disable-next-line ban/ban + Object.setPrototypeOf(_this, actualProto); + } + else { + _this.__proto__ = actualProto; + } + _this.name = "ZodError"; + _this.issues = issues; + return _this; + } + Object.defineProperty(ZodError.prototype, "errors", { + get: function () { + return this.issues; + }, + enumerable: false, + configurable: true + }); + ZodError.prototype.toString = function () { + return this.message; + }; + Object.defineProperty(ZodError.prototype, "message", { + get: function () { + return JSON.stringify(this.issues, null, 2); + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(ZodError.prototype, "isEmpty", { + get: function () { + return this.issues.length === 0; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(ZodError.prototype, "formErrors", { + get: function () { + return this.flatten(); + }, + enumerable: false, + configurable: true + }); + ZodError.create = function (issues) { + var error = new ZodError(issues); + return error; + }; + return ZodError; +}(Error)); +exports.ZodError = ZodError; +var defaultErrorMap = function (issue, _ctx) { + var message; + switch (issue.code) { + case exports.ZodIssueCode.invalid_type: + if (issue.received === "undefined") { + message = "Required"; + } + else { + message = "Expected " + issue.expected + ", received " + issue.received; + } + break; + case exports.ZodIssueCode.unrecognized_keys: + message = "Unrecognized key(s) in object: " + issue.keys + .map(function (k) { return "'" + k + "'"; }) + .join(", "); + break; + case exports.ZodIssueCode.invalid_union: + message = "Invalid input"; + break; + case exports.ZodIssueCode.invalid_enum_value: + message = "Invalid enum value. Expected " + issue.options + .map(function (val) { return (typeof val === "string" ? "'" + val + "'" : val); }) + .join(" | ") + ", received " + (typeof _ctx.data === "string" ? "'" + _ctx.data + "'" : _ctx.data); + break; + case exports.ZodIssueCode.invalid_arguments: + message = "Invalid function arguments"; + break; + case exports.ZodIssueCode.invalid_return_type: + message = "Invalid function return type"; + break; + case exports.ZodIssueCode.invalid_date: + message = "Invalid date"; + break; + case exports.ZodIssueCode.invalid_string: + if (issue.validation !== "regex") + message = "Invalid " + issue.validation; + else + message = "Invalid"; + break; + case exports.ZodIssueCode.too_small: + if (issue.type === "array") + message = "Should have " + (issue.inclusive ? "at least" : "more than") + " " + issue.minimum + " items"; + else if (issue.type === "string") + message = "Should be " + (issue.inclusive ? "at least" : "over") + " " + issue.minimum + " characters"; + else if (issue.type === "number") + message = "Value should be greater than " + (issue.inclusive ? "or equal to " : "") + issue.minimum; + else + message = "Invalid input"; + break; + case exports.ZodIssueCode.too_big: + if (issue.type === "array") + message = "Should have " + (issue.inclusive ? "at most" : "less than") + " " + issue.maximum + " items"; + else if (issue.type === "string") + message = "Should be " + (issue.inclusive ? "at most" : "under") + " " + issue.maximum + " characters long"; + else if (issue.type === "number") + message = "Value should be less than " + (issue.inclusive ? "or equal to " : "") + issue.maximum; + else + message = "Invalid input"; + break; + case exports.ZodIssueCode.custom: + message = "Invalid input"; + break; + case exports.ZodIssueCode.invalid_intersection_types: + message = "Intersection results could not be merged"; + break; + case exports.ZodIssueCode.not_multiple_of: + message = "Should be multiple of " + issue.multipleOf; + break; + default: + message = _ctx.defaultError; + util_1.util.assertNever(issue); + } + return { message: message }; +}; +exports.defaultErrorMap = defaultErrorMap; +exports.overrideErrorMap = exports.defaultErrorMap; +var setErrorMap = function (map) { + exports.overrideErrorMap = map; +}; +exports.setErrorMap = setErrorMap; +//# sourceMappingURL=ZodError.js.map \ No newline at end of file diff --git a/node_modules/zod/lib/ZodError.js.map b/node_modules/zod/lib/ZodError.js.map new file mode 100644 index 0000000..c9e4e0b --- /dev/null +++ b/node_modules/zod/lib/ZodError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ZodError.js","sourceRoot":"","sources":["../src/ZodError.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/zod/lib/benchmarks/index.d.ts b/node_modules/zod/lib/benchmarks/index.d.ts new file mode 100644 index 0000000..e26a57a --- /dev/null +++ b/node_modules/zod/lib/benchmarks/index.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/zod/lib/benchmarks/index.d.ts.map b/node_modules/zod/lib/benchmarks/index.d.ts.map new file mode 100644 index 0000000..fb69ddb --- /dev/null +++ b/node_modules/zod/lib/benchmarks/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/benchmarks/index.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/zod/lib/benchmarks/index.js b/node_modules/zod/lib/benchmarks/index.js new file mode 100644 index 0000000..8141f86 --- /dev/null +++ b/node_modules/zod/lib/benchmarks/index.js @@ -0,0 +1,59 @@ +"use strict"; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +}; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var e_1, _a; +Object.defineProperty(exports, "__esModule", { value: true }); +var object_1 = __importDefault(require("./object")); +var string_1 = __importDefault(require("./string")); +var union_1 = __importDefault(require("./union")); +try { + for (var _b = __values(__spreadArray(__spreadArray(__spreadArray([], __read(string_1.default.suites), false), __read(object_1.default.suites), false), __read(union_1.default.suites), false)), _c = _b.next(); !_c.done; _c = _b.next()) { + var suite = _c.value; + suite.run(); + } +} +catch (e_1_1) { e_1 = { error: e_1_1 }; } +finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } +} +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/zod/lib/benchmarks/index.js.map b/node_modules/zod/lib/benchmarks/index.js.map new file mode 100644 index 0000000..3fb29f4 --- /dev/null +++ b/node_modules/zod/lib/benchmarks/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/benchmarks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAwC;AACxC,oDAAwC;AACxC,kDAAsC;;IAEtC,KAAoB,IAAA,KAAA,8DACf,gBAAgB,CAAC,MAAM,kBACvB,gBAAgB,CAAC,MAAM,kBACvB,eAAe,CAAC,MAAM,UAC1B,gBAAA,4BAAE;QAJE,IAAM,KAAK,WAAA;QAKd,KAAK,CAAC,GAAG,EAAE,CAAC;KACb"} \ No newline at end of file diff --git a/node_modules/zod/lib/benchmarks/object.d.ts b/node_modules/zod/lib/benchmarks/object.d.ts new file mode 100644 index 0000000..533a795 --- /dev/null +++ b/node_modules/zod/lib/benchmarks/object.d.ts @@ -0,0 +1,6 @@ +import Benchmark from "benchmark"; +declare const _default: { + suites: Benchmark.Suite[]; +}; +export default _default; +//# sourceMappingURL=object.d.ts.map \ No newline at end of file diff --git a/node_modules/zod/lib/benchmarks/object.d.ts.map b/node_modules/zod/lib/benchmarks/object.d.ts.map new file mode 100644 index 0000000..d257b40 --- /dev/null +++ b/node_modules/zod/lib/benchmarks/object.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/benchmarks/object.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;;;;AAkElC,wBAEE"} \ No newline at end of file diff --git a/node_modules/zod/lib/benchmarks/object.js b/node_modules/zod/lib/benchmarks/object.js new file mode 100644 index 0000000..6cd7d83 --- /dev/null +++ b/node_modules/zod/lib/benchmarks/object.js @@ -0,0 +1,71 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var benchmark_1 = __importDefault(require("benchmark")); +var index_1 = require("../index"); +var emptySuite = new benchmark_1.default.Suite("z.object: empty"); +var shortSuite = new benchmark_1.default.Suite("z.object: short"); +var longSuite = new benchmark_1.default.Suite("z.object: long"); +var empty = index_1.z.object({}); +var short = index_1.z.object({ + string: index_1.z.string(), +}); +var long = index_1.z.object({ + string: index_1.z.string(), + number: index_1.z.number(), + boolean: index_1.z.boolean(), +}); +emptySuite + .add("valid", function () { + empty.parse({}); +}) + .add("valid: extra keys", function () { + empty.parse({ string: "string" }); +}) + .add("invalid: null", function () { + try { + empty.parse(null); + } + catch (err) { } +}) + .on("cycle", function (e) { + console.log(emptySuite.name + ": " + e.target); +}); +shortSuite + .add("valid", function () { + short.parse({ string: "string" }); +}) + .add("valid: extra keys", function () { + short.parse({ string: "string", number: 42 }); +}) + .add("invalid: null", function () { + try { + short.parse(null); + } + catch (err) { } +}) + .on("cycle", function (e) { + console.log(shortSuite.name + ": " + e.target); +}); +longSuite + .add("valid", function () { + long.parse({ string: "string", number: 42, boolean: true }); +}) + .add("valid: extra keys", function () { + long.parse({ string: "string", number: 42, boolean: true, list: [] }); +}) + .add("invalid: null", function () { + try { + long.parse(null); + } + catch (err) { } +}) + .on("cycle", function (e) { + console.log(longSuite.name + ": " + e.target); +}); +exports.default = { + suites: [emptySuite, shortSuite, longSuite], +}; +//# sourceMappingURL=object.js.map \ No newline at end of file diff --git a/node_modules/zod/lib/benchmarks/object.js.map b/node_modules/zod/lib/benchmarks/object.js.map new file mode 100644 index 0000000..f8c6242 --- /dev/null +++ b/node_modules/zod/lib/benchmarks/object.js.map @@ -0,0 +1 @@ +{"version":3,"file":"object.js","sourceRoot":"","sources":["../../src/benchmarks/object.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/zod/lib/benchmarks/string.d.ts b/node_modules/zod/lib/benchmarks/string.d.ts new file mode 100644 index 0000000..ca8298d --- /dev/null +++ b/node_modules/zod/lib/benchmarks/string.d.ts @@ -0,0 +1,6 @@ +import Benchmark from "benchmark"; +declare const _default: { + suites: Benchmark.Suite[]; +}; +export default _default; +//# sourceMappingURL=string.d.ts.map \ No newline at end of file diff --git a/node_modules/zod/lib/benchmarks/string.d.ts.map b/node_modules/zod/lib/benchmarks/string.d.ts.map new file mode 100644 index 0000000..bf5d4bb --- /dev/null +++ b/node_modules/zod/lib/benchmarks/string.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/benchmarks/string.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;;;;AAyClC,wBAEE"} \ No newline at end of file diff --git a/node_modules/zod/lib/benchmarks/string.js b/node_modules/zod/lib/benchmarks/string.js new file mode 100644 index 0000000..f871734 --- /dev/null +++ b/node_modules/zod/lib/benchmarks/string.js @@ -0,0 +1,45 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var benchmark_1 = __importDefault(require("benchmark")); +var index_1 = require("../index"); +var SUITE_NAME = "z.string"; +var suite = new benchmark_1.default.Suite(SUITE_NAME); +var empty = ""; +var short = "short"; +var long = "long".repeat(256); +var manual = function (str) { + if (typeof str !== "string") { + throw new Error("Not a string"); + } + return str; +}; +var stringSchema = index_1.z.string(); +suite + .add("empty string", function () { + stringSchema.parse(empty); +}) + .add("short string", function () { + stringSchema.parse(short); +}) + .add("long string", function () { + stringSchema.parse(long); +}) + .add("invalid: null", function () { + try { + stringSchema.parse(null); + } + catch (err) { } +}) + .add("manual parser: long", function () { + manual(long); +}) + .on("cycle", function (e) { + console.log(SUITE_NAME + ": " + e.target); +}); +exports.default = { + suites: [suite], +}; +//# sourceMappingURL=string.js.map \ No newline at end of file diff --git a/node_modules/zod/lib/benchmarks/string.js.map b/node_modules/zod/lib/benchmarks/string.js.map new file mode 100644 index 0000000..387b2ff --- /dev/null +++ b/node_modules/zod/lib/benchmarks/string.js.map @@ -0,0 +1 @@ +{"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/benchmarks/string.ts"],"names":[],"mappings":";;;;;AAAA,wDAAkC;AAElC,kCAA6B;AAE7B,IAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,IAAM,KAAK,GAAG,IAAI,mBAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAE9C,IAAM,KAAK,GAAG,EAAE,CAAC;AACjB,IAAM,KAAK,GAAG,OAAO,CAAC;AACtB,IAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAChC,IAAM,MAAM,GAAG,UAAC,GAAY;IAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;KACjC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AACF,IAAM,YAAY,GAAG,SAAC,CAAC,MAAM,EAAE,CAAC;AAEhC,KAAK;KACF,GAAG,CAAC,cAAc,EAAE;IACnB,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC,CAAC;KACD,GAAG,CAAC,cAAc,EAAE;IACnB,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC,CAAC;KACD,GAAG,CAAC,aAAa,EAAE;IAClB,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC,CAAC;KACD,GAAG,CAAC,eAAe,EAAE;IACpB,IAAI;QACF,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAC1B;IAAC,OAAO,GAAG,EAAE,GAAE;AAClB,CAAC,CAAC;KACD,GAAG,CAAC,qBAAqB,EAAE;IAC1B,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;KACD,EAAE,CAAC,OAAO,EAAE,UAAC,CAAkB;IAC9B,OAAO,CAAC,GAAG,CAAI,UAAU,UAAK,CAAC,CAAC,MAAQ,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEL,kBAAe;IACb,MAAM,EAAE,CAAC,KAAK,CAAC;CAChB,CAAC"} \ No newline at end of file diff --git a/node_modules/zod/lib/benchmarks/union.d.ts b/node_modules/zod/lib/benchmarks/union.d.ts new file mode 100644 index 0000000..74fbc80 --- /dev/null +++ b/node_modules/zod/lib/benchmarks/union.d.ts @@ -0,0 +1,6 @@ +import Benchmark from "benchmark"; +declare const _default: { + suites: Benchmark.Suite[]; +}; +export default _default; +//# sourceMappingURL=union.d.ts.map \ No newline at end of file diff --git a/node_modules/zod/lib/benchmarks/union.d.ts.map b/node_modules/zod/lib/benchmarks/union.d.ts.map new file mode 100644 index 0000000..53179c7 --- /dev/null +++ b/node_modules/zod/lib/benchmarks/union.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../src/benchmarks/union.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;;;;AA6ElC,wBAEE"} \ No newline at end of file diff --git a/node_modules/zod/lib/benchmarks/union.js b/node_modules/zod/lib/benchmarks/union.js new file mode 100644 index 0000000..53e64fa --- /dev/null +++ b/node_modules/zod/lib/benchmarks/union.js @@ -0,0 +1,80 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var benchmark_1 = __importDefault(require("benchmark")); +var index_1 = require("../index"); +var doubleSuite = new benchmark_1.default.Suite("z.union: double"); +var manySuite = new benchmark_1.default.Suite("z.union: many"); +var aSchema = index_1.z.object({ + type: index_1.z.literal("a"), +}); +var objA = { + type: "a", +}; +var bSchema = index_1.z.object({ + type: index_1.z.literal("b"), +}); +var objB = { + type: "b", +}; +var cSchema = index_1.z.object({ + type: index_1.z.literal("c"), +}); +var objC = { + type: "c", +}; +var dSchema = index_1.z.object({ + type: index_1.z.literal("d"), +}); +var double = index_1.z.union([aSchema, bSchema]); +var many = index_1.z.union([aSchema, bSchema, cSchema, dSchema]); +doubleSuite + .add("valid: a", function () { + double.parse(objA); +}) + .add("valid: b", function () { + double.parse(objB); +}) + .add("invalid: null", function () { + try { + double.parse(null); + } + catch (err) { } +}) + .add("invalid: wrong shape", function () { + try { + double.parse(objC); + } + catch (err) { } +}) + .on("cycle", function (e) { + console.log(doubleSuite.name + ": " + e.target); +}); +manySuite + .add("valid: a", function () { + many.parse(objA); +}) + .add("valid: c", function () { + many.parse(objC); +}) + .add("invalid: null", function () { + try { + many.parse(null); + } + catch (err) { } +}) + .add("invalid: wrong shape", function () { + try { + many.parse({ type: "unknown" }); + } + catch (err) { } +}) + .on("cycle", function (e) { + console.log(manySuite.name + ": " + e.target); +}); +exports.default = { + suites: [doubleSuite, manySuite], +}; +//# sourceMappingURL=union.js.map \ No newline at end of file diff --git a/node_modules/zod/lib/benchmarks/union.js.map b/node_modules/zod/lib/benchmarks/union.js.map new file mode 100644 index 0000000..6e26460 --- /dev/null +++ b/node_modules/zod/lib/benchmarks/union.js.map @@ -0,0 +1 @@ +{"version":3,"file":"union.js","sourceRoot":"","sources":["../../src/benchmarks/union.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/zod/lib/external.d.ts b/node_modules/zod/lib/external.d.ts new file mode 100644 index 0000000..1dc80c5 --- /dev/null +++ b/node_modules/zod/lib/external.d.ts @@ -0,0 +1,4 @@ +export * from "./helpers/parseUtil"; +export * from "./types"; +export * from "./ZodError"; +//# sourceMappingURL=external.d.ts.map \ No newline at end of file diff --git a/node_modules/zod/lib/external.d.ts.map b/node_modules/zod/lib/external.d.ts.map new file mode 100644 index 0000000..ccc0a9f --- /dev/null +++ b/node_modules/zod/lib/external.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../src/external.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"} \ No newline at end of file diff --git a/node_modules/zod/lib/external.js b/node_modules/zod/lib/external.js new file mode 100644 index 0000000..2a6eac9 --- /dev/null +++ b/node_modules/zod/lib/external.js @@ -0,0 +1,16 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./helpers/parseUtil"), exports); +__exportStar(require("./types"), exports); +__exportStar(require("./ZodError"), exports); +//# sourceMappingURL=external.js.map \ No newline at end of file diff --git a/node_modules/zod/lib/external.js.map b/node_modules/zod/lib/external.js.map new file mode 100644 index 0000000..5e5b061 --- /dev/null +++ b/node_modules/zod/lib/external.js.map @@ -0,0 +1 @@ +{"version":3,"file":"external.js","sourceRoot":"","sources":["../src/external.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAoC;AACpC,0CAAwB;AACxB,6CAA2B"} \ No newline at end of file diff --git a/node_modules/zod/lib/helpers/errorUtil.d.ts b/node_modules/zod/lib/helpers/errorUtil.d.ts new file mode 100644 index 0000000..fee4fe5 --- /dev/null +++ b/node_modules/zod/lib/helpers/errorUtil.d.ts @@ -0,0 +1,10 @@ +export declare namespace errorUtil { + type ErrMessage = string | { + message?: string; + }; + const errToObj: (message?: ErrMessage | undefined) => { + message?: string | undefined; + }; + const toString: (message?: ErrMessage | undefined) => string | undefined; +} +//# sourceMappingURL=errorUtil.d.ts.map \ No newline at end of file diff --git a/node_modules/zod/lib/helpers/errorUtil.d.ts.map b/node_modules/zod/lib/helpers/errorUtil.d.ts.map new file mode 100644 index 0000000..c7a09be --- /dev/null +++ b/node_modules/zod/lib/helpers/errorUtil.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"errorUtil.d.ts","sourceRoot":"","sources":["../../src/helpers/errorUtil.ts"],"names":[],"mappings":"AAAA,yBAAiB,SAAS,CAAC;IACzB,KAAY,UAAU,GAAG,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,MAAM,QAAQ;;KACsC,CAAC;IACrD,MAAM,QAAQ,wCAA2B,MAAM,GAAG,SACC,CAAC;CAC5D"} \ No newline at end of file diff --git a/node_modules/zod/lib/helpers/errorUtil.js b/node_modules/zod/lib/helpers/errorUtil.js new file mode 100644 index 0000000..47fa544 --- /dev/null +++ b/node_modules/zod/lib/helpers/errorUtil.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.errorUtil = void 0; +var errorUtil; +(function (errorUtil) { + errorUtil.errToObj = function (message) { + return typeof message === "string" ? { message: message } : message || {}; + }; + errorUtil.toString = function (message) { + return typeof message === "string" ? message : message === null || message === void 0 ? void 0 : message.message; + }; +})(errorUtil = exports.errorUtil || (exports.errorUtil = {})); +//# sourceMappingURL=errorUtil.js.map \ No newline at end of file diff --git a/node_modules/zod/lib/helpers/errorUtil.js.map b/node_modules/zod/lib/helpers/errorUtil.js.map new file mode 100644 index 0000000..ac1cceb --- /dev/null +++ b/node_modules/zod/lib/helpers/errorUtil.js.map @@ -0,0 +1 @@ +{"version":3,"file":"errorUtil.js","sourceRoot":"","sources":["../../src/helpers/errorUtil.ts"],"names":[],"mappings":";;;AAAA,IAAiB,SAAS,CAMzB;AAND,WAAiB,SAAS;IAEX,kBAAQ,GAAG,UAAC,OAAoB;QAC3C,OAAA,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE;IAAzD,CAAyD,CAAC;IAC/C,kBAAQ,GAAG,UAAC,OAAoB;QAC3C,OAAA,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;IAAxD,CAAwD,CAAC;AAC7D,CAAC,EANgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAMzB"} \ No newline at end of file diff --git a/node_modules/zod/lib/helpers/parseUtil.d.ts b/node_modules/zod/lib/helpers/parseUtil.d.ts new file mode 100644 index 0000000..dda9655 --- /dev/null +++ b/node_modules/zod/lib/helpers/parseUtil.d.ts @@ -0,0 +1,101 @@ +import { IssueData, ZodErrorMap, ZodIssue } from "../ZodError"; +export declare const ZodParsedType: { + function: "function"; + number: "number"; + string: "string"; + nan: "nan"; + integer: "integer"; + float: "float"; + boolean: "boolean"; + date: "date"; + bigint: "bigint"; + symbol: "symbol"; + undefined: "undefined"; + null: "null"; + array: "array"; + object: "object"; + unknown: "unknown"; + promise: "promise"; + void: "void"; + never: "never"; + map: "map"; + set: "set"; +}; +export declare type ZodParsedType = keyof typeof ZodParsedType; +export declare const getParsedType: (data: any, cache?: Map | undefined) => ZodParsedType; +export declare const makeIssue: (params: { + data: any; + path: (string | number)[]; + errorMaps: ZodErrorMap[]; + issueData: IssueData; +}) => ZodIssue; +export declare type ParseParams = { + path: (string | number)[]; + errorMap: ZodErrorMap; + async: boolean; +}; +export declare type ParsePathComponent = string | number; +export declare type ParsePath = ParsePathComponent[]; +export declare const EMPTY_PATH: ParsePath; +export interface ParseContext { + readonly path: ParsePath; + readonly issues: ZodIssue[]; + readonly schemaErrorMap?: ZodErrorMap; + readonly contextualErrorMap?: ZodErrorMap; + readonly async: boolean; + readonly parent: ParseContext | null; + readonly typeCache: Map; + readonly data: any; + readonly parsedType: ZodParsedType; +} +export declare type ParseInput = { + data: any; + path: (string | number)[]; + parent: ParseContext; +}; +export declare function addIssueToContext(ctx: ParseContext, issueData: IssueData): void; +export declare type ObjectPair = { + key: SyncParseReturnType; + value: SyncParseReturnType; +}; +export declare class ParseStatus { + value: "aborted" | "dirty" | "valid"; + dirty(): void; + abort(): void; + static mergeArray(status: ParseStatus, results: SyncParseReturnType[]): SyncParseReturnType; + static mergeObjectAsync(status: ParseStatus, pairs: { + key: ParseReturnType; + value: ParseReturnType; + }[]): Promise>; + static mergeObjectSync(status: ParseStatus, pairs: { + key: SyncParseReturnType; + value: SyncParseReturnType; + alwaysSet?: boolean; + }[]): SyncParseReturnType; +} +export interface ParseResult { + status: "aborted" | "dirty" | "valid"; + data: any; +} +export declare type INVALID = { + status: "aborted"; +}; +export declare const INVALID: INVALID; +export declare type DIRTY = { + status: "dirty"; + value: T; +}; +export declare const DIRTY: (value: T) => DIRTY; +export declare type OK = { + status: "valid"; + value: T; +}; +export declare const OK: (value: T) => OK; +export declare type SyncParseReturnType = OK | DIRTY | INVALID; +export declare type AsyncParseReturnType = Promise>; +export declare type ParseReturnType = SyncParseReturnType | AsyncParseReturnType; +export declare const isAborted: (x: ParseReturnType) => x is INVALID; +export declare const isDirty: (x: ParseReturnType) => x is OK | DIRTY; +export declare const isValid: (x: ParseReturnType) => x is OK | DIRTY; +export declare const isAsync: (x: ParseReturnType) => x is AsyncParseReturnType; +//# sourceMappingURL=parseUtil.d.ts.map \ No newline at end of file diff --git a/node_modules/zod/lib/helpers/parseUtil.d.ts.map b/node_modules/zod/lib/helpers/parseUtil.d.ts.map new file mode 100644 index 0000000..8039ecf --- /dev/null +++ b/node_modules/zod/lib/helpers/parseUtil.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"parseUtil.d.ts","sourceRoot":"","sources":["../../src/helpers/parseUtil.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/zod/lib/helpers/parseUtil.js b/node_modules/zod/lib/helpers/parseUtil.js new file mode 100644 index 0000000..465318c --- /dev/null +++ b/node_modules/zod/lib/helpers/parseUtil.js @@ -0,0 +1,335 @@ +"use strict"; +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +}; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isAsync = exports.isValid = exports.isDirty = exports.isAborted = exports.OK = exports.DIRTY = exports.INVALID = exports.ParseStatus = exports.addIssueToContext = exports.EMPTY_PATH = exports.makeIssue = exports.getParsedType = exports.ZodParsedType = void 0; +var ZodError_1 = require("../ZodError"); +var util_1 = require("./util"); +exports.ZodParsedType = util_1.util.arrayToEnum([ + "string", + "nan", + "number", + "integer", + "float", + "boolean", + "date", + "bigint", + "symbol", + "function", + "undefined", + "null", + "array", + "object", + "unknown", + "promise", + "void", + "never", + "map", + "set", +]); +function cacheAndReturn(data, parsedType, cache) { + if (cache) + cache.set(data, parsedType); + return parsedType; +} +var getParsedType = function (data, cache) { + if (cache && cache.has(data)) + return cache.get(data); + var t = typeof data; + switch (t) { + case "undefined": + return cacheAndReturn(data, exports.ZodParsedType.undefined, cache); + case "string": + return cacheAndReturn(data, exports.ZodParsedType.string, cache); + case "number": + return cacheAndReturn(data, isNaN(data) ? exports.ZodParsedType.nan : exports.ZodParsedType.number, cache); + case "boolean": + return cacheAndReturn(data, exports.ZodParsedType.boolean, cache); + case "function": + return cacheAndReturn(data, exports.ZodParsedType.function, cache); + case "bigint": + return cacheAndReturn(data, exports.ZodParsedType.bigint, cache); + case "object": + if (Array.isArray(data)) { + return cacheAndReturn(data, exports.ZodParsedType.array, cache); + } + if (data === null) { + return cacheAndReturn(data, exports.ZodParsedType.null, cache); + } + if (data.then && + typeof data.then === "function" && + data.catch && + typeof data.catch === "function") { + return cacheAndReturn(data, exports.ZodParsedType.promise, cache); + } + if (data instanceof Map) { + return cacheAndReturn(data, exports.ZodParsedType.map, cache); + } + if (data instanceof Set) { + return cacheAndReturn(data, exports.ZodParsedType.set, cache); + } + if (data instanceof Date) { + return cacheAndReturn(data, exports.ZodParsedType.date, cache); + } + return cacheAndReturn(data, exports.ZodParsedType.object, cache); + default: + return cacheAndReturn(data, exports.ZodParsedType.unknown, cache); + } +}; +exports.getParsedType = getParsedType; +var makeIssue = function (params) { + var e_1, _a; + var data = params.data, path = params.path, errorMaps = params.errorMaps, issueData = params.issueData; + var fullPath = __spreadArray(__spreadArray([], __read(path), false), __read((issueData.path || [])), false); + var fullIssue = __assign(__assign({}, issueData), { path: fullPath }); + var errorMessage = ""; + var maps = errorMaps + .filter(function (m) { return !!m; }) + .slice() + .reverse(); + try { + for (var maps_1 = __values(maps), maps_1_1 = maps_1.next(); !maps_1_1.done; maps_1_1 = maps_1.next()) { + var map = maps_1_1.value; + errorMessage = map(fullIssue, { data: data, defaultError: errorMessage }).message; + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (maps_1_1 && !maps_1_1.done && (_a = maps_1.return)) _a.call(maps_1); + } + finally { if (e_1) throw e_1.error; } + } + return __assign(__assign({}, issueData), { path: fullPath, message: issueData.message || errorMessage }); +}; +exports.makeIssue = makeIssue; +exports.EMPTY_PATH = []; +function addIssueToContext(ctx, issueData) { + var issue = (0, exports.makeIssue)({ + issueData: issueData, + data: ctx.data, + path: ctx.path, + errorMaps: [ + ctx.contextualErrorMap, + ctx.schemaErrorMap, + ZodError_1.overrideErrorMap, + ZodError_1.defaultErrorMap, // then global default map + ].filter(function (x) { return !!x; }), + }); + ctx.issues.push(issue); +} +exports.addIssueToContext = addIssueToContext; +var ParseStatus = /** @class */ (function () { + function ParseStatus() { + this.value = "valid"; + } + ParseStatus.prototype.dirty = function () { + if (this.value === "valid") + this.value = "dirty"; + }; + ParseStatus.prototype.abort = function () { + if (this.value !== "aborted") + this.value = "aborted"; + }; + ParseStatus.mergeArray = function (status, results) { + var e_2, _a; + var arrayValue = []; + try { + for (var results_1 = __values(results), results_1_1 = results_1.next(); !results_1_1.done; results_1_1 = results_1.next()) { + var s = results_1_1.value; + if (s.status === "aborted") + return exports.INVALID; + if (s.status === "dirty") + status.dirty(); + arrayValue.push(s.value); + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (results_1_1 && !results_1_1.done && (_a = results_1.return)) _a.call(results_1); + } + finally { if (e_2) throw e_2.error; } + } + return { status: status.value, value: arrayValue }; + }; + ParseStatus.mergeObjectAsync = function (status, pairs) { + return __awaiter(this, void 0, void 0, function () { + var syncPairs, pairs_1, pairs_1_1, pair, _a, _b, e_3_1; + var e_3, _c, _d; + return __generator(this, function (_e) { + switch (_e.label) { + case 0: + syncPairs = []; + _e.label = 1; + case 1: + _e.trys.push([1, 7, 8, 9]); + pairs_1 = __values(pairs), pairs_1_1 = pairs_1.next(); + _e.label = 2; + case 2: + if (!!pairs_1_1.done) return [3 /*break*/, 6]; + pair = pairs_1_1.value; + _b = (_a = syncPairs).push; + _d = {}; + return [4 /*yield*/, pair.key]; + case 3: + _d.key = _e.sent(); + return [4 /*yield*/, pair.value]; + case 4: + _b.apply(_a, [(_d.value = _e.sent(), + _d)]); + _e.label = 5; + case 5: + pairs_1_1 = pairs_1.next(); + return [3 /*break*/, 2]; + case 6: return [3 /*break*/, 9]; + case 7: + e_3_1 = _e.sent(); + e_3 = { error: e_3_1 }; + return [3 /*break*/, 9]; + case 8: + try { + if (pairs_1_1 && !pairs_1_1.done && (_c = pairs_1.return)) _c.call(pairs_1); + } + finally { if (e_3) throw e_3.error; } + return [7 /*endfinally*/]; + case 9: return [2 /*return*/, ParseStatus.mergeObjectSync(status, syncPairs)]; + } + }); + }); + }; + ParseStatus.mergeObjectSync = function (status, pairs) { + var e_4, _a; + var finalObject = {}; + try { + for (var pairs_2 = __values(pairs), pairs_2_1 = pairs_2.next(); !pairs_2_1.done; pairs_2_1 = pairs_2.next()) { + var pair = pairs_2_1.value; + var key = pair.key, value = pair.value; + if (key.status === "aborted") + return exports.INVALID; + if (value.status === "aborted") + return exports.INVALID; + if (key.status === "dirty") + status.dirty(); + if (value.status === "dirty") + status.dirty(); + if (typeof value.value !== "undefined" || pair.alwaysSet) { + finalObject[key.value] = value.value; + } + } + } + catch (e_4_1) { e_4 = { error: e_4_1 }; } + finally { + try { + if (pairs_2_1 && !pairs_2_1.done && (_a = pairs_2.return)) _a.call(pairs_2); + } + finally { if (e_4) throw e_4.error; } + } + return { status: status.value, value: finalObject }; + }; + return ParseStatus; +}()); +exports.ParseStatus = ParseStatus; +exports.INVALID = Object.freeze({ + status: "aborted", +}); +var DIRTY = function (value) { return ({ status: "dirty", value: value }); }; +exports.DIRTY = DIRTY; +var OK = function (value) { return ({ status: "valid", value: value }); }; +exports.OK = OK; +var isAborted = function (x) { + return x.status === "aborted"; +}; +exports.isAborted = isAborted; +var isDirty = function (x) { + return x.status === "dirty"; +}; +exports.isDirty = isDirty; +var isValid = function (x) { + return x.status === "valid"; +}; +exports.isValid = isValid; +var isAsync = function (x) { return x instanceof Promise; }; +exports.isAsync = isAsync; +//# sourceMappingURL=parseUtil.js.map \ No newline at end of file diff --git a/node_modules/zod/lib/helpers/parseUtil.js.map b/node_modules/zod/lib/helpers/parseUtil.js.map new file mode 100644 index 0000000..19a9bc0 --- /dev/null +++ b/node_modules/zod/lib/helpers/parseUtil.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parseUtil.js","sourceRoot":"","sources":["../../src/helpers/parseUtil.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/zod/lib/helpers/partialUtil.d.ts b/node_modules/zod/lib/helpers/partialUtil.d.ts new file mode 100644 index 0000000..11693dd --- /dev/null +++ b/node_modules/zod/lib/helpers/partialUtil.d.ts @@ -0,0 +1,9 @@ +import type { ZodArray, ZodNullable, ZodObject, ZodOptional, ZodTuple, ZodTupleItems, ZodTypeAny } from "../index"; +export declare namespace partialUtil { + type DeepPartial = T extends ZodObject ? ZodObject<{ + [k in keyof Shape]: ZodOptional>; + }, Params, Catchall> : T extends ZodArray ? ZodArray, Card> : T extends ZodOptional ? ZodOptional> : T extends ZodNullable ? ZodNullable> : T extends ZodTuple ? { + [k in keyof Items]: Items[k] extends ZodTypeAny ? DeepPartial : never; + } extends infer PI ? PI extends ZodTupleItems ? ZodTuple : never : never : T; +} +//# sourceMappingURL=partialUtil.d.ts.map \ No newline at end of file diff --git a/node_modules/zod/lib/helpers/partialUtil.d.ts.map b/node_modules/zod/lib/helpers/partialUtil.d.ts.map new file mode 100644 index 0000000..1acba13 --- /dev/null +++ b/node_modules/zod/lib/helpers/partialUtil.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"partialUtil.d.ts","sourceRoot":"","sources":["../../src/helpers/partialUtil.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,EACX,QAAQ,EACR,aAAa,EACb,UAAU,EACX,MAAM,UAAU,CAAC;AAElB,yBAAiB,WAAW,CAAC;IA0B3B,KAAY,WAAW,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,SAAS,SAAS,CACjE,MAAM,KAAK,EACX,MAAM,MAAM,EACZ,MAAM,QAAQ,CACf,GACG,SAAS,CACP;SAAG,CAAC,IAAI,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,EAC1D,MAAM,EACN,QAAQ,CACT,GACD,CAAC,SAAS,QAAQ,CAAC,MAAM,IAAI,EAAE,MAAM,IAAI,CAAC,GAC1C,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GACjC,CAAC,SAAS,WAAW,CAAC,MAAM,IAAI,CAAC,GACjC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAC9B,CAAC,SAAS,WAAW,CAAC,MAAM,IAAI,CAAC,GACjC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAC9B,CAAC,SAAS,QAAQ,CAAC,MAAM,KAAK,CAAC,GAC/B;SACG,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,UAAU,GAC3C,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACrB,KAAK;KACV,SAAS,MAAM,EAAE,GAChB,EAAE,SAAS,aAAa,GACtB,QAAQ,CAAC,EAAE,CAAC,GACZ,KAAK,GACP,KAAK,GACP,CAAC,CAAC;CAiBP"} \ No newline at end of file diff --git a/node_modules/zod/lib/helpers/partialUtil.js b/node_modules/zod/lib/helpers/partialUtil.js new file mode 100644 index 0000000..1867136 --- /dev/null +++ b/node_modules/zod/lib/helpers/partialUtil.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=partialUtil.js.map \ No newline at end of file diff --git a/node_modules/zod/lib/helpers/partialUtil.js.map b/node_modules/zod/lib/helpers/partialUtil.js.map new file mode 100644 index 0000000..478e578 --- /dev/null +++ b/node_modules/zod/lib/helpers/partialUtil.js.map @@ -0,0 +1 @@ +{"version":3,"file":"partialUtil.js","sourceRoot":"","sources":["../../src/helpers/partialUtil.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/zod/lib/helpers/util.d.ts b/node_modules/zod/lib/helpers/util.d.ts new file mode 100644 index 0000000..738c9fe --- /dev/null +++ b/node_modules/zod/lib/helpers/util.d.ts @@ -0,0 +1,19 @@ +export declare namespace util { + type AssertEqual = [T] extends [Expected] ? [Expected] extends [T] ? true : false : false; + function assertNever(_x: never): never; + type Omit = Pick>; + type OmitKeys = Pick>; + type MakePartial = Omit & Partial>; + const arrayToEnum: (items: U) => { [k in U[number]]: k; }; + const getValidEnumValues: (obj: any) => any[]; + const objectValues: (obj: any) => any[]; + const objectKeys: ObjectConstructor["keys"]; + const find: (arr: T[], checker: (arg: T) => any) => T | undefined; + type identity = T; + type flatten = identity<{ + [k in keyof T]: T[k]; + }>; + type noUndefined = T extends undefined ? never : T; + const isInteger: NumberConstructor["isInteger"]; +} +//# sourceMappingURL=util.d.ts.map \ No newline at end of file diff --git a/node_modules/zod/lib/helpers/util.d.ts.map b/node_modules/zod/lib/helpers/util.d.ts.map new file mode 100644 index 0000000..3a3232b --- /dev/null +++ b/node_modules/zod/lib/helpers/util.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/helpers/util.ts"],"names":[],"mappings":"AAAA,yBAAiB,IAAI,CAAC;IACpB,KAAY,WAAW,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GACzD,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GACpB,IAAI,GACJ,KAAK,GACP,KAAK,CAAC;IAEV,SAAgB,WAAW,CAAC,EAAE,EAAE,KAAK,GAAG,KAAK,CAE5C;IAED,KAAY,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,KAAY,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,KAAY,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACxD,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEf,MAAM,WAAW,iFAQvB,CAAC;IAEK,MAAM,kBAAkB,QAAS,GAAG,UAS1C,CAAC;IAEK,MAAM,YAAY,QAAS,GAAG,UAIpC,CAAC;IAEK,MAAM,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAW1C,CAAC;IAED,MAAM,IAAI,qCAEM,GAAG,kBAMzB,CAAC;IAEF,KAAY,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5B,KAAY,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,QAAQ,CAAC;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAAE,CAAC,CAAC;IAC3E,KAAY,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;IAEtD,MAAM,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAIsB,CAAC;CAC7E"} \ No newline at end of file diff --git a/node_modules/zod/lib/helpers/util.js b/node_modules/zod/lib/helpers/util.js new file mode 100644 index 0000000..3d0cea1 --- /dev/null +++ b/node_modules/zod/lib/helpers/util.js @@ -0,0 +1,98 @@ +"use strict"; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.util = void 0; +var util; +(function (util) { + function assertNever(_x) { + throw new Error(); + } + util.assertNever = assertNever; + util.arrayToEnum = function (items) { + var e_1, _a; + var obj = {}; + try { + for (var items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) { + var item = items_1_1.value; + obj[item] = item; + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1); + } + finally { if (e_1) throw e_1.error; } + } + return obj; + }; + util.getValidEnumValues = function (obj) { + var e_2, _a; + var validKeys = util.objectKeys(obj).filter(function (k) { return typeof obj[obj[k]] !== "number"; }); + var filtered = {}; + try { + for (var validKeys_1 = __values(validKeys), validKeys_1_1 = validKeys_1.next(); !validKeys_1_1.done; validKeys_1_1 = validKeys_1.next()) { + var k = validKeys_1_1.value; + filtered[k] = obj[k]; + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (validKeys_1_1 && !validKeys_1_1.done && (_a = validKeys_1.return)) _a.call(validKeys_1); + } + finally { if (e_2) throw e_2.error; } + } + return util.objectValues(filtered); + }; + util.objectValues = function (obj) { + return util.objectKeys(obj).map(function (e) { + return obj[e]; + }); + }; + util.objectKeys = typeof Object.keys === "function" // eslint-disable-line ban/ban + ? function (obj) { return Object.keys(obj); } // eslint-disable-line ban/ban + : function (object) { + var keys = []; + for (var key in object) { + if (Object.prototype.hasOwnProperty.call(object, key)) { + keys.push(key); + } + } + return keys; + }; + util.find = function (arr, checker) { + var e_3, _a; + try { + for (var arr_1 = __values(arr), arr_1_1 = arr_1.next(); !arr_1_1.done; arr_1_1 = arr_1.next()) { + var item = arr_1_1.value; + if (checker(item)) + return item; + } + } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (arr_1_1 && !arr_1_1.done && (_a = arr_1.return)) _a.call(arr_1); + } + finally { if (e_3) throw e_3.error; } + } + return undefined; + }; + util.isInteger = typeof Number.isInteger === "function" + ? function (val) { return Number.isInteger(val); } // eslint-disable-line ban/ban + : function (val) { + return typeof val === "number" && isFinite(val) && Math.floor(val) === val; + }; +})(util = exports.util || (exports.util = {})); +//# sourceMappingURL=util.js.map \ No newline at end of file diff --git a/node_modules/zod/lib/helpers/util.js.map b/node_modules/zod/lib/helpers/util.js.map new file mode 100644 index 0000000..9608afa --- /dev/null +++ b/node_modules/zod/lib/helpers/util.js.map @@ -0,0 +1 @@ +{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/helpers/util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,IAAiB,IAAI,CA2EpB;AA3ED,WAAiB,IAAI;IAOnB,SAAgB,WAAW,CAAC,EAAS;QACnC,MAAM,IAAI,KAAK,EAAE,CAAC;IACpB,CAAC;IAFe,gBAAW,cAE1B,CAAA;IAOY,gBAAW,GAAG,UACzB,KAAQ;;QAER,IAAM,GAAG,GAAQ,EAAE,CAAC;;YACpB,KAAmB,IAAA,UAAA,SAAA,KAAK,CAAA,4BAAA,+CAAE;gBAArB,IAAM,IAAI,kBAAA;gBACb,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;aAClB;;;;;;;;;QACD,OAAO,GAAU,CAAC;IACpB,CAAC,CAAC;IAEW,uBAAkB,GAAG,UAAC,GAAQ;;QACzC,IAAM,SAAS,GAAG,KAAA,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CACtC,UAAC,CAAM,IAAK,OAAA,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAA/B,CAA+B,CAC5C,CAAC;QACF,IAAM,QAAQ,GAAQ,EAAE,CAAC;;YACzB,KAAgB,IAAA,cAAA,SAAA,SAAS,CAAA,oCAAA,2DAAE;gBAAtB,IAAM,CAAC,sBAAA;gBACV,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;aACtB;;;;;;;;;QACD,OAAO,KAAA,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC,CAAC;IAEW,iBAAY,GAAG,UAAC,GAAQ;QACnC,OAAO,KAAA,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;YACpC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEW,eAAU,GACrB,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,8BAA8B;QAC9D,CAAC,CAAC,UAAC,GAAQ,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAhB,CAAgB,CAAC,8BAA8B;QAC/D,CAAC,CAAC,UAAC,MAAW;YACV,IAAM,IAAI,GAAG,EAAE,CAAC;YAChB,KAAK,IAAM,GAAG,IAAI,MAAM,EAAE;gBACxB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;oBACrD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAChB;aACF;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IAEK,SAAI,GAAG,UAClB,GAAQ,EACR,OAAwB;;;YAExB,KAAmB,IAAA,QAAA,SAAA,GAAG,CAAA,wBAAA,yCAAE;gBAAnB,IAAM,IAAI,gBAAA;gBACb,IAAI,OAAO,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC;aAChC;;;;;;;;;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAMW,cAAS,GACpB,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU;QACpC,CAAC,CAAC,UAAC,GAAG,IAAK,OAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAArB,CAAqB,CAAC,8BAA8B;QAC/D,CAAC,CAAC,UAAC,GAAG;YACF,OAAA,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG;QAAnE,CAAmE,CAAC;AAC9E,CAAC,EA3EgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QA2EpB"} \ No newline at end of file diff --git a/node_modules/zod/lib/index.d.ts b/node_modules/zod/lib/index.d.ts new file mode 100644 index 0000000..5225d81 --- /dev/null +++ b/node_modules/zod/lib/index.d.ts @@ -0,0 +1,4 @@ +import * as mod from "./external"; +export * from "./external"; +export { mod as z }; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/zod/lib/index.d.ts.map b/node_modules/zod/lib/index.d.ts.map new file mode 100644 index 0000000..36447b2 --- /dev/null +++ b/node_modules/zod/lib/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/zod/lib/index.js b/node_modules/zod/lib/index.js new file mode 100644 index 0000000..39a8a5f --- /dev/null +++ b/node_modules/zod/lib/index.js @@ -0,0 +1,29 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.z = void 0; +var mod = __importStar(require("./external")); +exports.z = mod; +__exportStar(require("./external"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/zod/lib/index.js.map b/node_modules/zod/lib/index.js.map new file mode 100644 index 0000000..57dfab6 --- /dev/null +++ b/node_modules/zod/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAkC;AAElB,gBAAC;AADjB,6CAA2B"} \ No newline at end of file diff --git a/node_modules/zod/lib/index.mjs b/node_modules/zod/lib/index.mjs new file mode 100644 index 0000000..3ddf6a2 --- /dev/null +++ b/node_modules/zod/lib/index.mjs @@ -0,0 +1,2 @@ +var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};function __extends(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var util,__assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;rs[0]&&t[1]=e.length?void 0:e)&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,a,o=r.call(e),s=[];try{for(;(void 0===t||0()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i,ZodString=function(e){function t(){var n=null!==e&&e.apply(this,arguments)||this;return n._regex=function(t,e,r){return n.refinement(function(e){return t.test(e)},__assign({validation:e,code:ZodIssueCode.invalid_string},errorUtil.errToObj(r)))},n.nonempty=function(e){return n.min(1,errorUtil.errToObj(e))},n}return __extends(t,e),t.prototype._parse=function(e){var t,r,e=this._processInputParams(e),n=e.status,a=e.ctx;if(a.parsedType!==ZodParsedType.string)return addIssueToContext(a,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.string,received:a.parsedType}),INVALID;try{for(var o=__values(this._def.checks),s=o.next();!s.done;s=o.next()){var i=s.value;if("min"===i.kind)a.data.lengthi.value&&(addIssueToContext(a,{code:ZodIssueCode.too_big,maximum:i.value,type:"string",inclusive:!0,message:i.message}),n.dirty());else if("email"===i.kind)emailRegex.test(a.data)||(addIssueToContext(a,{validation:"email",code:ZodIssueCode.invalid_string,message:i.message}),n.dirty());else if("uuid"===i.kind)uuidRegex.test(a.data)||(addIssueToContext(a,{validation:"uuid",code:ZodIssueCode.invalid_string,message:i.message}),n.dirty());else if("cuid"===i.kind)cuidRegex.test(a.data)||(addIssueToContext(a,{validation:"cuid",code:ZodIssueCode.invalid_string,message:i.message}),n.dirty());else if("url"===i.kind)try{new URL(a.data)}catch(e){addIssueToContext(a,{validation:"url",code:ZodIssueCode.invalid_string,message:i.message}),n.dirty()}else"regex"===i.kind&&(i.regex.lastIndex=0,i.regex.test(a.data)||(addIssueToContext(a,{validation:"regex",code:ZodIssueCode.invalid_string,message:i.message}),n.dirty()))}}catch(e){t={error:e}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(t)throw t.error}}return{status:n.value,value:a.data}},t.prototype._addCheck=function(e){return new t(__assign(__assign({},this._def),{checks:__spreadArray(__spreadArray([],__read(this._def.checks),!1),[e],!1)}))},t.prototype.email=function(e){return this._addCheck(__assign({kind:"email"},errorUtil.errToObj(e)))},t.prototype.url=function(e){return this._addCheck(__assign({kind:"url"},errorUtil.errToObj(e)))},t.prototype.uuid=function(e){return this._addCheck(__assign({kind:"uuid"},errorUtil.errToObj(e)))},t.prototype.cuid=function(e){return this._addCheck(__assign({kind:"cuid"},errorUtil.errToObj(e)))},t.prototype.regex=function(e,t){return this._addCheck(__assign({kind:"regex",regex:e},errorUtil.errToObj(t)))},t.prototype.min=function(e,t){return this._addCheck(__assign({kind:"min",value:e},errorUtil.errToObj(t)))},t.prototype.max=function(e,t){return this._addCheck(__assign({kind:"max",value:e},errorUtil.errToObj(t)))},t.prototype.length=function(e,t){return this.min(e,t).max(e,t)},Object.defineProperty(t.prototype,"isEmail",{get:function(){return!!this._def.checks.find(function(e){return"email"===e.kind})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isURL",{get:function(){return!!this._def.checks.find(function(e){return"url"===e.kind})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isUUID",{get:function(){return!!this._def.checks.find(function(e){return"uuid"===e.kind})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isCUID",{get:function(){return!!this._def.checks.find(function(e){return"cuid"===e.kind})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"minLength",{get:function(){var t=-1/0;return this._def.checks.map(function(e){"min"===e.kind&&(null===t||e.value>t)&&(t=e.value)}),t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxLength",{get:function(){var t=null;return this._def.checks.map(function(e){"max"===e.kind&&(null===t||e.valuei.value:a.data>=i.value)&&(addIssueToContext(a,{code:ZodIssueCode.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,message:i.message}),n.dirty()):"multipleOf"===i.kind?a.data%i.value!=0&&(addIssueToContext(a,{code:ZodIssueCode.not_multiple_of,multipleOf:i.value,message:i.message}),n.dirty()):util.assertNever(i)}}catch(e){t={error:e}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(t)throw t.error}}return{status:n.value,value:a.data}},a.prototype.gte=function(e,t){return this.setLimit("min",e,!0,errorUtil.toString(t))},a.prototype.gt=function(e,t){return this.setLimit("min",e,!1,errorUtil.toString(t))},a.prototype.lte=function(e,t){return this.setLimit("max",e,!0,errorUtil.toString(t))},a.prototype.lt=function(e,t){return this.setLimit("max",e,!1,errorUtil.toString(t))},a.prototype.setLimit=function(e,t,r,n){return new a(__assign(__assign({},this._def),{checks:__spreadArray(__spreadArray([],__read(this._def.checks),!1),[{kind:e,value:t,inclusive:r,message:errorUtil.toString(n)}],!1)}))},a.prototype._addCheck=function(e){return new a(__assign(__assign({},this._def),{checks:__spreadArray(__spreadArray([],__read(this._def.checks),!1),[e],!1)}))},a.prototype.int=function(e){return this._addCheck({kind:"int",message:errorUtil.toString(e)})},a.prototype.positive=function(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:errorUtil.toString(e)})},a.prototype.negative=function(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:errorUtil.toString(e)})},a.prototype.nonpositive=function(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:errorUtil.toString(e)})},a.prototype.nonnegative=function(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:errorUtil.toString(e)})},a.prototype.multipleOf=function(e,t){return this._addCheck({kind:"multipleOf",value:e,message:errorUtil.toString(t)})},Object.defineProperty(a.prototype,"minValue",{get:function(){var t,e,r=null;try{for(var n=__values(this._def.checks),a=n.next();!a.done;a=n.next()){var o=a.value;"min"===o.kind&&(null===r||o.value>r)&&(r=o.value)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return r},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"maxValue",{get:function(){var t,e,r=null;try{for(var n=__values(this._def.checks),a=n.next();!a.done;a=n.next()){var o=a.value;"max"===o.kind&&(null===r||o.valuen.maxLength.value&&(addIssueToContext(r,{code:ZodIssueCode.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,message:n.maxLength.message}),t.dirty()),r.async)return Promise.all(r.data.map(function(e,t){return n.type._parseAsync({parent:r,path:__spreadArray(__spreadArray([],__read(r.path),!1),[t],!1),data:e})})).then(function(e){return ParseStatus.mergeArray(t,e)});e=r.data.map(function(e,t){return n.type._parseSync({parent:r,path:__spreadArray(__spreadArray([],__read(r.path),!1),[t],!1),data:e})});return ParseStatus.mergeArray(t,e)},Object.defineProperty(r.prototype,"element",{get:function(){return this._def.type},enumerable:!1,configurable:!0}),r.prototype.min=function(e,t){return new r(__assign(__assign({},this._def),{minLength:{value:e,message:errorUtil.toString(t)}}))},r.prototype.max=function(e,t){return new r(__assign(__assign({},this._def),{maxLength:{value:e,message:errorUtil.toString(t)}}))},r.prototype.length=function(e,t){return this.min(e,t).max(e,t)},r.prototype.nonempty=function(e){return this.min(1,e)},r.create=function(e,t){return new r(__assign({type:e,minLength:null,maxLength:null,typeName:ZodFirstPartyTypeKind.ZodArray},processCreateParams(t)))},r}(ZodType);(objectUtil||(objectUtil={})).mergeShapes=function(e,t){return __assign(__assign({},e),t)};var AugmentFactory=function(t){return function(e){return new ZodObject(__assign(__assign({},t),{shape:function(){return __assign(__assign({},t.shape()),e)}}))}};function deepPartialify(e){if(e instanceof ZodObject){var t,r={};for(t in e.shape){var n=e.shape[t];r[t]=ZodOptional.create(deepPartialify(n))}return new ZodObject(__assign(__assign({},e._def),{shape:function(){return r}}))}return e instanceof ZodArray?ZodArray.create(deepPartialify(e.element)):e instanceof ZodOptional?ZodOptional.create(deepPartialify(e.unwrap())):e instanceof ZodNullable?ZodNullable.create(deepPartialify(e.unwrap())):e instanceof ZodTuple?ZodTuple.create(e.items.map(function(e){return deepPartialify(e)})):e}var ZodObject=function(t){function s(){var e=null!==t&&t.apply(this,arguments)||this;return e._cached=null,e.nonstrict=e.passthrough,e.augment=AugmentFactory(e._def),e.extend=AugmentFactory(e._def),e}return __extends(s,t),s.prototype._getCached=function(){if(null!==this._cached)return this._cached;var e=this._def.shape(),t=util.objectKeys(e);return this._cached={shape:e,keys:t}},s.prototype._parse=function(e){var t,r,n,a,o,s=this,i=this._processInputParams(e),u=i.status,d=i.ctx;if(d.parsedType!==ZodParsedType.object)return addIssueToContext(d,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:d.parsedType}),INVALID;var e=this._getCached(),p=e.shape,i=e.keys,e=util.objectKeys(d.data).filter(function(e){return!(e in p)}),c=[];try{for(var l=__values(i),y=l.next();!y.done;y=l.next()){var f=y.value,_=p[f],h=d.data[f];c.push({key:{status:"valid",value:f},value:_._parse({parent:d,data:h,path:__spreadArray(__spreadArray([],__read(d.path),!1),[f],!1)}),alwaysSet:f in d.data})}}catch(e){v={error:e}}finally{try{y&&!y.done&&(t=l.return)&&t.call(l)}finally{if(v)throw v.error}}if(this._def.catchall instanceof ZodNever){var v=this._def.unknownKeys;if("passthrough"===v)try{for(var m=__values(e),Z=m.next();!Z.done;Z=m.next()){f=Z.value;c.push({key:{status:"valid",value:f},value:{status:"valid",value:d.data[f]}})}}catch(e){r={error:e}}finally{try{Z&&!Z.done&&(n=m.return)&&n.call(m)}finally{if(r)throw r.error}}else if("strict"===v)0this._def.items.length&&(addIssueToContext(a,{code:ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,type:"array"}),t.dirty());e=a.data.map(function(e,t){var r=n._def.items[t]||n._def.rest;return r?r._parse({data:e,path:__spreadArray(__spreadArray([],__read(a.path),!1),[t],!1),parent:a}):null}).filter(function(e){return!!e});return a.async?Promise.all(e).then(function(e){return ParseStatus.mergeArray(t,e)}):ParseStatus.mergeArray(t,e)},Object.defineProperty(r.prototype,"items",{get:function(){return this._def.items},enumerable:!1,configurable:!0}),r.prototype.rest=function(e){return new r(__assign(__assign({},this._def),{rest:e}))},r.create=function(e,t){return new r(__assign({items:e,typeName:ZodFirstPartyTypeKind.ZodTuple,rest:null},processCreateParams(t)))},r}(ZodType),ZodRecord=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return __extends(n,e),Object.defineProperty(n.prototype,"keySchema",{get:function(){return this._def.keyType},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"valueSchema",{get:function(){return this._def.valueType},enumerable:!1,configurable:!0}),n.prototype._parse=function(e){var t=this._processInputParams(e),e=t.status,r=t.ctx;if(r.parsedType!==ZodParsedType.object)return addIssueToContext(r,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:r.parsedType}),INVALID;var n,a=[],o=this._def.keyType,s=this._def.valueType;for(n in r.data)a.push({key:o._parse({data:n,path:__spreadArray(__spreadArray([],__read(r.path),!1),[n],!1),parent:r}),value:s._parse({data:r.data[n],path:__spreadArray(__spreadArray([],__read(r.path),!1),[n],!1),parent:r})});return r.async?ParseStatus.mergeObjectAsync(e,a):ParseStatus.mergeObjectSync(e,a)},Object.defineProperty(n.prototype,"element",{get:function(){return this._def.valueType},enumerable:!1,configurable:!0}),n.create=function(e,t,r){return new n(t instanceof ZodType?__assign({keyType:e,valueType:t,typeName:ZodFirstPartyTypeKind.ZodRecord},processCreateParams(r)):__assign({keyType:ZodString.create(),valueType:e,typeName:ZodFirstPartyTypeKind.ZodRecord},processCreateParams(t)))},n}(ZodType),ZodMap=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return __extends(n,e),n.prototype._parse=function(e){var t,r,n=this,e=this._processInputParams(e),u=e.status,a=e.ctx;if(a.parsedType!==ZodParsedType.map)return addIssueToContext(a,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.map,received:a.parsedType}),INVALID;var o=this._def.keyType,s=this._def.valueType,d=__spreadArray([],__read(a.data.entries()),!1).map(function(e,t){var r=__read(e,2),e=r[0],r=r[1];return{key:o._parse({data:e,path:__spreadArray(__spreadArray([],__read(a.path),!1),[t,"key"],!1),parent:a}),value:s._parse({data:r,path:__spreadArray(__spreadArray([],__read(a.path),!1),[t,"value"],!1),parent:a})}});if(a.async){var p=new Map;return Promise.resolve().then(function(){return __awaiter(n,void 0,void 0,function(){var t,r,n,a,o,s,i;return __generator(this,function(e){switch(e.label){case 0:e.trys.push([0,6,7,8]),t=__values(d),r=t.next(),e.label=1;case 1:return r.done?[3,5]:[4,(n=r.value).key];case 2:return a=e.sent(),[4,n.value];case 3:if(o=e.sent(),"aborted"===a.status||"aborted"===o.status)return[2,INVALID];"dirty"!==a.status&&"dirty"!==o.status||u.dirty(),p.set(a.value,o.value),e.label=4;case 4:return r=t.next(),[3,1];case 5:return[3,8];case 6:return s=e.sent(),s={error:s},[3,8];case 7:try{r&&!r.done&&(i=t.return)&&i.call(t)}finally{if(s)throw s.error}return[7];case 8:return[2,{status:u.value,value:p}]}})})})}var i=new Map;try{for(var c=__values(d),l=c.next();!l.done;l=c.next()){var y=l.value,f=y.key,_=y.value;if("aborted"===f.status||"aborted"===_.status)return INVALID;"dirty"!==f.status&&"dirty"!==_.status||u.dirty(),i.set(f.value,_.value)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(r=c.return)&&r.call(c)}finally{if(t)throw t.error}}return{status:u.value,value:i}},n.create=function(e,t,r){return new n(__assign({valueType:t,keyType:e,typeName:ZodFirstPartyTypeKind.ZodMap},processCreateParams(r)))},n}(ZodType),ZodSet=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return __extends(r,e),r.prototype._parse=function(e){var e=this._processInputParams(e),i=e.status,r=e.ctx;if(r.parsedType!==ZodParsedType.set)return addIssueToContext(r,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.set,received:r.parsedType}),INVALID;var n=this._def.valueType;function t(e){var t,r,n=new Set;try{for(var a=__values(e),o=a.next();!o.done;o=a.next()){var s=o.value;if("aborted"===s.status)return INVALID;"dirty"===s.status&&i.dirty(),n.add(s.value)}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}return{status:i.value,value:n}}e=__spreadArray([],__read(r.data.values()),!1).map(function(e,t){return n._parse({data:e,path:__spreadArray(__spreadArray([],__read(r.path),!1),[t],!1),parent:r})});return r.async?Promise.all(e).then(t):t(e)},r.create=function(e,t){return new r(__assign({valueType:e,typeName:ZodFirstPartyTypeKind.ZodSet},processCreateParams(t)))},r}(ZodType),ZodFunction=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.validate=e.implement,e}return __extends(n,t),n.prototype._parse=function(e){var o=this,r=this._processInputParams(e).ctx;if(r.parsedType!==ZodParsedType.function)return addIssueToContext(r,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.function,received:r.parsedType}),INVALID;function s(e,t){return makeIssue({data:e,path:r.path,errorMaps:[r.contextualErrorMap,r.schemaErrorMap,overrideErrorMap,defaultErrorMap].filter(function(e){return!!e}),issueData:{code:ZodIssueCode.invalid_arguments,argumentsError:t}})}function i(e,t){return makeIssue({data:e,path:r.path,errorMaps:[r.contextualErrorMap,r.schemaErrorMap,overrideErrorMap,defaultErrorMap].filter(function(e){return!!e}),issueData:{code:ZodIssueCode.invalid_return_type,returnTypeError:t}})}var u={errorMap:r.contextualErrorMap},d=r.data;return this._def.returns instanceof ZodPromise?OK(function(){for(var a=[],e=0;e= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n",null,null,null,null,null],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","util","__assign","assign","t","s","i","n","arguments","length","apply","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","verb","throw","return","Symbol","iterator","v","op","pop","push","__values","o","m","__read","r","ar","error","__spreadArray","to","from","pack","l","slice","concat","_x","Error","items","obj","items_1","item","validKeys","objectKeys","filter","k","filtered","validKeys_1","objectValues","map","keys","object","key","arr","checker","arr_1","Number","isInteger","val","isFinite","Math","floor","ZodIssueCode","arrayToEnum","quotelessJson","JSON","stringify","replace","issues","_super","_this","fieldErrors","_errors","processError","_b","issue","code","unionErrors","returnTypeError","argumentsError","path","message","curr","errorArray","el","sub","subs","mapper","formErrors","actualProto","_newTarget","name","ZodError","flatten","defaultErrorMap","_ctx","invalid_type","received","expected","unrecognized_keys","join","invalid_union","invalid_enum_value","options","data","invalid_arguments","invalid_return_type","invalid_date","invalid_string","validation","too_small","type","inclusive","minimum","too_big","maximum","custom","invalid_intersection_types","not_multiple_of","multipleOf","defaultError","assertNever","overrideErrorMap","setErrorMap","ZodParsedType","cacheAndReturn","parsedType","cache","set","getParsedType","has","get","undefined","string","isNaN","nan","number","boolean","function","bigint","isArray","array","null","catch","promise","Map","Set","Date","date","unknown","makeIssue","params","errorMaps","issueData","fullPath","fullIssue","errorMessage","maps","reverse","maps_1","EMPTY_PATH","addIssueToContext","ctx","contextualErrorMap","schemaErrorMap","x","errorUtil","ParseStatus","status","results","arrayValue","results_1","INVALID","dirty","pairs","syncPairs","pairs_1","pair","_a","_d","_e","mergeObjectSync","finalObject","pairs_2","alwaysSet","freeze","DIRTY","OK","isAborted","isDirty","isValid","isAsync","handleResult","success","processCreateParams","errorMap","invalid_type_error","required_error","iss","objectUtil","def","safeParseAsync","_refinement","_def","transform","bind","default","ZodType","description","input","parent","typeCache","_parse","safeParse","async","_parseSync","maybeAsyncResult","check","setError","addIssue","refinementData","refinement","ZodEffects","schema","typeName","ZodFirstPartyTypeKind","effect","ZodOptional","ZodNullable","optional","nullable","ZodArray","ZodPromise","option","ZodUnion","incoming","ZodIntersection","ZodDefault","innerType","defaultValue","cuidRegex","uuidRegex","emailRegex","regex","test","errToObj","min","ZodString","_processInputParams","_c","checks","kind","URL","lastIndex","_addCheck","minLength","maxLength","len","max","find","ch","Infinity","gte","lte","ZodNumber","setLimit","toString","ZodBigInt","ZodBoolean","ZodDate","getTime","ZodUndefined","ZodNull","ZodAny","ZodUnknown","ZodNever","never","ZodVoid","void","all","_parseAsync","mergeArray","first","second","AugmentFactory","augmentation","ZodObject","shape","deepPartialify","newShape_1","fieldSchema","element","unwrap","ZodTuple","passthrough","_cached","_getCached","shapeKeys","extraKeys","shapeKeys_1","keyValidator","catchall","unknownKeys","extraKeys_1","extraKeys_2","augment","merging","mergedShape","mergeShapes","index","mask","indexOf","newShape","newField","handleResults","results_2","childCtx","types","mergeValues","a","aType","bType","valid","bKeys_1","sharedKeys","newObj","sharedKeys_1","sharedValue","newArray","handleParsed","parsedLeft","parsedRight","merged","left","right","rest","itemIndex","schemas","ZodRecord","keyType","valueType","mergeObjectAsync","third","ZodMap","entries","finalMap_1","pairs_3","finalMap","ZodSet","finalizeSet","elements","parsedSet","elements_1","add","values","implement","ZodFunction","makeArgsIssue","args","makeReturnsIssue","returns","fn","_i","parseAsync","parsedArgs","parsedReturns","returnType","func","parse","ZodLazy","getter","ZodLiteral","createZodEnum","ZodEnum","enumValues","ZodNativeEnum","nativeEnumValues","getValidEnumValues","promisified","processed","checkCtx_1","arg","fatal","abort","executeRefinement_1","acc","inner","base","preprocess","refine","late","lazycreate","instanceOfType","cls","stringType","numberType","bigIntType","booleanType","dateType","undefinedType","nullType","anyType","unknownType","neverType","voidType","arrayType","objectType","strictObjectType","strictCreate","unionType","intersectionType","tupleType","recordType","mapType","setType","functionType","lazyType","literalType","enumType","nativeEnumType","promiseType","effectsType","optionalType","nullableType","preprocessType","createWithPreprocess","ostring","onumber","oboolean"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/zod/lib/types.d.ts b/node_modules/zod/lib/types.d.ts new file mode 100644 index 0000000..e80a31c --- /dev/null +++ b/node_modules/zod/lib/types.d.ts @@ -0,0 +1,661 @@ +import { errorUtil } from "./helpers/errorUtil"; +import { AsyncParseReturnType, ParseContext, ParseInput, ParseParams, ParseReturnType, ParseStatus, SyncParseReturnType } from "./helpers/parseUtil"; +import { partialUtil } from "./helpers/partialUtil"; +import { util } from "./helpers/util"; +import { IssueData, StringValidation, ZodCustomIssue, ZodError, ZodErrorMap } from "./ZodError"; +export declare type RefinementCtx = { + addIssue: (arg: IssueData) => void; + path: (string | number)[]; +}; +export declare type ZodRawShape = { + [k: string]: ZodTypeAny; +}; +export declare type ZodTypeAny = ZodType; +export declare type TypeOf> = T["_output"]; +export declare type input> = T["_input"]; +export declare type output> = T["_output"]; +export type { TypeOf as infer }; +export declare type CustomErrorParams = Partial>; +export interface ZodTypeDef { + errorMap?: ZodErrorMap; + description?: string; +} +declare type RawCreateParams = { + errorMap?: ZodErrorMap; + invalid_type_error?: string; + required_error?: string; + description?: string; +} | undefined; +export declare type SafeParseSuccess = { + success: true; + data: Output; +}; +export declare type SafeParseError = { + success: false; + error: ZodError; +}; +export declare type SafeParseReturnType = SafeParseSuccess | SafeParseError; +export declare abstract class ZodType { + readonly _type: Output; + readonly _output: Output; + readonly _input: Input; + readonly _def: Def; + get description(): string | undefined; + abstract _parse(input: ParseInput): ParseReturnType; + _processInputParams(input: ParseInput): { + status: ParseStatus; + ctx: ParseContext; + }; + _parseSync(input: ParseInput): SyncParseReturnType; + _parseAsync(input: ParseInput): AsyncParseReturnType; + parse(data: unknown, params?: Partial): Output; + safeParse(data: unknown, params?: Partial): SafeParseReturnType; + parseAsync(data: unknown, params?: Partial): Promise; + safeParseAsync(data: unknown, params?: Partial): Promise>; + /** Alias of safeParseAsync */ + spa: (data: unknown, params?: Partial | undefined) => Promise>; + /** The .is method has been removed in Zod 3. For details see https://github.com/colinhacks/zod/tree/v3. */ + is: never; + /** The .check method has been removed in Zod 3. For details see https://github.com/colinhacks/zod/tree/v3. */ + check: never; + refine(check: (arg: Output) => arg is RefinedOutput, message?: string | CustomErrorParams | ((arg: Output) => CustomErrorParams)): ZodEffects; + refine(check: (arg: Output) => unknown | Promise, message?: string | CustomErrorParams | ((arg: Output) => CustomErrorParams)): ZodEffects; + refinement(check: (arg: Output) => arg is RefinedOutput, refinementData: IssueData | ((arg: Output, ctx: RefinementCtx) => IssueData)): ZodEffects; + refinement(check: (arg: Output) => boolean, refinementData: IssueData | ((arg: Output, ctx: RefinementCtx) => IssueData)): ZodEffects; + _refinement(refinement: RefinementEffect["refinement"]): ZodEffects; + superRefine: (refinement: RefinementEffect["refinement"]) => ZodEffects; + constructor(def: Def); + optional(): ZodOptional; + nullable(): ZodNullable; + nullish(): ZodNullable>; + array(): ZodArray; + promise(): ZodPromise; + or(option: T): ZodUnion<[this, T]>; + and(incoming: T): ZodIntersection; + transform(transform: (arg: Output) => NewOut | Promise): ZodEffects; + default(def: util.noUndefined): ZodDefault; + default(def: () => util.noUndefined): ZodDefault; + describe(description: string): this; + isOptional(): boolean; + isNullable(): boolean; +} +declare type ZodStringCheck = { + kind: "min"; + value: number; + message?: string; +} | { + kind: "max"; + value: number; + message?: string; +} | { + kind: "email"; + message?: string; +} | { + kind: "url"; + message?: string; +} | { + kind: "uuid"; + message?: string; +} | { + kind: "cuid"; + message?: string; +} | { + kind: "regex"; + regex: RegExp; + message?: string; +}; +export interface ZodStringDef extends ZodTypeDef { + checks: ZodStringCheck[]; + typeName: ZodFirstPartyTypeKind.ZodString; +} +export declare class ZodString extends ZodType { + _parse(input: ParseInput): ParseReturnType; + protected _regex: (regex: RegExp, validation: StringValidation, message?: errorUtil.ErrMessage | undefined) => ZodEffects; + _addCheck(check: ZodStringCheck): ZodString; + email(message?: errorUtil.ErrMessage): ZodString; + url(message?: errorUtil.ErrMessage): ZodString; + uuid(message?: errorUtil.ErrMessage): ZodString; + cuid(message?: errorUtil.ErrMessage): ZodString; + regex(regex: RegExp, message?: errorUtil.ErrMessage): ZodString; + min(minLength: number, message?: errorUtil.ErrMessage): ZodString; + max(maxLength: number, message?: errorUtil.ErrMessage): ZodString; + length(len: number, message?: errorUtil.ErrMessage): ZodString; + /** + * Deprecated. + * Use z.string().min(1) instead. + */ + nonempty: (message?: errorUtil.ErrMessage | undefined) => ZodString; + get isEmail(): boolean; + get isURL(): boolean; + get isUUID(): boolean; + get isCUID(): boolean; + get minLength(): number; + get maxLength(): null; + static create: (params?: RawCreateParams) => ZodString; +} +declare type ZodNumberCheck = { + kind: "min"; + value: number; + inclusive: boolean; + message?: string; +} | { + kind: "max"; + value: number; + inclusive: boolean; + message?: string; +} | { + kind: "int"; + message?: string; +} | { + kind: "multipleOf"; + value: number; + message?: string; +}; +export interface ZodNumberDef extends ZodTypeDef { + checks: ZodNumberCheck[]; + typeName: ZodFirstPartyTypeKind.ZodNumber; +} +export declare class ZodNumber extends ZodType { + _parse(input: ParseInput): ParseReturnType; + static create: (params?: RawCreateParams) => ZodNumber; + gte(value: number, message?: errorUtil.ErrMessage): ZodNumber; + min: (value: number, message?: errorUtil.ErrMessage | undefined) => ZodNumber; + gt(value: number, message?: errorUtil.ErrMessage): ZodNumber; + lte(value: number, message?: errorUtil.ErrMessage): ZodNumber; + max: (value: number, message?: errorUtil.ErrMessage | undefined) => ZodNumber; + lt(value: number, message?: errorUtil.ErrMessage): ZodNumber; + protected setLimit(kind: "min" | "max", value: number, inclusive: boolean, message?: string): ZodNumber; + _addCheck(check: ZodNumberCheck): ZodNumber; + int(message?: errorUtil.ErrMessage): ZodNumber; + positive(message?: errorUtil.ErrMessage): ZodNumber; + negative(message?: errorUtil.ErrMessage): ZodNumber; + nonpositive(message?: errorUtil.ErrMessage): ZodNumber; + nonnegative(message?: errorUtil.ErrMessage): ZodNumber; + multipleOf(value: number, message?: errorUtil.ErrMessage): ZodNumber; + step: (value: number, message?: errorUtil.ErrMessage | undefined) => ZodNumber; + get minValue(): number | null; + get maxValue(): number | null; + get isInt(): boolean; +} +export interface ZodBigIntDef extends ZodTypeDef { + typeName: ZodFirstPartyTypeKind.ZodBigInt; +} +export declare class ZodBigInt extends ZodType { + _parse(input: ParseInput): ParseReturnType; + static create: (params?: RawCreateParams) => ZodBigInt; +} +export interface ZodBooleanDef extends ZodTypeDef { + typeName: ZodFirstPartyTypeKind.ZodBoolean; +} +export declare class ZodBoolean extends ZodType { + _parse(input: ParseInput): ParseReturnType; + static create: (params?: RawCreateParams) => ZodBoolean; +} +export interface ZodDateDef extends ZodTypeDef { + typeName: ZodFirstPartyTypeKind.ZodDate; +} +export declare class ZodDate extends ZodType { + _parse(input: ParseInput): ParseReturnType; + static create: (params?: RawCreateParams) => ZodDate; +} +export interface ZodUndefinedDef extends ZodTypeDef { + typeName: ZodFirstPartyTypeKind.ZodUndefined; +} +export declare class ZodUndefined extends ZodType { + _parse(input: ParseInput): ParseReturnType; + params?: RawCreateParams; + static create: (params?: RawCreateParams) => ZodUndefined; +} +export interface ZodNullDef extends ZodTypeDef { + typeName: ZodFirstPartyTypeKind.ZodNull; +} +export declare class ZodNull extends ZodType { + _parse(input: ParseInput): ParseReturnType; + static create: (params?: RawCreateParams) => ZodNull; +} +export interface ZodAnyDef extends ZodTypeDef { + typeName: ZodFirstPartyTypeKind.ZodAny; +} +export declare class ZodAny extends ZodType { + _any: true; + _parse(input: ParseInput): ParseReturnType; + static create: (params?: RawCreateParams) => ZodAny; +} +export interface ZodUnknownDef extends ZodTypeDef { + typeName: ZodFirstPartyTypeKind.ZodUnknown; +} +export declare class ZodUnknown extends ZodType { + _unknown: true; + _parse(input: ParseInput): ParseReturnType; + static create: (params?: RawCreateParams) => ZodUnknown; +} +export interface ZodNeverDef extends ZodTypeDef { + typeName: ZodFirstPartyTypeKind.ZodNever; +} +export declare class ZodNever extends ZodType { + _parse(input: ParseInput): ParseReturnType; + static create: (params?: RawCreateParams) => ZodNever; +} +export interface ZodVoidDef extends ZodTypeDef { + typeName: ZodFirstPartyTypeKind.ZodVoid; +} +export declare class ZodVoid extends ZodType { + _parse(input: ParseInput): ParseReturnType; + static create: (params?: RawCreateParams) => ZodVoid; +} +export interface ZodArrayDef extends ZodTypeDef { + type: T; + typeName: ZodFirstPartyTypeKind.ZodArray; + minLength: { + value: number; + message?: string; + } | null; + maxLength: { + value: number; + message?: string; + } | null; +} +export declare type ArrayCardinality = "many" | "atleastone"; +declare type arrayOutputType = Cardinality extends "atleastone" ? [T["_output"], ...T["_output"][]] : T["_output"][]; +export declare class ZodArray extends ZodType, ZodArrayDef, Cardinality extends "atleastone" ? [T["_input"], ...T["_input"][]] : T["_input"][]> { + _parse(input: ParseInput): ParseReturnType; + get element(): T; + min(minLength: number, message?: errorUtil.ErrMessage): this; + max(maxLength: number, message?: errorUtil.ErrMessage): this; + length(len: number, message?: errorUtil.ErrMessage): this; + nonempty(message?: errorUtil.ErrMessage): ZodArray; + static create: (schema: T_1, params?: RawCreateParams) => ZodArray; +} +export declare type ZodNonEmptyArray = ZodArray; +export declare namespace objectUtil { + export type MergeShapes = { + [k in Exclude]: U[k]; + } & V; + type optionalKeys = { + [k in keyof T]: undefined extends T[k] ? k : never; + }[keyof T]; + type requiredKeys = Exclude>; + export type addQuestionMarks = { + [k in optionalKeys]?: T[k]; + } & { + [k in requiredKeys]: T[k]; + }; + export type identity = T; + export type flatten = identity<{ + [k in keyof T]: T[k]; + }>; + export type noNeverKeys = { + [k in keyof T]: [T[k]] extends [never] ? never : k; + }[keyof T]; + export type noNever = identity<{ + [k in noNeverKeys]: k extends keyof T ? T[k] : never; + }>; + export const mergeShapes: (first: U, second: T) => T & U; + export {}; +} +export declare type extendShape = { + [k in Exclude]: A[k]; +} & { + [k in keyof B]: B[k]; +}; +declare type UnknownKeysParam = "passthrough" | "strict" | "strip"; +export declare type Primitive = string | number | bigint | boolean | null | undefined; +export declare type Scalars = Primitive | Primitive[]; +export interface ZodObjectDef extends ZodTypeDef { + typeName: ZodFirstPartyTypeKind.ZodObject; + shape: () => T; + catchall: Catchall; + unknownKeys: UnknownKeys; +} +export declare type baseObjectOutputType = objectUtil.flatten>; +export declare type objectOutputType = ZodTypeAny extends Catchall ? baseObjectOutputType : objectUtil.flatten & { + [k: string]: Catchall["_output"]; +}>; +export declare type baseObjectInputType = objectUtil.flatten>; +export declare type objectInputType = ZodTypeAny extends Catchall ? baseObjectInputType : objectUtil.flatten & { + [k: string]: Catchall["_input"]; +}>; +declare type deoptional = T extends ZodOptional ? deoptional : T; +export declare type SomeZodObject = ZodObject; +export declare class ZodObject, Input = objectInputType> extends ZodType, Input> { + readonly _shape: T; + readonly _unknownKeys: UnknownKeys; + readonly _catchall: Catchall; + private _cached; + _getCached(): { + shape: T; + keys: string[]; + }; + _parse(input: ParseInput): ParseReturnType; + get shape(): T; + strict(message?: errorUtil.ErrMessage): ZodObject; + strip(): ZodObject; + passthrough(): ZodObject; + /** + * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped. + * If you want to pass through unknown properties, use `.passthrough()` instead. + */ + nonstrict: () => ZodObject; + augment: (augmentation: Augmentation) => ZodObject, UnknownKeys, Catchall, objectOutputType, Catchall>, objectInputType, Catchall>>; + extend: (augmentation: Augmentation) => ZodObject, UnknownKeys, Catchall, objectOutputType, Catchall>, objectInputType, Catchall>>; + setKey(key: Key, schema: Schema): ZodObject; + /** + * Prior to zod@1.0.12 there was a bug in the + * inferred type of merged objects. Please + * upgrade if you are experiencing issues. + */ + merge(merging: Incoming): ZodObject, UnknownKeys, Catchall>; + catchall(index: Index): ZodObject; + pick(mask: Mask): ZodObject, UnknownKeys, Catchall>; + omit(mask: Mask): ZodObject, UnknownKeys, Catchall>; + deepPartial(): partialUtil.DeepPartial; + partial(): ZodObject<{ + [k in keyof T]: ZodOptional; + }, UnknownKeys, Catchall>; + partial(mask: Mask): ZodObject : T[k]; + }>, UnknownKeys, Catchall>; + required(): ZodObject<{ + [k in keyof T]: deoptional; + }, UnknownKeys, Catchall>; + static create: (shape: T_1, params?: RawCreateParams) => ZodObject]: objectUtil.addQuestionMarks<{ [k in keyof T_1]: T_1[k]["_output"]; }>[k_1]; }, { [k_3 in keyof objectUtil.addQuestionMarks<{ [k_2 in keyof T_1]: T_1[k_2]["_input"]; }>]: objectUtil.addQuestionMarks<{ [k_2 in keyof T_1]: T_1[k_2]["_input"]; }>[k_3]; }>; + static strictCreate: (shape: T_1, params?: RawCreateParams) => ZodObject]: objectUtil.addQuestionMarks<{ [k in keyof T_1]: T_1[k]["_output"]; }>[k_1]; }, { [k_3 in keyof objectUtil.addQuestionMarks<{ [k_2 in keyof T_1]: T_1[k_2]["_input"]; }>]: objectUtil.addQuestionMarks<{ [k_2 in keyof T_1]: T_1[k_2]["_input"]; }>[k_3]; }>; + static lazycreate: (shape: () => T_1, params?: RawCreateParams) => ZodObject]: objectUtil.addQuestionMarks<{ [k in keyof T_1]: T_1[k]["_output"]; }>[k_1]; }, { [k_3 in keyof objectUtil.addQuestionMarks<{ [k_2 in keyof T_1]: T_1[k_2]["_input"]; }>]: objectUtil.addQuestionMarks<{ [k_2 in keyof T_1]: T_1[k_2]["_input"]; }>[k_3]; }>; +} +export declare type AnyZodObject = ZodObject; +declare type ZodUnionOptions = [ZodTypeAny, ...ZodTypeAny[]]; +export interface ZodUnionDef extends ZodTypeDef { + options: T; + typeName: ZodFirstPartyTypeKind.ZodUnion; +} +export declare class ZodUnion extends ZodType, T[number]["_input"]> { + _parse(input: ParseInput): ParseReturnType; + get options(): T; + static create: (types: T_1, params?: RawCreateParams) => ZodUnion; +} +export interface ZodIntersectionDef extends ZodTypeDef { + left: T; + right: U; + typeName: ZodFirstPartyTypeKind.ZodIntersection; +} +export declare class ZodIntersection extends ZodType, T["_input"] & U["_input"]> { + _parse(input: ParseInput): ParseReturnType; + static create: (left: T_1, right: U_1, params?: RawCreateParams) => ZodIntersection; +} +export declare type ZodTupleItems = [ZodTypeAny, ...ZodTypeAny[]]; +export declare type AssertArray = T extends any[] ? T : never; +export declare type OutputTypeOfTuple = AssertArray<{ + [k in keyof T]: T[k] extends ZodType ? T[k]["_output"] : never; +}>; +export declare type OutputTypeOfTupleWithRest = Rest extends ZodTypeAny ? [...OutputTypeOfTuple, ...Rest["_output"][]] : OutputTypeOfTuple; +export declare type InputTypeOfTuple = AssertArray<{ + [k in keyof T]: T[k] extends ZodType ? T[k]["_input"] : never; +}>; +export declare type InputTypeOfTupleWithRest = Rest extends ZodTypeAny ? [...InputTypeOfTuple, ...Rest["_input"][]] : InputTypeOfTuple; +export interface ZodTupleDef extends ZodTypeDef { + items: T; + rest: Rest; + typeName: ZodFirstPartyTypeKind.ZodTuple; +} +export declare class ZodTuple extends ZodType, ZodTupleDef, InputTypeOfTupleWithRest> { + _parse(input: ParseInput): ParseReturnType; + get items(): T; + rest(rest: Rest): ZodTuple; + static create: (schemas: T_1, params?: RawCreateParams) => ZodTuple; +} +export interface ZodRecordDef extends ZodTypeDef { + valueType: Value; + keyType: Key; + typeName: ZodFirstPartyTypeKind.ZodRecord; +} +declare type KeySchema = ZodType; +export declare class ZodRecord extends ZodType, ZodRecordDef, Record> { + get keySchema(): Key; + get valueSchema(): Value; + _parse(input: ParseInput): ParseReturnType; + get element(): Value; + static create(valueType: Value, params?: RawCreateParams): ZodRecord; + static create(keySchema: Keys, valueType: Value, params?: RawCreateParams): ZodRecord; +} +export interface ZodMapDef extends ZodTypeDef { + valueType: Value; + keyType: Key; + typeName: ZodFirstPartyTypeKind.ZodMap; +} +export declare class ZodMap extends ZodType, ZodMapDef, Map> { + _parse(input: ParseInput): ParseReturnType; + static create: (keyType: Key_1, valueType: Value_1, params?: RawCreateParams) => ZodMap; +} +export interface ZodSetDef extends ZodTypeDef { + valueType: Value; + typeName: ZodFirstPartyTypeKind.ZodSet; +} +export declare class ZodSet extends ZodType, ZodSetDef, Set> { + _parse(input: ParseInput): ParseReturnType; + static create: (valueType: Value_1, params?: RawCreateParams) => ZodSet; +} +export interface ZodFunctionDef = ZodTuple, Returns extends ZodTypeAny = ZodTypeAny> extends ZodTypeDef { + args: Args; + returns: Returns; + typeName: ZodFirstPartyTypeKind.ZodFunction; +} +export declare type OuterTypeOfFunction, Returns extends ZodTypeAny> = Args["_input"] extends Array ? (...args: Args["_input"]) => Returns["_output"] : never; +export declare type InnerTypeOfFunction, Returns extends ZodTypeAny> = Args["_output"] extends Array ? (...args: Args["_output"]) => Returns["_input"] : never; +export declare class ZodFunction, Returns extends ZodTypeAny> extends ZodType, ZodFunctionDef, InnerTypeOfFunction> { + _parse(input: ParseInput): ParseReturnType; + parameters(): Args; + returnType(): Returns; + args[0]>(...items: Items): ZodFunction, Returns>; + returns>(returnType: NewReturnType): ZodFunction; + implement>(func: F): F; + strictImplement(func: InnerTypeOfFunction): InnerTypeOfFunction; + validate: >(func: F) => F; + static create: = ZodTuple<[], ZodUnknown>, U extends ZodTypeAny = ZodUnknown>(args?: T | undefined, returns?: U | undefined, params?: RawCreateParams) => ZodFunction; +} +export interface ZodLazyDef extends ZodTypeDef { + getter: () => T; + typeName: ZodFirstPartyTypeKind.ZodLazy; +} +export declare class ZodLazy extends ZodType, ZodLazyDef, input> { + get schema(): T; + _parse(input: ParseInput): ParseReturnType; + static create: (getter: () => T_1, params?: RawCreateParams) => ZodLazy; +} +export interface ZodLiteralDef extends ZodTypeDef { + value: T; + typeName: ZodFirstPartyTypeKind.ZodLiteral; +} +export declare class ZodLiteral extends ZodType> { + _parse(input: ParseInput): ParseReturnType; + get value(): T; + static create: (value: T_1, params?: RawCreateParams) => ZodLiteral; +} +export declare type ArrayKeys = keyof any[]; +export declare type Indices = Exclude; +declare type EnumValues = [string, ...string[]]; +declare type Values = { + [k in T[number]]: k; +}; +export interface ZodEnumDef extends ZodTypeDef { + values: T; + typeName: ZodFirstPartyTypeKind.ZodEnum; +} +declare type Writeable = { + -readonly [P in keyof T]: T[P]; +}; +declare function createZodEnum>(values: T): ZodEnum>; +declare function createZodEnum(values: T): ZodEnum; +export declare class ZodEnum extends ZodType> { + _parse(input: ParseInput): ParseReturnType; + get options(): T; + get enum(): Values; + get Values(): Values; + get Enum(): Values; + static create: typeof createZodEnum; +} +export interface ZodNativeEnumDef extends ZodTypeDef { + values: T; + typeName: ZodFirstPartyTypeKind.ZodNativeEnum; +} +declare type EnumLike = { + [k: string]: string | number; + [nu: number]: string; +}; +export declare class ZodNativeEnum extends ZodType> { + _parse(input: ParseInput): ParseReturnType; + static create: (values: T_1, params?: RawCreateParams) => ZodNativeEnum; +} +export interface ZodPromiseDef extends ZodTypeDef { + type: T; + typeName: ZodFirstPartyTypeKind.ZodPromise; +} +export declare class ZodPromise extends ZodType, ZodPromiseDef, Promise> { + _parse(input: ParseInput): ParseReturnType; + static create: (schema: T_1, params?: RawCreateParams) => ZodPromise; +} +export declare type Refinement = (arg: T, ctx: RefinementCtx) => any; +export declare type SuperRefinement = (arg: T, ctx: RefinementCtx) => void; +export declare type RefinementEffect = { + type: "refinement"; + refinement: (arg: T, ctx: RefinementCtx) => any; +}; +export declare type TransformEffect = { + type: "transform"; + transform: (arg: T) => any; +}; +export declare type PreprocessEffect = { + type: "preprocess"; + transform: (arg: T) => any; +}; +export declare type Effect = RefinementEffect | TransformEffect | PreprocessEffect; +export interface ZodEffectsDef extends ZodTypeDef { + schema: T; + typeName: ZodFirstPartyTypeKind.ZodEffects; + effect: Effect; +} +export declare class ZodEffects extends ZodType, Input> { + innerType(): T; + _parse(input: ParseInput): ParseReturnType; + static create: (schema: I, effect: Effect, params?: RawCreateParams) => ZodEffects; + static createWithPreprocess: (preprocess: (arg: unknown) => unknown, schema: I, params?: RawCreateParams) => ZodEffects; +} +export { ZodEffects as ZodTransformer }; +export interface ZodOptionalDef extends ZodTypeDef { + innerType: T; + typeName: ZodFirstPartyTypeKind.ZodOptional; +} +export declare type ZodOptionalType = ZodOptional; +export declare class ZodOptional extends ZodType, T["_input"] | undefined> { + _parse(input: ParseInput): ParseReturnType; + unwrap(): T; + static create: (type: T_1, params?: RawCreateParams) => ZodOptional; +} +export interface ZodNullableDef extends ZodTypeDef { + innerType: T; + typeName: ZodFirstPartyTypeKind.ZodNullable; +} +export declare type ZodNullableType = ZodNullable; +export declare class ZodNullable extends ZodType, T["_input"] | null> { + _parse(input: ParseInput): ParseReturnType; + unwrap(): T; + static create: (type: T_1, params?: RawCreateParams) => ZodNullable; +} +export interface ZodDefaultDef extends ZodTypeDef { + innerType: T; + defaultValue: () => util.noUndefined; + typeName: ZodFirstPartyTypeKind.ZodDefault; +} +export declare class ZodDefault extends ZodType, ZodDefaultDef, T["_input"] | undefined> { + _parse(input: ParseInput): ParseReturnType; + removeDefault(): T; + static create: (type: T_1, params?: RawCreateParams) => ZodOptional; +} +export declare const custom: (check?: ((data: unknown) => any) | undefined, params?: Parameters[1]) => ZodType; +export { ZodType as Schema, ZodType as ZodSchema }; +export declare const late: { + object: (shape: () => T, params?: RawCreateParams) => ZodObject]: objectUtil.addQuestionMarks<{ [k in keyof T]: T[k]["_output"]; }>[k_1]; }, { [k_3 in keyof objectUtil.addQuestionMarks<{ [k_2 in keyof T]: T[k_2]["_input"]; }>]: objectUtil.addQuestionMarks<{ [k_2 in keyof T]: T[k_2]["_input"]; }>[k_3]; }>; +}; +export declare enum ZodFirstPartyTypeKind { + ZodString = "ZodString", + ZodNumber = "ZodNumber", + ZodBigInt = "ZodBigInt", + ZodBoolean = "ZodBoolean", + ZodDate = "ZodDate", + ZodUndefined = "ZodUndefined", + ZodNull = "ZodNull", + ZodAny = "ZodAny", + ZodUnknown = "ZodUnknown", + ZodNever = "ZodNever", + ZodVoid = "ZodVoid", + ZodArray = "ZodArray", + ZodObject = "ZodObject", + ZodUnion = "ZodUnion", + ZodIntersection = "ZodIntersection", + ZodTuple = "ZodTuple", + ZodRecord = "ZodRecord", + ZodMap = "ZodMap", + ZodSet = "ZodSet", + ZodFunction = "ZodFunction", + ZodLazy = "ZodLazy", + ZodLiteral = "ZodLiteral", + ZodEnum = "ZodEnum", + ZodEffects = "ZodEffects", + ZodNativeEnum = "ZodNativeEnum", + ZodOptional = "ZodOptional", + ZodNullable = "ZodNullable", + ZodDefault = "ZodDefault", + ZodPromise = "ZodPromise" +} +export declare type ZodFirstPartySchemaTypes = ZodString | ZodNumber | ZodBigInt | ZodBoolean | ZodDate | ZodUndefined | ZodNull | ZodAny | ZodUnknown | ZodNever | ZodVoid | ZodArray | ZodObject | ZodUnion | ZodIntersection | ZodTuple | ZodRecord | ZodMap | ZodSet | ZodFunction | ZodLazy | ZodLiteral | ZodEnum | ZodEffects | ZodNativeEnum | ZodOptional | ZodNullable | ZodDefault | ZodPromise; +declare const instanceOfType: any>(cls: T, params?: Parameters[1]) => ZodType, ZodTypeDef, InstanceType>; +declare const stringType: (params?: RawCreateParams) => ZodString; +declare const numberType: (params?: RawCreateParams) => ZodNumber; +declare const bigIntType: (params?: RawCreateParams) => ZodBigInt; +declare const booleanType: (params?: RawCreateParams) => ZodBoolean; +declare const dateType: (params?: RawCreateParams) => ZodDate; +declare const undefinedType: (params?: RawCreateParams) => ZodUndefined; +declare const nullType: (params?: RawCreateParams) => ZodNull; +declare const anyType: (params?: RawCreateParams) => ZodAny; +declare const unknownType: (params?: RawCreateParams) => ZodUnknown; +declare const neverType: (params?: RawCreateParams) => ZodNever; +declare const voidType: (params?: RawCreateParams) => ZodVoid; +declare const arrayType: (schema: T, params?: RawCreateParams) => ZodArray; +declare const objectType: (shape: T, params?: RawCreateParams) => ZodObject]: objectUtil.addQuestionMarks<{ [k in keyof T]: T[k]["_output"]; }>[k_1]; }, { [k_3 in keyof objectUtil.addQuestionMarks<{ [k_2 in keyof T]: T[k_2]["_input"]; }>]: objectUtil.addQuestionMarks<{ [k_2 in keyof T]: T[k_2]["_input"]; }>[k_3]; }>; +declare const strictObjectType: (shape: T, params?: RawCreateParams) => ZodObject]: objectUtil.addQuestionMarks<{ [k in keyof T]: T[k]["_output"]; }>[k_1]; }, { [k_3 in keyof objectUtil.addQuestionMarks<{ [k_2 in keyof T]: T[k_2]["_input"]; }>]: objectUtil.addQuestionMarks<{ [k_2 in keyof T]: T[k_2]["_input"]; }>[k_3]; }>; +declare const unionType: (types: T, params?: RawCreateParams) => ZodUnion; +declare const intersectionType: (left: T, right: U, params?: RawCreateParams) => ZodIntersection; +declare const tupleType: (schemas: T, params?: RawCreateParams) => ZodTuple; +declare const recordType: typeof ZodRecord.create; +declare const mapType: (keyType: Key, valueType: Value, params?: RawCreateParams) => ZodMap; +declare const setType: (valueType: Value, params?: RawCreateParams) => ZodSet; +declare const functionType: = ZodTuple<[], ZodUnknown>, U extends ZodTypeAny = ZodUnknown>(args?: T | undefined, returns?: U | undefined, params?: RawCreateParams) => ZodFunction; +declare const lazyType: (getter: () => T, params?: RawCreateParams) => ZodLazy; +declare const literalType: (value: T, params?: RawCreateParams) => ZodLiteral; +declare const enumType: typeof createZodEnum; +declare const nativeEnumType: (values: T, params?: RawCreateParams) => ZodNativeEnum; +declare const promiseType: (schema: T, params?: RawCreateParams) => ZodPromise; +declare const effectsType: (schema: I, effect: Effect, params?: RawCreateParams) => ZodEffects; +declare const optionalType: (type: T, params?: RawCreateParams) => ZodOptional; +declare const nullableType: (type: T, params?: RawCreateParams) => ZodNullable; +declare const preprocessType: (preprocess: (arg: unknown) => unknown, schema: I, params?: RawCreateParams) => ZodEffects; +declare const ostring: () => ZodOptional; +declare const onumber: () => ZodOptional; +declare const oboolean: () => ZodOptional; +export { anyType as any, arrayType as array, bigIntType as bigint, booleanType as boolean, dateType as date, effectsType as effect, enumType as enum, functionType as function, instanceOfType as instanceof, intersectionType as intersection, lazyType as lazy, literalType as literal, mapType as map, nativeEnumType as nativeEnum, neverType as never, nullType as null, nullableType as nullable, numberType as number, objectType as object, oboolean, onumber, optionalType as optional, ostring, preprocessType as preprocess, promiseType as promise, recordType as record, setType as set, strictObjectType as strictObject, stringType as string, effectsType as transformer, tupleType as tuple, undefinedType as undefined, unionType as union, unknownType as unknown, voidType as void, }; +//# sourceMappingURL=types.d.ts.map \ No newline at end of file diff --git a/node_modules/zod/lib/types.d.ts.map b/node_modules/zod/lib/types.d.ts.map new file mode 100644 index 0000000..097f780 --- /dev/null +++ b/node_modules/zod/lib/types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/zod/lib/types.js b/node_modules/zod/lib/types.js new file mode 100644 index 0000000..5ec7a93 --- /dev/null +++ b/node_modules/zod/lib/types.js @@ -0,0 +1,2599 @@ +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var __values = (this && this.__values) || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +}; +var __read = (this && this.__read) || function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +}; +var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.map = exports.literal = exports.lazy = exports.intersection = exports.instanceof = exports.function = exports.enum = exports.effect = exports.date = exports.boolean = exports.bigint = exports.array = exports.any = exports.ZodFirstPartyTypeKind = exports.late = exports.ZodSchema = exports.Schema = exports.custom = exports.ZodDefault = exports.ZodNullable = exports.ZodOptional = exports.ZodTransformer = exports.ZodEffects = exports.ZodPromise = exports.ZodNativeEnum = exports.ZodEnum = exports.ZodLiteral = exports.ZodLazy = exports.ZodFunction = exports.ZodSet = exports.ZodMap = exports.ZodRecord = exports.ZodTuple = exports.ZodIntersection = exports.ZodUnion = exports.ZodObject = exports.objectUtil = exports.ZodArray = exports.ZodVoid = exports.ZodNever = exports.ZodUnknown = exports.ZodAny = exports.ZodNull = exports.ZodUndefined = exports.ZodDate = exports.ZodBoolean = exports.ZodBigInt = exports.ZodNumber = exports.ZodString = exports.ZodType = void 0; +exports.void = exports.unknown = exports.union = exports.undefined = exports.tuple = exports.transformer = exports.string = exports.strictObject = exports.set = exports.record = exports.promise = exports.preprocess = exports.ostring = exports.optional = exports.onumber = exports.oboolean = exports.object = exports.number = exports.nullable = exports.null = exports.never = exports.nativeEnum = void 0; +var errorUtil_1 = require("./helpers/errorUtil"); +var parseUtil_1 = require("./helpers/parseUtil"); +var util_1 = require("./helpers/util"); +var ZodError_1 = require("./ZodError"); +var handleResult = function (ctx, result) { + if ((0, parseUtil_1.isValid)(result)) { + return { success: true, data: result.value }; + } + else { + if (!ctx.issues.length) { + throw new Error("Validation failed but no issues detected."); + } + var error = new ZodError_1.ZodError(ctx.issues); + return { success: false, error: error }; + } +}; +function processCreateParams(params) { + if (!params) + return {}; + if (params.errorMap && (params.invalid_type_error || params.required_error)) { + throw new Error("Can't use \"invalid\" or \"required\" in conjunction with custom error map."); + } + if (params.errorMap) + return { errorMap: params.errorMap }; + var customMap = function (iss, ctx) { + if (iss.code !== "invalid_type") + return { message: ctx.defaultError }; + if (typeof ctx.data === "undefined" && params.required_error) + return { message: params.required_error }; + if (params.invalid_type_error) + return { message: params.invalid_type_error }; + return { message: ctx.defaultError }; + }; + return { errorMap: customMap }; +} +var ZodType = /** @class */ (function () { + function ZodType(def) { + /** Alias of safeParseAsync */ + this.spa = this.safeParseAsync; + this.superRefine = this._refinement; + this._def = def; + this.transform = this.transform.bind(this); + this.default = this.default.bind(this); + } + Object.defineProperty(ZodType.prototype, "description", { + get: function () { + return this._def.description; + }, + enumerable: false, + configurable: true + }); + ZodType.prototype._processInputParams = function (input) { + return { + status: new parseUtil_1.ParseStatus(), + ctx: __assign(__assign({}, input.parent), { data: input.data, parsedType: (0, parseUtil_1.getParsedType)(input.data, input.parent.typeCache), schemaErrorMap: this._def.errorMap, path: input.path, parent: input.parent }), + }; + }; + ZodType.prototype._parseSync = function (input) { + var result = this._parse(input); + if ((0, parseUtil_1.isAsync)(result)) { + throw new Error("Synchronous parse encountered promise."); + } + return result; + }; + ZodType.prototype._parseAsync = function (input) { + var result = this._parse(input); + return Promise.resolve(result); + }; + ZodType.prototype.parse = function (data, params) { + var result = this.safeParse(data, params); + if (result.success) + return result.data; + throw result.error; + }; + ZodType.prototype.safeParse = function (data, params) { + var _a; + var ctx = { + path: (params === null || params === void 0 ? void 0 : params.path) || [], + issues: [], + contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap, + schemaErrorMap: this._def.errorMap, + async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false, + typeCache: new Map(), + parent: null, + data: data, + parsedType: (0, parseUtil_1.getParsedType)(data), + }; + var result = this._parseSync({ data: data, path: ctx.path, parent: ctx }); + return handleResult(ctx, result); + }; + ZodType.prototype.parseAsync = function (data, params) { + return __awaiter(this, void 0, void 0, function () { + var result; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.safeParseAsync(data, params)]; + case 1: + result = _a.sent(); + if (result.success) + return [2 /*return*/, result.data]; + throw result.error; + } + }); + }); + }; + ZodType.prototype.safeParseAsync = function (data, params) { + return __awaiter(this, void 0, void 0, function () { + var ctx, maybeAsyncResult, result; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + ctx = { + path: (params === null || params === void 0 ? void 0 : params.path) || [], + issues: [], + contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap, + schemaErrorMap: this._def.errorMap, + async: true, + typeCache: new Map(), + parent: null, + data: data, + parsedType: (0, parseUtil_1.getParsedType)(data), + }; + maybeAsyncResult = this._parse({ data: data, path: [], parent: ctx }); + return [4 /*yield*/, ((0, parseUtil_1.isAsync)(maybeAsyncResult) + ? maybeAsyncResult + : Promise.resolve(maybeAsyncResult))]; + case 1: + result = _a.sent(); + return [2 /*return*/, handleResult(ctx, result)]; + } + }); + }); + }; + ZodType.prototype.refine = function (check, message) { + var getIssueProperties = function (val) { + if (typeof message === "string" || typeof message === "undefined") { + return { message: message }; + } + else if (typeof message === "function") { + return message(val); + } + else { + return message; + } + }; + return this._refinement(function (val, ctx) { + var result = check(val); + var setError = function () { + return ctx.addIssue(__assign({ code: ZodError_1.ZodIssueCode.custom }, getIssueProperties(val))); + }; + if (result instanceof Promise) { + return result.then(function (data) { + if (!data) { + setError(); + return false; + } + else { + return true; + } + }); + } + if (!result) { + setError(); + return false; + } + else { + return true; + } + }); + }; + ZodType.prototype.refinement = function (check, refinementData) { + return this._refinement(function (val, ctx) { + if (!check(val)) { + ctx.addIssue(typeof refinementData === "function" + ? refinementData(val, ctx) + : refinementData); + return false; + } + else { + return true; + } + }); + }; + ZodType.prototype._refinement = function (refinement) { + return new ZodEffects({ + schema: this, + typeName: ZodFirstPartyTypeKind.ZodEffects, + effect: { type: "refinement", refinement: refinement }, + }); + }; + ZodType.prototype.optional = function () { + return ZodOptional.create(this); + }; + ZodType.prototype.nullable = function () { + return ZodNullable.create(this); + }; + ZodType.prototype.nullish = function () { + return this.optional().nullable(); + }; + ZodType.prototype.array = function () { + return ZodArray.create(this); + }; + ZodType.prototype.promise = function () { + return ZodPromise.create(this); + }; + ZodType.prototype.or = function (option) { + return ZodUnion.create([this, option]); + }; + ZodType.prototype.and = function (incoming) { + return ZodIntersection.create(this, incoming); + }; + ZodType.prototype.transform = function (transform) { + return new ZodEffects({ + schema: this, + typeName: ZodFirstPartyTypeKind.ZodEffects, + effect: { type: "transform", transform: transform }, + }); + }; + ZodType.prototype.default = function (def) { + var defaultValueFunc = typeof def === "function" ? def : function () { return def; }; + return new ZodDefault({ + innerType: this, + defaultValue: defaultValueFunc, + typeName: ZodFirstPartyTypeKind.ZodDefault, + }); + }; + ZodType.prototype.describe = function (description) { + var This = this.constructor; + return new This(__assign(__assign({}, this._def), { description: description })); + }; + ZodType.prototype.isOptional = function () { + return this.safeParse(undefined).success; + }; + ZodType.prototype.isNullable = function () { + return this.safeParse(null).success; + }; + return ZodType; +}()); +exports.ZodType = ZodType; +exports.Schema = ZodType; +exports.ZodSchema = ZodType; +var cuidRegex = /^c[^\s-]{8,}$/i; +var uuidRegex = /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i; +// from https://stackoverflow.com/a/46181/1550155 +// old version: too slow, didn't support unicode +// const emailRegex = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i; +// eslint-disable-next-line +var emailRegex = /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i; +var ZodString = /** @class */ (function (_super) { + __extends(ZodString, _super); + function ZodString() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this._regex = function (regex, validation, message) { + return _this.refinement(function (data) { return regex.test(data); }, __assign({ validation: validation, code: ZodError_1.ZodIssueCode.invalid_string }, errorUtil_1.errorUtil.errToObj(message))); + }; + /** + * Deprecated. + * Use z.string().min(1) instead. + */ + _this.nonempty = function (message) { + return _this.min(1, errorUtil_1.errorUtil.errToObj(message)); + }; + return _this; + } + ZodString.prototype._parse = function (input) { + var e_1, _a; + var _b = this._processInputParams(input), status = _b.status, ctx = _b.ctx; + if (ctx.parsedType !== parseUtil_1.ZodParsedType.string) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: parseUtil_1.ZodParsedType.string, + received: ctx.parsedType, + } + // + ); + return parseUtil_1.INVALID; + } + try { + for (var _c = __values(this._def.checks), _d = _c.next(); !_d.done; _d = _c.next()) { + var check = _d.value; + if (check.kind === "min") { + if (ctx.data.length < check.value) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.too_small, + minimum: check.value, + type: "string", + inclusive: true, + message: check.message, + }); + status.dirty(); + } + } + else if (check.kind === "max") { + if (ctx.data.length > check.value) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.too_big, + maximum: check.value, + type: "string", + inclusive: true, + message: check.message, + }); + status.dirty(); + } + } + else if (check.kind === "email") { + if (!emailRegex.test(ctx.data)) { + (0, parseUtil_1.addIssueToContext)(ctx, { + validation: "email", + code: ZodError_1.ZodIssueCode.invalid_string, + message: check.message, + }); + status.dirty(); + } + } + else if (check.kind === "uuid") { + if (!uuidRegex.test(ctx.data)) { + (0, parseUtil_1.addIssueToContext)(ctx, { + validation: "uuid", + code: ZodError_1.ZodIssueCode.invalid_string, + message: check.message, + }); + status.dirty(); + } + } + else if (check.kind === "cuid") { + if (!cuidRegex.test(ctx.data)) { + (0, parseUtil_1.addIssueToContext)(ctx, { + validation: "cuid", + code: ZodError_1.ZodIssueCode.invalid_string, + message: check.message, + }); + status.dirty(); + } + } + else if (check.kind === "url") { + try { + new URL(ctx.data); + } + catch (_e) { + (0, parseUtil_1.addIssueToContext)(ctx, { + validation: "url", + code: ZodError_1.ZodIssueCode.invalid_string, + message: check.message, + }); + status.dirty(); + } + } + else if (check.kind === "regex") { + check.regex.lastIndex = 0; + var testResult = check.regex.test(ctx.data); + if (!testResult) { + (0, parseUtil_1.addIssueToContext)(ctx, { + validation: "regex", + code: ZodError_1.ZodIssueCode.invalid_string, + message: check.message, + }); + status.dirty(); + } + } + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_d && !_d.done && (_a = _c.return)) _a.call(_c); + } + finally { if (e_1) throw e_1.error; } + } + return { status: status.value, value: ctx.data }; + }; + ZodString.prototype._addCheck = function (check) { + return new ZodString(__assign(__assign({}, this._def), { checks: __spreadArray(__spreadArray([], __read(this._def.checks), false), [check], false) })); + }; + ZodString.prototype.email = function (message) { + return this._addCheck(__assign({ kind: "email" }, errorUtil_1.errorUtil.errToObj(message))); + }; + ZodString.prototype.url = function (message) { + return this._addCheck(__assign({ kind: "url" }, errorUtil_1.errorUtil.errToObj(message))); + }; + ZodString.prototype.uuid = function (message) { + return this._addCheck(__assign({ kind: "uuid" }, errorUtil_1.errorUtil.errToObj(message))); + }; + ZodString.prototype.cuid = function (message) { + return this._addCheck(__assign({ kind: "cuid" }, errorUtil_1.errorUtil.errToObj(message))); + }; + ZodString.prototype.regex = function (regex, message) { + return this._addCheck(__assign({ kind: "regex", regex: regex }, errorUtil_1.errorUtil.errToObj(message))); + }; + ZodString.prototype.min = function (minLength, message) { + return this._addCheck(__assign({ kind: "min", value: minLength }, errorUtil_1.errorUtil.errToObj(message))); + }; + ZodString.prototype.max = function (maxLength, message) { + return this._addCheck(__assign({ kind: "max", value: maxLength }, errorUtil_1.errorUtil.errToObj(message))); + }; + ZodString.prototype.length = function (len, message) { + return this.min(len, message).max(len, message); + }; + Object.defineProperty(ZodString.prototype, "isEmail", { + get: function () { + return !!this._def.checks.find(function (ch) { return ch.kind === "email"; }); + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(ZodString.prototype, "isURL", { + get: function () { + return !!this._def.checks.find(function (ch) { return ch.kind === "url"; }); + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(ZodString.prototype, "isUUID", { + get: function () { + return !!this._def.checks.find(function (ch) { return ch.kind === "uuid"; }); + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(ZodString.prototype, "isCUID", { + get: function () { + return !!this._def.checks.find(function (ch) { return ch.kind === "cuid"; }); + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(ZodString.prototype, "minLength", { + get: function () { + var min = -Infinity; + this._def.checks.map(function (ch) { + if (ch.kind === "min") { + if (min === null || ch.value > min) { + min = ch.value; + } + } + }); + return min; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(ZodString.prototype, "maxLength", { + get: function () { + var max = null; + this._def.checks.map(function (ch) { + if (ch.kind === "max") { + if (max === null || ch.value < max) { + max = ch.value; + } + } + }); + return max; + }, + enumerable: false, + configurable: true + }); + ZodString.create = function (params) { + return new ZodString(__assign({ checks: [], typeName: ZodFirstPartyTypeKind.ZodString }, processCreateParams(params))); + }; + return ZodString; +}(ZodType)); +exports.ZodString = ZodString; +var ZodNumber = /** @class */ (function (_super) { + __extends(ZodNumber, _super); + function ZodNumber() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.min = _this.gte; + _this.max = _this.lte; + _this.step = _this.multipleOf; + return _this; + } + ZodNumber.prototype._parse = function (input) { + var e_2, _a; + var _b = this._processInputParams(input), status = _b.status, ctx = _b.ctx; + if (ctx.parsedType !== parseUtil_1.ZodParsedType.number) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: parseUtil_1.ZodParsedType.number, + received: ctx.parsedType, + }); + return parseUtil_1.INVALID; + } + try { + for (var _c = __values(this._def.checks), _d = _c.next(); !_d.done; _d = _c.next()) { + var check = _d.value; + if (check.kind === "int") { + if (!util_1.util.isInteger(ctx.data)) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: "integer", + received: "float", + message: check.message, + }); + status.dirty(); + } + } + else if (check.kind === "min") { + var tooSmall = check.inclusive + ? ctx.data < check.value + : ctx.data <= check.value; + if (tooSmall) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.too_small, + minimum: check.value, + type: "number", + inclusive: check.inclusive, + message: check.message, + }); + status.dirty(); + } + } + else if (check.kind === "max") { + var tooBig = check.inclusive + ? ctx.data > check.value + : ctx.data >= check.value; + if (tooBig) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.too_big, + maximum: check.value, + type: "number", + inclusive: check.inclusive, + message: check.message, + }); + status.dirty(); + } + } + else if (check.kind === "multipleOf") { + if (ctx.data % check.value !== 0) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.not_multiple_of, + multipleOf: check.value, + message: check.message, + }); + status.dirty(); + } + } + else { + util_1.util.assertNever(check); + } + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_d && !_d.done && (_a = _c.return)) _a.call(_c); + } + finally { if (e_2) throw e_2.error; } + } + return { status: status.value, value: ctx.data }; + }; + ZodNumber.prototype.gte = function (value, message) { + return this.setLimit("min", value, true, errorUtil_1.errorUtil.toString(message)); + }; + ZodNumber.prototype.gt = function (value, message) { + return this.setLimit("min", value, false, errorUtil_1.errorUtil.toString(message)); + }; + ZodNumber.prototype.lte = function (value, message) { + return this.setLimit("max", value, true, errorUtil_1.errorUtil.toString(message)); + }; + ZodNumber.prototype.lt = function (value, message) { + return this.setLimit("max", value, false, errorUtil_1.errorUtil.toString(message)); + }; + ZodNumber.prototype.setLimit = function (kind, value, inclusive, message) { + return new ZodNumber(__assign(__assign({}, this._def), { checks: __spreadArray(__spreadArray([], __read(this._def.checks), false), [ + { + kind: kind, + value: value, + inclusive: inclusive, + message: errorUtil_1.errorUtil.toString(message), + }, + ], false) })); + }; + ZodNumber.prototype._addCheck = function (check) { + return new ZodNumber(__assign(__assign({}, this._def), { checks: __spreadArray(__spreadArray([], __read(this._def.checks), false), [check], false) })); + }; + ZodNumber.prototype.int = function (message) { + return this._addCheck({ + kind: "int", + message: errorUtil_1.errorUtil.toString(message), + }); + }; + ZodNumber.prototype.positive = function (message) { + return this._addCheck({ + kind: "min", + value: 0, + inclusive: false, + message: errorUtil_1.errorUtil.toString(message), + }); + }; + ZodNumber.prototype.negative = function (message) { + return this._addCheck({ + kind: "max", + value: 0, + inclusive: false, + message: errorUtil_1.errorUtil.toString(message), + }); + }; + ZodNumber.prototype.nonpositive = function (message) { + return this._addCheck({ + kind: "max", + value: 0, + inclusive: true, + message: errorUtil_1.errorUtil.toString(message), + }); + }; + ZodNumber.prototype.nonnegative = function (message) { + return this._addCheck({ + kind: "min", + value: 0, + inclusive: true, + message: errorUtil_1.errorUtil.toString(message), + }); + }; + ZodNumber.prototype.multipleOf = function (value, message) { + return this._addCheck({ + kind: "multipleOf", + value: value, + message: errorUtil_1.errorUtil.toString(message), + }); + }; + Object.defineProperty(ZodNumber.prototype, "minValue", { + get: function () { + var e_3, _a; + var min = null; + try { + for (var _b = __values(this._def.checks), _c = _b.next(); !_c.done; _c = _b.next()) { + var ch = _c.value; + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_3) throw e_3.error; } + } + return min; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(ZodNumber.prototype, "maxValue", { + get: function () { + var e_4, _a; + var max = null; + try { + for (var _b = __values(this._def.checks), _c = _b.next(); !_c.done; _c = _b.next()) { + var ch = _c.value; + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + } + catch (e_4_1) { e_4 = { error: e_4_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_4) throw e_4.error; } + } + return max; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(ZodNumber.prototype, "isInt", { + get: function () { + return !!this._def.checks.find(function (ch) { return ch.kind === "int"; }); + }, + enumerable: false, + configurable: true + }); + ZodNumber.create = function (params) { + return new ZodNumber(__assign(__assign({ checks: [], typeName: ZodFirstPartyTypeKind.ZodNumber }, processCreateParams(params)), processCreateParams(params))); + }; + return ZodNumber; +}(ZodType)); +exports.ZodNumber = ZodNumber; +var ZodBigInt = /** @class */ (function (_super) { + __extends(ZodBigInt, _super); + function ZodBigInt() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodBigInt.prototype._parse = function (input) { + var ctx = this._processInputParams(input).ctx; + if (ctx.parsedType !== parseUtil_1.ZodParsedType.bigint) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: parseUtil_1.ZodParsedType.bigint, + received: ctx.parsedType, + }); + return parseUtil_1.INVALID; + } + return (0, parseUtil_1.OK)(ctx.data); + }; + ZodBigInt.create = function (params) { + return new ZodBigInt(__assign({ typeName: ZodFirstPartyTypeKind.ZodBigInt }, processCreateParams(params))); + }; + return ZodBigInt; +}(ZodType)); +exports.ZodBigInt = ZodBigInt; +var ZodBoolean = /** @class */ (function (_super) { + __extends(ZodBoolean, _super); + function ZodBoolean() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodBoolean.prototype._parse = function (input) { + var ctx = this._processInputParams(input).ctx; + if (ctx.parsedType !== parseUtil_1.ZodParsedType.boolean) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: parseUtil_1.ZodParsedType.boolean, + received: ctx.parsedType, + }); + return parseUtil_1.INVALID; + } + return (0, parseUtil_1.OK)(ctx.data); + }; + ZodBoolean.create = function (params) { + return new ZodBoolean(__assign({ typeName: ZodFirstPartyTypeKind.ZodBoolean }, processCreateParams(params))); + }; + return ZodBoolean; +}(ZodType)); +exports.ZodBoolean = ZodBoolean; +var ZodDate = /** @class */ (function (_super) { + __extends(ZodDate, _super); + function ZodDate() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodDate.prototype._parse = function (input) { + var _a = this._processInputParams(input), status = _a.status, ctx = _a.ctx; + if (ctx.parsedType !== parseUtil_1.ZodParsedType.date) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: parseUtil_1.ZodParsedType.date, + received: ctx.parsedType, + }); + return parseUtil_1.INVALID; + } + if (isNaN(ctx.data.getTime())) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_date, + }); + return parseUtil_1.INVALID; + } + return { + status: status.value, + value: new Date(ctx.data.getTime()), + }; + }; + ZodDate.create = function (params) { + return new ZodDate(__assign({ typeName: ZodFirstPartyTypeKind.ZodDate }, processCreateParams(params))); + }; + return ZodDate; +}(ZodType)); +exports.ZodDate = ZodDate; +var ZodUndefined = /** @class */ (function (_super) { + __extends(ZodUndefined, _super); + function ZodUndefined() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodUndefined.prototype._parse = function (input) { + var ctx = this._processInputParams(input).ctx; + if (ctx.parsedType !== parseUtil_1.ZodParsedType.undefined) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: parseUtil_1.ZodParsedType.undefined, + received: ctx.parsedType, + }); + return parseUtil_1.INVALID; + } + return (0, parseUtil_1.OK)(ctx.data); + }; + ZodUndefined.create = function (params) { + return new ZodUndefined(__assign({ typeName: ZodFirstPartyTypeKind.ZodUndefined }, processCreateParams(params))); + }; + return ZodUndefined; +}(ZodType)); +exports.ZodUndefined = ZodUndefined; +var ZodNull = /** @class */ (function (_super) { + __extends(ZodNull, _super); + function ZodNull() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodNull.prototype._parse = function (input) { + var ctx = this._processInputParams(input).ctx; + if (ctx.parsedType !== parseUtil_1.ZodParsedType.null) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: parseUtil_1.ZodParsedType.null, + received: ctx.parsedType, + }); + return parseUtil_1.INVALID; + } + return (0, parseUtil_1.OK)(ctx.data); + }; + ZodNull.create = function (params) { + return new ZodNull(__assign({ typeName: ZodFirstPartyTypeKind.ZodNull }, processCreateParams(params))); + }; + return ZodNull; +}(ZodType)); +exports.ZodNull = ZodNull; +var ZodAny = /** @class */ (function (_super) { + __extends(ZodAny, _super); + function ZodAny() { + var _this = _super !== null && _super.apply(this, arguments) || this; + // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject. + _this._any = true; + return _this; + } + ZodAny.prototype._parse = function (input) { + var ctx = this._processInputParams(input).ctx; + return (0, parseUtil_1.OK)(ctx.data); + }; + ZodAny.create = function (params) { + return new ZodAny(__assign({ typeName: ZodFirstPartyTypeKind.ZodAny }, processCreateParams(params))); + }; + return ZodAny; +}(ZodType)); +exports.ZodAny = ZodAny; +var ZodUnknown = /** @class */ (function (_super) { + __extends(ZodUnknown, _super); + function ZodUnknown() { + var _this = _super !== null && _super.apply(this, arguments) || this; + // required + _this._unknown = true; + return _this; + } + ZodUnknown.prototype._parse = function (input) { + var ctx = this._processInputParams(input).ctx; + return (0, parseUtil_1.OK)(ctx.data); + }; + ZodUnknown.create = function (params) { + return new ZodUnknown(__assign({ typeName: ZodFirstPartyTypeKind.ZodUnknown }, processCreateParams(params))); + }; + return ZodUnknown; +}(ZodType)); +exports.ZodUnknown = ZodUnknown; +var ZodNever = /** @class */ (function (_super) { + __extends(ZodNever, _super); + function ZodNever() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodNever.prototype._parse = function (input) { + var ctx = this._processInputParams(input).ctx; + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: parseUtil_1.ZodParsedType.never, + received: ctx.parsedType, + }); + return parseUtil_1.INVALID; + }; + ZodNever.create = function (params) { + return new ZodNever(__assign({ typeName: ZodFirstPartyTypeKind.ZodNever }, processCreateParams(params))); + }; + return ZodNever; +}(ZodType)); +exports.ZodNever = ZodNever; +var ZodVoid = /** @class */ (function (_super) { + __extends(ZodVoid, _super); + function ZodVoid() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodVoid.prototype._parse = function (input) { + var ctx = this._processInputParams(input).ctx; + if (ctx.parsedType !== parseUtil_1.ZodParsedType.undefined) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: parseUtil_1.ZodParsedType.void, + received: ctx.parsedType, + }); + return parseUtil_1.INVALID; + } + return (0, parseUtil_1.OK)(ctx.data); + }; + ZodVoid.create = function (params) { + return new ZodVoid(__assign({ typeName: ZodFirstPartyTypeKind.ZodVoid }, processCreateParams(params))); + }; + return ZodVoid; +}(ZodType)); +exports.ZodVoid = ZodVoid; +var ZodArray = /** @class */ (function (_super) { + __extends(ZodArray, _super); + function ZodArray() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodArray.prototype._parse = function (input) { + var _a = this._processInputParams(input), status = _a.status, ctx = _a.ctx; + var def = this._def; + if (ctx.parsedType !== parseUtil_1.ZodParsedType.array) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: parseUtil_1.ZodParsedType.array, + received: ctx.parsedType, + }); + return parseUtil_1.INVALID; + } + if (def.minLength !== null) { + if (ctx.data.length < def.minLength.value) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.too_small, + minimum: def.minLength.value, + type: "array", + inclusive: true, + message: def.minLength.message, + }); + status.dirty(); + } + } + if (def.maxLength !== null) { + if (ctx.data.length > def.maxLength.value) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.too_big, + maximum: def.maxLength.value, + type: "array", + inclusive: true, + message: def.maxLength.message, + }); + status.dirty(); + } + } + if (ctx.async) { + return Promise.all(ctx.data.map(function (item, i) { + return def.type._parseAsync({ + parent: ctx, + path: __spreadArray(__spreadArray([], __read(ctx.path), false), [i], false), + data: item, + }); + })).then(function (result) { + return parseUtil_1.ParseStatus.mergeArray(status, result); + }); + } + var result = ctx.data.map(function (item, i) { + return def.type._parseSync({ + parent: ctx, + path: __spreadArray(__spreadArray([], __read(ctx.path), false), [i], false), + data: item, + }); + }); + return parseUtil_1.ParseStatus.mergeArray(status, result); + }; + Object.defineProperty(ZodArray.prototype, "element", { + get: function () { + return this._def.type; + }, + enumerable: false, + configurable: true + }); + ZodArray.prototype.min = function (minLength, message) { + return new ZodArray(__assign(__assign({}, this._def), { minLength: { value: minLength, message: errorUtil_1.errorUtil.toString(message) } })); + }; + ZodArray.prototype.max = function (maxLength, message) { + return new ZodArray(__assign(__assign({}, this._def), { maxLength: { value: maxLength, message: errorUtil_1.errorUtil.toString(message) } })); + }; + ZodArray.prototype.length = function (len, message) { + return this.min(len, message).max(len, message); + }; + ZodArray.prototype.nonempty = function (message) { + return this.min(1, message); + }; + ZodArray.create = function (schema, params) { + return new ZodArray(__assign({ type: schema, minLength: null, maxLength: null, typeName: ZodFirstPartyTypeKind.ZodArray }, processCreateParams(params))); + }; + return ZodArray; +}(ZodType)); +exports.ZodArray = ZodArray; +///////////////////////////////////////// +///////////////////////////////////////// +////////// ////////// +////////// ZodObject ////////// +////////// ////////// +///////////////////////////////////////// +///////////////////////////////////////// +var objectUtil; +(function (objectUtil) { + objectUtil.mergeShapes = function (first, second) { + return __assign(__assign({}, first), second); + }; +})(objectUtil = exports.objectUtil || (exports.objectUtil = {})); +var AugmentFactory = function (def) { return function (augmentation) { + return new ZodObject(__assign(__assign({}, def), { shape: function () { return (__assign(__assign({}, def.shape()), augmentation)); } })); +}; }; +function deepPartialify(schema) { + if (schema instanceof ZodObject) { + var newShape_1 = {}; + for (var key in schema.shape) { + var fieldSchema = schema.shape[key]; + newShape_1[key] = ZodOptional.create(deepPartialify(fieldSchema)); + } + return new ZodObject(__assign(__assign({}, schema._def), { shape: function () { return newShape_1; } })); + } + else if (schema instanceof ZodArray) { + return ZodArray.create(deepPartialify(schema.element)); + } + else if (schema instanceof ZodOptional) { + return ZodOptional.create(deepPartialify(schema.unwrap())); + } + else if (schema instanceof ZodNullable) { + return ZodNullable.create(deepPartialify(schema.unwrap())); + } + else if (schema instanceof ZodTuple) { + return ZodTuple.create(schema.items.map(function (item) { return deepPartialify(item); })); + } + else { + return schema; + } +} +var ZodObject = /** @class */ (function (_super) { + __extends(ZodObject, _super); + function ZodObject() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this._cached = null; + /** + * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped. + * If you want to pass through unknown properties, use `.passthrough()` instead. + */ + _this.nonstrict = _this.passthrough; + _this.augment = AugmentFactory(_this._def); + _this.extend = AugmentFactory(_this._def); + return _this; + } + ZodObject.prototype._getCached = function () { + if (this._cached !== null) + return this._cached; + var shape = this._def.shape(); + var keys = util_1.util.objectKeys(shape); + return (this._cached = { shape: shape, keys: keys }); + }; + ZodObject.prototype._parse = function (input) { + var e_5, _a, e_6, _b, e_7, _c; + var _this = this; + var _d = this._processInputParams(input), status = _d.status, ctx = _d.ctx; + if (ctx.parsedType !== parseUtil_1.ZodParsedType.object) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: parseUtil_1.ZodParsedType.object, + received: ctx.parsedType, + }); + return parseUtil_1.INVALID; + } + var _e = this._getCached(), shape = _e.shape, shapeKeys = _e.keys; + var dataKeys = util_1.util.objectKeys(ctx.data); + var extraKeys = dataKeys.filter(function (k) { return !(k in shape); }); + var pairs = []; + try { + for (var shapeKeys_1 = __values(shapeKeys), shapeKeys_1_1 = shapeKeys_1.next(); !shapeKeys_1_1.done; shapeKeys_1_1 = shapeKeys_1.next()) { + var key = shapeKeys_1_1.value; + var keyValidator = shape[key]; + var value = ctx.data[key]; + pairs.push({ + key: { status: "valid", value: key }, + value: keyValidator._parse({ + parent: ctx, + data: value, + path: __spreadArray(__spreadArray([], __read(ctx.path), false), [key], false), + }), + alwaysSet: key in ctx.data, + }); + } + } + catch (e_5_1) { e_5 = { error: e_5_1 }; } + finally { + try { + if (shapeKeys_1_1 && !shapeKeys_1_1.done && (_a = shapeKeys_1.return)) _a.call(shapeKeys_1); + } + finally { if (e_5) throw e_5.error; } + } + if (this._def.catchall instanceof ZodNever) { + var unknownKeys = this._def.unknownKeys; + if (unknownKeys === "passthrough") { + try { + for (var extraKeys_1 = __values(extraKeys), extraKeys_1_1 = extraKeys_1.next(); !extraKeys_1_1.done; extraKeys_1_1 = extraKeys_1.next()) { + var key = extraKeys_1_1.value; + pairs.push({ + key: { status: "valid", value: key }, + value: { status: "valid", value: ctx.data[key] }, + }); + } + } + catch (e_6_1) { e_6 = { error: e_6_1 }; } + finally { + try { + if (extraKeys_1_1 && !extraKeys_1_1.done && (_b = extraKeys_1.return)) _b.call(extraKeys_1); + } + finally { if (e_6) throw e_6.error; } + } + } + else if (unknownKeys === "strict") { + if (extraKeys.length > 0) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.unrecognized_keys, + keys: extraKeys, + }); + status.dirty(); + } + } + else if (unknownKeys === "strip") { + } + else { + throw new Error("Internal ZodObject error: invalid unknownKeys value."); + } + } + else { + // run catchall validation + var catchall = this._def.catchall; + try { + for (var extraKeys_2 = __values(extraKeys), extraKeys_2_1 = extraKeys_2.next(); !extraKeys_2_1.done; extraKeys_2_1 = extraKeys_2.next()) { + var key = extraKeys_2_1.value; + var value = ctx.data[key]; + pairs.push({ + key: { status: "valid", value: key }, + value: catchall._parse({ parent: ctx, path: __spreadArray(__spreadArray([], __read(ctx.path), false), [key], false), data: value } //, ctx.child(key), value, getParsedType(value) + ), + alwaysSet: key in ctx.data, + }); + } + } + catch (e_7_1) { e_7 = { error: e_7_1 }; } + finally { + try { + if (extraKeys_2_1 && !extraKeys_2_1.done && (_c = extraKeys_2.return)) _c.call(extraKeys_2); + } + finally { if (e_7) throw e_7.error; } + } + } + if (ctx.async) { + return Promise.resolve() + .then(function () { return __awaiter(_this, void 0, void 0, function () { + var syncPairs, pairs_1, pairs_1_1, pair, key, _a, _b, e_8_1; + var e_8, _c, _d; + return __generator(this, function (_e) { + switch (_e.label) { + case 0: + syncPairs = []; + _e.label = 1; + case 1: + _e.trys.push([1, 7, 8, 9]); + pairs_1 = __values(pairs), pairs_1_1 = pairs_1.next(); + _e.label = 2; + case 2: + if (!!pairs_1_1.done) return [3 /*break*/, 6]; + pair = pairs_1_1.value; + return [4 /*yield*/, pair.key]; + case 3: + key = _e.sent(); + _b = (_a = syncPairs).push; + _d = { + key: key + }; + return [4 /*yield*/, pair.value]; + case 4: + _b.apply(_a, [(_d.value = _e.sent(), + _d.alwaysSet = pair.alwaysSet, + _d)]); + _e.label = 5; + case 5: + pairs_1_1 = pairs_1.next(); + return [3 /*break*/, 2]; + case 6: return [3 /*break*/, 9]; + case 7: + e_8_1 = _e.sent(); + e_8 = { error: e_8_1 }; + return [3 /*break*/, 9]; + case 8: + try { + if (pairs_1_1 && !pairs_1_1.done && (_c = pairs_1.return)) _c.call(pairs_1); + } + finally { if (e_8) throw e_8.error; } + return [7 /*endfinally*/]; + case 9: return [2 /*return*/, syncPairs]; + } + }); + }); }) + .then(function (syncPairs) { + return parseUtil_1.ParseStatus.mergeObjectSync(status, syncPairs); + }); + } + else { + return parseUtil_1.ParseStatus.mergeObjectSync(status, pairs); + } + }; + Object.defineProperty(ZodObject.prototype, "shape", { + get: function () { + return this._def.shape(); + }, + enumerable: false, + configurable: true + }); + ZodObject.prototype.strict = function (message) { + var _this = this; + errorUtil_1.errorUtil.errToObj; + return new ZodObject(__assign(__assign(__assign({}, this._def), { unknownKeys: "strict" }), (message !== undefined + ? { + errorMap: function (issue, ctx) { + var _a, _b, _c, _d; + var defaultError = (_c = (_b = (_a = _this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError; + if (issue.code === "unrecognized_keys") + return { + message: (_d = errorUtil_1.errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError, + }; + return { + message: defaultError, + }; + }, + } + : {}))); + }; + ZodObject.prototype.strip = function () { + return new ZodObject(__assign(__assign({}, this._def), { unknownKeys: "strip" })); + }; + ZodObject.prototype.passthrough = function () { + return new ZodObject(__assign(__assign({}, this._def), { unknownKeys: "passthrough" })); + }; + ZodObject.prototype.setKey = function (key, schema) { + var _a; + return this.augment((_a = {}, _a[key] = schema, _a)); + }; + /** + * Prior to zod@1.0.12 there was a bug in the + * inferred type of merged objects. Please + * upgrade if you are experiencing issues. + */ + ZodObject.prototype.merge = function (merging) { + var mergedShape = objectUtil.mergeShapes(this._def.shape(), merging._def.shape()); + var merged = new ZodObject({ + unknownKeys: merging._def.unknownKeys, + catchall: merging._def.catchall, + shape: function () { return mergedShape; }, + typeName: ZodFirstPartyTypeKind.ZodObject, + }); + return merged; + }; + ZodObject.prototype.catchall = function (index) { + return new ZodObject(__assign(__assign({}, this._def), { catchall: index })); + }; + ZodObject.prototype.pick = function (mask) { + var _this = this; + var shape = {}; + util_1.util.objectKeys(mask).map(function (key) { + shape[key] = _this.shape[key]; + }); + return new ZodObject(__assign(__assign({}, this._def), { shape: function () { return shape; } })); + }; + ZodObject.prototype.omit = function (mask) { + var _this = this; + var shape = {}; + util_1.util.objectKeys(this.shape).map(function (key) { + if (util_1.util.objectKeys(mask).indexOf(key) === -1) { + shape[key] = _this.shape[key]; + } + }); + return new ZodObject(__assign(__assign({}, this._def), { shape: function () { return shape; } })); + }; + ZodObject.prototype.deepPartial = function () { + return deepPartialify(this); + }; + ZodObject.prototype.partial = function (mask) { + var _this = this; + var newShape = {}; + if (mask) { + util_1.util.objectKeys(this.shape).map(function (key) { + if (util_1.util.objectKeys(mask).indexOf(key) === -1) { + newShape[key] = _this.shape[key]; + } + else { + newShape[key] = _this.shape[key].optional(); + } + }); + return new ZodObject(__assign(__assign({}, this._def), { shape: function () { return newShape; } })); + } + else { + for (var key in this.shape) { + var fieldSchema = this.shape[key]; + newShape[key] = fieldSchema.optional(); + } + } + return new ZodObject(__assign(__assign({}, this._def), { shape: function () { return newShape; } })); + }; + ZodObject.prototype.required = function () { + var newShape = {}; + for (var key in this.shape) { + var fieldSchema = this.shape[key]; + var newField = fieldSchema; + while (newField instanceof ZodOptional) { + newField = newField._def.innerType; + } + newShape[key] = newField; + } + return new ZodObject(__assign(__assign({}, this._def), { shape: function () { return newShape; } })); + }; + ZodObject.create = function (shape, params) { + return new ZodObject(__assign({ shape: function () { return shape; }, unknownKeys: "strip", catchall: ZodNever.create(), typeName: ZodFirstPartyTypeKind.ZodObject }, processCreateParams(params))); + }; + ZodObject.strictCreate = function (shape, params) { + return new ZodObject(__assign({ shape: function () { return shape; }, unknownKeys: "strict", catchall: ZodNever.create(), typeName: ZodFirstPartyTypeKind.ZodObject }, processCreateParams(params))); + }; + ZodObject.lazycreate = function (shape, params) { + return new ZodObject(__assign({ shape: shape, unknownKeys: "strip", catchall: ZodNever.create(), typeName: ZodFirstPartyTypeKind.ZodObject }, processCreateParams(params))); + }; + return ZodObject; +}(ZodType)); +exports.ZodObject = ZodObject; +var ZodUnion = /** @class */ (function (_super) { + __extends(ZodUnion, _super); + function ZodUnion() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodUnion.prototype._parse = function (input) { + var _this = this; + var ctx = this._processInputParams(input).ctx; + var options = this._def.options; + function handleResults(results) { + var e_9, _a, e_10, _b, _c; + try { + // return first issue-free validation if it exists + for (var results_1 = __values(results), results_1_1 = results_1.next(); !results_1_1.done; results_1_1 = results_1.next()) { + var result = results_1_1.value; + if (result.result.status === "valid") { + return result.result; + } + } + } + catch (e_9_1) { e_9 = { error: e_9_1 }; } + finally { + try { + if (results_1_1 && !results_1_1.done && (_a = results_1.return)) _a.call(results_1); + } + finally { if (e_9) throw e_9.error; } + } + try { + for (var results_2 = __values(results), results_2_1 = results_2.next(); !results_2_1.done; results_2_1 = results_2.next()) { + var result = results_2_1.value; + if (result.result.status === "dirty") { + // add issues from dirty option + (_c = ctx.issues).push.apply(_c, __spreadArray([], __read(result.ctx.issues), false)); + return result.result; + } + } + } + catch (e_10_1) { e_10 = { error: e_10_1 }; } + finally { + try { + if (results_2_1 && !results_2_1.done && (_b = results_2.return)) _b.call(results_2); + } + finally { if (e_10) throw e_10.error; } + } + // return invalid + var unionErrors = results.map(function (result) { return new ZodError_1.ZodError(result.ctx.issues); }); + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_union, + unionErrors: unionErrors, + }); + return parseUtil_1.INVALID; + } + if (ctx.async) { + return Promise.all(options.map(function (option) { return __awaiter(_this, void 0, void 0, function () { + var childCtx; + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + childCtx = __assign(__assign({}, ctx), { issues: [], parent: null }); + _a = {}; + return [4 /*yield*/, option._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: childCtx, + })]; + case 1: return [2 /*return*/, (_a.result = _b.sent(), + _a.ctx = childCtx, + _a)]; + } + }); + }); })).then(handleResults); + } + else { + var optionResults = options.map(function (option) { + var childCtx = __assign(__assign({}, ctx), { issues: [], parent: null }); + return { + result: option._parseSync({ + data: ctx.data, + path: ctx.path, + parent: childCtx, + }), + ctx: childCtx, + }; + }); + return handleResults(optionResults); + } + }; + Object.defineProperty(ZodUnion.prototype, "options", { + get: function () { + return this._def.options; + }, + enumerable: false, + configurable: true + }); + ZodUnion.create = function (types, params) { + return new ZodUnion(__assign({ options: types, typeName: ZodFirstPartyTypeKind.ZodUnion }, processCreateParams(params))); + }; + return ZodUnion; +}(ZodType)); +exports.ZodUnion = ZodUnion; +function mergeValues(a, b) { + var e_11, _a; + var aType = (0, parseUtil_1.getParsedType)(a); + var bType = (0, parseUtil_1.getParsedType)(b); + if (a === b) { + return { valid: true, data: a }; + } + else if (aType === parseUtil_1.ZodParsedType.object && bType === parseUtil_1.ZodParsedType.object) { + var bKeys_1 = util_1.util.objectKeys(b); + var sharedKeys = util_1.util + .objectKeys(a) + .filter(function (key) { return bKeys_1.indexOf(key) !== -1; }); + var newObj = __assign(__assign({}, a), b); + try { + for (var sharedKeys_1 = __values(sharedKeys), sharedKeys_1_1 = sharedKeys_1.next(); !sharedKeys_1_1.done; sharedKeys_1_1 = sharedKeys_1.next()) { + var key = sharedKeys_1_1.value; + var sharedValue = mergeValues(a[key], b[key]); + if (!sharedValue.valid) { + return { valid: false }; + } + newObj[key] = sharedValue.data; + } + } + catch (e_11_1) { e_11 = { error: e_11_1 }; } + finally { + try { + if (sharedKeys_1_1 && !sharedKeys_1_1.done && (_a = sharedKeys_1.return)) _a.call(sharedKeys_1); + } + finally { if (e_11) throw e_11.error; } + } + return { valid: true, data: newObj }; + } + else if (aType === parseUtil_1.ZodParsedType.array && bType === parseUtil_1.ZodParsedType.array) { + if (a.length !== b.length) { + return { valid: false }; + } + var newArray = []; + for (var index = 0; index < a.length; index++) { + var itemA = a[index]; + var itemB = b[index]; + var sharedValue = mergeValues(itemA, itemB); + if (!sharedValue.valid) { + return { valid: false }; + } + newArray.push(sharedValue.data); + } + return { valid: true, data: newArray }; + } + else { + return { valid: false }; + } +} +var ZodIntersection = /** @class */ (function (_super) { + __extends(ZodIntersection, _super); + function ZodIntersection() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodIntersection.prototype._parse = function (input) { + var _a = this._processInputParams(input), status = _a.status, ctx = _a.ctx; + var handleParsed = function (parsedLeft, parsedRight) { + if ((0, parseUtil_1.isAborted)(parsedLeft) || (0, parseUtil_1.isAborted)(parsedRight)) { + return parseUtil_1.INVALID; + } + var merged = mergeValues(parsedLeft.value, parsedRight.value); + if (!merged.valid) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_intersection_types, + }); + return parseUtil_1.INVALID; + } + if ((0, parseUtil_1.isDirty)(parsedLeft) || (0, parseUtil_1.isDirty)(parsedRight)) { + status.dirty(); + } + return { status: status.value, value: merged.data }; + }; + if (ctx.async) { + return Promise.all([ + this._def.left._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx, + }), + this._def.right._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx, + }), + ]).then(function (_a) { + var _b = __read(_a, 2), left = _b[0], right = _b[1]; + return handleParsed(left, right); + }); + } + else { + return handleParsed(this._def.left._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx, + }), this._def.right._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx, + })); + } + }; + ZodIntersection.create = function (left, right, params) { + return new ZodIntersection(__assign({ left: left, right: right, typeName: ZodFirstPartyTypeKind.ZodIntersection }, processCreateParams(params))); + }; + return ZodIntersection; +}(ZodType)); +exports.ZodIntersection = ZodIntersection; +var ZodTuple = /** @class */ (function (_super) { + __extends(ZodTuple, _super); + function ZodTuple() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodTuple.prototype._parse = function (input) { + var _this = this; + var _a = this._processInputParams(input), status = _a.status, ctx = _a.ctx; + if (ctx.parsedType !== parseUtil_1.ZodParsedType.array) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: parseUtil_1.ZodParsedType.array, + received: ctx.parsedType, + }); + return parseUtil_1.INVALID; + } + if (ctx.data.length < this._def.items.length) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.too_small, + minimum: this._def.items.length, + inclusive: true, + type: "array", + }); + return parseUtil_1.INVALID; + } + var rest = this._def.rest; + if (!rest && ctx.data.length > this._def.items.length) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.too_big, + maximum: this._def.items.length, + inclusive: true, + type: "array", + }); + status.dirty(); + } + var items = ctx.data + .map(function (item, itemIndex) { + var schema = _this._def.items[itemIndex] || _this._def.rest; + if (!schema) + return null; + return schema._parse({ + data: item, + path: __spreadArray(__spreadArray([], __read(ctx.path), false), [itemIndex], false), + parent: ctx, + }); + }) + .filter(function (x) { return !!x; }); // filter nulls + if (ctx.async) { + return Promise.all(items).then(function (results) { + return parseUtil_1.ParseStatus.mergeArray(status, results); + }); + } + else { + return parseUtil_1.ParseStatus.mergeArray(status, items); + } + }; + Object.defineProperty(ZodTuple.prototype, "items", { + get: function () { + return this._def.items; + }, + enumerable: false, + configurable: true + }); + ZodTuple.prototype.rest = function (rest) { + return new ZodTuple(__assign(__assign({}, this._def), { rest: rest })); + }; + ZodTuple.create = function (schemas, params) { + return new ZodTuple(__assign({ items: schemas, typeName: ZodFirstPartyTypeKind.ZodTuple, rest: null }, processCreateParams(params))); + }; + return ZodTuple; +}(ZodType)); +exports.ZodTuple = ZodTuple; +var ZodRecord = /** @class */ (function (_super) { + __extends(ZodRecord, _super); + function ZodRecord() { + return _super !== null && _super.apply(this, arguments) || this; + } + Object.defineProperty(ZodRecord.prototype, "keySchema", { + get: function () { + return this._def.keyType; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(ZodRecord.prototype, "valueSchema", { + get: function () { + return this._def.valueType; + }, + enumerable: false, + configurable: true + }); + ZodRecord.prototype._parse = function (input) { + var _a = this._processInputParams(input), status = _a.status, ctx = _a.ctx; + if (ctx.parsedType !== parseUtil_1.ZodParsedType.object) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: parseUtil_1.ZodParsedType.object, + received: ctx.parsedType, + }); + return parseUtil_1.INVALID; + } + var pairs = []; + var keyType = this._def.keyType; + var valueType = this._def.valueType; + for (var key in ctx.data) { + pairs.push({ + key: keyType._parse({ + data: key, + path: __spreadArray(__spreadArray([], __read(ctx.path), false), [key], false), + parent: ctx, + }), + value: valueType._parse({ + data: ctx.data[key], + path: __spreadArray(__spreadArray([], __read(ctx.path), false), [key], false), + parent: ctx, + }), + }); + } + if (ctx.async) { + return parseUtil_1.ParseStatus.mergeObjectAsync(status, pairs); + } + else { + return parseUtil_1.ParseStatus.mergeObjectSync(status, pairs); + } + }; + Object.defineProperty(ZodRecord.prototype, "element", { + get: function () { + return this._def.valueType; + }, + enumerable: false, + configurable: true + }); + ZodRecord.create = function (first, second, third) { + if (second instanceof ZodType) { + return new ZodRecord(__assign({ keyType: first, valueType: second, typeName: ZodFirstPartyTypeKind.ZodRecord }, processCreateParams(third))); + } + return new ZodRecord(__assign({ keyType: ZodString.create(), valueType: first, typeName: ZodFirstPartyTypeKind.ZodRecord }, processCreateParams(second))); + }; + return ZodRecord; +}(ZodType)); +exports.ZodRecord = ZodRecord; +var ZodMap = /** @class */ (function (_super) { + __extends(ZodMap, _super); + function ZodMap() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodMap.prototype._parse = function (input) { + var e_12, _a; + var _this = this; + var _b = this._processInputParams(input), status = _b.status, ctx = _b.ctx; + if (ctx.parsedType !== parseUtil_1.ZodParsedType.map) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: parseUtil_1.ZodParsedType.map, + received: ctx.parsedType, + }); + return parseUtil_1.INVALID; + } + var keyType = this._def.keyType; + var valueType = this._def.valueType; + var pairs = __spreadArray([], __read(ctx.data.entries()), false).map(function (_a, index) { + var _b = __read(_a, 2), key = _b[0], value = _b[1]; + return { + key: keyType._parse({ + data: key, + path: __spreadArray(__spreadArray([], __read(ctx.path), false), [index, "key"], false), + parent: ctx, + }), + value: valueType._parse({ + data: value, + path: __spreadArray(__spreadArray([], __read(ctx.path), false), [index, "value"], false), + parent: ctx, + }), + }; + }); + if (ctx.async) { + var finalMap_1 = new Map(); + return Promise.resolve().then(function () { return __awaiter(_this, void 0, void 0, function () { + var pairs_3, pairs_3_1, pair, key, value, e_13_1; + var e_13, _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _b.trys.push([0, 6, 7, 8]); + pairs_3 = __values(pairs), pairs_3_1 = pairs_3.next(); + _b.label = 1; + case 1: + if (!!pairs_3_1.done) return [3 /*break*/, 5]; + pair = pairs_3_1.value; + return [4 /*yield*/, pair.key]; + case 2: + key = _b.sent(); + return [4 /*yield*/, pair.value]; + case 3: + value = _b.sent(); + if (key.status === "aborted" || value.status === "aborted") { + return [2 /*return*/, parseUtil_1.INVALID]; + } + if (key.status === "dirty" || value.status === "dirty") { + status.dirty(); + } + finalMap_1.set(key.value, value.value); + _b.label = 4; + case 4: + pairs_3_1 = pairs_3.next(); + return [3 /*break*/, 1]; + case 5: return [3 /*break*/, 8]; + case 6: + e_13_1 = _b.sent(); + e_13 = { error: e_13_1 }; + return [3 /*break*/, 8]; + case 7: + try { + if (pairs_3_1 && !pairs_3_1.done && (_a = pairs_3.return)) _a.call(pairs_3); + } + finally { if (e_13) throw e_13.error; } + return [7 /*endfinally*/]; + case 8: return [2 /*return*/, { status: status.value, value: finalMap_1 }]; + } + }); + }); }); + } + else { + var finalMap = new Map(); + try { + for (var pairs_2 = __values(pairs), pairs_2_1 = pairs_2.next(); !pairs_2_1.done; pairs_2_1 = pairs_2.next()) { + var pair = pairs_2_1.value; + var key = pair.key; + var value = pair.value; + if (key.status === "aborted" || value.status === "aborted") { + return parseUtil_1.INVALID; + } + if (key.status === "dirty" || value.status === "dirty") { + status.dirty(); + } + finalMap.set(key.value, value.value); + } + } + catch (e_12_1) { e_12 = { error: e_12_1 }; } + finally { + try { + if (pairs_2_1 && !pairs_2_1.done && (_a = pairs_2.return)) _a.call(pairs_2); + } + finally { if (e_12) throw e_12.error; } + } + return { status: status.value, value: finalMap }; + } + }; + ZodMap.create = function (keyType, valueType, params) { + return new ZodMap(__assign({ valueType: valueType, keyType: keyType, typeName: ZodFirstPartyTypeKind.ZodMap }, processCreateParams(params))); + }; + return ZodMap; +}(ZodType)); +exports.ZodMap = ZodMap; +var ZodSet = /** @class */ (function (_super) { + __extends(ZodSet, _super); + function ZodSet() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodSet.prototype._parse = function (input) { + var _a = this._processInputParams(input), status = _a.status, ctx = _a.ctx; + if (ctx.parsedType !== parseUtil_1.ZodParsedType.set) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: parseUtil_1.ZodParsedType.set, + received: ctx.parsedType, + }); + return parseUtil_1.INVALID; + } + var valueType = this._def.valueType; + function finalizeSet(elements) { + var e_14, _a; + var parsedSet = new Set(); + try { + for (var elements_1 = __values(elements), elements_1_1 = elements_1.next(); !elements_1_1.done; elements_1_1 = elements_1.next()) { + var element = elements_1_1.value; + if (element.status === "aborted") + return parseUtil_1.INVALID; + if (element.status === "dirty") + status.dirty(); + parsedSet.add(element.value); + } + } + catch (e_14_1) { e_14 = { error: e_14_1 }; } + finally { + try { + if (elements_1_1 && !elements_1_1.done && (_a = elements_1.return)) _a.call(elements_1); + } + finally { if (e_14) throw e_14.error; } + } + return { status: status.value, value: parsedSet }; + } + var elements = __spreadArray([], __read(ctx.data.values()), false).map(function (item, i) { + return valueType._parse({ data: item, path: __spreadArray(__spreadArray([], __read(ctx.path), false), [i], false), parent: ctx }); + }); + if (ctx.async) { + return Promise.all(elements).then(function (elements) { return finalizeSet(elements); }); + } + else { + return finalizeSet(elements); + } + }; + ZodSet.create = function (valueType, params) { + return new ZodSet(__assign({ valueType: valueType, typeName: ZodFirstPartyTypeKind.ZodSet }, processCreateParams(params))); + }; + return ZodSet; +}(ZodType)); +exports.ZodSet = ZodSet; +var ZodFunction = /** @class */ (function (_super) { + __extends(ZodFunction, _super); + function ZodFunction() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.validate = _this.implement; + return _this; + } + ZodFunction.prototype._parse = function (input) { + var _this = this; + var ctx = this._processInputParams(input).ctx; + if (ctx.parsedType !== parseUtil_1.ZodParsedType.function) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: parseUtil_1.ZodParsedType.function, + received: ctx.parsedType, + }); + return parseUtil_1.INVALID; + } + function makeArgsIssue(args, error) { + return (0, parseUtil_1.makeIssue)({ + data: args, + path: ctx.path, + errorMaps: [ + ctx.contextualErrorMap, + ctx.schemaErrorMap, + ZodError_1.overrideErrorMap, + ZodError_1.defaultErrorMap, + ].filter(function (x) { return !!x; }), + issueData: { + code: ZodError_1.ZodIssueCode.invalid_arguments, + argumentsError: error, + }, + }); + } + function makeReturnsIssue(returns, error) { + return (0, parseUtil_1.makeIssue)({ + data: returns, + path: ctx.path, + errorMaps: [ + ctx.contextualErrorMap, + ctx.schemaErrorMap, + ZodError_1.overrideErrorMap, + ZodError_1.defaultErrorMap, + ].filter(function (x) { return !!x; }), + issueData: { + code: ZodError_1.ZodIssueCode.invalid_return_type, + returnTypeError: error, + }, + }); + } + var params = { errorMap: ctx.contextualErrorMap }; + var fn = ctx.data; + if (this._def.returns instanceof ZodPromise) { + return (0, parseUtil_1.OK)(function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return __awaiter(_this, void 0, void 0, function () { + var error, parsedArgs, result, parsedReturns; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + error = new ZodError_1.ZodError([]); + return [4 /*yield*/, this._def.args + .parseAsync(args, params) + .catch(function (e) { + error.addIssue(makeArgsIssue(args, e)); + throw error; + })]; + case 1: + parsedArgs = _a.sent(); + return [4 /*yield*/, fn.apply(void 0, __spreadArray([], __read(parsedArgs), false))]; + case 2: + result = _a.sent(); + return [4 /*yield*/, this._def + .returns._def.type + .parseAsync(result, params) + .catch(function (e) { + error.addIssue(makeReturnsIssue(result, e)); + throw error; + })]; + case 3: + parsedReturns = _a.sent(); + return [2 /*return*/, parsedReturns]; + } + }); + }); + }); + } + else { + return (0, parseUtil_1.OK)(function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var parsedArgs = _this._def.args.safeParse(args, params); + if (!parsedArgs.success) { + throw new ZodError_1.ZodError([makeArgsIssue(args, parsedArgs.error)]); + } + var result = fn.apply(void 0, __spreadArray([], __read(parsedArgs.data), false)); + var parsedReturns = _this._def.returns.safeParse(result, params); + if (!parsedReturns.success) { + throw new ZodError_1.ZodError([makeReturnsIssue(result, parsedReturns.error)]); + } + return parsedReturns.data; + }); + } + }; + ZodFunction.prototype.parameters = function () { + return this._def.args; + }; + ZodFunction.prototype.returnType = function () { + return this._def.returns; + }; + ZodFunction.prototype.args = function () { + var items = []; + for (var _i = 0; _i < arguments.length; _i++) { + items[_i] = arguments[_i]; + } + return new ZodFunction(__assign(__assign({}, this._def), { args: ZodTuple.create(items).rest(ZodUnknown.create()) })); + }; + ZodFunction.prototype.returns = function (returnType) { + return new ZodFunction(__assign(__assign({}, this._def), { returns: returnType })); + }; + ZodFunction.prototype.implement = function (func) { + var validatedFunc = this.parse(func); + return validatedFunc; + }; + ZodFunction.prototype.strictImplement = function (func) { + var validatedFunc = this.parse(func); + return validatedFunc; + }; + ZodFunction.create = function (args, returns, params) { + return new ZodFunction(__assign({ args: (args + ? args.rest(ZodUnknown.create()) + : ZodTuple.create([]).rest(ZodUnknown.create())), returns: returns || ZodUnknown.create(), typeName: ZodFirstPartyTypeKind.ZodFunction }, processCreateParams(params))); + }; + return ZodFunction; +}(ZodType)); +exports.ZodFunction = ZodFunction; +var ZodLazy = /** @class */ (function (_super) { + __extends(ZodLazy, _super); + function ZodLazy() { + return _super !== null && _super.apply(this, arguments) || this; + } + Object.defineProperty(ZodLazy.prototype, "schema", { + get: function () { + return this._def.getter(); + }, + enumerable: false, + configurable: true + }); + ZodLazy.prototype._parse = function (input) { + var ctx = this._processInputParams(input).ctx; + var lazySchema = this._def.getter(); + return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx }); + }; + ZodLazy.create = function (getter, params) { + return new ZodLazy(__assign({ getter: getter, typeName: ZodFirstPartyTypeKind.ZodLazy }, processCreateParams(params))); + }; + return ZodLazy; +}(ZodType)); +exports.ZodLazy = ZodLazy; +var ZodLiteral = /** @class */ (function (_super) { + __extends(ZodLiteral, _super); + function ZodLiteral() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodLiteral.prototype._parse = function (input) { + var _a = this._processInputParams(input), status = _a.status, ctx = _a.ctx; + if (ctx.data !== this._def.value) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: this._def.value, + received: ctx.data, + }); + return parseUtil_1.INVALID; + } + return { status: status.value, value: ctx.data }; + }; + Object.defineProperty(ZodLiteral.prototype, "value", { + get: function () { + return this._def.value; + }, + enumerable: false, + configurable: true + }); + ZodLiteral.create = function (value, params) { + return new ZodLiteral(__assign({ value: value, typeName: ZodFirstPartyTypeKind.ZodLiteral }, processCreateParams(params))); + }; + return ZodLiteral; +}(ZodType)); +exports.ZodLiteral = ZodLiteral; +function createZodEnum(values) { + return new ZodEnum({ + values: values, + typeName: ZodFirstPartyTypeKind.ZodEnum, + }); +} +var ZodEnum = /** @class */ (function (_super) { + __extends(ZodEnum, _super); + function ZodEnum() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodEnum.prototype._parse = function (input) { + var ctx = this._processInputParams(input).ctx; + if (this._def.values.indexOf(ctx.data) === -1) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_enum_value, + options: this._def.values, + }); + return parseUtil_1.INVALID; + } + return (0, parseUtil_1.OK)(ctx.data); + }; + Object.defineProperty(ZodEnum.prototype, "options", { + get: function () { + return this._def.values; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(ZodEnum.prototype, "enum", { + get: function () { + var e_15, _a; + var enumValues = {}; + try { + for (var _b = __values(this._def.values), _c = _b.next(); !_c.done; _c = _b.next()) { + var val = _c.value; + enumValues[val] = val; + } + } + catch (e_15_1) { e_15 = { error: e_15_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_15) throw e_15.error; } + } + return enumValues; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(ZodEnum.prototype, "Values", { + get: function () { + var e_16, _a; + var enumValues = {}; + try { + for (var _b = __values(this._def.values), _c = _b.next(); !_c.done; _c = _b.next()) { + var val = _c.value; + enumValues[val] = val; + } + } + catch (e_16_1) { e_16 = { error: e_16_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_16) throw e_16.error; } + } + return enumValues; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(ZodEnum.prototype, "Enum", { + get: function () { + var e_17, _a; + var enumValues = {}; + try { + for (var _b = __values(this._def.values), _c = _b.next(); !_c.done; _c = _b.next()) { + var val = _c.value; + enumValues[val] = val; + } + } + catch (e_17_1) { e_17 = { error: e_17_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_17) throw e_17.error; } + } + return enumValues; + }, + enumerable: false, + configurable: true + }); + ZodEnum.create = createZodEnum; + return ZodEnum; +}(ZodType)); +exports.ZodEnum = ZodEnum; +var ZodNativeEnum = /** @class */ (function (_super) { + __extends(ZodNativeEnum, _super); + function ZodNativeEnum() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodNativeEnum.prototype._parse = function (input) { + var ctx = this._processInputParams(input).ctx; + var nativeEnumValues = util_1.util.getValidEnumValues(this._def.values); + if (nativeEnumValues.indexOf(ctx.data) === -1) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_enum_value, + options: util_1.util.objectValues(nativeEnumValues), + }); + return parseUtil_1.INVALID; + } + return (0, parseUtil_1.OK)(ctx.data); + }; + ZodNativeEnum.create = function (values, params) { + return new ZodNativeEnum(__assign({ values: values, typeName: ZodFirstPartyTypeKind.ZodNativeEnum }, processCreateParams(params))); + }; + return ZodNativeEnum; +}(ZodType)); +exports.ZodNativeEnum = ZodNativeEnum; +var ZodPromise = /** @class */ (function (_super) { + __extends(ZodPromise, _super); + function ZodPromise() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodPromise.prototype._parse = function (input) { + var _this = this; + var ctx = this._processInputParams(input).ctx; + if (ctx.parsedType !== parseUtil_1.ZodParsedType.promise && ctx.async === false) { + (0, parseUtil_1.addIssueToContext)(ctx, { + code: ZodError_1.ZodIssueCode.invalid_type, + expected: parseUtil_1.ZodParsedType.promise, + received: ctx.parsedType, + }); + return parseUtil_1.INVALID; + } + var promisified = ctx.parsedType === parseUtil_1.ZodParsedType.promise + ? ctx.data + : Promise.resolve(ctx.data); + return (0, parseUtil_1.OK)(promisified.then(function (data) { + return _this._def.type.parseAsync(data, { + path: ctx.path, + errorMap: ctx.contextualErrorMap, + }); + })); + }; + ZodPromise.create = function (schema, params) { + return new ZodPromise(__assign({ type: schema, typeName: ZodFirstPartyTypeKind.ZodPromise }, processCreateParams(params))); + }; + return ZodPromise; +}(ZodType)); +exports.ZodPromise = ZodPromise; +var ZodEffects = /** @class */ (function (_super) { + __extends(ZodEffects, _super); + function ZodEffects() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodEffects.prototype.innerType = function () { + return this._def.schema; + }; + ZodEffects.prototype._parse = function (input) { + var _this = this; + var _a = this._processInputParams(input), status = _a.status, ctx = _a.ctx; + var effect = this._def.effect || null; + if (effect.type === "preprocess") { + var processed = effect.transform(ctx.data); + if (ctx.async) { + return Promise.resolve(processed).then(function (processed) { + return _this._def.schema._parseAsync({ + data: processed, + path: ctx.path, + parent: ctx, + }); + }); + } + else { + return this._def.schema._parseSync({ + data: processed, + path: ctx.path, + parent: ctx, + }); + } + } + if (effect.type === "refinement") { + var checkCtx_1 = { + addIssue: function (arg) { + (0, parseUtil_1.addIssueToContext)(ctx, arg); + if (arg.fatal) { + status.abort(); + } + else { + status.dirty(); + } + }, + get path() { + return ctx.path; + }, + }; + checkCtx_1.addIssue = checkCtx_1.addIssue.bind(checkCtx_1); + var executeRefinement_1 = function (acc + // effect: RefinementEffect + ) { + var result = effect.refinement(acc, checkCtx_1); + if (ctx.async) { + return Promise.resolve(result); + } + if (result instanceof Promise) { + throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead."); + } + return acc; + }; + if (ctx.async === false) { + var inner = this._def.schema._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx, + }); + if (inner.status === "aborted") + return parseUtil_1.INVALID; + if (inner.status === "dirty") + status.dirty(); + // return value is ignored + executeRefinement_1(inner.value); + return { status: status.value, value: inner.value }; + } + else { + return this._def.schema + ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }) + .then(function (inner) { + if (inner.status === "aborted") + return parseUtil_1.INVALID; + if (inner.status === "dirty") + status.dirty(); + return executeRefinement_1(inner.value).then(function () { + return { status: status.value, value: inner.value }; + }); + }); + } + } + if (effect.type === "transform") { + if (ctx.async === false) { + var base = this._def.schema._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx, + }); + // if (base.status === "aborted") return INVALID; + // if (base.status === "dirty") { + // return { status: "dirty", value: base.value }; + // } + if (!(0, parseUtil_1.isValid)(base)) + return base; + var result = effect.transform(base.value); + if (result instanceof Promise) { + throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead."); + } + return (0, parseUtil_1.OK)(result); + } + else { + return this._def.schema + ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }) + .then(function (base) { + if (!(0, parseUtil_1.isValid)(base)) + return base; + // if (base.status === "aborted") return INVALID; + // if (base.status === "dirty") { + // return { status: "dirty", value: base.value }; + // } + return Promise.resolve(effect.transform(base.value)).then(parseUtil_1.OK); + }); + } + } + util_1.util.assertNever(effect); + }; + ZodEffects.create = function (schema, effect, params) { + return new ZodEffects(__assign({ schema: schema, typeName: ZodFirstPartyTypeKind.ZodEffects, effect: effect }, processCreateParams(params))); + }; + ZodEffects.createWithPreprocess = function (preprocess, schema, params) { + return new ZodEffects(__assign({ schema: schema, effect: { type: "preprocess", transform: preprocess }, typeName: ZodFirstPartyTypeKind.ZodEffects }, processCreateParams(params))); + }; + return ZodEffects; +}(ZodType)); +exports.ZodEffects = ZodEffects; +exports.ZodTransformer = ZodEffects; +var ZodOptional = /** @class */ (function (_super) { + __extends(ZodOptional, _super); + function ZodOptional() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodOptional.prototype._parse = function (input) { + var ctx = this._processInputParams(input).ctx; + if (ctx.parsedType === parseUtil_1.ZodParsedType.undefined) { + return (0, parseUtil_1.OK)(undefined); + } + return this._def.innerType._parse({ + data: ctx.data, + path: ctx.path, + parent: ctx, + }); + }; + ZodOptional.prototype.unwrap = function () { + return this._def.innerType; + }; + ZodOptional.create = function (type, params) { + return new ZodOptional(__assign({ innerType: type, typeName: ZodFirstPartyTypeKind.ZodOptional }, processCreateParams(params))); + }; + return ZodOptional; +}(ZodType)); +exports.ZodOptional = ZodOptional; +var ZodNullable = /** @class */ (function (_super) { + __extends(ZodNullable, _super); + function ZodNullable() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodNullable.prototype._parse = function (input) { + var ctx = this._processInputParams(input).ctx; + if (ctx.parsedType === parseUtil_1.ZodParsedType.null) { + return (0, parseUtil_1.OK)(null); + } + return this._def.innerType._parse({ + data: ctx.data, + path: ctx.path, + parent: ctx, + }); + }; + ZodNullable.prototype.unwrap = function () { + return this._def.innerType; + }; + ZodNullable.create = function (type, params) { + return new ZodNullable(__assign({ innerType: type, typeName: ZodFirstPartyTypeKind.ZodNullable }, processCreateParams(params))); + }; + return ZodNullable; +}(ZodType)); +exports.ZodNullable = ZodNullable; +var ZodDefault = /** @class */ (function (_super) { + __extends(ZodDefault, _super); + function ZodDefault() { + return _super !== null && _super.apply(this, arguments) || this; + } + ZodDefault.prototype._parse = function (input) { + var ctx = this._processInputParams(input).ctx; + var data = ctx.data; + if (ctx.parsedType === parseUtil_1.ZodParsedType.undefined) { + data = this._def.defaultValue(); + } + return this._def.innerType._parse({ + data: data, + path: ctx.path, + parent: ctx, + }); + }; + ZodDefault.prototype.removeDefault = function () { + return this._def.innerType; + }; + ZodDefault.create = function (type, params) { + return new ZodOptional(__assign({ innerType: type, typeName: ZodFirstPartyTypeKind.ZodOptional }, processCreateParams(params))); + }; + return ZodDefault; +}(ZodType)); +exports.ZodDefault = ZodDefault; +var custom = function (check, params) { + if (check) + return ZodAny.create().refine(check, params); + return ZodAny.create(); +}; +exports.custom = custom; +exports.late = { + object: ZodObject.lazycreate, +}; +var ZodFirstPartyTypeKind; +(function (ZodFirstPartyTypeKind) { + ZodFirstPartyTypeKind["ZodString"] = "ZodString"; + ZodFirstPartyTypeKind["ZodNumber"] = "ZodNumber"; + ZodFirstPartyTypeKind["ZodBigInt"] = "ZodBigInt"; + ZodFirstPartyTypeKind["ZodBoolean"] = "ZodBoolean"; + ZodFirstPartyTypeKind["ZodDate"] = "ZodDate"; + ZodFirstPartyTypeKind["ZodUndefined"] = "ZodUndefined"; + ZodFirstPartyTypeKind["ZodNull"] = "ZodNull"; + ZodFirstPartyTypeKind["ZodAny"] = "ZodAny"; + ZodFirstPartyTypeKind["ZodUnknown"] = "ZodUnknown"; + ZodFirstPartyTypeKind["ZodNever"] = "ZodNever"; + ZodFirstPartyTypeKind["ZodVoid"] = "ZodVoid"; + ZodFirstPartyTypeKind["ZodArray"] = "ZodArray"; + ZodFirstPartyTypeKind["ZodObject"] = "ZodObject"; + ZodFirstPartyTypeKind["ZodUnion"] = "ZodUnion"; + ZodFirstPartyTypeKind["ZodIntersection"] = "ZodIntersection"; + ZodFirstPartyTypeKind["ZodTuple"] = "ZodTuple"; + ZodFirstPartyTypeKind["ZodRecord"] = "ZodRecord"; + ZodFirstPartyTypeKind["ZodMap"] = "ZodMap"; + ZodFirstPartyTypeKind["ZodSet"] = "ZodSet"; + ZodFirstPartyTypeKind["ZodFunction"] = "ZodFunction"; + ZodFirstPartyTypeKind["ZodLazy"] = "ZodLazy"; + ZodFirstPartyTypeKind["ZodLiteral"] = "ZodLiteral"; + ZodFirstPartyTypeKind["ZodEnum"] = "ZodEnum"; + ZodFirstPartyTypeKind["ZodEffects"] = "ZodEffects"; + ZodFirstPartyTypeKind["ZodNativeEnum"] = "ZodNativeEnum"; + ZodFirstPartyTypeKind["ZodOptional"] = "ZodOptional"; + ZodFirstPartyTypeKind["ZodNullable"] = "ZodNullable"; + ZodFirstPartyTypeKind["ZodDefault"] = "ZodDefault"; + ZodFirstPartyTypeKind["ZodPromise"] = "ZodPromise"; +})(ZodFirstPartyTypeKind = exports.ZodFirstPartyTypeKind || (exports.ZodFirstPartyTypeKind = {})); +var instanceOfType = function (cls, params) { + if (params === void 0) { params = { + message: "Input not instance of " + cls.name, + }; } + return (0, exports.custom)(function (data) { return data instanceof cls; }, params); +}; +exports.instanceof = instanceOfType; +var stringType = ZodString.create; +exports.string = stringType; +var numberType = ZodNumber.create; +exports.number = numberType; +var bigIntType = ZodBigInt.create; +exports.bigint = bigIntType; +var booleanType = ZodBoolean.create; +exports.boolean = booleanType; +var dateType = ZodDate.create; +exports.date = dateType; +var undefinedType = ZodUndefined.create; +exports.undefined = undefinedType; +var nullType = ZodNull.create; +exports.null = nullType; +var anyType = ZodAny.create; +exports.any = anyType; +var unknownType = ZodUnknown.create; +exports.unknown = unknownType; +var neverType = ZodNever.create; +exports.never = neverType; +var voidType = ZodVoid.create; +exports.void = voidType; +var arrayType = ZodArray.create; +exports.array = arrayType; +var objectType = ZodObject.create; +exports.object = objectType; +var strictObjectType = ZodObject.strictCreate; +exports.strictObject = strictObjectType; +var unionType = ZodUnion.create; +exports.union = unionType; +var intersectionType = ZodIntersection.create; +exports.intersection = intersectionType; +var tupleType = ZodTuple.create; +exports.tuple = tupleType; +var recordType = ZodRecord.create; +exports.record = recordType; +var mapType = ZodMap.create; +exports.map = mapType; +var setType = ZodSet.create; +exports.set = setType; +var functionType = ZodFunction.create; +exports.function = functionType; +var lazyType = ZodLazy.create; +exports.lazy = lazyType; +var literalType = ZodLiteral.create; +exports.literal = literalType; +var enumType = ZodEnum.create; +exports.enum = enumType; +var nativeEnumType = ZodNativeEnum.create; +exports.nativeEnum = nativeEnumType; +var promiseType = ZodPromise.create; +exports.promise = promiseType; +var effectsType = ZodEffects.create; +exports.effect = effectsType; +exports.transformer = effectsType; +var optionalType = ZodOptional.create; +exports.optional = optionalType; +var nullableType = ZodNullable.create; +exports.nullable = nullableType; +var preprocessType = ZodEffects.createWithPreprocess; +exports.preprocess = preprocessType; +var ostring = function () { return stringType().optional(); }; +exports.ostring = ostring; +var onumber = function () { return numberType().optional(); }; +exports.onumber = onumber; +var oboolean = function () { return booleanType().optional(); }; +exports.oboolean = oboolean; +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/node_modules/zod/lib/types.js.map b/node_modules/zod/lib/types.js.map new file mode 100644 index 0000000..22dec24 --- /dev/null +++ b/node_modules/zod/lib/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/zod/package.json b/node_modules/zod/package.json new file mode 100644 index 0000000..96aa87b --- /dev/null +++ b/node_modules/zod/package.json @@ -0,0 +1,105 @@ +{ + "name": "zod", + "version": "3.11.6", + "description": "TypeScript-first schema declaration and validation library with static type inference", + "main": "./lib/index.js", + "types": "./lib/index.d.ts", + "module": "./lib/index.mjs", + "exports": { + ".": { + "require": "./lib/index.js", + "import": "./lib/index.mjs" + }, + "./package.json": "./package.json" + }, + "files": [ + "/lib" + ], + "repository": { + "type": "git", + "url": "https://github.com/colinhacks/zod" + }, + "author": "Colin McDonnell ", + "license": "MIT", + "sideEffects": false, + "bugs": { + "url": "https://github.com/colinhacks/zod/issues" + }, + "homepage": "https://github.com/colinhacks/zod", + "funding": "https://github.com/sponsors/colinhacks", + "support": { + "backing": { + "npm-funding": true + } + }, + "keywords": [ + "typescript", + "schema", + "validation", + "type", + "inference" + ], + "scripts": { + "check:format": "prettier --check \"src/**/*.ts\" \"deno/lib/**/*.ts\"", + "fix:format": "prettier --write \"src/**/*.ts\" \"deno/lib/**/*.ts\"", + "check:lint": "eslint --ext .ts ./src", + "fix:lint": "eslint --fix --ext .ts ./src", + "check": "yarn check:lint && yarn check:format", + "fix": "yarn fix:lint && yarn fix:format", + "clean": "rm -rf lib/* deno/lib/*", + "build": "yarn run clean && npm run build:cjs && npm run build:esm && npm run build:deno", + "build:deno": "node ./deno/build.mjs", + "build:esm": "rollup --config rollup.config.js", + "build:cjs": "tsc --p tsconfig.cjs.json", + "build:types": "tsc --p tsconfig.types.json", + "rollup": "rollup --config rollup.config.js", + "test": "node --trace-warnings node_modules/.bin/jest --coverage && yarn run badge", + "testone": "jest", + "badge": "make-coverage-badge --output-path ./coverage.svg", + "prepublishOnly": "npm run test && npm run build && npm run build:deno", + "play": "nodemon -e ts -w . -x ts-node src/playground.ts --project tsconfig.json --trace-warnings", + "depcruise": "depcruise -c .dependency-cruiser.js src", + "benchmark": "ts-node src/benchmarks/index.ts" + }, + "devDependencies": { + "@rollup/plugin-typescript": "^8.2.0", + "@types/benchmark": "^2.1.0", + "@types/jest": "^26.0.17", + "@types/node": "^14.14.10", + "@typescript-eslint/eslint-plugin": "^4.11.1", + "@typescript-eslint/parser": "^4.11.1", + "benchmark": "^2.1.4", + "dependency-cruiser": "^9.19.0", + "eslint": "^7.15.0", + "eslint-config-prettier": "^7.1.0", + "eslint-plugin-ban": "^1.5.2", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-simple-import-sort": "^7.0.0", + "eslint-plugin-unused-imports": "^1.1.0", + "husky": "^4.3.4", + "jest": "^26.6.3", + "lint-staged": "^10.5.3", + "make-coverage-badge": "^1.2.0", + "nodemon": "^2.0.2", + "prettier": "^2.2.1", + "rollup": "^2.42.1", + "rollup-plugin-uglify": "^6.0.4", + "ts-jest": "^26.4.4", + "ts-node": "^9.1.0", + "tslib": "^2.3.1", + "typescript": "^4.4.4" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged && yarn build:deno && git add .", + "pre-push": "lint-staged && yarn build && yarn test" + } + }, + "lint-staged": { + "*.ts": [ + "yarn fix:lint", + "yarn fix:format" + ] + }, + "dependencies": {} +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..24108bd --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4442 @@ +{ + "name": "42ctfbot", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "dependencies": { + "@discordjs/rest": "^0.3.0", + "discord-api-types": "^0.27.1", + "discord.js": "^13.6.0", + "npm": "^8.5.0" + } + }, + "node_modules/@discordjs/builders": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.11.0.tgz", + "integrity": "sha512-ZTB8yJdJKrKlq44dpWkNUrAtEJEq0gqpb7ASdv4vmq6/mZal5kOv312hQ56I/vxwMre+VIkoHquNUAfnTbiYtg==", + "dependencies": { + "@sindresorhus/is": "^4.2.0", + "discord-api-types": "^0.26.0", + "ts-mixer": "^6.0.0", + "tslib": "^2.3.1", + "zod": "^3.11.6" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@discordjs/builders/node_modules/discord-api-types": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.26.1.tgz", + "integrity": "sha512-T5PdMQ+Y1MEECYMV5wmyi9VEYPagEDEi4S0amgsszpWY0VB9JJ/hEvM6BgLhbdnKky4gfmZEXtEEtojN8ZKJQQ==", + "deprecated": "No longer supported. Install the latest release!", + "engines": { + "node": ">=12" + } + }, + "node_modules/@discordjs/collection": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.4.0.tgz", + "integrity": "sha512-zmjq+l/rV35kE6zRrwe8BHqV78JvIh2ybJeZavBi5NySjWXqN3hmmAKg7kYMMXSeiWtSsMoZ/+MQi0DiQWy2lw==", + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@discordjs/rest": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-0.3.0.tgz", + "integrity": "sha512-F9aeP3odlAlllM1ciBZLdd+adiAyBj4VaZBejj4UMj4afE2wfCkNTGvYYiRxrXUE9fN7e/BuDP2ePl0tVA2m7Q==", + "dependencies": { + "@discordjs/collection": "^0.4.0", + "@sapphire/async-queue": "^1.1.9", + "@sapphire/snowflake": "^3.0.1", + "discord-api-types": "^0.26.1", + "form-data": "^4.0.0", + "node-fetch": "^2.6.5", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/@discordjs/rest/node_modules/discord-api-types": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.26.1.tgz", + "integrity": "sha512-T5PdMQ+Y1MEECYMV5wmyi9VEYPagEDEi4S0amgsszpWY0VB9JJ/hEvM6BgLhbdnKky4gfmZEXtEEtojN8ZKJQQ==", + "deprecated": "No longer supported. Install the latest release!", + "engines": { + "node": ">=12" + } + }, + "node_modules/@sapphire/async-queue": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.2.0.tgz", + "integrity": "sha512-O5ND5Ljpef86X5oy8zXorQ754TMjWALcPSAgPBu4+76HLtDTrNoDyzU2uGE2G4A8Wv51u0MXHzGQ0WZ4GMtpIw==", + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@sapphire/snowflake": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-3.1.0.tgz", + "integrity": "sha512-K+OiqXSx4clIaXcoaghrCV56zsm3bZZ5SBpgJkgvAKegFFdETMntHviUfypjt8xVleIuDaNyQA4APOIl3BMcxg==", + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@sindresorhus/is": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.4.0.tgz", + "integrity": "sha512-QppPM/8l3Mawvh4rn9CNEYIU9bxpXUCRMaX9yUpvBk1nMKusLKpfXGDEKExKaPhLzcn3lzil7pR6rnJ11HgeRQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@types/node": { + "version": "17.0.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.18.tgz", + "integrity": "sha512-eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA==" + }, + "node_modules/@types/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==", + "dependencies": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, + "node_modules/@types/node-fetch/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/ws": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz", + "integrity": "sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/discord-api-types": { + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.27.1.tgz", + "integrity": "sha512-NhOrRs3TDx/p/e7+VCzcvtVz/Wkqa/olS82HJb2aM/oI0CLcnB+lJMXWa8wjn57XviFBcMMR0poqUMXx0IqTkQ==" + }, + "node_modules/discord.js": { + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.6.0.tgz", + "integrity": "sha512-tXNR8zgsEPxPBvGk3AQjJ9ljIIC6/LOPjzKwpwz8Y1Q2X66Vi3ZqFgRHYwnHKC0jC0F+l4LzxlhmOJsBZDNg9g==", + "dependencies": { + "@discordjs/builders": "^0.11.0", + "@discordjs/collection": "^0.4.0", + "@sapphire/async-queue": "^1.1.9", + "@types/node-fetch": "^2.5.12", + "@types/ws": "^8.2.2", + "discord-api-types": "^0.26.0", + "form-data": "^4.0.0", + "node-fetch": "^2.6.1", + "ws": "^8.4.0" + }, + "engines": { + "node": ">=16.6.0", + "npm": ">=7.0.0" + } + }, + "node_modules/discord.js/node_modules/discord-api-types": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.26.1.tgz", + "integrity": "sha512-T5PdMQ+Y1MEECYMV5wmyi9VEYPagEDEi4S0amgsszpWY0VB9JJ/hEvM6BgLhbdnKky4gfmZEXtEEtojN8ZKJQQ==", + "deprecated": "No longer supported. Install the latest release!", + "engines": { + "node": ">=12" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "dependencies": { + "mime-db": "1.51.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/npm": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-8.5.0.tgz", + "integrity": "sha512-L0yvQ8xkkM78YSZfO634auG0n4SleCa536n1rJ2uYJn6rzqyXnm6DpS2eQIq2g6b2JsA2XdZO41wkZWpsHNCAQ==", + "bundleDependencies": [ + "@isaacs/string-locale-compare", + "@npmcli/arborist", + "@npmcli/ci-detect", + "@npmcli/config", + "@npmcli/map-workspaces", + "@npmcli/package-json", + "@npmcli/run-script", + "abbrev", + "ansicolors", + "ansistyles", + "archy", + "cacache", + "chalk", + "chownr", + "cli-columns", + "cli-table3", + "columnify", + "fastest-levenshtein", + "glob", + "graceful-fs", + "hosted-git-info", + "ini", + "init-package-json", + "is-cidr", + "json-parse-even-better-errors", + "libnpmaccess", + "libnpmdiff", + "libnpmexec", + "libnpmfund", + "libnpmhook", + "libnpmorg", + "libnpmpack", + "libnpmpublish", + "libnpmsearch", + "libnpmteam", + "libnpmversion", + "make-fetch-happen", + "minipass", + "minipass-pipeline", + "mkdirp", + "mkdirp-infer-owner", + "ms", + "node-gyp", + "nopt", + "npm-audit-report", + "npm-install-checks", + "npm-package-arg", + "npm-pick-manifest", + "npm-profile", + "npm-registry-fetch", + "npm-user-validate", + "npmlog", + "opener", + "pacote", + "parse-conflict-json", + "proc-log", + "qrcode-terminal", + "read", + "read-package-json", + "read-package-json-fast", + "readdir-scoped-modules", + "rimraf", + "semver", + "ssri", + "tar", + "text-table", + "tiny-relative-date", + "treeverse", + "validate-npm-package-name", + "which", + "write-file-atomic" + ], + "dependencies": { + "@isaacs/string-locale-compare": "*", + "@npmcli/arborist": "*", + "@npmcli/ci-detect": "*", + "@npmcli/config": "*", + "@npmcli/map-workspaces": "*", + "@npmcli/package-json": "*", + "@npmcli/run-script": "*", + "abbrev": "*", + "ansicolors": "*", + "ansistyles": "*", + "archy": "*", + "cacache": "*", + "chalk": "*", + "chownr": "*", + "cli-columns": "*", + "cli-table3": "*", + "columnify": "*", + "fastest-levenshtein": "*", + "glob": "*", + "graceful-fs": "*", + "hosted-git-info": "*", + "ini": "*", + "init-package-json": "*", + "is-cidr": "*", + "json-parse-even-better-errors": "*", + "libnpmaccess": "*", + "libnpmdiff": "*", + "libnpmexec": "*", + "libnpmfund": "*", + "libnpmhook": "*", + "libnpmorg": "*", + "libnpmpack": "*", + "libnpmpublish": "*", + "libnpmsearch": "*", + "libnpmteam": "*", + "libnpmversion": "*", + "make-fetch-happen": "*", + "minipass": "*", + "minipass-pipeline": "*", + "mkdirp": "*", + "mkdirp-infer-owner": "*", + "ms": "*", + "node-gyp": "*", + "nopt": "*", + "npm-audit-report": "*", + "npm-install-checks": "*", + "npm-package-arg": "*", + "npm-pick-manifest": "*", + "npm-profile": "*", + "npm-registry-fetch": "*", + "npm-user-validate": "*", + "npmlog": "*", + "opener": "*", + "pacote": "*", + "parse-conflict-json": "*", + "proc-log": "*", + "qrcode-terminal": "*", + "read": "*", + "read-package-json": "*", + "read-package-json-fast": "*", + "readdir-scoped-modules": "*", + "rimraf": "*", + "semver": "*", + "ssri": "*", + "tar": "*", + "text-table": "*", + "tiny-relative-date": "*", + "treeverse": "*", + "validate-npm-package-name": "*", + "which": "*", + "write-file-atomic": "*" + }, + "bin": { + "npm": "bin/npm-cli.js", + "npx": "bin/npx-cli.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/@gar/promisify": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/@isaacs/string-locale-compare": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/arborist": { + "version": "4.3.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/map-workspaces": "^2.0.0", + "@npmcli/metavuln-calculator": "^2.0.0", + "@npmcli/move-file": "^1.1.0", + "@npmcli/name-from-folder": "^1.0.1", + "@npmcli/node-gyp": "^1.0.3", + "@npmcli/package-json": "^1.0.1", + "@npmcli/run-script": "^2.0.0", + "bin-links": "^3.0.0", + "cacache": "^15.0.3", + "common-ancestor-path": "^1.0.1", + "json-parse-even-better-errors": "^2.3.1", + "json-stringify-nice": "^1.1.4", + "mkdirp": "^1.0.4", + "mkdirp-infer-owner": "^2.0.0", + "npm-install-checks": "^4.0.0", + "npm-package-arg": "^8.1.5", + "npm-pick-manifest": "^6.1.0", + "npm-registry-fetch": "^12.0.1", + "pacote": "^12.0.2", + "parse-conflict-json": "^2.0.1", + "proc-log": "^1.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^1.0.1", + "read-package-json-fast": "^2.0.2", + "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "ssri": "^8.0.1", + "treeverse": "^1.0.4", + "walk-up-path": "^1.0.0" + }, + "bin": { + "arborist": "bin/index.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/@npmcli/ci-detect": { + "version": "1.4.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/config": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/map-workspaces": "^2.0.0", + "ini": "^2.0.0", + "mkdirp-infer-owner": "^2.0.0", + "nopt": "^5.0.0", + "read-package-json-fast": "^2.0.3", + "semver": "^7.3.4", + "walk-up-path": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/@npmcli/disparity-colors": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "ansi-styles": "^4.3.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/@npmcli/fs": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/@npmcli/git": { + "version": "2.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^1.3.2", + "lru-cache": "^6.0.0", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^6.1.1", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" + } + }, + "node_modules/npm/node_modules/@npmcli/installed-package-contents": { + "version": "1.0.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "installed-package-contents": "index.js" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/@npmcli/map-workspaces": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/name-from-folder": "^1.0.1", + "glob": "^7.1.6", + "minimatch": "^3.0.4", + "read-package-json-fast": "^2.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "cacache": "^15.0.5", + "json-parse-even-better-errors": "^2.3.1", + "pacote": "^12.0.0", + "semver": "^7.3.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/@npmcli/move-file": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/@npmcli/name-from-folder": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/node-gyp": { + "version": "1.0.3", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/package-json": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.1" + } + }, + "node_modules/npm/node_modules/@npmcli/promise-spawn": { + "version": "1.3.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "infer-owner": "^1.0.4" + } + }, + "node_modules/npm/node_modules/@npmcli/run-script": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^1.0.2", + "@npmcli/promise-spawn": "^1.3.2", + "node-gyp": "^8.2.0", + "read-package-json-fast": "^2.0.1" + } + }, + "node_modules/npm/node_modules/@tootallnate/once": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/abbrev": { + "version": "1.1.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/agent-base": { + "version": "6.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/npm/node_modules/agentkeepalive": { + "version": "4.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/npm/node_modules/aggregate-error": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/ansi-regex": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/ansi-styles": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm/node_modules/ansicolors": { + "version": "0.3.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/ansistyles": { + "version": "0.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/aproba": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/archy": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/are-we-there-yet": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/asap": { + "version": "2.0.6", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/bin-links": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "cmd-shim": "^4.0.1", + "mkdirp-infer-owner": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0", + "read-cmd-shim": "^2.0.0", + "rimraf": "^3.0.0", + "write-file-atomic": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/binary-extensions": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/npm/node_modules/builtins": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/cacache": { + "version": "15.3.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/chalk": { + "version": "4.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/npm/node_modules/chownr": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/cidr-regex": { + "version": "3.1.1", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "ip-regex": "^4.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/clean-stack": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/cli-columns": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/cli-columns/node_modules/ansi-regex": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cli-columns/node_modules/string-width": { + "version": "4.2.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cli-columns/node_modules/strip-ansi": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cli-table3": { + "version": "0.6.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "colors": "1.4.0" + } + }, + "node_modules/npm/node_modules/cli-table3/node_modules/ansi-regex": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cli-table3/node_modules/string-width": { + "version": "4.2.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cli-table3/node_modules/strip-ansi": { + "version": "6.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/clone": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/cmd-shim": { + "version": "4.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "mkdirp-infer-owner": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/color-convert": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/npm/node_modules/color-name": { + "version": "1.1.4", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/color-support": { + "version": "1.1.3", + "inBundle": true, + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/npm/node_modules/colors": { + "version": "1.4.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/npm/node_modules/columnify": { + "version": "1.5.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "strip-ansi": "^3.0.0", + "wcwidth": "^1.0.0" + } + }, + "node_modules/npm/node_modules/common-ancestor-path": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/concat-map": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/console-control-strings": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/debug": { + "version": "4.3.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/npm/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/debuglog": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/defaults": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/npm/node_modules/delegates": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/depd": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/dezalgo": { + "version": "1.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/diff": { + "version": "5.0.0", + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/npm/node_modules/emoji-regex": { + "version": "8.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/encoding": { + "version": "0.1.13", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/npm/node_modules/env-paths": { + "version": "2.2.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/err-code": { + "version": "2.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fastest-levenshtein": { + "version": "1.0.12", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fs-minipass": { + "version": "2.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/fs.realpath": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/function-bind": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/gauge": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "ansi-regex": "^5.0.1", + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/gauge/node_modules/ansi-regex": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/gauge/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/gauge/node_modules/string-width": { + "version": "4.2.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/gauge/node_modules/strip-ansi": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/glob": { + "version": "7.2.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/graceful-fs": { + "version": "4.2.9", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/has": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/npm/node_modules/has-flag": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/has-unicode": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/hosted-git-info": { + "version": "4.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/http-cache-semantics": { + "version": "4.1.0", + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/http-proxy-agent": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/https-proxy-agent": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/humanize-ms": { + "version": "1.2.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/npm/node_modules/iconv-lite": { + "version": "0.6.3", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/ignore-walk": { + "version": "4.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/imurmurhash": { + "version": "0.1.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/npm/node_modules/indent-string": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/infer-owner": { + "version": "1.0.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/inflight": { + "version": "1.0.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/inherits": { + "version": "2.0.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/ini": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/init-package-json": { + "version": "2.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^8.1.5", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "^4.1.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/ip": { + "version": "1.1.5", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/ip-regex": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/is-cidr": { + "version": "4.0.2", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "cidr-regex": "^3.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/is-core-module": { + "version": "2.8.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/npm/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/is-lambda": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/is-typedarray": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/isexe": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/json-stringify-nice": { + "version": "1.1.4", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/jsonparse": { + "version": "1.3.1", + "engines": [ + "node >= 0.2.0" + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff-apply": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/libnpmaccess": { + "version": "5.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "minipass": "^3.1.1", + "npm-package-arg": "^8.1.2", + "npm-registry-fetch": "^12.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmdiff": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/disparity-colors": "^1.0.1", + "@npmcli/installed-package-contents": "^1.0.7", + "binary-extensions": "^2.2.0", + "diff": "^5.0.0", + "minimatch": "^3.0.4", + "npm-package-arg": "^8.1.4", + "pacote": "^12.0.0", + "tar": "^6.1.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmexec": { + "version": "3.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^4.0.0", + "@npmcli/ci-detect": "^1.3.0", + "@npmcli/run-script": "^2.0.0", + "chalk": "^4.1.0", + "mkdirp-infer-owner": "^2.0.0", + "npm-package-arg": "^8.1.2", + "pacote": "^12.0.0", + "proc-log": "^1.0.0", + "read": "^1.0.7", + "read-package-json-fast": "^2.0.2", + "walk-up-path": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmfund": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmhook": { + "version": "7.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^12.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmorg": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^12.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmpack": { + "version": "3.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/run-script": "^2.0.0", + "npm-package-arg": "^8.1.0", + "pacote": "^12.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmpublish": { + "version": "5.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "normalize-package-data": "^3.0.2", + "npm-package-arg": "^8.1.2", + "npm-registry-fetch": "^12.0.1", + "semver": "^7.1.3", + "ssri": "^8.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmsearch": { + "version": "4.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^12.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmteam": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^12.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/libnpmversion": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^2.0.7", + "@npmcli/run-script": "^2.0.0", + "json-parse-even-better-errors": "^2.3.1", + "semver": "^7.3.5", + "stringify-package": "^1.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/lru-cache": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/make-fetch-happen": { + "version": "10.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "agentkeepalive": "^4.2.0", + "cacache": "^15.3.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.3.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.4.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.1.1", + "ssri": "^8.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "7.3.1", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/npm/node_modules/minimatch": { + "version": "3.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/minipass": { + "version": "3.1.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-collect": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minipass-fetch": { + "version": "1.4.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/npm/node_modules/minipass-flush": { + "version": "1.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minipass-json-stream": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/npm/node_modules/minipass-pipeline": { + "version": "1.2.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-sized": { + "version": "1.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minizlib": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/mkdirp": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/mkdirp-infer-owner": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "infer-owner": "^1.0.4", + "mkdirp": "^1.0.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/ms": { + "version": "2.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/mute-stream": { + "version": "0.0.8", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/negotiator": { + "version": "0.6.3", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/node-gyp": { + "version": "8.4.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/@tootallnate/once": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/http-proxy-agent": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen": { + "version": "9.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/nopt": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/normalize-package-data": { + "version": "3.0.3", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/npm-audit-report": { + "version": "2.1.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "chalk": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/npm-bundled": { + "version": "1.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm/node_modules/npm-install-checks": { + "version": "4.0.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/npm-package-arg": { + "version": "8.1.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/npm-packlist": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.6", + "ignore-walk": "^4.0.1", + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "npm-packlist": "bin/index.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/npm-pick-manifest": { + "version": "6.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" + } + }, + "node_modules/npm/node_modules/npm-profile": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^12.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/npm-registry-fetch": { + "version": "12.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "make-fetch-happen": "^10.0.1", + "minipass": "^3.1.6", + "minipass-fetch": "^1.4.1", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^8.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/npm-user-validate": { + "version": "1.0.1", + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/npmlog": { + "version": "6.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.0", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/once": { + "version": "1.4.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/opener": { + "version": "1.5.2", + "inBundle": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/npm/node_modules/p-map": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/pacote": { + "version": "12.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^2.1.0", + "@npmcli/installed-package-contents": "^1.0.6", + "@npmcli/promise-spawn": "^1.2.0", + "@npmcli/run-script": "^2.0.0", + "cacache": "^15.0.5", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.3", + "mkdirp": "^1.0.3", + "npm-package-arg": "^8.0.1", + "npm-packlist": "^3.0.0", + "npm-pick-manifest": "^6.0.0", + "npm-registry-fetch": "^12.0.0", + "promise-retry": "^2.0.1", + "read-package-json-fast": "^2.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.1.0" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/parse-conflict-json": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.1", + "just-diff": "^5.0.1", + "just-diff-apply": "^4.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/path-is-absolute": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/proc-log": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/promise-all-reject-late": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-call-limit": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-inflight": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/promise-retry": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/promzard": { + "version": "0.3.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "read": "1" + } + }, + "node_modules/npm/node_modules/qrcode-terminal": { + "version": "0.12.0", + "inBundle": true, + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/npm/node_modules/read": { + "version": "1.0.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "mute-stream": "~0.0.4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/read-cmd-shim": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/read-package-json": { + "version": "4.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.1", + "json-parse-even-better-errors": "^2.3.0", + "normalize-package-data": "^3.0.0", + "npm-normalize-package-bin": "^1.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/read-package-json-fast": { + "version": "2.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/readable-stream": { + "version": "3.6.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/readdir-scoped-modules": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "node_modules/npm/node_modules/retry": { + "version": "0.12.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/rimraf": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/safer-buffer": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/npm/node_modules/semver": { + "version": "7.3.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/set-blocking": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/signal-exit": { + "version": "3.0.6", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/smart-buffer": { + "version": "4.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks": { + "version": "2.6.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ip": "^1.1.5", + "smart-buffer": "^4.1.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks-proxy-agent": { + "version": "6.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/spdx-correct": { + "version": "3.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-exceptions": { + "version": "2.3.0", + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/npm/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-license-ids": { + "version": "3.0.11", + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/npm/node_modules/ssri": { + "version": "8.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/string_decoder": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/npm/node_modules/string-width": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/stringify-package": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/strip-ansi": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/supports-color": { + "version": "7.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/tar": { + "version": "6.1.11", + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/text-table": { + "version": "0.2.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tiny-relative-date": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/treeverse": { + "version": "1.0.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/typedarray-to-buffer": { + "version": "4.0.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/unique-filename": { + "version": "1.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/npm/node_modules/unique-slug": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/npm/node_modules/util-deprecate": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/validate-npm-package-license": { + "version": "3.0.4", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/npm/node_modules/validate-npm-package-name": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "builtins": "^1.0.3" + } + }, + "node_modules/npm/node_modules/walk-up-path": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/wcwidth": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/npm/node_modules/which": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/wide-align": { + "version": "1.1.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/npm/node_modules/wrappy": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/write-file-atomic": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/yallist": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "node_modules/ts-mixer": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.0.tgz", + "integrity": "sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ==" + }, + "node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/ws": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/zod": { + "version": "3.11.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.11.6.tgz", + "integrity": "sha512-daZ80A81I3/9lIydI44motWe6n59kRBfNzTuS2bfzVh1nAXi667TOTWWtatxyG+fwgNUiagSj/CWZwRRbevJIg==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + } + }, + "dependencies": { + "@discordjs/builders": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.11.0.tgz", + "integrity": "sha512-ZTB8yJdJKrKlq44dpWkNUrAtEJEq0gqpb7ASdv4vmq6/mZal5kOv312hQ56I/vxwMre+VIkoHquNUAfnTbiYtg==", + "requires": { + "@sindresorhus/is": "^4.2.0", + "discord-api-types": "^0.26.0", + "ts-mixer": "^6.0.0", + "tslib": "^2.3.1", + "zod": "^3.11.6" + }, + "dependencies": { + "discord-api-types": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.26.1.tgz", + "integrity": "sha512-T5PdMQ+Y1MEECYMV5wmyi9VEYPagEDEi4S0amgsszpWY0VB9JJ/hEvM6BgLhbdnKky4gfmZEXtEEtojN8ZKJQQ==" + } + } + }, + "@discordjs/collection": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.4.0.tgz", + "integrity": "sha512-zmjq+l/rV35kE6zRrwe8BHqV78JvIh2ybJeZavBi5NySjWXqN3hmmAKg7kYMMXSeiWtSsMoZ/+MQi0DiQWy2lw==" + }, + "@discordjs/rest": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-0.3.0.tgz", + "integrity": "sha512-F9aeP3odlAlllM1ciBZLdd+adiAyBj4VaZBejj4UMj4afE2wfCkNTGvYYiRxrXUE9fN7e/BuDP2ePl0tVA2m7Q==", + "requires": { + "@discordjs/collection": "^0.4.0", + "@sapphire/async-queue": "^1.1.9", + "@sapphire/snowflake": "^3.0.1", + "discord-api-types": "^0.26.1", + "form-data": "^4.0.0", + "node-fetch": "^2.6.5", + "tslib": "^2.3.1" + }, + "dependencies": { + "discord-api-types": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.26.1.tgz", + "integrity": "sha512-T5PdMQ+Y1MEECYMV5wmyi9VEYPagEDEi4S0amgsszpWY0VB9JJ/hEvM6BgLhbdnKky4gfmZEXtEEtojN8ZKJQQ==" + } + } + }, + "@sapphire/async-queue": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.2.0.tgz", + "integrity": "sha512-O5ND5Ljpef86X5oy8zXorQ754TMjWALcPSAgPBu4+76HLtDTrNoDyzU2uGE2G4A8Wv51u0MXHzGQ0WZ4GMtpIw==" + }, + "@sapphire/snowflake": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-3.1.0.tgz", + "integrity": "sha512-K+OiqXSx4clIaXcoaghrCV56zsm3bZZ5SBpgJkgvAKegFFdETMntHviUfypjt8xVleIuDaNyQA4APOIl3BMcxg==" + }, + "@sindresorhus/is": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.4.0.tgz", + "integrity": "sha512-QppPM/8l3Mawvh4rn9CNEYIU9bxpXUCRMaX9yUpvBk1nMKusLKpfXGDEKExKaPhLzcn3lzil7pR6rnJ11HgeRQ==" + }, + "@types/node": { + "version": "17.0.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.18.tgz", + "integrity": "sha512-eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA==" + }, + "@types/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==", + "requires": { + "@types/node": "*", + "form-data": "^3.0.0" + }, + "dependencies": { + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, + "@types/ws": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz", + "integrity": "sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==", + "requires": { + "@types/node": "*" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "discord-api-types": { + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.27.1.tgz", + "integrity": "sha512-NhOrRs3TDx/p/e7+VCzcvtVz/Wkqa/olS82HJb2aM/oI0CLcnB+lJMXWa8wjn57XviFBcMMR0poqUMXx0IqTkQ==" + }, + "discord.js": { + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.6.0.tgz", + "integrity": "sha512-tXNR8zgsEPxPBvGk3AQjJ9ljIIC6/LOPjzKwpwz8Y1Q2X66Vi3ZqFgRHYwnHKC0jC0F+l4LzxlhmOJsBZDNg9g==", + "requires": { + "@discordjs/builders": "^0.11.0", + "@discordjs/collection": "^0.4.0", + "@sapphire/async-queue": "^1.1.9", + "@types/node-fetch": "^2.5.12", + "@types/ws": "^8.2.2", + "discord-api-types": "^0.26.0", + "form-data": "^4.0.0", + "node-fetch": "^2.6.1", + "ws": "^8.4.0" + }, + "dependencies": { + "discord-api-types": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.26.1.tgz", + "integrity": "sha512-T5PdMQ+Y1MEECYMV5wmyi9VEYPagEDEi4S0amgsszpWY0VB9JJ/hEvM6BgLhbdnKky4gfmZEXtEEtojN8ZKJQQ==" + } + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" + }, + "mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "requires": { + "mime-db": "1.51.0" + } + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "npm": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-8.5.0.tgz", + "integrity": "sha512-L0yvQ8xkkM78YSZfO634auG0n4SleCa536n1rJ2uYJn6rzqyXnm6DpS2eQIq2g6b2JsA2XdZO41wkZWpsHNCAQ==", + "requires": { + "@isaacs/string-locale-compare": "*", + "@npmcli/arborist": "*", + "@npmcli/ci-detect": "*", + "@npmcli/config": "*", + "@npmcli/map-workspaces": "*", + "@npmcli/package-json": "*", + "@npmcli/run-script": "*", + "abbrev": "*", + "ansicolors": "*", + "ansistyles": "*", + "archy": "*", + "cacache": "*", + "chalk": "*", + "chownr": "*", + "cli-columns": "*", + "cli-table3": "*", + "columnify": "*", + "fastest-levenshtein": "*", + "glob": "*", + "graceful-fs": "*", + "hosted-git-info": "*", + "ini": "*", + "init-package-json": "*", + "is-cidr": "*", + "json-parse-even-better-errors": "*", + "libnpmaccess": "*", + "libnpmdiff": "*", + "libnpmexec": "*", + "libnpmfund": "*", + "libnpmhook": "*", + "libnpmorg": "*", + "libnpmpack": "*", + "libnpmpublish": "*", + "libnpmsearch": "*", + "libnpmteam": "*", + "libnpmversion": "*", + "make-fetch-happen": "*", + "minipass": "*", + "minipass-pipeline": "*", + "mkdirp": "*", + "mkdirp-infer-owner": "*", + "ms": "*", + "node-gyp": "*", + "nopt": "*", + "npm-audit-report": "*", + "npm-install-checks": "*", + "npm-package-arg": "*", + "npm-pick-manifest": "*", + "npm-profile": "*", + "npm-registry-fetch": "*", + "npm-user-validate": "*", + "npmlog": "*", + "opener": "*", + "pacote": "*", + "parse-conflict-json": "*", + "proc-log": "*", + "qrcode-terminal": "*", + "read": "*", + "read-package-json": "*", + "read-package-json-fast": "*", + "readdir-scoped-modules": "*", + "rimraf": "*", + "semver": "*", + "ssri": "*", + "tar": "*", + "text-table": "*", + "tiny-relative-date": "*", + "treeverse": "*", + "validate-npm-package-name": "*", + "which": "*", + "write-file-atomic": "*" + }, + "dependencies": { + "@gar/promisify": { + "version": "1.1.2", + "bundled": true + }, + "@isaacs/string-locale-compare": { + "version": "1.1.0", + "bundled": true + }, + "@npmcli/arborist": { + "version": "4.3.1", + "bundled": true, + "requires": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/map-workspaces": "^2.0.0", + "@npmcli/metavuln-calculator": "^2.0.0", + "@npmcli/move-file": "^1.1.0", + "@npmcli/name-from-folder": "^1.0.1", + "@npmcli/node-gyp": "^1.0.3", + "@npmcli/package-json": "^1.0.1", + "@npmcli/run-script": "^2.0.0", + "bin-links": "^3.0.0", + "cacache": "^15.0.3", + "common-ancestor-path": "^1.0.1", + "json-parse-even-better-errors": "^2.3.1", + "json-stringify-nice": "^1.1.4", + "mkdirp": "^1.0.4", + "mkdirp-infer-owner": "^2.0.0", + "npm-install-checks": "^4.0.0", + "npm-package-arg": "^8.1.5", + "npm-pick-manifest": "^6.1.0", + "npm-registry-fetch": "^12.0.1", + "pacote": "^12.0.2", + "parse-conflict-json": "^2.0.1", + "proc-log": "^1.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^1.0.1", + "read-package-json-fast": "^2.0.2", + "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "ssri": "^8.0.1", + "treeverse": "^1.0.4", + "walk-up-path": "^1.0.0" + } + }, + "@npmcli/ci-detect": { + "version": "1.4.0", + "bundled": true + }, + "@npmcli/config": { + "version": "3.0.0", + "bundled": true, + "requires": { + "@npmcli/map-workspaces": "^2.0.0", + "ini": "^2.0.0", + "mkdirp-infer-owner": "^2.0.0", + "nopt": "^5.0.0", + "read-package-json-fast": "^2.0.3", + "semver": "^7.3.4", + "walk-up-path": "^1.0.0" + } + }, + "@npmcli/disparity-colors": { + "version": "1.0.1", + "bundled": true, + "requires": { + "ansi-styles": "^4.3.0" + } + }, + "@npmcli/fs": { + "version": "1.1.0", + "bundled": true, + "requires": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "@npmcli/git": { + "version": "2.1.0", + "bundled": true, + "requires": { + "@npmcli/promise-spawn": "^1.3.2", + "lru-cache": "^6.0.0", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^6.1.1", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" + } + }, + "@npmcli/installed-package-contents": { + "version": "1.0.7", + "bundled": true, + "requires": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "@npmcli/map-workspaces": { + "version": "2.0.0", + "bundled": true, + "requires": { + "@npmcli/name-from-folder": "^1.0.1", + "glob": "^7.1.6", + "minimatch": "^3.0.4", + "read-package-json-fast": "^2.0.1" + } + }, + "@npmcli/metavuln-calculator": { + "version": "2.0.0", + "bundled": true, + "requires": { + "cacache": "^15.0.5", + "json-parse-even-better-errors": "^2.3.1", + "pacote": "^12.0.0", + "semver": "^7.3.2" + } + }, + "@npmcli/move-file": { + "version": "1.1.2", + "bundled": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, + "@npmcli/name-from-folder": { + "version": "1.0.1", + "bundled": true + }, + "@npmcli/node-gyp": { + "version": "1.0.3", + "bundled": true + }, + "@npmcli/package-json": { + "version": "1.0.1", + "bundled": true, + "requires": { + "json-parse-even-better-errors": "^2.3.1" + } + }, + "@npmcli/promise-spawn": { + "version": "1.3.2", + "bundled": true, + "requires": { + "infer-owner": "^1.0.4" + } + }, + "@npmcli/run-script": { + "version": "2.0.0", + "bundled": true, + "requires": { + "@npmcli/node-gyp": "^1.0.2", + "@npmcli/promise-spawn": "^1.3.2", + "node-gyp": "^8.2.0", + "read-package-json-fast": "^2.0.1" + } + }, + "@tootallnate/once": { + "version": "2.0.0", + "bundled": true + }, + "abbrev": { + "version": "1.1.1", + "bundled": true + }, + "agent-base": { + "version": "6.0.2", + "bundled": true, + "requires": { + "debug": "4" + } + }, + "agentkeepalive": { + "version": "4.2.0", + "bundled": true, + "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + } + }, + "aggregate-error": { + "version": "3.1.0", + "bundled": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "ansi-styles": { + "version": "4.3.0", + "bundled": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "ansicolors": { + "version": "0.3.2", + "bundled": true + }, + "ansistyles": { + "version": "0.1.3", + "bundled": true + }, + "aproba": { + "version": "2.0.0", + "bundled": true + }, + "archy": { + "version": "1.0.0", + "bundled": true + }, + "are-we-there-yet": { + "version": "3.0.0", + "bundled": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "asap": { + "version": "2.0.6", + "bundled": true + }, + "balanced-match": { + "version": "1.0.2", + "bundled": true + }, + "bin-links": { + "version": "3.0.0", + "bundled": true, + "requires": { + "cmd-shim": "^4.0.1", + "mkdirp-infer-owner": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0", + "read-cmd-shim": "^2.0.0", + "rimraf": "^3.0.0", + "write-file-atomic": "^4.0.0" + } + }, + "binary-extensions": { + "version": "2.2.0", + "bundled": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "builtins": { + "version": "1.0.3", + "bundled": true + }, + "cacache": { + "version": "15.3.0", + "bundled": true, + "requires": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + } + }, + "chalk": { + "version": "4.1.2", + "bundled": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chownr": { + "version": "2.0.0", + "bundled": true + }, + "cidr-regex": { + "version": "3.1.1", + "bundled": true, + "requires": { + "ip-regex": "^4.1.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "bundled": true + }, + "cli-columns": { + "version": "4.0.0", + "bundled": true, + "requires": { + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "bundled": true + }, + "string-width": { + "version": "4.2.3", + "bundled": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "bundled": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "cli-table3": { + "version": "0.6.1", + "bundled": true, + "requires": { + "colors": "1.4.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "bundled": true + }, + "string-width": { + "version": "4.2.2", + "bundled": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "bundled": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "bundled": true + }, + "cmd-shim": { + "version": "4.1.0", + "bundled": true, + "requires": { + "mkdirp-infer-owner": "^2.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "bundled": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "bundled": true + }, + "color-support": { + "version": "1.1.3", + "bundled": true + }, + "colors": { + "version": "1.4.0", + "bundled": true, + "optional": true + }, + "columnify": { + "version": "1.5.4", + "bundled": true, + "requires": { + "strip-ansi": "^3.0.0", + "wcwidth": "^1.0.0" + } + }, + "common-ancestor-path": { + "version": "1.0.1", + "bundled": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "debug": { + "version": "4.3.3", + "bundled": true, + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "bundled": true + } + } + }, + "debuglog": { + "version": "1.0.1", + "bundled": true + }, + "defaults": { + "version": "1.0.3", + "bundled": true, + "requires": { + "clone": "^1.0.2" + } + }, + "delegates": { + "version": "1.0.0", + "bundled": true + }, + "depd": { + "version": "1.1.2", + "bundled": true + }, + "dezalgo": { + "version": "1.0.3", + "bundled": true, + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "diff": { + "version": "5.0.0", + "bundled": true + }, + "emoji-regex": { + "version": "8.0.0", + "bundled": true + }, + "encoding": { + "version": "0.1.13", + "bundled": true, + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + } + }, + "env-paths": { + "version": "2.2.1", + "bundled": true + }, + "err-code": { + "version": "2.0.3", + "bundled": true + }, + "fastest-levenshtein": { + "version": "1.0.12", + "bundled": true + }, + "fs-minipass": { + "version": "2.1.0", + "bundled": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "function-bind": { + "version": "1.1.1", + "bundled": true + }, + "gauge": { + "version": "4.0.0", + "bundled": true, + "requires": { + "ansi-regex": "^5.0.1", + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "bundled": true + }, + "string-width": { + "version": "4.2.3", + "bundled": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "bundled": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "glob": { + "version": "7.2.0", + "bundled": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.9", + "bundled": true + }, + "has": { + "version": "1.0.3", + "bundled": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "bundled": true + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true + }, + "hosted-git-info": { + "version": "4.1.0", + "bundled": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "bundled": true + }, + "http-proxy-agent": { + "version": "5.0.0", + "bundled": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, + "https-proxy-agent": { + "version": "5.0.0", + "bundled": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "humanize-ms": { + "version": "1.2.1", + "bundled": true, + "requires": { + "ms": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.6.3", + "bundled": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "ignore-walk": { + "version": "4.0.1", + "bundled": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true + }, + "indent-string": { + "version": "4.0.0", + "bundled": true + }, + "infer-owner": { + "version": "1.0.4", + "bundled": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "bundled": true + }, + "ini": { + "version": "2.0.0", + "bundled": true + }, + "init-package-json": { + "version": "2.0.5", + "bundled": true, + "requires": { + "npm-package-arg": "^8.1.5", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "^4.1.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^3.0.0" + } + }, + "ip": { + "version": "1.1.5", + "bundled": true + }, + "ip-regex": { + "version": "4.3.0", + "bundled": true + }, + "is-cidr": { + "version": "4.0.2", + "bundled": true, + "requires": { + "cidr-regex": "^3.1.1" + } + }, + "is-core-module": { + "version": "2.8.1", + "bundled": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true + }, + "is-lambda": { + "version": "1.0.1", + "bundled": true + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "bundled": true + }, + "json-stringify-nice": { + "version": "1.1.4", + "bundled": true + }, + "jsonparse": { + "version": "1.3.1", + "bundled": true + }, + "just-diff": { + "version": "5.0.1", + "bundled": true + }, + "just-diff-apply": { + "version": "4.0.1", + "bundled": true + }, + "libnpmaccess": { + "version": "5.0.1", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "minipass": "^3.1.1", + "npm-package-arg": "^8.1.2", + "npm-registry-fetch": "^12.0.1" + } + }, + "libnpmdiff": { + "version": "3.0.0", + "bundled": true, + "requires": { + "@npmcli/disparity-colors": "^1.0.1", + "@npmcli/installed-package-contents": "^1.0.7", + "binary-extensions": "^2.2.0", + "diff": "^5.0.0", + "minimatch": "^3.0.4", + "npm-package-arg": "^8.1.4", + "pacote": "^12.0.0", + "tar": "^6.1.0" + } + }, + "libnpmexec": { + "version": "3.0.3", + "bundled": true, + "requires": { + "@npmcli/arborist": "^4.0.0", + "@npmcli/ci-detect": "^1.3.0", + "@npmcli/run-script": "^2.0.0", + "chalk": "^4.1.0", + "mkdirp-infer-owner": "^2.0.0", + "npm-package-arg": "^8.1.2", + "pacote": "^12.0.0", + "proc-log": "^1.0.0", + "read": "^1.0.7", + "read-package-json-fast": "^2.0.2", + "walk-up-path": "^1.0.0" + } + }, + "libnpmfund": { + "version": "2.0.2", + "bundled": true, + "requires": { + "@npmcli/arborist": "^4.0.0" + } + }, + "libnpmhook": { + "version": "7.0.1", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^12.0.1" + } + }, + "libnpmorg": { + "version": "3.0.1", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^12.0.1" + } + }, + "libnpmpack": { + "version": "3.1.0", + "bundled": true, + "requires": { + "@npmcli/run-script": "^2.0.0", + "npm-package-arg": "^8.1.0", + "pacote": "^12.0.0" + } + }, + "libnpmpublish": { + "version": "5.0.1", + "bundled": true, + "requires": { + "normalize-package-data": "^3.0.2", + "npm-package-arg": "^8.1.2", + "npm-registry-fetch": "^12.0.1", + "semver": "^7.1.3", + "ssri": "^8.0.1" + } + }, + "libnpmsearch": { + "version": "4.0.1", + "bundled": true, + "requires": { + "npm-registry-fetch": "^12.0.1" + } + }, + "libnpmteam": { + "version": "3.0.1", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^12.0.1" + } + }, + "libnpmversion": { + "version": "2.0.2", + "bundled": true, + "requires": { + "@npmcli/git": "^2.0.7", + "@npmcli/run-script": "^2.0.0", + "json-parse-even-better-errors": "^2.3.1", + "semver": "^7.3.5", + "stringify-package": "^1.0.1" + } + }, + "lru-cache": { + "version": "6.0.0", + "bundled": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-fetch-happen": { + "version": "10.0.2", + "bundled": true, + "requires": { + "agentkeepalive": "^4.2.0", + "cacache": "^15.3.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.3.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.4.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.1.1", + "ssri": "^8.0.1" + }, + "dependencies": { + "lru-cache": { + "version": "7.3.1", + "bundled": true + } + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minipass": { + "version": "3.1.6", + "bundled": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "bundled": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-fetch": { + "version": "1.4.1", + "bundled": true, + "requires": { + "encoding": "^0.1.12", + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "bundled": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-json-stream": { + "version": "1.0.1", + "bundled": true, + "requires": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "bundled": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-sized": { + "version": "1.0.3", + "bundled": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "bundled": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "bundled": true + }, + "mkdirp-infer-owner": { + "version": "2.0.0", + "bundled": true, + "requires": { + "chownr": "^2.0.0", + "infer-owner": "^1.0.4", + "mkdirp": "^1.0.3" + } + }, + "ms": { + "version": "2.1.3", + "bundled": true + }, + "mute-stream": { + "version": "0.0.8", + "bundled": true + }, + "negotiator": { + "version": "0.6.3", + "bundled": true + }, + "node-gyp": { + "version": "8.4.1", + "bundled": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "dependencies": { + "@tootallnate/once": { + "version": "1.1.2", + "bundled": true + }, + "http-proxy-agent": { + "version": "4.0.1", + "bundled": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "make-fetch-happen": { + "version": "9.1.0", + "bundled": true, + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + } + } + } + }, + "nopt": { + "version": "5.0.0", + "bundled": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "3.0.3", + "bundled": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "npm-audit-report": { + "version": "2.1.5", + "bundled": true, + "requires": { + "chalk": "^4.0.0" + } + }, + "npm-bundled": { + "version": "1.1.2", + "bundled": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-install-checks": { + "version": "4.0.0", + "bundled": true, + "requires": { + "semver": "^7.1.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "bundled": true + }, + "npm-package-arg": { + "version": "8.1.5", + "bundled": true, + "requires": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + } + }, + "npm-packlist": { + "version": "3.0.0", + "bundled": true, + "requires": { + "glob": "^7.1.6", + "ignore-walk": "^4.0.1", + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-pick-manifest": { + "version": "6.1.1", + "bundled": true, + "requires": { + "npm-install-checks": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" + } + }, + "npm-profile": { + "version": "6.0.0", + "bundled": true, + "requires": { + "npm-registry-fetch": "^12.0.0" + } + }, + "npm-registry-fetch": { + "version": "12.0.2", + "bundled": true, + "requires": { + "make-fetch-happen": "^10.0.1", + "minipass": "^3.1.6", + "minipass-fetch": "^1.4.1", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^8.1.5" + } + }, + "npm-user-validate": { + "version": "1.0.1", + "bundled": true + }, + "npmlog": { + "version": "6.0.1", + "bundled": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.0", + "set-blocking": "^2.0.0" + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1" + } + }, + "opener": { + "version": "1.5.2", + "bundled": true + }, + "p-map": { + "version": "4.0.0", + "bundled": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "pacote": { + "version": "12.0.3", + "bundled": true, + "requires": { + "@npmcli/git": "^2.1.0", + "@npmcli/installed-package-contents": "^1.0.6", + "@npmcli/promise-spawn": "^1.2.0", + "@npmcli/run-script": "^2.0.0", + "cacache": "^15.0.5", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.3", + "mkdirp": "^1.0.3", + "npm-package-arg": "^8.0.1", + "npm-packlist": "^3.0.0", + "npm-pick-manifest": "^6.0.0", + "npm-registry-fetch": "^12.0.0", + "promise-retry": "^2.0.1", + "read-package-json-fast": "^2.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.1.0" + } + }, + "parse-conflict-json": { + "version": "2.0.1", + "bundled": true, + "requires": { + "json-parse-even-better-errors": "^2.3.1", + "just-diff": "^5.0.1", + "just-diff-apply": "^4.0.1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "proc-log": { + "version": "1.0.0", + "bundled": true + }, + "promise-all-reject-late": { + "version": "1.0.1", + "bundled": true + }, + "promise-call-limit": { + "version": "1.0.1", + "bundled": true + }, + "promise-inflight": { + "version": "1.0.1", + "bundled": true + }, + "promise-retry": { + "version": "2.0.1", + "bundled": true, + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + } + }, + "promzard": { + "version": "0.3.0", + "bundled": true, + "requires": { + "read": "1" + } + }, + "qrcode-terminal": { + "version": "0.12.0", + "bundled": true + }, + "read": { + "version": "1.0.7", + "bundled": true, + "requires": { + "mute-stream": "~0.0.4" + } + }, + "read-cmd-shim": { + "version": "2.0.0", + "bundled": true + }, + "read-package-json": { + "version": "4.1.1", + "bundled": true, + "requires": { + "glob": "^7.1.1", + "json-parse-even-better-errors": "^2.3.0", + "normalize-package-data": "^3.0.0", + "npm-normalize-package-bin": "^1.0.0" + } + }, + "read-package-json-fast": { + "version": "2.0.3", + "bundled": true, + "requires": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "bundled": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdir-scoped-modules": { + "version": "1.1.0", + "bundled": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "retry": { + "version": "0.12.0", + "bundled": true + }, + "rimraf": { + "version": "3.0.2", + "bundled": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.2.1", + "bundled": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "semver": { + "version": "7.3.5", + "bundled": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true + }, + "signal-exit": { + "version": "3.0.6", + "bundled": true + }, + "smart-buffer": { + "version": "4.2.0", + "bundled": true + }, + "socks": { + "version": "2.6.1", + "bundled": true, + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.1.0" + } + }, + "socks-proxy-agent": { + "version": "6.1.1", + "bundled": true, + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + } + }, + "spdx-correct": { + "version": "3.1.1", + "bundled": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "bundled": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "bundled": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.11", + "bundled": true + }, + "ssri": { + "version": "8.0.1", + "bundled": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "bundled": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "stringify-package": { + "version": "1.0.1", + "bundled": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "bundled": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tar": { + "version": "6.1.11", + "bundled": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "bundled": true + }, + "tiny-relative-date": { + "version": "1.3.0", + "bundled": true + }, + "treeverse": { + "version": "1.0.4", + "bundled": true + }, + "typedarray-to-buffer": { + "version": "4.0.0", + "bundled": true + }, + "unique-filename": { + "version": "1.1.1", + "bundled": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "bundled": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "bundled": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "bundled": true, + "requires": { + "builtins": "^1.0.3" + } + }, + "walk-up-path": { + "version": "1.0.0", + "bundled": true + }, + "wcwidth": { + "version": "1.0.1", + "bundled": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "which": { + "version": "2.0.2", + "bundled": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wide-align": { + "version": "1.1.5", + "bundled": true, + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + }, + "write-file-atomic": { + "version": "4.0.0", + "bundled": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "bundled": true + } + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "ts-mixer": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.0.tgz", + "integrity": "sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ==" + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "ws": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "requires": {} + }, + "zod": { + "version": "3.11.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.11.6.tgz", + "integrity": "sha512-daZ80A81I3/9lIydI44motWe6n59kRBfNzTuS2bfzVh1nAXi667TOTWWtatxyG+fwgNUiagSj/CWZwRRbevJIg==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..a756f07 --- /dev/null +++ b/package.json @@ -0,0 +1,8 @@ +{ + "dependencies": { + "@discordjs/rest": "^0.3.0", + "discord-api-types": "^0.27.1", + "discord.js": "^13.6.0", + "npm": "^8.5.0" + } +}